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

splash-2018-OOPSLA
13:30 - 15:00: OOPSLA - Parallelism and Correctness at Studio 1
Chair(s): Werner DietlUniversity of Waterloo, Canada
splash-2018-OOPSLA13:30 - 13:52
Talk
Joscha DrechslerTechnische Universität Darmstadt, Ragnar MogkTechnische Universität Darmstadt, Guido SalvaneschiTU Darmstadt, Mira MeziniTU Darmstadt
DOI Pre-print File Attached
splash-2018-OOPSLA13:52 - 14:15
Talk
Sam BlackshearFacebook, Nikos Gorogiannis, Peter W. O'HearnFacebook and University College London, Ilya SergeyYale-NUS College
Pre-print
splash-2018-OOPSLA14:15 - 14:37
Talk
Umang MathurUniversity of Illinois at Urbana-Champaign, Dileep KiniUniversity of Illinois at Urbana-Champaign, Mahesh ViswanathanUniversity of Illinois at Urbana-Champaign
DOI Authorizer link Pre-print
splash-2018-OOPSLA14:37 - 15:00
Talk
Christian Gram KalhaugeUniversity of California, Los Angeles, Jens PalsbergUniversity of California, Los Angeles