Thread-safe reactive programming
Thread-safe reactive programming
复制标题
线程安全的反应式编程
DOI:
10.1145/3276477
复制
发表时间:
2018
影响因子:
--
通讯作者:
Mira Mezini
中科院分区:
文献类型:
--
作者:
Joscha Drechsler;Ragnar Mogk;Guido Salvaneschi;Mira Mezini
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.
登录
查看更多内容
DOI:
--
发表时间:
2014
期刊:
SCALA@ECOOP
影响因子:
--
作者:
Aleksandar Prokopec;Philipp Haller;Martin Odersky
通讯作者:
Martin Odersky
DOI:
--
发表时间:
2012
期刊:
ACM-SIGPLAN Symposium on Programming Language Design and Implementation
影响因子:
--
作者:
Aaron Turon
通讯作者:
Aaron Turon
DOI:
--
发表时间:
2007
期刊:
Workshop on Declarative Aspects of Multicore Programming
影响因子:
--
作者:
Matthew A. Hammer;Umut A. Acar;M. Rajagopalan;Anwar M. Ghuloum
通讯作者:
Anwar M. Ghuloum
DOI:
10.1145/2661136.2661140
发表时间:
2014
期刊:
Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software
影响因子:
--
作者:
Bob Reynders;Dominique Devriese;Frank Piessens
通讯作者:
Frank Piessens
DOI:
10.22152/programming-journal.org/2017/1/12
发表时间:
2017-03
期刊:
ArXiv
影响因子:
--
作者:
Stefan Ramson;R. Hirschfeld
通讯作者:
Stefan Ramson;R. Hirschfeld