Thread-Safe Reactive Programming
summary
Claims a runtime scheduler that provides abort-free strict serializability for reactive programs by combining conservative two-phase locking, multi-version concurrency control, and a new "retrofitting" propagation algorithm. Implementation is integrated into REScala and the scheduling algorithm is formally proven correct. Empirical evaluation shows scalable multi-threaded performance roughly on-par with hand-crafted locking, better than an off-the-shelf STM, and only acceptable overhead in single-threaded runs.
AI-written summary · about
chapters (11)
- 0:00Intro
- 1:17Distributed Systems Challenges Specify Distribution?
- 2:58Reactive Programming in REScala
- 4:42Anatomy of REScala Applications
- 8:08Adding Multi-Threading
- 9:46Defining Correctness
- 12:28Abort-Free Concurrency Control
- 13:52Locking Creates Placeholders
- 16:37Dynamic Dependency Changes
- 20:39Thread-Safety Out-of-the-Box
- 23:08Scalability and Performance
related talks
29mMultiparty Reactive Sessions
28mReactive Programming on the Bare Metal:A Formal Model for a Low-Level Reactive Virtual Machin
48mReactive for the Impatient
55mThe Reactive Revolution
40mReactive programming: lessons learned
01h 28mIntroduction to Reactive Programming
29mAbout Combining Functional Reactive Programming and Replicated Data Types
34mReactive Architecture
