Improving X10 Program Performances by Clock Removal

Paul Feautrier 1, * Eric Violard 2, 3 Alain Ketterlin 2, 3
* Auteur correspondant
1 COMPSYS - Compilation and embedded computing systems
Inria Grenoble - Rhône-Alpes, LIP - Laboratoire de l'Informatique du Parallélisme
3 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : 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.
Type de document :
Communication dans un congrès
23rd International Conference on Compiler Construction (CC’14), part of ETAPS’14, Apr 2014, Grenoble, France. 2014
Liste complète des métadonnées

Littérature citée [19 références]  Voir  Masquer  Télécharger
Contributeur : Paul Feautrier <>
Soumis le : lundi 6 janvier 2014 - 15:14:18
Dernière modification le : jeudi 22 novembre 2018 - 12:50:02
Document(s) archivé(s) le : jeudi 10 avril 2014 - 17:00:28


Fichiers produits par l'(les) auteur(s)


  • 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. 2014. 〈hal-00924206〉



Consultations de la notice


Téléchargements de fichiers