Thu 8 Nov 2018 13:30 - 13:52 at Studio 1 - Parallelism and Correctness Chair(s): Werner Dietl

The execution of an application written in a reactive language involves transfer of data and control flow between imperative and reactive abstractions at well-defined points. In a multi-threaded environment, multiple such interactions may execute concurrently, potentially causing data races and event ordering ambiguities. Existing RP languages either disable multi-threading or handle it at the cost of reducing expressiveness or weakening consistency. This paper proposes a model for thread-safe reactive programming (RP) that ensures abort-free strict serializability under concurrency while sacrificing neither expressiveness nor consistency. We also propose an architecture for integrating a corresponding scheduler into the RP language runtime, such that thread-safety is provided “out-of-the-box” to the applications.

We show the feasibility of our proposal by providing and evaluating a ready-to-use implementation integrated into the REScala programming language. The scheduling algorithm is formally proven correct. A thorough empirical evaluation shows that reactive applications build on top of it scale with multiple threads, while the scheduler incurs acceptable performance overhead in a single-threaded configuration. The scalability enabled by our scheduler is roughly on-par with that of hand-crafted application-specific locking and better than the scalability enabled by a scheduler using an off-the-shelf software transactional memory library.

Thread-Safe Reactive Programming Artifact (Thread-Safe Reactive Programming Artifact.zip)306KiB

Thu 8 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

13:30 - 15:00
Parallelism and CorrectnessOOPSLA at Studio 1
Chair(s): Werner Dietl University of Waterloo, Canada
13:30
22m
Talk
Thread-Safe Reactive Programming
OOPSLA
Joscha Drechsler Technische Universität Darmstadt, Ragnar Mogk Technische Universität Darmstadt, Guido Salvaneschi TU Darmstadt, Mira Mezini TU Darmstadt
DOI Pre-print File Attached
13:52
22m
Talk
RacerD: Compositional Static Race Detection
OOPSLA
Sam Blackshear Facebook, Nikos Gorogiannis , Peter W. O'Hearn Facebook and University College London, Ilya Sergey Yale-NUS College
Pre-print
14:15
22m
Talk
What Happens-After the First Race? Enhancing the Predictive Power of Happens-Before Based Dynamic Race Detection
OOPSLA
Umang Mathur University of Illinois at Urbana-Champaign, Dileep Kini University of Illinois at Urbana-Champaign, Mahesh Viswanathan University of Illinois at Urbana-Champaign
DOI Authorizer link Pre-print
14:37
22m
Talk
Sound Deadlock Prediction
OOPSLA
Christian Gram Kalhauge University of California, Los Angeles, Jens Palsberg University of California, Los Angeles