Improving X10 Program Performances by Clock Removal - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2014

Improving X10 Program Performances by Clock Removal

Résumé

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
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

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

Identifiants

  • HAL Id : hal-00924206 , version 1

Citer

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⟩
294 Consultations
243 Téléchargements

Partager

More