Coupling-Based Internal Clock Synchronization for Large-Scale Dynamic Distributed Systems

This paper studies the problem of realizing a common software clock among a large set of nodes without an external time reference (i.e., internal clock synchronization), any centralized control, and where nodes can join and leave the distributed system at their will. The paper proposes an internal clock synchronization algorithm which combines the gossip-based paradigm with a nature-inspired approach, coming from the coupled oscillators phenomenon, to cope with scale and churn. The algorithm works on the top of an overlay network and uses a uniform peer sampling service to fulfill each node's local view. Therefore, differently from clock synchronization protocols for small scale and static distributed systems, here, each node synchronizes regularly with only the neighbors in its local view and not with the whole system. An evaluation of the convergence speed and the synchronization error of the coupled-based internal clock synchronization algorithm has been carried out, showing how convergence time and the synchronization error depends on the coupling factor and the local view size. Moreover, the variation of the synchronization error with respect to churn and the impact of a sudden variation of the number of nodes have been analyzed to show the stability of the algorithm. In all these contexts, the algorithm shows nice performance and very good self-organizing properties. Finally, we showed how the assumption on the existence of a uniform peer-sampling service is instrumental for the good behavior of the algorithm and how, in system models where network delays are unbounded, a mean-based convergence function reaches a lower synchronization error than median-based convergence functions exploiting the number of averaged clock values.

[1]  Yoshiki Kuramoto,et al.  Chemical Oscillations, Waves, and Turbulence , 1984, Springer Series in Synergetics.

[2]  Anne-Marie Kermarrec,et al.  Gossip-Based Dissemination , 2009, Middleware for Network Eccentric and Mobile Applications.

[3]  Maxwell Young,et al.  Choosing a Random Peer in Chord , 2007, Algorithmica.

[4]  Shlomi Dolev,et al.  Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graphs , 1997, Real-Time Systems.

[5]  Roberto Baldoni,et al.  Impact ofWAN Channel Behavior on End-to-end Latency of Replication Protocols , 2006, 2006 Sixth European Dependable Computing Conference.

[6]  Suresh Jagannathan,et al.  Distributed Uniform Sampling in Unstructured Peer-to-Peer Networks , 2006, Proceedings of the 39th Annual Hawaii International Conference on System Sciences (HICSS'06).

[7]  Flaviu Cristian,et al.  Lower bounds for convergence function based clock synchronization , 1995, PODC '95.

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

[9]  S. Strogatz,et al.  Dynamics of a large system of coupled nonlinear oscillators , 1991 .

[10]  David L. Mills,et al.  Network Time Protocol (version 1) specification and implementation , 1988, RFC.

[11]  P. M. Melliar-Smith,et al.  Synchronizing clocks in the presence of faults , 1985, JACM.

[12]  Roberto Baldoni,et al.  A theoretical evaluation of peer-to-peer internal clock synchronization , 2008, Autonomics.

[13]  Carl Hewitt,et al.  ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing , 2008, IEEE Internet Computing.

[14]  Anne-Marie Kermarrec,et al.  Peer counting and sampling in overlay networks: random walk methods , 2006, PODC '06.

[15]  Steven H. Strogatz,et al.  Phase-locking and critical phenomena in lattices of coupled nonlinear oscillators with random intrinsic frequencies , 1988 .

[16]  Nancy A. Lynch,et al.  A new fault-tolerant algorithm for clock synchronization , 1984, PODC '84.

[17]  K. Arvind,et al.  Probabilistic Clock Synchronization in Distributed Systems , 1994, IEEE Trans. Parallel Distributed Syst..

[18]  Edward So,et al.  A Distributed Service Management Infrastructure for Enterprise Data Centers Based on Peer-to-Peer Technology , 2006, 2006 IEEE International Conference on Services Computing (SCC'06).

[19]  K. Satoh Computer Experiment on the Cooperative Behavior of a Network of Interacting Nonlinear Oscillators , 1989 .

[20]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[21]  Roberto Baldoni,et al.  An Adaptive Coupling-Based Algorithm for Internal Clock Synchronization of Large Scale Dynamic Systems , 2007, OTM Conferences.

[22]  Malgorzata Steinder,et al.  A scalable application placement controller for enterprise data centers , 2007, WWW '07.

[23]  Flaviu Cristian,et al.  Clock Synchronization in the Presence of Omission and Performance Faults, and Processor Joins , 1986 .

[24]  A. Winfree Biological rhythms and the behavior of populations of coupled oscillators. , 1967, Journal of theoretical biology.

[25]  Jie Wu,et al.  International Journal of Parallel, Emergent and Distributed Systems on the Session Lifetime Distribution of Gnutella on the Session Lifetime Distribution of Gnutella , 2022 .

[26]  Danny Dolev,et al.  Linear Time Byzantine Self-Stabilizing Clock Synchronization , 2003, OPODIS.

[27]  Flaviu Cristian A probabilistic approach to distributed clock synchronization , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[28]  Konrad Iwanicki,et al.  Gossip-Based Clock Synchronization for Large Decentralized Systems , 2006, SelfMan.

[29]  Maarten van Steen,et al.  CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays , 2005, Journal of Network and Systems Management.

[30]  Idit Keidar,et al.  Brahms: byzantine resilient random membership sampling , 2008, PODC '08.

[31]  Danny Dolev,et al.  Fault-tolerant clock synchronization , 1984, PODC '84.

[32]  Antonio Casimiro,et al.  CesiumSpray: a Precise and Accurate Global Time Service for Large-scale Systems , 1997, Real-Time Systems.

[33]  Anne-Marie Kermarrec,et al.  Lightweight probabilistic broadcast , 2003, TOCS.

[34]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[35]  Márk Jelasity,et al.  Gossip-based aggregation in large dynamic networks , 2005, TOCS.

[36]  Anne-Marie Kermarrec,et al.  The Peer Sampling Service: Experimental Evaluation of Unstructured Gossip-Based Implementations , 2004, Middleware.

[37]  David R. Karger,et al.  Chord: a scalable peer-to-peer lookup protocol for internet applications , 2003, TNET.

[38]  Sukumar Ghosh,et al.  Stabilizing Phase-Clocks , 1995, Inf. Process. Lett..

[39]  Roberto Baldoni,et al.  Dynamic quorums for DHT-based enterprise infrastructures , 2008, J. Parallel Distributed Comput..

[40]  Danny Dolev,et al.  Self-Stabilizing Pulse Synchronization Inspired by Biological Pacemaker Networks , 2003, Self-Stabilizing Systems.

[41]  Flaviu Cristian,et al.  Integrating External and Internal Clock Synchronization , 2004, Real-Time Systems.