Session-based programming for parallel algorithms: Expressiveness and performance
File(s)1002.0933v1.pdf (140.79 KB)
Published version
Author(s)
Bejleri, A
Hu, R
Yoshida, N
Type
Journal Article
Abstract
This paper investigates session programming and typing of benchmark examples to compare productivity, safety and performance with other communications programming languages. Parallel algorithms are used to examine the above aspects due to their extensive use of message passing for interaction, and their increasing prominence in algorithmic research with the rising availability of hardware resources such as multicore machines and clusters. We contribute new benchmark results for SJ, an extension of Java for type-safe, binary session programming, against MPJ Express, a Java messaging system based on the MPI standard. In conclusion, we observe that (1) despite rich libraries and functionality, MPI remains a low-level API, and can suffer from commonly perceived disadvantages of explicit message passing such as deadlocks and unexpected message types, and (2) the benefits of high-level session abstraction, which has significant impact on program structure to improve readability and reliability, and session type-safety can greatly facilitate the task of communications programming whilst retaining competitive performance.
Editor(s)
Beresford, AR
Gay, S
Date Issued
2010-02-06
Date Acceptance
2010-02-04
Citation
Electronic Proceedings in Theoretical Computer Science, 2010, 17, pp.17-29
ISSN
2075-2180
Start Page
17
End Page
29
Journal / Book Title
Electronic Proceedings in Theoretical Computer Science
Volume
17
Copyright Statement
© A. Bejleri & R. Hu & N. Yoshida.
Description
02/06/15 Archiving policy unclear- email sent to publisher to clarify. 17/06/15 Publisher confirmed that published version can be deposited.