Thu 29 Oct 2015 10:30 - 10:52 at Grand Station 2 - 6. Compilation and Tools Chair(s): Gorel Hedin

Previous work has shown how to insert fences that enforce sequential consistency. However, for many concurrent algorithms, sequential consistency is unnecessarily strong and can lead to high execution overhead. The reason is that, often, correctness relies on the execution order of a few specific pairs of instructions. Algorithm designers can declare those execution orders and thereby enable memory-model-independent reasoning about correctness and also ease implementation of algorithms on multiple platforms. The literature has examples of such reasoning, while tool support for enforcing the orders has been lacking until now. In this paper we present a declarative approach to specify and enforce execution orders. Our fence insertion algorithm first identifies the execution orders that a given memory model enforces automatically, and then inserts fences that enforce the rest. Our benchmarks include three off-the-shelf transactional memory algorithms written in C/C++ for which we specify suitable execution orders. For those benchmarks, our experiments with the x86 and ARMv7 memory models show that our tool inserts fences that are competitive with those inserted by the original authors. Our tool is the first to insert fences into transactional memory algorithms and it solves the long-standing problem of how to easily port such algorithms to a novel memory model.

Thu 29 Oct

Displayed time zone: Eastern Time (US & Canada) change

10:30 - 12:00
6. Compilation and ToolsOOPSLA at Grand Station 2
Chair(s): Gorel Hedin Lund University
10:30
22m
Talk
Declarative Fence InsertionOOPSLA Artifact
OOPSLA
John Bender University of California at Los Angeles, USA, Mohsen Lesani MIT, Jens Palsberg University of California at Los Angeles, USA
Link to publication
10:52
22m
Talk
Finding Deep Compiler Bugs via Guided Stochastic Program Mutation
OOPSLA
Vu Le University of California at Davis, USA, Chengnian Sun University of California at Davis, USA, Zhendong Su University of California at Davis, USA
DOI
11:15
22m
Talk
Vectorization of Apply to Reduce Interpretation Overhead of ROOPSLA Artifact
OOPSLA
Haichuan Wang University of Illinois at Urbana-Champaign, David Padua University of Illinois at Urbana-Champaign, Peng Wu Huawei America Lab
DOI
11:37
22m
Talk
Synthesizing Java Expressions from Free-Form Queries
OOPSLA
Tihomir Gvero EPFL, Switzerland, Viktor KunĨak EPFL, Switzerland
Link to publication