11 pages, 9 figures, appeared in H.N. Adorna and A.A. Sioson (eds.) Proceedings of the 7th National Symposium on Mathematical Aspects of Computer Science (SMACS 2014), Ateneo de Naga University, Naga City, Philippines, 24-28 November 2014, pp. 33-43. Paper submitted to Philippine Computing Journal (ISSN 1908-1995)
发表信息:
Philippine Computing Journal 10(1):22-32, August 2015
We introduce a graph-theoretic approach to synchronizing clocks in an {\em ad hoc} network of $N$~timepieces. Clocks naturally drift away from being synchronized because of many physical factors. The manual way of clock synchronization suffers from an inherrent propagation of the so called "clock drift" due to "word-of-mouth effect." The current standard way of automated clock synchronization is either via radio band transmission of the global clock or via the software-based Network Time Protocol (NTP). Synchronization via radio band transmission suffers from the wave transmission delay, while the client-server-based NTP does not scale to increased number of clients as well as to unforeseen server overload conditions (e.g., flash crowd and time-of-day effects). Further, the trivial running time of NTP for synchronizing an $N$-node network, where each node is a clock and the NTP server follows a single-port communication model, is~$\bigO(N)$. We introduce in this paper a $\bigO(\log N)$ time for synchronizing the clocks in exchange for an increase of $\bigO(N)$ in space complexity, though through creative "tweaking," we later reduced the space requirement to~$\bigO(1)$. Our graph-theoretic protocol assumes that the network is $\K_N$, while the subset of clocks are in an embedded circulant graph $\C_{n<N}^q$ with $q$~jumps and clock information is communicated through circular shifts within the $\C_{n<N}^q$. All $N$~nodes communicate via a single-port duplex channel model. Theoretically, this synchronization protocol allows for $N(\log N)^{-1} - 1$ more synchronizations than the client-server-based one. Empirically through statistically replicated multi-agent-based microsimulation runs, our protocol allows at most 80\% of the clocks synchronized compared to the current protocol which only allows up to 30\% after some steady-state time.
Virtualization of distributed real-time systems enables the consolidation of mixed-criticality functions on a shared hardware platform thus easing system integration. Time-triggered communication and computation can act as an enabler of safe hard real-time systems. A time-triggered hypervisor that activates virtual CPUs according to a global schedule can provide the means to allow for a resource efficient implementation of the time-triggered paradigm in virtualized distributed real-time systems. A prerequisite of time-triggered virtualization for hard real-time systems is providing access to a…
For tolerating Byzantine faults of both the terminal and communication components in self-stabilizing clock synchronization, the two-dimensional self-stabilizing Byzantine-fault-tolerant clock synchronization problem is investigated and solved. By utilizing the time-triggered (TT) stage provided in the underlying networks as TT communication windows, the approximate agreement, hopping procedure, and randomized grandmasters are integrated into the overall solution. It is shown that with partitioning the communication components into $3$ arbitrarily connected subnetworks, efficient synchronizati…
For reaching dependable high-precision clock synchronization (CS) upon IoT networks, the distributed CS paradigm adopted in ultra-high reliable systems and the master-slave CS paradigm adopted in high-performance but unreliable systems are integrated. Meanwhile, traditional internal clock synchronization is also integrated with external time references to achieve efficient stabilization. Low network connectivity, low complexity, high precision, and high reliability are all considered. To tolerate permanent failures, the Byzantine CS is integrated with the common CS protocols. To tolerate trans…
Sub-nanosecond precision clock synchronization over the packet network has been achieved by the White Rabbit protocol for a decade. However, few computer systems utilize such a technique. We try to attract more interest in the clock synchronization problem. We first introduce the basics of clock and synchronization in the time and frequency discipline. Then we revisit several related works, such as Google's Spanner, Huygens, FARMv2, DTP, and Sundial, explain why these works could be improved. Finally, we briefly discuss an independent time network approach towards low-cost and high-precision s…
We consider the fundamental problem of clock synchronization in a synchronous multi-agent system. Each agent holds a clock with an arbitrary initial value, and clocks must eventually indicate the same value. Previous algorithms worked in static networks with drastic connectivity properties and assumed that global information is available at each agent. In this paper, we propose different solutions for time-varying topologies that require neither strong connectivity nor any global knowledge on the network. First, we study the case of unbounded clocks, and propose a self-stabilizing $MinMax$ alg…
Fast data synchronization in wireless ad hoc networks is a challenging and critical problem. It is fundamental for efficient information fusion, control and decision in distributed systems. Previously, distributed data synchronization was mainly studied in the latency-tolerant distributed databases, or assuming the general model of wireless ad hoc networks. In this paper, we propose a pair of linear network coding (NC) and all-to-all broadcast based fast data synchronization algorithms for wireless ad hoc networks whose topology is under operator's control. We consider both data block selectio…
Synchronizing clocks in distributed systems is well-understood, both in terms of fault-tolerance in fully connected systems and the dependence of local and global worst-case skews (i.e., maximum clock difference between neighbors and arbitrary pairs of nodes, respectively) on the diameter of fault-free systems. However, so far nothing non-trivial is known about the local skew that can be achieved in topologies that are not fully connected even under a single Byzantine fault. Put simply, in this work we show that the most powerful known techniques for fault-tolerant and gradient clock synchroni…
Cryptographic signatures can be used to increase the resilience of distributed systems against adversarial attacks, by increasing the number of faulty parties that can be tolerated. While this is well-studied for consensus, it has been underexplored in the context of fault-tolerant clock synchronization, even in fully connected systems. Here, the honest parties of an $n$-node system are required to compute output clocks of small skew (i.e., maximum phase offset) despite local clock rates varying between $1$ and $\vartheta>1$, end-to-end communication delays varying between $d-u$ and $d$, and t…
Distributed system applications rely on a fine-grain common sense of time. Existing systems maintain the common sense of time by keeping each independent machine as close as possible to wall-clock time through a combination of software protocols like NTP and GPS signals and/or precision references like atomic clocks. This approach is expensive and has tolerance limitations that require protocols to deal with asynchrony and its performance consequences. Moreover, at data-center scale it is impractical to distribute a physical clock as is done on a chip or printed circuit board. In this paper we…