[论文解读] High-Performance Deterministic Concurrency using Lingua Franca
本文提出了 Lingua Franca (LF),一种多语言协调语言,通过基于反应器的模型默认实现高性能的确定性并发。通过静态分析数据依赖关系并强制执行确定性执行,LF 实现了卓越的性能——比 Akka 快 1.85 倍,比 CAF 快 1.42 倍,证明了在并发系统中,确定性与效率并不矛盾。
Actor frameworks and similar reactive programming techniques are widely used for building concurrent systems. They promise to be efficient and scale well to a large number of cores or nodes in a distributed system. However, they also expose programmers to nondeterminism, which often makes implementations hard to understand, debug, and test. The recently proposed reactor model is a promising alternative that enables efficient deterministic concurrency. In this paper, we show that determinacy does neither imply a loss in expressivity nor in performance. To show this, we evaluate Lingua Franca (LF), a reactor-oriented coordination language that equips mainstream programming languages with a concurrency model that automatically takes advantage of opportunities to exploit parallelism that do not introduce nondeterminism. Our implementation of the Savina benchmark suite demonstrates that, in terms of execution time, the runtime performance of LF programs even exceeds popular and highly optimized actor frameworks. We compare against Akka and CAF, which LF outperforms by 1.86x and 1.42x, respectively.
研究动机与目标
- 解决非确定性 actor 框架在并发系统中广泛使用所导致的调试、测试和可复现性困难的问题。
- 探究确定性并发是否能够实现与 Akka 和 CAF 等高度优化的非确定性 actor 框架相当甚至更优的性能。
- 评估 Lingua Franca (LF),一种面向反应器的协调语言,通过默认强制确定性,同时支持高效的并行性。
- 证明确定性并发并不需要性能折衷,即使在复杂的真实工作负载中也是如此。
- 展示 LF 的 C++ 目标代码在 Savina 等实际、生产相关的基准测试中,能够超越现有框架的性能表现。
提出的方法
- Lingua Franca 使用反应器模型,其中并发组件(反应器)以层次化方式组合,并通过数据流语义连接,以确保确定性执行。
- 该语言通过静态分析数据依赖关系,并在运行时确保事件处理的正确顺序,从而强制实现确定性。
- LF 支持多种主流编程语言(C、C++、Python、TypeScript、Rust),并编译为高效的 C++ 代码以实现高性能执行。
- 运行时采用轻量级、无锁的调度策略,充分利用细粒度并行性,同时不引入非确定性。
- 评估使用了 Savina 基准测试套件,这是一个用于并发系统的实际工作负载套件,用于与 Akka 和 CAF 进行性能对比。
- 性能通过多核系统上的执行时间进行测量,结果经过多次运行取平均,以确保统计可靠性。

实验结果
研究问题
- RQ1在现代多核系统中,是否可以在不牺牲性能的前提下实现确定性并发?
- RQ2与高度优化的非确定性 actor 框架(如 Akka 和 CAF)相比,Lingua Franca 这类确定性协调模型的性能如何?
- RQ3对数据依赖关系的静态分析在多大程度上能够实现高效、确定性的并行执行?
- RQ4像 Lingua Franca 这类多语言、语言无关的协调模型,是否能够在真实应用中同时支持高表达力和高性能?
- RQ5在并发系统中默认强制确定性,是否能带来可测量的性能提升,而不仅仅是正确性收益?
主要发现
- Lingua Franca 的 C++ 目标在 Savina 基准测试套件上,平均比 Akka 快 1.85 倍,比 CAF 快 1.42 倍,证明了其卓越的运行时性能。
- 性能提升归因于高效的无锁调度机制,以及在不引入非确定性的情况下有效利用数据并行性。
- 确定性执行不会阻碍性能;事实上,由于控制流和数据流的可预测性,它还为更好的优化创造了机会。
- 评估表明,LF 能够处理复杂的真实世界并发工作负载,表现出可预测、可重复的行为,并具备高吞吐量。
- 结果表明,LF 的默认确定性不会带来性能折衷,甚至可以超越非确定性替代方案。
- 作者得出结论:确定性与高性能是兼容的,未来进一步的调度优化有望进一步提升性能。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。