bittide: Control Time, Not Flows
Martijn Bastiaan, Christiaan Baaij, Martin Izzard, Felix Klein, Sanjay Lall, Tammo Spalink
TL;DR
The paper tackles the challenge of achieving deterministic timing in distributed systems without relying on a global wall-clock reference. It presents a hardware implementation of bittide, a decentralized clock synchronization mechanism that enforces logical synchrony by aligning node frequencies through elastic buffers and a local control loop, with zero in-band signaling overhead. The 8-node FPGA prototype demonstrates network-wide frequency alignment, bounded buffer excursions, and stable logical latencies across fully connected, hourglass, and cube topologies, including a long 2 km fiber link. The work couples a simple, provably stable control algorithm with domain-difference counting hardware and a lightweight mathematical model, showing robustness to physical latencies and offering a scalable foundation for predictable distributed computation and ahead-of-time scheduling in large-scale systems.
Abstract
This paper presents the first hardware implementation of bittide, a decentralized clock synchronization mechanism for achieving logical synchrony in distributed systems. We detail the design and implementation of an 8-node bittide network using off-the-shelf FPGA boards and adjustable clock sources. Through experiments with various network topologies, including fully connected, hourglass, and cube, we demonstrate the effectiveness of bittide in aligning node frequencies and bounding buffer excursions. We collect and analyze frequency, buffer occupancy, and logical latency data, validating the hardware's performance against theoretical predictions and simulations. Our results show that bittide achieves tight frequency alignment, robustly handles varying physical latencies, and establishes a consistent notion of logical time across the network, enabling predictable distributed computation at scale with zero in-band overhead.
