🤖 AI Summary
Distributed systems relying on physical clock synchronization suffer from high overhead, poor scalability, and difficulties in formal verification. To address these challenges, this paper proposes Timetide—a deterministic programming model integrating multi-clock synchronization semantics with clock-free logical synchronization. Its core innovation lies in the first-ever unification of multi-clock language semantics and logical synchronization, eliminating the need for clock synchronization protocols or clock gating while guaranteeing strong determinism in distributed execution. Timetide supports seamless distributed compilation and end-to-end formal verification, effectively mitigating the impact of network latency. Experimental evaluation demonstrates that Timetide achieves high scalability while significantly enhancing system reliability and correctness assurance. By enabling rigorous verification of distributed behavior, it establishes a novel paradigm for building verifiable distributed systems.
📝 Abstract
Massive strides in deterministic models have been made using synchronous languages. They are mainly focused on centralised applications, as the traditional approach is to compile away the concurrency. Time triggered languages such as Giotto and Lingua Franca are suitable for distribution albeit that they rely on expensive physical clock synchronisation, which is both expensive and may suffer from scalability. Hence, deterministic programming of distributed systems remains challenging. We address the challenges of deterministic distribution by developing a novel multiclock semantics of synchronous programs. The developed semantics is amenable to seamless distribution. Moreover, our programming model, Timetide, alleviates the need for physical clock synchronisation by building on the recently proposed logical synchrony model for distributed systems. We discuss the important aspects of distributing computation, such as network communication delays, and explore the formal verification of Timetide programs. To the best of our knowledge, Timetide is the first multiclock synchronous language that is both amenable to distribution and formal verification without the need for physical clock synchronisation or clock gating.