Show simple item record

dc.contributor.author Vollmer, Michael
dc.contributor.author Scott, Ryan G.
dc.contributor.author Musuvathi, Madanlal
dc.contributor.author Newton, Ryan R.
dc.date.accessioned 2016-12-19T15:44:39Z
dc.date.available 2016-12-19T15:44:39Z
dc.date.issued 2017-02
dc.identifier.uri https://hdl.handle.net/2022/21166
dc.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." en
dc.description.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). en
dc.description.sponsorship NSF award 1453508 en
dc.language.iso en en
dc.publisher Sheridan Communications on behalf of ACM. Proceedings of 22nd annual ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP17) en
dc.relation.isversionof http://dx.doi.org/10.1145/3018743.3018746 en
dc.relation.uri http://purl.dlib.indiana.edu/iusw/data/2022/21166/SC-Haskell-evaluation-VM-PPoPP17.ova
dc.rights Creative commons attribution 4.0 (CC BY 3.0), except where other licenses apply in included Ubuntu VM. en
dc.rights.uri https://creativecommons.org/licenses/by/3.0/ en
dc.title Bundled VM artifact to accompany paper entitled SC-Haskell: Sequential Consistency in Languages That Minimize Mutable Shared Heap en
dc.type Software en
dc.identifier.doi http://doi.org/10.5072/FK22J6FG6C


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search IUScholarWorks


Advanced Search

Browse

My Account