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.



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

Also Published In

2008 IEEE International Symposium on Parallel & Distributed Processing: Miami, FL, 14-18 April 2008

More About This Work

Academic Units
Computer Science
Published Here
September 20, 2011