Affiliation:
1. Stony Brook University, NY, USA
Abstract
This article describes a very high-level language for clear description of distributed algorithms and optimizations necessary for generating efficient implementations. The language supports high-level control flows in which complex synchronization conditions can be expressed using high-level queries, especially logic quantifications, over message history sequences. Unfortunately, the programs would be extremely inefficient, including consuming unbounded memory, if executed straightforwardly.
We present new optimizations that automatically transform complex synchronization conditions into incremental updates of necessary auxiliary values as messages are sent and received. The core of the optimizations is the first general method for efficient implementation of logic quantifications. We have developed an operational semantics of the language, implemented a prototype of the compiler and the optimizations, and successfully used the language and implementation on a variety of important distributed algorithms.
Funder
National Science Foundation
Office of Naval Reactors
Publisher
Association for Computing Machinery (ACM)
Reference87 articles.
1. Adaptive functional programming
2. Frances E. Allen John Cocke and Ken Kennedy. 1981. Reduction of operator strength. In Program Flow Analysis Steven S. Muchnick and Neil D. Jones (Eds.). Prentice-Hall Upper Saddle River NJ. 79--101. Frances E. Allen John Cocke and Ken Kennedy. 1981. Reduction of operator strength. In Program Flow Analysis Steven S. Muchnick and Neil D. Jones (Eds.). Prentice-Hall Upper Saddle River NJ. 79--101.
3. I do declare
4. Gregory R. Andrews and Ronald A. Olsson. 1993. The SR Programming Language: Concurrency in Practice. Benjamin Cummings. Gregory R. Andrews and Ronald A. Olsson. 1993. The SR Programming Language: Concurrency in Practice. Benjamin Cummings.
Cited by
25 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Erla⁺: Translating TLA⁺ Models into Executable Actor-Based Implementations;Proceedings of the 23rd ACM SIGPLAN International Workshop on Erlang;2024-08-28
2. Tutorial: Consensus Algorithms from Classical to Blockchain: Quickly Program, Configure, Run, and Check;2024 IEEE 44th International Conference on Distributed Computing Systems Workshops (ICDCSW);2024-07-23
3. Incremental Computation: What Is the Essence? (Invited Contribution);Proceedings of the 2024 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation;2024-01-11
4. Extending PlusCal for Modeling Distributed Algorithms;iFM 2023;2023-11-06
5. Benchmarking for Integrating Logic Rules with Everything Else;Electronic Proceedings in Theoretical Computer Science;2023-09-12