Globally Synchronized Time via Datacenter Networks

Synchronized time is critical to distributed systems and network applications in a datacenter network. Unfortunately, many clock synchronization protocols in datacenter networks such as NTP and PTP are fundamentally limited by the characteristics of packet-switched networks. In particular, network jitter, packet buffering and scheduling in switches, and network stack overheads add non-deterministic variances to the round trip time, which must be accurately measured to synchronize clocks precisely. We present the Datacenter Time Protocol (DTP), a clock synchronization protocol that does not use packets at all, but is able to achieve nanosecond precision. In essence, the DTP uses the physical layer of network devices to implement a decentralized clock synchronization protocol. By doing so, the DTP eliminates most non-deterministic elements in clock synchronization protocols and has virtually zero protocol overhead since it does not add load at layer-2 or higher at all. It does require replacing network devices, which can be done incrementally and with very small amount of hardware resource consumption. We demonstrate that the precision provided by DTP in hardware is bounded by 4TD where D is the longest distance between any two nodes in a network in terms of number of hops and T is the period of the fastest clock. The precision can be further improved by combining DTP with frequency synchronization. By contrast, the precision of the state-of-the-art protocol (PTP) is not bounded: The precision is hundreds of nanoseconds in an idle network and can decrease to hundreds of microseconds in a heavily congested network.

[1]  Devavrat Shah,et al.  Fastpass: a centralized "zero-queue" datacenter network , 2015, SIGCOMM 2015.

[2]  Thomas G. Edwards,et al.  Using SDN to facilitate precisely timed actions on real-time data streams , 2014, HotSDN.

[3]  Amin Vahdat,et al.  Exploiting a Natural Network Effect for Scalable, Fine-grained Clock Synchronization , 2018, NSDI.

[4]  Hakim Weatherspoon,et al.  SoNIC: Precise Realtime Software Access and Control of Wired Networks , 2013, NSDI.

[5]  Pedro Moreira,et al.  White rabbit: Sub-nanosecond timing distribution over ethernet , 2009, 2009 International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[6]  Fred B. Schneider,et al.  Understanding Protocols for Byzantine Clock Synchronization , 1987 .

[7]  John Ankcorn,et al.  Software-Driven Hardware Development , 2015, FPGA.

[8]  Hakim Weatherspoon,et al.  Shoal: A Network Architecture for Disaggregated Racks , 2019, NSDI.

[9]  Darryl Veitch,et al.  Robust synchronization of software clocks across the internet , 2004, IMC '04.

[10]  Alex C. Snoeren,et al.  RotorNet: A Scalable, Low-complexity, Optical Datacenter Network , 2017, SIGCOMM.

[11]  Hakim Weatherspoon,et al.  Globally Synchronized Time via Datacenter Networks , 2016, SIGCOMM.

[12]  Maciej Lipinski,et al.  White rabbit: a PTP application for robust sub-nanosecond synchronization , 2011, 2011 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[13]  Radim Bartos,et al.  The impact of network latency on the synchronization of real-world IEEE 1588-2008 devices , 2010, 2010 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[14]  Ioannis Tomkos,et al.  Optical Interconnects for Future Data Center Networks , 2012 .

[15]  Enrique Mallada,et al.  Skewless network clock synchronization , 2012, 2013 21st IEEE International Conference on Network Protocols (ICNP).

[16]  Hermann Kopetz,et al.  Clock Synchronization in Distributed Real-Time Systems , 1987, IEEE Transactions on Computers.

[17]  Brian F. Cooper Spanner: Google's globally-distributed database , 2013, SYSTOR '13.

[18]  Radim Bartos,et al.  Transparent Clocks vs. Enterprise Ethernet switches , 2011, 2011 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[19]  David L. Mills,et al.  Internet time synchronization: the network time protocol , 1991, IEEE Trans. Commun..

[20]  Kenneth P. Birman,et al.  Exact temporal characterization of 10 Gbps optical wide-area network , 2010, IMC '10.

[21]  P. Moreira,et al.  Performance results of the first White Rabbit installation for CNGS time transfer , 2012, 2012 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication Proceedings.

[22]  J. Ridoux,et al.  An IEEE-1588 compatible RADclock , 2012, 2012 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication Proceedings.

[23]  J. Jasperneite,et al.  Enhancements to the time synchronization standard IEEE-1588 for a system of cascaded bridges , 2004, IEEE International Workshop on Factory Communication Systems, 2004. Proceedings..

[24]  W. J. Klepczynski,et al.  GPS: primary tool for time transfer , 1999, Proc. IEEE.

[25]  S. Zatti,et al.  The accuracy of the clock synchronization achieved by TEMPO in Berkeley UNIX 4.3BSD , 1987 .

[26]  Flaviu Cristian,et al.  Probabilistic clock synchronization , 1989, Distributed Computing.

[27]  Amin Vahdat,et al.  A scalable, commodity data center network architecture , 2008, SIGCOMM '08.

[28]  Tal Mizrahi,et al.  Software defined networks: It's about time , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[29]  David Tipper,et al.  A Survey of Clock Synchronization Over Packet-Switched Networks , 2016, IEEE Communications Surveys & Tutorials.

[30]  Biswanath Mukherjee,et al.  A survey on high-precision time synchronization techniques for optical datacenter networks and a zero-overhead microsecond-accuracy solution , 2018, Photonic Network Communications.

[31]  Kang Lee,et al.  IEEE 1588 standard for a precision clock synchronization protocol for networked measurement and control systems , 2002, 2nd ISA/IEEE Sensors for Industry Conference,.

[32]  Kevin B. Stanton,et al.  Hardware Assisted Precision Time Protocol . Design and case study , 2008 .

[33]  Li Zhang,et al.  Achieving precise coordinated cluster time in a cluster environment , 2008, 2008 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[34]  P. M. Melliar-Smith,et al.  Byzantine clock synchronization , 1984, PODC '84.

[35]  Cristian Marinescu,et al.  Synchronizing the Linux system time to a PTP hardware clock , 2011, 2011 IEEE International Symposium on Precision Clock Synchronization for Measurement, Control and Communication.

[36]  Darryl Veitch,et al.  PC based precision timing without GPS , 2002, SIGMETRICS '02.

[37]  Michel Hack,et al.  Almost Peer-to-Peer Clock Synchronization , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.