@online{Bund_arXiv1902.08042,
TITLE = {Fault Tolerant Gradient Clock Synchronization},
AUTHOR = {Bund, Johannes and Lenzen, Christoph and Rosenbaum, Will},
LANGUAGE = {eng},
URL = {http://arxiv.org/abs/1902.08042},
EPRINT = {1902.08042},
EPRINTTYPE = {arXiv},
YEAR = {2019},
ABSTRACT = {Synchronizing clocks in distributed systems is well-understood, both in terms<br>of fault-tolerance in fully connected systems and the dependence of local and<br>global worst-case skews (i.e., maximum clock difference between neighbors and<br>arbitrary pairs of nodes, respectively) on the diameter of fault-free systems.<br>However, so far nothing non-trivial is known about the local skew that can be<br>achieved in topologies that are not fully connected even under a single<br>Byzantine fault. Put simply, in this work we show that the most powerful known<br>techniques for fault-tolerant and gradient clock synchronization are<br>compatible, in the sense that the best of both worlds can be achieved<br>simultaneously.<br> Concretely, we combine the Lynch-Welch algorithm [Welch1988] for<br>synchronizing a clique of $n$ nodes despite up to $f<n/3$ Byzantine faults with<br>the gradient clock synchronization (GCS) algorithm by Lenzen et al.<br>[Lenzen2010] in order to render the latter resilient to faults. As this is not<br>possible on general graphs, we augment an input graph $\mathcal{G}$ by<br>replacing each node by $3f+1$ fully connected copies, which execute an instance<br>of the Lynch-Welch algorithm. We then interpret these clusters as supernodes<br>executing the GCS algorithm, where for each cluster its correct nodes'<br>Lynch-Welch clocks provide estimates of the logical clock of the supernode in<br>the GCS algorithm. By connecting clusters corresponding to neighbors in<br>$\mathcal{G}$ in a fully bipartite manner, supernodes can inform each other<br>about (estimates of) their logical clock values. This way, we achieve<br>asymptotically optimal local skew, granted that no cluster contains more than<br>$f$ faulty nodes, at factor $O(f)$ and $O(f^2)$ overheads in terms of nodes and<br>edges, respectively. Note that tolerating $f$ faulty neighbors trivially<br>requires degree larger than $f$, so this is asymptotically optimal as well.<br>},
}
