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...
Main Authors: | , , , , |
---|---|
Other Authors: | , , , , , |
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 |
ftifiphal:oai:HAL:hal-01582999v1 |
---|---|
record_format |
openpolar |
spelling |
ftifiphal:oai:HAL:hal-01582999v1 2023-05-15T16:49:58+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 ftifiphal https://doi.org/10.1007/978-3-642-21464-6_8 2023-03-21T20:40:06Z 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 IFIP Open Digital Library (International Federation for Information Processing) 110 126 |
institution |
Open Polar |
collection |
IFIP Open Digital Library (International Federation for Information Processing) |
op_collection_id |
ftifiphal |
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_ |
1766040141581778944 |