Capturing High-level Nondeterminism in Concurrent Programs for Practical Concurrency Model Agnostic Record & ReplayVol. 5
With concurrency being integral to most software systems, developers combine high-level concurrency models in the same application to tackle each problem with appropriate abstractions. While languages and libraries offer a wide range of concurrency models, debugging support for applications that combine them has not yet gained much attention. Record & replay aids debugging by deterministically reproducing recorded bugs, but is typically designed for a single concurrency model only. This paper proposes a practical concurrency-model-agnostic record & replay approach for multi-paradigm concurrent programs, i.e. applications that combine concurrency models. Our approach traces high-level nondeterministic events by using a uniform model-agnostic trace format and infrastructure. This enables orderingbased record & replay support for a wide range of concurrency models, and thereby enables debugging of applications that combine them. In addition, it allows language implementors to add new concurrency models and reuse the model-agnostic record & replay support. We argue that a concurrency-model-agnostic record & replay is practical and enables advanced debugging support for a wide range of concurrency models. The evaluation shows that our approach is expressive and flexible enough to support record & replay of applications using threads & locks, communicating event loops, communicating sequential processes, software transactional memory and combinations of those concurrency models. For the actor model, we reach recording performance competitive with an optimized special-purpose record & replay solution. The average recording overhead on the Savina actor benchmark suite is 10% (min. 0%, max. 23%). The performance for other concurrency models and combinations thereof is at a similar level. We believe our concurrency-model-agnostic approach helps developers of applications that mix and match concurrency models. We hope that this substrate inspires new tools and languages making building and maintaining of multi-paradigm concurrent applications simpler and safer.
Thu 24 MarDisplayed time zone: Lisbon change
13:30 - 15:00 | Concurrency & SynchronizationResearch Papers at Auditorium Nobre Chair(s): Ademar Aguiar FEUP, Universidade do Porto | ||
13:30 30mTalk | Capturing High-level Nondeterminism in Concurrent Programs for Practical Concurrency Model Agnostic Record & ReplayVol. 5 Research Papers Dominik Aumayr Johannes Kepler University Linz, Austria, Stefan Marr University of Kent, Sophie Kaleba University of Kent, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium, Hanspeter Mössenböck JKU Linz Link to publication DOI | ||
14:00 30mTalk | Path-Sensitive Atomic Commit: Local Coordination Avoidance for Distributed TransactionsVol. 5 Research Papers Tim Soethout ING Bank; CWI, Tijs van der Storm CWI; University of Groningen, Jurgen Vinju CWI; Eindhoven University of Technology Link to publication DOI | ||
14:30 30mResearch paper | An Optimised Flow for Futures: From Theory to PracticeVol. 6 Research Papers Link to publication |