Improving X10 Program Performances by Clock Removal - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2014

Improving X10 Program Performances by Clock Removal


X10 is a promising recent parallel language designed specifically to address the challenges of productively programming a wide variety of target platforms. The sequential core of X10 is an object-oriented language in the Java family. This core is augmented by a few parallel constructs that create activities as a generalization of the well known fork/join model. Clocks are a generalization of the familiar barriers. Synchronization on a clock is specified by the advance() method call. Activities that execute \emph{advances} stall until all existent activities have done the same, and then are released at the same (logical) time. This naturally raises the following question: are clocks strictly necessary for X10 programs? Surprisingly enough, the answer is no, at least for sufficiently regular programs. One assigns a date to each operation, denoting the number of advances that the activity has executed before the operation. Operations with the same date constitute a \emph{front}, fronts are executed sequentially in order of increasing dates, while operations in a front are executed in parallel if possible. Depending on the nature of the program, this may entail some overhead, which can be reduced to zero for polyhedral programs. We show by experiments that, at least for the current X10 runtime, this transformation usually improves the performance of our benchmarks. Besides its theoretical interest, this transformation may be of interest for simplifying a compiler or runtime library.
Fichier principal
Vignette du fichier
paper.pdf (224.1 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-00924206 , version 1 (06-01-2014)


  • HAL Id : hal-00924206 , version 1


Paul Feautrier, Eric Violard, Alain Ketterlin. Improving X10 Program Performances by Clock Removal. 23rd International Conference on Compiler Construction (CC’14), part of ETAPS’14, Apr 2014, Grenoble, France. ⟨hal-00924206⟩
271 View
206 Download


Gmail Facebook X LinkedIn More