Toward a Lingua Franca for Deterministic Concurrent Systems

Toward a Lingua Franca for Deterministic Concurrent Systems
复制标题

DOI:
10.1145/3448128
复制
发表时间:
2021-06-01
影响因子:
2
通讯作者:
Lee, Edward A.
Lee, Edward A.
中科院分区:
计算机科学3区
文献类型:
--
作者:
Lohstroh, Marten;Menard, Christian;Lee, Edward A.

文献摘要

被引文献

相似文献

许多编程语言和编程框架都侧重于并行和分布式计算。有几个框架是基于参与者的,它们提供了比线程更严格的并发模型。然而,行为者之间的互动,如果不受限制,就承认了不确定性。因此,演员程序可能会表现出意想不到的行为,并且不太容易接受严格的测试。我们通过调查数据流方言、过程网络、同步反应模型和离散事件模型等多种方法来处理不确定性。然而,这些现有的方法往往需要集中控制,对模块化系统设计提出了挑战,或者引入了单点故障。我们描述了“反应堆”,这是一种新的协调模型,它结合了其中几种方法的想法,以实现决定论,同时保留了大部分参与者的风格。反应堆促进了模块化,并允许分布式执行。通过使用可以与物理时间相关联的逻辑时间模型,反应堆还提供了对时间的控制。反应堆还提供了可在多核计算机和分布式配置中利用的并行性,而不会影响确定性。
Many programming languages and programming frameworks focus on parallel and distributed computing. Several frameworks are based on actors, which provide a more disciplined model for concurrency than threads. The interactions between actors, however, if not constrained, admit nondeterminism. As a consequence, actor programs may exhibit unintended behaviors and are less amenable to rigorous testing. We show that nondeterminism can be handled in a number of ways, surveying dataflow dialects, process networks, synchronous-reactive models, and discrete-event models. These existing approaches, however, tend to require centralized control, pose challenges to modular system design, or introduce a single point of failure. We describe "reactors," a new coordination model that combines ideas from several of these approaches to enable determinism while preserving much of the style of actors. Reactors promote modularity and allow for distributed execution. By using a logical model of time that can be associated with physical time, reactors also provide control over timing. Reactors also expose parallelism that can be exploited on multicore machines and in distributed configurations without compromising determinacy.