• DocumentCode
    1684876
  • Title

    A deterministic multi-way rendezvous library for haskell

  • Author

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

  • Author_Institution
    Dept. of Comput. Sci., Columbia Univ. New York, Columbia, NY
  • fYear
    2008
  • Firstpage
    1
  • Lastpage
    12
  • Abstract
    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.
  • Keywords
    functional languages; libraries; multi-threading; multiprocessing systems; Haskell functional language; SHIM communication model; asynchronous communication; concurrent programming languages; debugging techniques; multi threaded language; multi way rendezvous library; multicore processors; transactional memory; Computer languages; Computer science; Concurrent computing; Debugging; Multicore processing; Programming environments; Programming profession; Software libraries; System recovery; Timing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on
  • Conference_Location
    Miami, FL
  • ISSN
    1530-2075
  • Print_ISBN
    978-1-4244-1693-6
  • Electronic_ISBN
    1530-2075
  • Type

    conf

  • DOI
    10.1109/IPDPS.2008.4536312
  • Filename
    4536312