The Best of Both Worlds: Trading Efficiency and Optimality in Fence Insertion for TSO
We present a method for automatic fence insertion in concurrent programs running under weak memory models that provides the best known trade-off between efficiency and optimality. On the one hand, the method can efficiently handle complex aspects of program behaviors such as unbounded buffers and large numbers of processes. On the other hand, it is able to find small sets of fences needed for ensuring correctness of the program. To this end, we propose a novel notion of correctness, called persistence, that compares the behavior of the program under the weak memory semantics with that under the classical interleaving semantics. We instantiate our framework for the Total Store Ordering memory model, and give an algorithm that reduces the fence insertion problem under TSO to the reachability problem for programs running under SC. Furthermore, we provide an abstraction scheme that substantially increases scalability to large numbers of processes.
Wed 15 AprDisplayed time zone: Azores change
10:30 - 12:30 | |||
10:30 30mTalk | The Problem of Programming Language Concurrency Semantics ESOP Mark Batty University of Cambridge, Kayvan Memarian University of Cambridge, Kyndylan Nienhuis University of Cambridge, Jean Pichon-Pharabod University of Cambridge, Peter Sewell University of Cambridge | ||
11:00 30mTalk | The Best of Both Worlds: Trading Efficiency and Optimality in Fence Insertion for TSO ESOP | ||
11:30 30mTalk | Specifying and Verifying Concurrent Algorithms with Histories and Subjectivity ESOP Ilya Sergey IMDEA Software Institute, Aleksandar Nanevski IMDEA Software Institute, Anindya Banerjee IMDEA Software Institute | ||
12:00 30mTalk | Witnessing (Co)datatypes ESOP |