Bundled VM artifact to accompany paper entitled SC-Haskell: Sequential Consistency in Languages That Minimize Mutable Shared Heap
No Thumbnail Available
Can’t use the file because of accessibility barriers? Contact us with the title of the item, permanent link, and specifics of your accommodation need.
Date
2017-02
Journal Title
Journal ISSN
Volume Title
Publisher
Sheridan Communications on behalf of ACM. Proceedings of 22nd annual ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP17)
Permanent Link
Abstract
A core, but often neglected, aspect of a programming language design
is its memory (consistency) model. Sequential consistency~(SC) is
the most intuitive memory model for programmers as it guarantees sequential composition of instructions and provides a simple abstraction of shared memory as a single global store with atomic read and writes. Unfortunately, SC is widely considered to be impractical due to its associated performance overheads. Perhaps contrary to popular opinion, this paper demonstrates that SC is achievable with acceptable performance overheads for mainstream languages that minimize mutable shared heap. In particular, we modify the Glasgow Haskell Compiler to insert fences on all writes to shared mutable memory accessed in nonfunctional parts of the program. For a benchmark suite containing 1,279 programs, SC adds a geomean overhead of less than 0.4\% on an x86 machine.
The efficiency of SC arises primarily due to the isolation provided by the
Haskell type system between purely functional and thread-local imperative
computations on the one hand, and imperative computations on the global heap
on the other. We show how to use new programming idioms to further reduce
the SC overhead; these create a virtuous cycle of less overhead and even
stronger semantic guarantees (static data-race freedom).
Description
A single ".ova" file encompassing an Ubuntu-based (v. 16.04) virtual machine (VM). This VM is the "artifact" used in the artifact evaluation of the corresponding PPoPP17 paper. It contains the complete software, such as example programs and benchmark programs, necessary to reproduce the results of the paper. Scripts are included in the virtual machine to automatically run benchmarks and compare their results. Download the VM by clicking the link below under "Link(s) to data and video for this item."
Keywords
Citation
Journal
Link(s) to data and video for this item
Rights
Creative commons attribution 4.0 (CC BY 3.0), except where other licenses apply in included Ubuntu VM.
https://creativecommons.org/licenses/by/3.0/
https://creativecommons.org/licenses/by/3.0/
Type
Software