Safe Parallel Programming with Session Java - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2011

Safe Parallel Programming with Session Java

Résumé

The session-typed programming language Session Java (SJ) has proved to be an effective tool for distributed programming, promoting structured programming for communications and compile-time safety. This paper investigates the use of SJ for session-typed parallel programming, and introduces new language primitives for chained iteration and multi-channel communication. These primitives allow the efficient coordination of parallel computation across multiple processes, thus enabling SJ to express the complex communication topologies often used by parallel algorithms. We demonstrate that the new primitives yield clearer and safer code for pipeline, ring and mesh topologies through implementations of representative parallel algorithms. We then present a semantics and session typing system including the new primitives, and prove type soundness and deadlock-freedom for our implementations. The benchmark results show that the new SJ is substantially faster than the original SJ and performs competitively against MPJ Express used as reference.
Fichier principal
Vignette du fichier
978-3-642-21464-6_8_Chapter.pdf (478.16 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01582999 , version 1 (06-09-2017)

Licence

Identifiants

Citer

Nicholas Ng, Nobuko Yoshida, Olivier Pernet, Raymond Hu, Yiannos Kryftis. Safe Parallel Programming with Session Java. 13th Conference on Coordination Models and Languages (COORDINATION), Jun 2011, Reykjavik, Iceland. pp.110-126, ⟨10.1007/978-3-642-21464-6_8⟩. ⟨hal-01582999⟩
118 Consultations
155 Téléchargements

Altmetric

Partager

More