Academic Commons

Articles

A Deterministic Multi-Way Rendezvous Library for Haskell

Vasudevan, Nalini; Singh, Satnam; Edwards, Stephen A.

The advent of multicore processors requires mainstream concurrent programming languages with high level concurrency constructs and effective debugging techniques. Unfortunately, many concurrent programming languages are non-deterministic and allow data races. We present a deterministic concurrent communication library for an existing multi-threaded language. We implemented the SHIM communication model in the Haskell functional language, which supports asynchronous communication and transactional memory. The SHIM model uses multi-way rendezvous to guarantee determinism. We describe two implementations of the model in Haskell, demonstrating the ease of writing such a library. We illustrate our library with examples and experimentally compare two implementations. We also compare our new model with equivalent sequential programs and parallel versions using Haskell's existing concurrency mechanisms.

Subjects

Files

  • thumnail for vasudevan2008deterministic.pdf vasudevan2008deterministic.pdf application/pdf 122 KB Download File

Also Published In

Title
2008 IEEE International Symposium on Parallel & Distributed Processing: Miami, FL, 14-18 April 2008
DOI
https://doi.org/10.1109/IPDPS.2008.4536312

More About This Work

Academic Units
Computer Science
Publisher
IEEE
Published Here
September 20, 2011
Academic Commons provides global access to research and scholarship produced at Columbia University, Barnard College, Teachers College, Union Theological Seminary and Jewish Theological Seminary. Academic Commons is managed by the Columbia University Libraries.