Safe Parallel Programming with Session Java

International audience 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, a...

Full description

Bibliographic Details
Main Authors: Ng, Nicholas, Yoshida, Nobuko, Pernet, Olivier, Hu, Raymond, Kryftis, Yiannos
Other Authors: Imperial College London, National Technical University of Athens Athens (NTUA), Wolfgang Meuter, Gruia-Catalin Roman, TC 6, WG 6.1
Format: Conference Object
Language:English
Published: HAL CCSD 2011
Subjects:
Online Access:https://hal.inria.fr/hal-01582999
https://hal.inria.fr/hal-01582999/document
https://hal.inria.fr/hal-01582999/file/978-3-642-21464-6_8_Chapter.pdf
https://doi.org/10.1007/978-3-642-21464-6_8
id ftccsdartic:oai:HAL:hal-01582999v1
record_format openpolar
spelling ftccsdartic:oai:HAL:hal-01582999v1 2023-05-15T16:49:45+02:00 Safe Parallel Programming with Session Java Ng, Nicholas Yoshida, Nobuko Pernet, Olivier Hu, Raymond Kryftis, Yiannos Imperial College London National Technical University of Athens Athens (NTUA) Wolfgang Meuter Gruia-Catalin Roman TC 6 WG 6.1 Reykjavik, Iceland 2011-06-06 https://hal.inria.fr/hal-01582999 https://hal.inria.fr/hal-01582999/document https://hal.inria.fr/hal-01582999/file/978-3-642-21464-6_8_Chapter.pdf https://doi.org/10.1007/978-3-642-21464-6_8 en eng HAL CCSD Springer info:eu-repo/semantics/altIdentifier/doi/10.1007/978-3-642-21464-6_8 hal-01582999 https://hal.inria.fr/hal-01582999 https://hal.inria.fr/hal-01582999/document https://hal.inria.fr/hal-01582999/file/978-3-642-21464-6_8_Chapter.pdf doi:10.1007/978-3-642-21464-6_8 http://creativecommons.org/licenses/by/ info:eu-repo/semantics/OpenAccess Lecture Notes in Computer Science 13th Conference on Coordination Models and Languages (COORDINATION) https://hal.inria.fr/hal-01582999 13th Conference on Coordination Models and Languages (COORDINATION), Jun 2011, Reykjavik, Iceland. pp.110-126, ⟨10.1007/978-3-642-21464-6_8⟩ [INFO]Computer Science [cs] [INFO.INFO-NI]Computer Science [cs]/Networking and Internet Architecture [cs.NI] info:eu-repo/semantics/conferenceObject Conference papers 2011 ftccsdartic https://doi.org/10.1007/978-3-642-21464-6_8 2020-12-25T09:19:55Z International audience 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. Conference Object Iceland Archive ouverte HAL (Hyper Article en Ligne, CCSD - Centre pour la Communication Scientifique Directe) 110 126
institution Open Polar
collection Archive ouverte HAL (Hyper Article en Ligne, CCSD - Centre pour la Communication Scientifique Directe)
op_collection_id ftccsdartic
language English
topic [INFO]Computer Science [cs]
[INFO.INFO-NI]Computer Science [cs]/Networking and Internet Architecture [cs.NI]
spellingShingle [INFO]Computer Science [cs]
[INFO.INFO-NI]Computer Science [cs]/Networking and Internet Architecture [cs.NI]
Ng, Nicholas
Yoshida, Nobuko
Pernet, Olivier
Hu, Raymond
Kryftis, Yiannos
Safe Parallel Programming with Session Java
topic_facet [INFO]Computer Science [cs]
[INFO.INFO-NI]Computer Science [cs]/Networking and Internet Architecture [cs.NI]
description International audience 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.
author2 Imperial College London
National Technical University of Athens Athens (NTUA)
Wolfgang Meuter
Gruia-Catalin Roman
TC 6
WG 6.1
format Conference Object
author Ng, Nicholas
Yoshida, Nobuko
Pernet, Olivier
Hu, Raymond
Kryftis, Yiannos
author_facet Ng, Nicholas
Yoshida, Nobuko
Pernet, Olivier
Hu, Raymond
Kryftis, Yiannos
author_sort Ng, Nicholas
title Safe Parallel Programming with Session Java
title_short Safe Parallel Programming with Session Java
title_full Safe Parallel Programming with Session Java
title_fullStr Safe Parallel Programming with Session Java
title_full_unstemmed Safe Parallel Programming with Session Java
title_sort safe parallel programming with session java
publisher HAL CCSD
publishDate 2011
url https://hal.inria.fr/hal-01582999
https://hal.inria.fr/hal-01582999/document
https://hal.inria.fr/hal-01582999/file/978-3-642-21464-6_8_Chapter.pdf
https://doi.org/10.1007/978-3-642-21464-6_8
op_coverage Reykjavik, Iceland
genre Iceland
genre_facet Iceland
op_source Lecture Notes in Computer Science
13th Conference on Coordination Models and Languages (COORDINATION)
https://hal.inria.fr/hal-01582999
13th Conference on Coordination Models and Languages (COORDINATION), Jun 2011, Reykjavik, Iceland. pp.110-126, ⟨10.1007/978-3-642-21464-6_8⟩
op_relation info:eu-repo/semantics/altIdentifier/doi/10.1007/978-3-642-21464-6_8
hal-01582999
https://hal.inria.fr/hal-01582999
https://hal.inria.fr/hal-01582999/document
https://hal.inria.fr/hal-01582999/file/978-3-642-21464-6_8_Chapter.pdf
doi:10.1007/978-3-642-21464-6_8
op_rights http://creativecommons.org/licenses/by/
info:eu-repo/semantics/OpenAccess
op_doi https://doi.org/10.1007/978-3-642-21464-6_8
container_start_page 110
op_container_end_page 126
_version_ 1766039946703929344