SlideShare a Scribd company logo
1 of 37
Download to read offline
1
Coupling-Based Internal Clock Synchronization
for Large Scale Dynamic Distributed Systems
Roberto Baldoni, Angelo Corsaro, Leonardo Querzoni,
Sirio Scipioni, and Sara Tucci Piergiovanni
Abstract
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 fullfill 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. Theoretical and empirical evaluations of the convergence speed and of the
synchronization error of the coupled-based internal clock synchronization algorithm have been carried
out, showing how convergence time and the synchronization error depends on the coupling factor and
on 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.
Index Terms
Peer-to-Peer, Internal Clock Synchronization, Peer Sampling, Overlay Networks.
I. INTRODUCTION
Clock synchronization is a fundamental building block for many distributed applications. As
such, the topic has been widely studied for many years, and several algorithms exist which
address different scales, ranging from local area networks (LAN), to wide area networks (WAN).
For instance, the Network Time Protocol (NTP) [29], [30], has emerged as a standard de facto
for external clock synchronization in both LAN and WAN settings. The work presented in
A short and preliminary version of this paper appeared in Proceedings of OTM Conferences, pp. 701-716, 2007.
R. Baldoni, L. Querzoni, S. Scipioni and S. Tucci Piergiovanni are with the Department of Computer and Systems Sciences,
Sapienza University of Rome, Rome
A. Corsaro is with PrismTech, Marcoussis, France.
December 10, 2008 DRAFT
2
this paper is motivated by an emergent class of large scale infrastructures, applications and
services (e.g. managing large scale datacenters [36], [37], Cloud Computing [16], peer-to-peer
enterprise infrastructures [4]), operating in very challenging settings, for which the problem of
synchronizing clocks is far from being solved. These applications are required to (1) operate
without any assumption on deployed functionalities, pre-existing infrastructure, or centralized
control, while (2) being able to tolerate churn, due to crashes or to node joining or leaving
the system, and (3) scaling from few hundreds to tens of thousands of nodes. For instance,
publish/subscribe middleware, such as the data distribution service [31] requires synchronized
clocks, however in several relevant scenarios, due to security issues, or limited assumptions on
the infrastructure, it cannot assume that members of the system, either have access to an NTP
server, or are equipped with an NTP daemon.
A promising approach to tackle this kind of problems is to embrace a fully decentralized
paradigm in which peers implement all the required functionalities, by running so called gossip−
based algorithms. In this approach, due to the large scale and geography of the system, each
peer is provided with a neighborhood representing the part of the system it can directly interact
with. The algorithm running at each peer computes local results by collecting information from
this neighborhood. These results are computed periodically leading the system to gradually
compute the expected global result. In this paper, in order to attain clock synchronization, we
combine this gossip-based paradigm with a nature-inspired approach stemming from the coupled
oscillators phenomenon. This phenomenon shows enormous systems of oscillators spontaneously
locking to a common phase, despite the inevitable differences in the natural frequencies of the
individual oscillators. Examples from biology include network pacemaker cells in the heart,
congregations of synchronously flashing fireflies and crickets that chirp in unison. A description
of the phenomenon was pioneered by Winfree [40]. He mathematically modeled a population of
interacting oscillators and discovered that assuming nearly identical individual frequencies and
a certain strength of the coupling (which is a measure of the sensitivity each oscillator has to
interactions with others), a dramatic transition to a globally entrained state, in which oscillators
freeze into synchrony, occurs. A valuable contribution has been subsequently introduced by
December 10, 2008 DRAFT
3
Kuramoto [22] who simplified the Winfree model by considering the coupling strength constant
for all oscillators and depending only on their phase difference. Both Winfree’s and Kuramoto’s
work was done assuming that each oscillator is coupled directly and equally to all others, which
means assuming a fully connected oscillators network. However a considerable amount of work
has been done also on so called “non-standard topologies”. Satoh in [33] performed numerical
experiments comparing the capabilities of networks of oscillators arranged in two-dimensional
lattices and random graphs. Results showed that the system becomes globally synchronous much
more effectively in the random case. In fact, Matthews et al. in [28] note that the coupling strength
required to globally synchronize oscillators in a random network is the same as the one required
in the fully interconnected case.
In this paper we adapt the Kuramoto model to let a very large number of computer nodes
deployed over an overlay network to synchronize their software clocks without an external time
reference. More specifically, each process in a node managing the software clock will periodically
synchronize, this clock with the software clocks of a set of neighbors chosen uniformly at random
from the entire population of nodes. The first issue we tackle is how to artificially reproduce the
physical phenomenon in a computer network in which every software clock can be influenced by
other clocks only by exchanging messages. In our approach, each node explicitly asks software
clock values from neighboring processes in order to calculate their difference in phase. Then,
following a Kuramoto-like model, these differences in phase are combined and multiplied by a
so-called coupling factor, expressing the coupling strength, in order to adjust the local clock.
As the coupling factor has a key role in regulating the dynamics of coupling, we study
thoroughly its impact on the performance of the proposed solution. First, we consider a time-
invariant coupling factor identical for all oscillators. In particular we study through a statistical
analysis the performance of our coupling mechanism in a static network with a fixed number of
nodes. The study analytically shows the time needed for clocks to synchronize with a certain error.
Throughout an extensive experimental evaluation, different constant coupling factors are then
evaluated to investigate their effect on system perturbations specific to target settings (basically
deployed on a wired computer network): (1) errors on the phase difference estimates due to
December 10, 2008 DRAFT
4
network delays and (2) node churn. As a general result, low coupling factors lead to better
synchronization regardless of system perturbations–all clocks lock to a value such that their
differences are negligible. On the other hand, higher coupling factors lead to a faster locking at
the cost of more dispersed values. This phenomenon depends on the fact that a higher coupling
factor augments the sensitivity a clock has with respect to other clocks but it also increases
the influence of system perturbations. Another fundamental aspect this approach revealed is its
surprising scalability: the time to converge to a common value remains the same considering
both a few dozen nodes and thousands nodes, with even a small reduction in the latter case.
Even though these observations are really encouraging per se, we further improve the system
behavior by using an adaptive coupling factor, with the objective of reducing the impact of
system perturbations while still keeping the time to converge small. This new approach has been
revealed really successful, both in the case of errors phase estimates due to network delays and
in the case of changing neighbors. The idea is simple: the local coupling factor reflects the
age of a node (expressed by the number of adjustments already performed); a young node will
have a high coupling factor to soon absorb values from other nodes, while an old node will
have a small coupling factor to limit its sensitivity to system perturbations. The rationale behind
this mechanism comes from the observation that an old node is more aligned to the values of
other clocks than a new one. With this adaptive coupling factor, a young node, supposed to
have a value generally far from other clock values, will rapidly align its value to others since
the system perturbations have a small impact when the relative clock differences are still large.
Then, when nodes reach good values, i.e. their relative differences are small, a lower coupling
factor lets maintain these differences small despite system perturbations. This strategy reveals to
be particularly useful in case of a dynamic system. Considering a network which starts and locks
to some clock value, the perturbation caused by a massive entrance of new nodes (generally not
synchronized with the ones which already reached a synchronization inside the network) could be
dramatically reduced when compared to a constant coupling factor. In other words, the adoption
of adaptive coupling leads the system to maintain its stability, a property strongly needed in
face of network dynamism. The rest of the paper is organized as follows: Section II presents
December 10, 2008 DRAFT
5
the system assumptions, Section III presents the clock coupling model along with the algorithm.
The statistical analysis of the algorithm is presented in Section IV. The experimental evaluation
is presented in Section V. Section VI discusses related works, while Section VII concludes the
paper.
Peer Sampling Service
Overlay Management
Service
SW
Clock
Clock Synchronization Procedure
Clock Synchronization
Service
Node
Applications
Network
getView()
getClock()
Read/WriteClock()
Send/Receive
Send/Receive
Figure 1: Node Architecture
II. SYSTEM MODEL AND NODE ARCHITECTURE
Let us consider a distributed system composed of a set of nodes that can vary over time, we
denote as N(t) the number of nodes belonging to the distributed systems at time t. Each node
may join and leave the system at will. Each pair of nodes can exchange messages and message
delays respect some unknown bound. A message is delivered reliably to destination if both the
sender of the message and the receiver belong to the system at time of the sending and remain
both in the system for a time greater than the unknown bound on message delay.
December 10, 2008 DRAFT
6
A. Hardware and Software Clocks
Every node ni is equipped with a hardware clock consisting of an oscillator and a counting
register that is incremented at every tick of the oscillator. Depending on the quality of the os-
cillator, and the operating environment, its frequency may drift. Manufacturers typically provide
a characterization for ρ – the maximum absolute value for oscillator drift. Ignoring, for the
time being, the resolution due to limited pulsing frequency of the oscillator, the hardware clock
implemented by the oscillator can be described by the following equation:
CH(t) = ft + C0;
where: (1 − ρ) ≤ f ≤ (1 + ρ).
Moreover each node endows a software clock. This software clock is managed by a process
that executes the sum of the current value of ni’s hardware clock and a periodically determined
adjustment A(t). Consequently each software clock Ci is also characterized by a frequency
fi ∈ [1 − ρ, 1 + ρ] and by the following equation:
Ci(t) = fit + C0 + A(t);
Initially the software clocks of nodes are not synchronized, meaning that they might show
different time readings following an unknown distribution. Also any node joining the distributed
system at a certain time shows an arbitrary time reading with respect to other nodes already in
the system.
B. Internal Clock Synchronization
Internal Clock Synchronization aims to build a ”common” software clock among a set of
cooperating nodes. In this paper, the ”common” clock assumes a value that tries to minimize the
maximum difference between any two local software clocks. To do that each node can modify
the local software clock by using the adjustment function A(t).
In the internal clock synchronization realized in this paper, the ”common” clock represents
the mean of the values of the software local clock, namely the Synchronization Point (i.e.,
December 10, 2008 DRAFT
7
SP(t) = µ(t) = E[C1(t), . . . , Cn(t), . . .]), of our system, and its aim is to minimize the standard
deviation along the time among these local software clocks. Formally,
∀t σ(t) =
1
N(t)
N(t)
i=1
(Ci(t) − µ)2 = SE(t) (1)
where SE(t) represents the Synchronization Error at time t i.e., the standard deviation,
computed at time t, of software clock values of nodes belonging to the system at that time.
Therefore the smaller SE(t) the more accurate is the synchronization among the nodes.
C. Node Architecture
Node architecture is depicted in Figure 1. We consider each node endows a Clock Synchro-
nization Service whose aim is to provide local applications with a software clock synchronized
with other nodes belonging to the distributed system. To do that, the Clock Synchronization
Service working on distinct nodes interacts through an existing network infrastructure, that is
usually represented by a WAN, and leverages a peer sampling service [19] provided by an overlay
management protocol.
The Overlay Management Protocol is a logical network built on top of a physical one (usually
the Internet), by connecting a set of nodes through some links. A distributed algorithm running
on nodes, known as the Overlay Maintenance Protocol (OMP), takes care of managing these
logical links. Each node usually maintains a limited set of links (called view) to other nodes in
the system. The construction and maintenance of the views must be such that the graph obtained
by interpreting nodes as vertices and links as arcs is connected and keeps some topology. In
this manner an overlay management service can realize either deterministic graphs (e.g. a ring)
[32], [34] or random graphs [13], [39]. Usually the first are called structured overlay networks
and the latter unstructured ones.
The Peer Sampling Service is implemented over the overlay network and it returns, through
a getV iew() function, to a process a view Vi(t) of nodes in the overlay at time t. In particular
we assume the presence of an Uniform Peer Sampling Service that provides views containing a
December 10, 2008 DRAFT
8
uniform random sample of nodes currently in the distributed system. It has been shown that
theoretically uniform peer sampling can be achieved over both structured overlay networks
[21] and unstructured ones [27]. As an example, uniform random samples of nodes over an
unstructured overlay are provided through either a random periodic exchange of partial content
of the view [19], or random walks [27] (a random view is filled passing through the unstructured
network following random walks). Due to the fact that practically a pure uniform peer sampling
is difficult to implement on top of a computer network, we remove this assumption in some
simulation tests contained in Section V and assume that peer sampling follows a power law
distribution.
Clock Synchronization Service maintains a software clock and it is basically composed by a
Clock Synchronization Procedure that exchanges information with nodes contained in the current
view returned by the peer sampling service. The collected information is used to minimize
differences between the software clocks of nodes by periodically computing the adjustment
value A(t).
III. THE GENERAL COUPLING BASED SYNCHRONIZATION ALGORITHM
In this section we present the mathematical basics underlying the coupling clock synchroniza-
tion along with the clock synchronization algorithm.
A. Time Continuous Clock Coupling
Coupled oscillator phenomenon, pioneered by Winfree [40] and also described by Kuramoto
[22], was initially studied in order to analyze behavior of coupled pendulum clocks, and it
was subsequently extended to describe a population of interacting oscillators like hardware
clocks. Recently this paradigm founds a novel utilization in the analysis of enormous systems
of oscillators: network pacemaker cells in the heart, congregations of synchronously flashing
fireflies, etc... Assuming a certain strength of the coupling(i.e. of the sensitivity each oscillator
has to interactions with others), these enormous systems of oscillators are able to lock to a
common phase, despite the differences in the frequencies of the individual oscillators. In a
December 10, 2008 DRAFT
9
network of coupled oscillator clocks, thanks to a continuous coupling of these clocks over time,
they will lock to a so-called stable point: each clock will show the same value, without changing
the value once reached.
Even though our coupling resembles the model proposed by [22], [35], it is worth noting
that Kuramoto modeled a non-linear oscillator coupling which is not directly applicable to our
problem. In fact, the non-linear oscillator used by Kuramoto to model the emergence of fireflies
flashing synchrony, models intentionally a phenomenon which is characterized by several stable
points (which arise due to the sinusoidal coupling), i.e., the system does not converge to a unique
point, but it can partition in subsystems each with a different stable point. On the other hand,
for synchronizing clocks in a distributed system it is highly desirable that a single point of
synchronization exists. This leads to consider a linear coupling equation of the form:
˙Ci(t) = fi +
φi
|Vi(t)|
|Vi(t)|
j=1
(Cj(t) − Ci(t)), i = 1..N(t) (2)
The intuition behind Equation 2 is that a software clock has to speed up if its neighboring clocks
are going faster, while it has to slowdown when they are going slower. The coupling constant
φi provides a measure of how much the current clock rate should be influenced by others. It
can be shown analytically that Equation 2 has a single stable fixed point, and thus converges,
in the case in which all the clocks are connected to each other. Even with clocks not directly
connected to each other, the coupling effect still arises. Provided that the underlying graph is
connected, each clock will continue to influence others. In the more general case of non-fully
connected graph, Equation 2 can be generalized as follows:
˙Ci(t) = fi +
φi
|Vi(t)|
j∈Vi(t)
[(Cj(t) − Ci(t))], i = 1..N(t) (3)
B. Time Discrete Coupling with Imperfect Estimates
The coupling model described in Equation 3 is not directly applicable to distributed systems as
it is based on differential equations, and thus continuous time. In fact the physical phenomenon
December 10, 2008 DRAFT
10
models entities that continually sense other entities, while in a distributed system each node is
separated by others through a communication channel showing unpredictable delays. Sensing
other entities means requesting explicitly their clock values through a request-reply message
pattern. Delays on messages bring to imperfect estimates of clock values to be added in the
equation. Before introducing imperfect estimates, let us consider the discrete counterpart of
Equation 2 :
Ci((ℓ + 1)∆T) = Ci(ℓ∆T) + fi∆T+
+
Ki
Ni j∈Vi
[(Cj(ℓ∆T) − Ci(ℓ∆T))]
i = 1..N(t)
ℓ = 1 . . .
(4)
Where Ki = φif∆T and ∆T is the time interval between two successive interactions.
Let us now add the imperfect estimates of clock offsets due to communication channels. When
applying Equation 4 in real distributed systems, the clock difference (Cj(ℓ∆T) − Ci(ℓ∆T)),
between two processes pi and pj, will be estimated with an error ǫ which depends on the
mechanism used to perform the estimation. In this paper we assume that the difference between
neighboring clocks are estimated as NTP does [29], [30] (see Figure 2) by mean of a request-
reply message pattern. As in the protocol specification, let t1 be the pi’s timestamp on the
request message, t2 the pj’s timestamp upon arrival, t3 the pj’s timestamp on departure of the
reply message and t4 the pi’s timestamp upon arrival, the request message delay is δ1 = t2 − t1
and the reply message delay is δ2 = t4 − t3.
Under this assumption, the real offset between Ci and Cj is such that the error is (δ1 − δ2)/2.
Note that, if the two delays are equal (channel symmetry) the error is zero. Moreover, it has
been shown that the maximum error is bounded by ±(δ1 + δ2)/2 ≈ ±RTT/2, where RTT is
the round trip time between Ci and Cj. Thus, we can now rewrite Equation 4 by considering
December 10, 2008 DRAFT
11
Figure 2: NTP offset estimation
the error which affects the (Cj(n) − Ci(n)) estimation1
:
Ci((ℓ + 1)∆T) = Ci(ℓ∆T) + fi∆T+
+
Ki
|Vi| j∈Vi
[(Cj(ℓ∆T) − Ci(ℓ∆T))+
+
Ki
|Vi| j∈Vi
[(
δi,j(ℓ∆T) − δj,i(ℓ∆T)
2
)]
i = 1..N(t)
ℓ = 1 . . .
(5)
C. Algorithm description
A pseudocode description of clock synchronization algorithm implementing the equation 5 is
given in Figure 3. The algorithm runs at each synchronization process pi in order to synchronize
its software clock Ci with other software clocks. The algorithm works on the graph defined by
process views and computes Ci periodically, every ∆T time units. As a result, the algorithm
at any process pi proceeds in synchronization rounds, performing at every round the following
steps:
1) select |Vi| neighbors to synchronize with through the function getV iew() (Clock Sync()
1
Let us note that if we consider the worst case bound on estimate error, slow channels (large RTT) may introduce more noise
than fast channels (small RTT), however, it is important to keep in mind that the source of error is not the RTT per se, but the
asymmetry, i.e., the difference between δ1 and δ2.
December 10, 2008 DRAFT
12
Double Ki;
function void init(){ 1
1: schedule(Clock Sync(), T, ∆T)
2: }
function void Clock Sync(){
1: CVi
= ∅;
2: Vi = getV iew();
3: for all j ∈ Vi do
4: CVi
= CVi
∪ (j, getOffset(j));
5: end for
6: T = T + ∆T + Clock Correction(CVi
);
7: Ki = Compute K();
8: }
//Compute A(t)
function Time Clock Correction(C){
1: return Ki
|Vi|
∗ ( x C(j, x), ∀j ∈ Vi)
2: }
Figure 3: Internal Clock Synchronization Algorithm
line 2). As we described in previous section, getV iew() is provided by the Peer Sampling
Service.
2) estimate the difference with every neighboring clock and with itself by mean of getOffset()
function (Clock Sync() line 4). We assume getOffset() estimates clock differences as
NTP does and as we described in previous section.
3) sum the differences and multiply by Ki
|Vi|
(Clock Correction() line 1).
4) update the value of Ci, with the new adjustment A(t) computed by Clock Correction(),
and the value of Ki, in the case it is time dependent (Clock Sync() lines 6-7).
IV. STATISTICAL ANALYSIS OF A MEAN-BASED ALGORITHM
The aim of this section is to show the statistical properties coming from the use of views
representing a random sample of the entire population of nodes. For making the issue tractable,
the coupling factor is in this section set to 1 and we consider a constant number of node N. We
also assume that each node has a view of predefined size v, i.e., |Vi| = v, ∀i = 1 . . .N. We also
December 10, 2008 DRAFT
13
assume that the round trip time on channels is lower than synchronization round. We measure
the effectiveness of our algorithm by considering the synchronization error as a function of the
view size and we evaluate the corresponding synchronization point.
As already said in Section II the set of N nodes at the initial time has clock values following
an arbitrary distribution. Clock values can then be represented by a random variable X with an
associated probability density function p(X) with unknown mean µ and an unknown variance
σ2
> 0. Now, considering the possibility for each node to take a random sample of v nodes
X1, X2, ...Xv, each node can calculate the mean m of the sample. From the well-known Central
Limit Theorem (CLT) we have that m is approximately equal to µ, while the variance of the
sample, denoted as s2
, is such that σ2
v
= s2
. So as the sample size increases the distribution of the
sample means becomes more concentrated about the mean value. Thanks to the iterative nature
of the algorithm, as the number of rounds increases, also the number of taken sample increases
(v samples are taken at each round). This implies that at each round the spread of computed
sample means decreases, leading to calculate at each node the value µ when the number of
synchronization rounds tends to infinity. However, the contribution of clock drifts and imperfect
offset estimates have to be included. This contribution to the standard deviation of the system
does not decrease and eventually remains the only significant contribution.
Specifically, in the following we will prove three theorems on the synchronization error (SE)
of our algorithm in three distinct scenarios namely, absence of errors introduced by clock drifts
and communication channel delays, absence of errors introduced communication channel delays,
and presence of clock drifts and imperfect clock estimates. Moreover we prove three lemmas,
one for each scenarios, that describe how the synchronization point SP (See Section II-B) of
the algorithm varies along the time.
A. Scenario I: no errors introduced by clock drifts and by communication channel delays
Theorem 1: Let p(X0
) be the initial distribution of clock values with finite variance σ2
X0 . Let
us assume no clock drifts and perfect offset estimates. Under these hypotheses, the mean-based
algorithm is able to reduce the synchronization error SE of a factor 1√
v
in each synchronization
December 10, 2008 DRAFT
14
round and converges to SE = 0.
Proof: By induction on the number of synchronization rounds.
round 1: each node extracts v samples X0
1 , X0
2 , ...X0
v from the clock values of nodes belonging
to distributed system. Each node i computes a sample mean m0
i on the extracted values and
updates its clock to that sample mean m0
i . From CLT, the whole set of computed sample means
can be represented by a new random variable X1
with distribution p(X1
) with variance:
σ2
X1 =
σ2
X0
v
, (6)
round 2: each node i extracts again n samples X1
1 , X1
2 , ...X1
v from the new distribution X1
shown at the end of the first round and computes the sample mean m1
i . Applying also at this
round CLT, we obtain the distribution at the end of the second round p(X2
) with variance:
σ2
X2 =
σ2
X1
v
(7)
Equation 7 becomes, substituting σ2
X1 ,
σ2
X2 =
σ2
X0
v2
(8)
round i: each node still computes a sample mean of the clock values of its neighbours, and
consequently after round i, the variance is:
σ2
Xi =
σ2
Xi−1
v
(9)
Consequently the variance of our system at round i becomes:
σ2
Xi =
σ2
X0
vi
(10)
At each round then, the variance of the initial distribution p(X0
) decreases of a factor 1
v
and
consequently the standard deviation SE of a factor 1√
v
. For a number of synchronization rounds
December 10, 2008 DRAFT
15
that tends to infinity SE = 0 and the theorem follows.
Moreover we can prove a lemma in order to describe the behavior of system synchronization
point around which clock value are distributed. In this case, the synchronization point moves on
a line having an unitary slope and µX0 as y-intercept.
Lemma 1: Let p(X0
) be the initial distribution of clock values with finite variance σ2
X0 , mean
µX0 and let ρ = 0. Under these hypothesis, the mean-based algorithm with perfect offsets
estimates converges in a round i to a synchronization point SP(i) = µX0 + i ∗ ∆T with a
SE = 0 when i → ∞.
Proof: The proof follows directly from the previous theorem and from the application of
CLT. In fact at end of round i the mean value of the sample mean computed by each node
is described by two terms: the first derives from the CLT, in fact for CLT the mean value of a
sample mean of a population is exactly the mean of the population, and the second from the
f ∗∆T in equation 5. From hypotesis ρ = 0 so f = 1 and from our assumption the E[∆T] = ∆T
because each clock executes next round after the same time interval ∆T. More formally
µXi = µXi−1 + ∆T (11)
Consequently the SP at a round i is determined by the following equation:
SP(i) = µXi = µX0 + i ∗ ∆T (12)
from theorem 1 follows that SE = 0 when i → ∞.
B. Scenario II: absence of errors introduced by communication channel delays
Let us the consider the contribution of clock drifts to the standard deviation of the system. This
contribution does not decrease and eventually remains the only significant contribution to the
standard deviation. This can be represented by a random variable and an associated probability
density function. In the following we will denote as p(R), σ2
R and µR the probability distribution,
the variance and the mean of clock frequencies. Using this notation we can prove the following
December 10, 2008 DRAFT
16
theorem.
Theorem 2: Let p(X0
) be the initial distribution of clock values with finite variance σ2
X0 . Let
p(R) be the distribution of clock drifts with variance σR. Under these hypothesis, the mean-based
algorithm with perfect offsets estimates is able to converge to SE = σR∆T ∗ v
v−1
.
Proof: By induction on the number of synchronization rounds.
round 1: as shown in the proof of the previous theorem, from CLT, the whole set of sample
means computed by each node i can be represented by a new random variable X1
with dis-
tribution p(X1
). In this case, the variance of this distribution is constituted by two terms, the
first term follows from the application of CLT, as the previous theorem, and the second term
includes the contribution of clock drifts. In particular the first term is equal to
σ2
X0
v
. As for the
second term, let us note that we have to include the value f ∗ ∆T, where the term f depends
on the drift ρ. This relation makes f a random variable described in the whole population by
the distribution p(R). Consequently, after this first round the distribution p(X1
) of clock values
has a variance :
σ2
X1 = σ2
R∆T2
+
σ2
X0
v
, (13)
Note that the first term is constituted by the frequency variance multiplying the factor ∆T,
in fact as R represents clock frequencies possibly used by different nodes, the total variance
depends also on the duration of the round.
round 2: the sample mean computed at round 2 applying also at this round CLT and taking
into consideration the distribution on drifts p(R), has distribution at the end of the second round
p(X2
) with variance:
σ2
X2 = σ2
R∆T2
+
σ2
X1
v
(14)
Equation 8 becomes, substituting σ2
X1 ,
σ2
X2 = σ2
R∆T2
+
σ2
R∆T2
v
+
σ2
X0
v2
(15)
December 10, 2008 DRAFT
17
round i: as previous round and previous proof the distribution p(Xi
) has variance:
σ2
Xi = σ2
R∆T2
+
σ2
Xi−1
v
(16)
Consequently the variance of our system at round i becomes:
σ2
Xi = σ2
R∆T2
+
σ2
R∆T2
v
+ · · · +
σ2
R∆T2
vi−1
+
σ2
X0
vi
(17)
Where the first n terms describes a geometric series with a common ratio r = 1
n
< 1.
σ2
Xi
=
i
j=0
σ2
R∆T2
vj
+
σ2
X0
vi
(18)
Consequently the variance of the whole system converges to a value that depends only from
σ2
R as the synchronization rounds go to infinity, in fact after a transitory the terms
σ2
X0
vi becomes
negligible and the geometric series converges to σ2
R∆T2
∗ v
v−1
. The synchronization error SE
consequently becomes:
SE = σR∆T ∗
v
v − 1
(19)
and the theorem follows.
In the following we discuss a lemma similar to the previous one, where we can analytically
describe the behaviour of the system synchronization point in presence of clock drifts. In presence
of clock drift, the synchronization point moves on a line having a slope equals to µR and µX0
as y-intercept.
Lemma 2: Let p(X0
) be the initial distribution of clock values with finite variance σ2
X0 and
mean µX0 . Let p(R) be the distribution of clock drifts with variance σR. Under these hypothesis,
the mean-based algorithm with perfect offsets estimates is able to converge at round i to a
synchronization point SP(i) = µX0 + µR ∗ i ∗ ∆T with a SE = σR∆T ∗ v
v−1
when i → ∞.
December 10, 2008 DRAFT
18
Proof: The proof derives from the previous theorem and from the lemma 1. In this case
considering f distributed with a mean µR and variance σR
E[f ∗ ∆T] = E[f] ∗ ∆T = µR ∗ ∆T (20)
Consequently the mean at round i has two terms: the first term follows from the application
of CLT, as the previous theorem, and the second term includes the contribution of clock drifts.
µXi = µXi−1 + µR ∗ ∆T (21)
Finally substituting µXi−1 we obtain
SP(i) = µXi = µX0 + µR ∗ i ∗ ∆T (22)
and from theorem 2 follows that SE = σR∆T ∗ v
v−1
when i → ∞.
C. Scenario III: presence of Clock Drifts and Network Errors
Let us introduce errors induced by imperfect offsets estimates, i.e. errors in remote clock
reading procedure due to unknown channel delays. Also this type of error is a random variable
with an associated probability density function. We denote as p(E), σ2
E and µE the probability
distribution, the variance and the mean of the errors in remote clock readings. Note that p(E)
is strictly related to the asymmetry of channels and it is not a normal distribution. This is not
a problem for our analysis because we do not manage directly errors but only sample means
of errors and for CLT they converge to a normal distribution despite the shape of original
distribution. Thus, we can prove the following theorem:
Theorem 3: The mean-based algorithm is able to converge to a synchronization error SE =
σE√
v−1
.
Proof: From the mean-based algorithm, each node computes a sample mean, but each
sample is now a sum of three random variables, namely Xi
, R, E where Xi
is the random
variable representing clock values at the beginning of round i. By induction on the number of
December 10, 2008 DRAFT
19
rounds:
round 1. By the algorithm and applying CLT to the sample, at the end of the first round we
obtain:
σ2
X1 =
σ2
X0
v
+
σ2
E
v
+ σ2
R∆T2
(23)
Note that the third term is constituted by the frequency variance multiplying the factor ∆T,
in fact as R represents clock frequencies possibly used by different nodes, the total variance
depends also on the duration of the round.
round 2. Applying also at this round CLT and taking into consideration the clock drifts, the
distribution at the end of the second round p(X2
) has variance:
σ2
X2 =
σ2
X1
v
+
σ2
E
v
+ σ2
R∆T2
(24)
Equation 24 becomes, substituting σ2
X1 ,
σ2
X2 =
σ2
X0
v2
+
σ2
E
v
+
σ2
E
v2
+ σ2
R∆T2
+
σ2
R∆T2
v
(25)
round i: At a generic step i, as previously described, the variance of the distribution p(Xi
) is:
σ2
Xi =
σ2
Xi−1
v
+
σ2
E
v
+ σ2
R∆T2
(26)
We have to note that the term
σ2
E
v
remains in each round. Consequently substituting
σ2
Xi−1
v
we
can expand Equation 26 and writing in terms of series we obtain:
σ2
Xi =
σ2
X0
vi
+
i
j=1
σ2
E
vj
+
i
j=0
σ2
R∆T2
vj
(27)
The second term is a geometric series with a common ration r = 1
v
< 1, so the series,
starting from j = 1 converges to
σ2
E
v−1
. Moreover
σ2
X0
vi becomes rapidly small and after a few
round
σ2
X0
vi <<
σ2
E
v−1
. At last, usually σ2
R is smaller than σ2
E of several orders of magnitude (i.e.
considering slow channels presented in [3] the difference is about ten orders of magnitude),
December 10, 2008 DRAFT
20
under this condition σ2
R∆T2
∗ v
v−1
<<
σ2
E
v−1
also for larger value of ∆T. Thus, Equation 27 for
a number of synchronization rounds that tends to infinity, the variance of the system becomes:
σ2
E
v − 1
(28)
and then, standard deviation is:
SE =
σe
√
v − 1
(29)
and the theorem follows.
Finally we can analytically discuss the behaviour of synchronization point in presence of
both errors, i.e. clock drifts andimperfect estimates. Note that in presence of both errors the
synchronization point is described by a line with µX0 + µE as slope and µR as y-intercept.
Lemma 3: Let p(R) and p(X0
) the distribution of clock drifts and the initial distribution of
clocks, with respectively variance and mean σ2
R, µR and σ2
X0 , µX0 . Let p(E) the distribution of
errors in remote clock reading with mean µE and finite variance σ2
E. Under these hypothesis
the synchronization error SE converges to SE = σE√
v−1
, when i → ∞, and the system to a
synchronization point at round i described by SP(i) = µX0 + µR ∗ i ∗ ∆T + µE.
Proof: The proof follows from the proof of previous theorem and from the CLT. We have that
at round i the mean of sample mean is composed by three terms, similarly to the previous proof:
the first term follows from the application of CLT, the second term includes the contribution
of clock drifts and the third one includes the network errors introduced by the remote clock
reading procedure. In Lemma 2 we showed the contribution of the first two terms to the mean
at a round i. At last adding the contribution of p(E)
µXi = µXi−1 + µR ∗ ∆T + µE (30)
Where µE is the term introduced by p(E) from CLT, similarly we showed in the proof of
Lemma 1.
December 10, 2008 DRAFT
21
Consequently as we have showed in previous proof, substituting µXi−1
SP(i) = µXi = µX0 + µR ∗ i ∗ ∆T + µE (31)
and from theorem 3 follows that SE = σE√
v−1
when i → ∞.
V. EXPERIMENTAL EVALUTATION
This section aims at evaluating through a simulation study the behaviour of the proposed
coupling algorithm in large scale scenarios. Scenarios are defined with the aim of isolating some
specific aspects (e.g. churn, coupling factor effect, view size, etc. ). Tests were run on Peersim,
a simulation software specifically designed to reproduce large-scale scenarios2
.
In this section we will evaluate the algorithm using the following metrics:
a) Synchronization Error: We will consider here the synchronization error as previously
defined in Section II.
b) Convergence Time: The convergence time metric is defined as the number of synchro-
nization rounds (SR) needed by the system to converge to a desired synchronization error. More
specifically, in our tests we will measure the number of synchronization rounds taken to reach
a synchronization error equal to 10µsec. It should be noticed that we consider SR as the only
convergence time metrics as, once the duration ∆T of a synchronization round has been fixed,
the time to reach a predefined clock dispersion only depends on the number of synchronizations.
c) Stability: The stability metrics applies only in dynamic scenarios, i.e. scenarios with
node churn. The stability metric measures how much clocks already synchronized are sensitive
to the injection of new nodes. A perfectly stable algorithm should not allow these clocks to
significantly change the convergency value already reached.
A. Simulation settings
The proposed algorithm is evaluated against the metrics and the scenarios described below.
2
The simulator code for the coupling mechanism is available for download at the following address: http://www.dis.uniroma1.
it/∼midlab/clocksync sim.zip
December 10, 2008 DRAFT
22
1) Simulation Scenarios:
a) System with no churn and symmetric channels: This scenario corresponds to a system
in which (1) the network is static (no nodes are added/removed during the simulation), (2) the
network delay is bounded but unknown, (3) communication channels are symmetric δ1 = δ2
and thus no estimation error occurs and (4) processes execute the algorithm periodically every
∆T time units, but not in a lock step mode. The round-trip time (RTT) is modeled by means
of a Gaussian distribution whose mean and standard deviation have been derived, as described
in [3] by fitting several round-trip data set measured over the Internet. To be more precise,
in this scenario we consider two different kind of channels, slow and fast. Slow channels are
characterized by an average round trip delay of 180msec, while fast channels are characterized by
an average round trip delay of 30msec. When generating a communication graph links between
nodes are randomly chosen to be of one kind or another. ∆T is the third quartile of the slow
channels RTT Gaussian distribution. This model is worth considering as it closely matches the
model underlying Equation 4.
b) System with no churn and asymmetric channels: This simulation scenario adds to the
previous one communication channel asymmetry. Channel asymmetry defines how the round-trip
time is distributed between the two ways of a channel (i.e. given a channel connecting A to
B, which is the ratio between the transfer delay of a message from A to B and the delay back
from B to A). The asymmetry is modeled by means of a Gaussian distribution with mean 0.5
(i.e., symmetric channel). The parameters of this distribution are used in order to explore the
sensitivity of the algorithm to channel asymmetry, and thus to estimate clock difference errors.
c) System with churn and Symmetric Channels: The third scenario considered in our tests
takes into account network dynamics, and thus considers the evolution of a network under the
continual addition/removal of nodes. In order to characterize only the dependency of the proposed
algorithm under dynamics, we ignore the estimation errors on clock differences, thus assuming
symmetric channels.
d) System with no churn, non-uniform peer sampling and symmetric channels: In the last
scenario we remove the assumption of the presence of an Uniform Peer Sampling Service in each
December 10, 2008 DRAFT
23
node, replacing it with a Non Uniform Peer Sampling Service that provides views containing
biased random samples of nodes currently in the distributed system. We assume the Non Uniform
Peer Sampling Service follows a power-law distribution and in order to explore the sensitivity
of the algorithm to this non uniform peer sampling we also assume symmetric channels.
2) Simulation Parameters: Tests have been conducted varying the number of clocks N, the
size of the local views |Vi|, and the coupling factor K. We assume in the follows, as in previous
section, that every node has the same view size and |Vi| = v, ∀i = 1, . . . N. In order to test
our approach under different system scales, ranging from very small to very large, we will be
considering values of N in the set of {8, 16, . . ., 64K}. To show the dependency with respect
to a constant coupling factor K we will consider values in the set {0.1, 0.2, . . ., 1}. Tests aimed
at evaluating the adaptive coupling factor will consider the following local coupling factor Ki
behaviour: initially Ki assumes the value 1, then it undergoes an exponential decay up to the
point it reaches the 0.1 value. The dependency with respect to the size of local views is showed
considering different values in the set {5, 10, . . ., 100}. Specific tests aimed at evaluating the
dependency of the synchronization error on channel asymmetry have been conducted varying the
amount of asymmetry, either using a fixed value in the set {0.1, . . . , 0.5}, or varying the variance
σ2
A of the Gaussian distribution used to model it within the set {10−3
, . . . , 10−11
, 0}. Tests for the
dynamic symmetric scenario have been conducted varying either the size of the stable core, i.e.
the amount of nodes that remain in the system from the beginning to the end of the test, or the
amount of replaced nodes for a single time unit. Moreover another important parameter is the
shape of pareto distribution that describes the distribution of nodes in processes’ views in tests
aimed at evaluating the impact of a Non Uniform Peer Sampling Service on the synchronization
algorithm. We varying the shape within the set {0.1, 0.2, . . ., 2} and consequently we consider
different levels of bias in peer sampling.
In tests for the static scenario with symmetric channels, different initial distributions are used
to validate our theoretical analysis. We will show that the synchronization error decay does not
depend on the type of the initial clock values distribution but only on the variance of clocks, as
expected from the application of a random choice of neighbors. For this reason, in all successive
December 10, 2008 DRAFT
24
tests we assume that the initial value assumed by a clock, referred as X0, is a uniform random
number in the interval [0, 60] sec.
B. System with No Churn and Symmetric Channels
In this setting, we show how the convergence time, of the proposed algorithm, depends on
the system size N, the view size |Vi|, and on the coupling factor K – the case of K adaptive is
also considered – while it does not depend on the initial distribution of clock values.
Note also that as the communication channels are symmetric, and thus the neighboring clock
estimate is perfect, the synchronization error will tend to zero as a negative exponential (this
comes from Equation 2) for a number of synchronization rounds that goes to infinity. This is
true for any coupling factor K.
0
2
4
6
8
10
12
14
1
10
100
1000
10000
100000
SR
Initial SE
Normal Distribution
Rectangular Distribution
Bernoulli Distribution
Figure 4: Convergence time dependency on Initial Distribution.
a) Theoretical Results Validation of the Mean-based Algorithm: From theorem 1 and 3 we
have shown that our mean based algorithm (i.e. our general algorithm with K = 1) converges
with a speed (number of synchronization rounds SR) only depending on the initial variance
(initial SE), being thus independent of the distribution shape. In order to validate these results
we analyze several different initial distributions with a fixed size of local views v = 100 and
K = 1. In Figure 4 we can see the convergence time for different amplitudes of initial SE and
for three different distributions: the uniform random, the normal and the bernoulli described by
the same mean and variance. How we can see in Figure 4 there is no difference among these
December 10, 2008 DRAFT
25
scenarios, considering the same initial SE; only increasing the initial SE we can see a larger
SR. These simulation results experimentally validate the independence from the shape of initial
distribution that comes from the random choice of neighbors at each round.
5
10
15
20
25
30
35
5 10 20 40 60 80 100
SynchronizationRound
View Size
σ
2
X
0=10 Theoretical
σ
2
X
0=10 Experimental
σ
2
X
0=10E3 Theoretical
σ
2
X
0=10E3 Experimental
Figure 5: Convergence dependency on Initial Distribution Variance and View Size.
b) Local Views Size, Initial Variance and Convergence Time: Figure 5 shows how the
number of synchronization rounds SR depends on the view size v and the variance of initial
distribution. In this test K = 1. The test shows as growing the view size we experienced a
reduction on the number of synchronization rounds required to reach a SE smaller than 10µsec.
Moreover Figure 5 validates our theoretical results because values computed through theoretical
results and simulation results are similar. There are differences only for view size smaller than
20. The problem is, in this case, that a view is composed by too few nodes for the Central Limit
Theorem to be applicable but also in this scenario theoretical results and simulation results differs
only by 1 SR.
c) System Size, Coupling Factor and Convergence Time: Figure 6(a), shows how the number
synchronization rounds SR depends on the size of the system N, and on the coupling factor K.
As it can be seen from the plot, given a value of N, there is a negative exponential dependency
of K and SR. This dependency, can roughly be approximated to an inverse dependency between
K and SR, as (see Figure 6(a)) doubling K almost halves SR. On the other hand, if we fix
the value of K we can see how SR grows slightly with N when K ≥ 0.5, while it remains
December 10, 2008 DRAFT
26
constant, or slightly diminishes with N when K > 0.5.
0
20
40
60
80
100
120
140
1
0.9
0.8
0.7
0.6
0,5
0.4
0.3
0.2
0.1
64K
32K
16K
8K
4K
2K
1K
512
256
128
64
32
16
8
0
20
40
60
80
100
120
140
SR
Synchronization Round
K
N
SR
(a) Static K
0
20
40
60
80
100
120
140
64K32K16K8K4K2K1K5122561286432168
SR
N
Synchronization Rounds, K=0.1
Synchronization Rounds, K=1
Synchronization Rounds, K adaptive
(b) Adaptive K
Figure 6: Convergence time dependency on N and K.
d) Adaptive Coupling Factor and Convergence Time: Figure 6(b) compares the effect of an
adaptive K on the convergence time with respect a fixed K. To this end, it shows the dependence
of SR from the network size for K = 1, K = 0.1 and K adaptive. From this plot it is easy to
see that K adaptive provides a performance improvement with respect to the convergence time
that is close to what obtained with a fixed K = 1.
0
20
40
60
80
100
120
140
160
10080604020105
SR
View Size
Synchronization Rounds, N=64K, K=1.0
Synchronization Rounds, N=64K, K=0.1
Figure 7: Convergence time dependency on K and view size.
December 10, 2008 DRAFT
27
e) Local View Size, Coupling Factor and Convergence Time: Figure 7 shows how the
number of synchronization rounds SR depends on the size of the local view v and on the
coupling factor K in a network composed by 64K nodes. From this plot we can see that absolute
values of SR depend from K, as we have shown on Figure 6(a) and 6(b), but these values only
have a small dependency on the size of local views. In fact, only with very small local views
we can see an increment of SR required to reach the defined precision and growing the view
size, we experienced only a small reduction of SR that does not justify a larger overhead.
f) Observations on Algorithm Scalability: Most distributed algorithms tend to degrade their
performance as the scale of the systems grows, when this happens, the scale of a system can
practically exclude certain algorithmic solutions. Thus, it is extremely important to characterize
what happens to a distributed algorithm as the number of nodes involved in the computation
grows. To this end Figure 6(a) and Figure 6(b) show how the synchronization round SR
changes over a very wide set of network sizes. Contrarily to many existing clock synchronization
solutions, the proposed algorithm scales extremely well: in fact its performance remain constant
with a wide range of network size N with either static and adaptive coupling factor. This is a
very important property which makes this solution appealing for applications that need to scale
to a very large number of nodes.
C. System with No Churn and Asymmetric Channels Results
In this setting, we investigate how the asymmetry impacts on the synchronization error within
which software clocks synchronize. For this scenario we won’t show results for the convergence
time as these are analogous to what is described in the previous Section.
g) Channel Asymmetry, Coupling Factor and Synchronization Error: Figure 8 reports re-
sults obtained using a fixed value of asymmetry for all communication channels. The system size
N is fixed to 64K for this plot. As the plot shows there is (1) a linear dependency between the
channel asymmetry and the synchronization error, and (2) the value of K, as predicted by the
Equation 5, behaves as a scaling factor on the synchronization error. The results obtained with
the use of K adaptive, are not shown as completely overlap with those found for K = 0.1. This
December 10, 2008 DRAFT
28
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
SE(sec)
Asymmetry
Synch. std, K=0.1
Synch std, K=1
Figure 8: Synchronization error varying channel asymmetry.
should come at no surprise as the K after a transitory assumes definitively the value 0.1–the
only relevant difference is that, as shown in Figure 6(b), the use of K adaptive leads to shorter
convergence times.
h) Channel Asymmetry, Channel Delays and Synchronization Error: The specific scenario
used for the previous plot is far from being realistic, as it assumes a fixed value for asymmetry.
Thus, to better model realistic channel asymmetry, we used a Gaussian distribution with mean
0.5 and studied how systems with variable sizes behave with respect to synchronization error,
varying the variance σ2
A of the distribution. Results for slow and fast channels are reported
respectively in Figures 9(a) and 9(b), where the clock standard deviation (expressed in seconds)
is reported. As the graphs show, the more channels are “symmetric”, i.e., the more the asymmetry
variance is low, the lower is the synchronization error with a clear exponential dependency. It is
interesting to point out that the error difference between slow and fast channels quickly becomes
negligible as soon as we consider fairly symmetric channels. These plots therefore confirm that
the impact of RTT on synchronization error is not straight, but it strongly depends on channel
asymmetry.
i) Local Views, Coupling Factor and Synchronization Error: In Figure 10 we can see the
dependency of synchronization error on the coupling factor K and the view size v. We consider
K = 0.1 and K = 1. In both cases we can see the same behaviour, i.e. increasing the view size
December 10, 2008 DRAFT
29
0
1
2
3
4
5
6
32
64
128
256
512
1K
2K
4K
8K
16K
32K
64K
0
10E-11
10E-10
10E-9
10E-8
10E-7
10E-6
10E-5
10E-4
10E-3
0
1
2
3
4
5
6
SE (sec)
Slow Channel Synch. Error
N
Variance
SE (sec)
(a) Slow Channels
0
0.0001
0.0002
0.0003
0.0004
0.0005
0.0006
0.0007
0.0008
0.0009
0.001
32
64
128
256
512
1K
2K
4K
8K
16K
32K
64K
0
10E-11
10E-10
10E-9
10E-8
10E-7
10E-6
10E-5
10E-4
10E-3
0
0.0001
0.0002
0.0003
0.0004
0.0005
0.0006
0.0007
0.0008
0.0009
0.001
SE (sec)
Fast Channel Synch. Error
N
Variance
SE (sec)
(b) Fast Channels
Figure 9: Synchronization error for slow and fast channels with a Gaussian asymmetry
distribution.
0
2
4
6
8
10
12
14
16
18
20
10080604020105
SE(sec)
View Size
Synchronization Rounds, N=64K, K=0.1
Synchronization Rounds, N=64K, K=1.0
Figure 10: Synchronization error dependence on K and view size.
the synchronization error decreases. In other words, the system is more resilient to perturbations
induced by the asymmetry of channels. This result directly follows from Equation 5 where errors,
with opposite signs, induced by transmission channels are summed and averaged. Moreover,
we can see from Figure 10 that larger views have a stronger effect, in terms of reduction of
synchronization error, in systems with coupling factor K = 1 where the synchronization error
is five times smaller with a view of size 100 than with a view of size 5.
December 10, 2008 DRAFT
30
0
0.5
1
1.5
2
2.5
3
3.5
5 10 20 40 60 80 100
SynchronizationError(sec)
View Size
σ
2
A ≈ 1 Theoretical
σ
2
A ≈ 1 Experimental
σ
2
A ≈ 10E-2 Theoretical
σ
2
A ≈ 10E-2 Experimental
Figure 11: Synchronization error varying remote clock reading variance and view size.
j) Theoretical Results Validation of the Mean-based Algorithm: Figure 11 shows the be-
haviour of our system for different view sizes and different asymmetry variances σ2
A (considering
slow channels). In the same Figure, our theoretical results for the mean-based algorithm are
plotted. We can see that theoretical results are nearly perfectly comparable to simulation results,
even for small view sizes where the Central Limit Theorem is not directly applicable.
D. System with Churn and Symmetric Channels
In this setting, we investigate how node churn impacts on the synchronization error within
which clocks synchronize, as well as on the stability of clock values.
k) Churn, Coupling Factor and Core Synchronization Error: First we evaluated the re-
silience of our solution with respect to a continuous addition/removal of nodes. In this test we
built a system with 64K nodes and considered a fixed core made up of nodes that remain in
the system for the whole simulation. 3
Churn is modeled by substituting 1% of the system
population at each time unit. Then we evaluated how standard deviation of clocks residing in
these nodes varies when the remaining part of the system keeps changing. The evaluation was
done for two extreme values of the coupling factor K (i.e. K = 0.1 and K = 1), and also using
an adaptive K value. Curves reported in Figure 12(a) show that the core size has a relevant
3
Several studies on peer lifetime in P2P applications confirms this model [17].
December 10, 2008 DRAFT
31
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
7550251051
SE(sec)
Stable Core %
Synch. Error under churn with K=1.0
Synch. Error under churn with K=0.1
Synch. Error under churn with K adaptive
(a) Synchronization error dependency on core network
size and K value.
0
5
10
15
20
25
30
5 10 25 50
SynchronizationPointVariation(sec)
New nodes %
Clock variation under churn with k=1.0
Clock variation under churn with k adaptive
(b) Stability versus the number of new injected nodes
and K value.
Figure 12: System behavior under dynamics.
impact on synchronization error as long as we consider a fixed K value. Intuitively, the larger
is the core, the less nodes pertaining to it are prone to change their clock due to reads done
on newly joined nodes. In this case, by adopting a small value for the coupling factor, nodes
belonging to the fixed core are more resilient to node dynamics. More interesting is the behavior
of the system when we adopt the adaptive K strategy. In this case, new nodes enter the system
using a large K value and therefore rapidly absorb timing information from nodes in the core,
while these are slightly perturbed.
l) Churn, Coupling Factor and Stability: Figure 12(b) shows the stability of the system to a
perturbation caused by the injection of a huge number of new nodes. In order to better show this
behavior we introduced during the simulation in a network made up of 64K nodes, all with clocks
synchronized on a specific value, a set of new nodes (expressed in the graph as a percentage
of the original network size). Newly injected nodes start with a clock value that is distant 60
seconds from the synchronization point of nodes in the original system. The plot shows how
the synchronization point varies from the original one (the distance between the synchronization
points is reported in seconds on the y axis) when the new network converges again. If we assume
K = 1 the system is prone to huge synchronization point variation, that, intuitively, is larger
December 10, 2008 DRAFT
32
if a larger number of nodes is injected. However, the introduction of K adaptive mechanism
drastically reduces this undesired behavior, limiting the variation of synchronization point, even
when the amount of nodes injected is close to 50% of the original system. These results justify
the introduction of an age-based adaptive mechanism for the coupling factor value tuning as an
effective solution to improve the stability of systems in face of node churn.
0.001
0.01
0.1
1
20 40 60 80 100 120
%TrafficManagedbyHotSpot
View Size
Random Uniform
Power-Law, Shape = 0.552 (|S| = 64)
Power-Law, Shape = 0.236 (|S| = 6400)
Power-Law, Shape = 0.222 (|S| = 32000)
Figure 13: Percentile of traffic managed by a hot spot of 64 nodes in a system of 64000 nodes.
E. System with No Churn, Non Uniform Peer Sampling and Symmetric Channels
In this setting we simulated that the Peer Sampling Service chooses nodes, in the set of
currently active ones, following a power-law distribution. The importance of this analysis is
strictly related to difficulty, showed by several algorithms, of realizing a uniform peer sampling
service in a dynamic environment where it can be likely that a peer sampling service selects some
nodes with higher probability than other ones [2], [21]. In this scenario we analyze different
shapes of the power-law distribution corresponding to different sizes of the sets of nodes chosen
with high probability. Formally, we noted with S, the set of nodes chosen by the Peer Sampling
Service with a probability P > 0.9. Let us remark that if the peer-sampling follows a power-
law distribution, it introduces actually a core of nodes, able to synchronize very fast among
themselves, and acting like central time servers with respect to other nodes. Therefore, from
a synchronization error viewpoint, this creation of a core of nodes in the system would create
some benefits in terms of convergence speed. Unfortunately, this advantage is only virtual as
December 10, 2008 DRAFT
33
communication channels bringing to a node belonging to the core can rapidly get congested.
This node will be indeed present in many of the local views of other nodes exchanging thus a
huge number of messages per round. To point out this behavior, Figure 13 shows results obtained
analyzing the percentile of the whole traffic managed by a small subset, namely the hot spot,
of nodes currently in the distributed system for different shapes of the power-law distribution.
These values are compared with the traffic managed by nodes belonging to the hot-spot under
the presence of uniform peer sampling service. In our test the hot spot is composed by the
most frequent 64 nodes (out of 64000 composing the entire system) as they are returned by
the Peer Sampling Service. As depicted in Figure 13 if the peer-sampling follows a power-law
distribution each node in the hotspot manages three orders of magnitude more messages than
the ones managed by nodes in the presence of uniform peer-sampling (almost independently of
the shape of the power-law). Actually nodes composing the hot-spot manage up to 80% of the
whole traffic generated by the clock synchronization algorithm. This critical overhead will bring
nodes in the core getting congested and then unusable for synchronization purposes, destroying
thus the synchronization.
VI. RELATED WORK
A work that follows an approach similar to ours is presented in [20]. In this paper, gossiping is
used for computing aggregate values over network components in a fully decentralized fashion.
Differently from our work, Babaoglu et al. do not face the clock synchronization problem but they
only analyze the properties of the class of aggregate functions that their solution can compute(e.g.
counting, sums and products). Moreover they do not show the behavior of their solution in the
presence of churn and in the presence of non-uniform peer-sampling services.
We can divide clock synchronization algorithms in two main classes: deterministic and prob-
abilistic. Deterministic clock synchronization algorithms [8], [9], [12], [14], [23]–[26] guarantee
strict properties on the accuracy of the synchronization but assumes that a known bound on
message transfer delays exists. Lamport in [23] defines a distributed algorithm for synchronizing
a system of logical clocks which can be used to totally order events, specializes this algorithm
December 10, 2008 DRAFT
34
to synchronize physical clocks, and derives a bound on how far out of synchrony the clocks
can go. Following works of Lamport and Melliar-Smith [24], [25] analyze the problem of
clock synchronization in presence of faults, defining Byzantine clock synchronization. Some
deterministic solutions, such as those proposed in [7], [10], [11], [25], prove that, when up
to F reference time servers can suffer arbitrary failures, at least 2F+1 reference time servers
are necessary for achieving clock synchronization. In this case, these solutions can be fault-
tolerant also for Byzantine faults. Currently, we do not analyze byzantine-tolerant behavior of
our solution. The deterministic approach, normally tuned to cope with the worst case scenario,
assures a bounded accuracy in LAN environments but loses its significance in WAN environments
where messages can suffer high and unpredictable variations in transmission delays. Several
works of Dolev et al. [10]–[12], [15] propose and analyze several decentralized synchronization
protocols applicable for WAN but that require a clique-based interconnecting topology, which
is hardly scalable with a large number of nodes.
Clock synchronization algorithms based on a probabilistic approach were proposed in [1],
[6]. The basic idea is to follow a master-slave pattern and synchronize clocks in the presence
of unbounded communication delays by using a probabilistic remote clock reading procedure.
Each node makes several attempts to read a remote clock and, after each attempt, calculates
the maximum error. By retrying often enough, a node can read the other clock to any required
precision with a probability as close to 1 as desired. This implies that the overhead imposed
by the synchronization algorithm and the probability of loss of synchronization increases when
the synchronization error is reduced. The master-slave approach and the execution of several
attempts are basic building blocks of the most popular clock synchronization protocol for WAN
settings: NTP [29], [30]. NTP works in a static and manually-configured hierarchical topology.
A work proposing solutions close to NTP is CesiumSpray [38] that is based on a hierarchy
composed by a WAN of LANs where in each LAN at least a node has a GPS receiver. These
solutions require static configuration and the presence of some nodes directly connected with a
external time reference in order to obtain external time synchronization. Finally, a probabilistic
solution based on a gossip-based protocol to achieve external clock synchronization is proposed
December 10, 2008 DRAFT
35
in [18]. Each node uses a peer sampling service to select another node in the network and
to exchange timing information with. The quality of timing information is evaluated using a
dispersion metric like the one provided by NTP.
VII. CONCLUDING REMARKS
Clock synchronization for distributed systems is a fundamental problem that has been widely
treated in the literature. However, today’s large scale distributed applications spanning from cloud
computing, managing of large scale datacenters to millions of networked embedded systems, pose
new issues that are hardly addressed by existing clock synchronization solutions (hardly relying,
for example, on fixed numbers of processes). These systems require the development of new
approaches able to reach satisfying level of synchronization while providing the desired level of
scalability.
In this paper we proposed a novel algorithm for clock synchronization in large scale dynamic
systems in absence of external clock sources. Our algorithm stems from the work on coupled
oscillators developed by Kuramoto [22], adequately adapted to our purposes. Through theoretical
analysis backed up by an experimental study based on simulations we showed that our solution
is able to converge and synchronize clocks in systems ranging from very small to very large
sizes, achieving small synchronization errors that strictly depend on the quality of links used for
communication (with respect to delay and symmetry). Our solution, thanks to the employment
of an adaptable coupling factor, is also shown to be resilient to node churn. Finally we analyzed
the impact of having a non-uniform peer sampling service on the synchronization error of our
solution. We showed that this is a critical issue because as soon as the peer-sampling follows
a power-law distributions, there will be the formation of a core of nodes that could rapidly
becomes congested being then unusable to the synchronization activities. Therefore this paper
also calls the need of further research and investigation in the field of deployment of peer-
sampling solutions providing uniform peer selection such as the very recent Brahms system [5]
where it is proved the possibility to build a uniform peer sampling service also in the presence
of byzantine processes.
December 10, 2008 DRAFT
36
REFERENCES
[1] K. Arvind. Probabilistic Clock Synchronization in Distributed Systems, IEEE Transaction on Parallel and Distributed
Systems, vol. 5(5), 1994.
[2] A. Awan, R. A. Ferreira, S. Jagannathan and A. Grama. Distributed Uniform Sampling in Unstructured Peer-to-Peer
Networks. In Proceedings of the 39th Annual Hawaii International Conference on System Sciences, pp. 223-233, 2006.
[3] R. Baldoni, C. Marchetti, A. Virgillito. Impact of WAN Channel Behavior on End-to-end Latency of Replication Protocols,
In Proceedings of European Dependable Computing Conference, 2006.
[4] R. Baldoni, R. Jimenez-Peris, M. Patino-Martinez, L. Querzoni, A. Virgillito. Dynamic Quorums for DHT-based Enterprise
Infrastructures, Journal of Parallel and Distributed Computing, 68(9), pp. 1235-1249, 2008.
[5] E. Bortinikov, M. Gurevich, I. Keidar, G. Kliot, A. Shaer. Brahms: Byzantine Resilient Random Membership Sampling,
27th ACM Symposium on Principles of Distributed Computing, pp. 145-154, 2008.
[6] F. Cristian. A probabilistic approach to distributed clock synchronization. Distributed Computing, 3:146-158, 1989.
[7] F. Cristian and C. Fetzer. Integrating Internal and External Clock Synchronization, Journal of Real Time Systems, Vol.
12(2), 1997
[8] F. Cristian, H. Aghili and R. Strong. Clock synchronization in the presence of omission and performance faults, and processor
joins, In Proceedings of 16th International Symposium on Fault-Tolerant Computing Systems, pp. 218-223,1986.
[9] F. Cristian and C. Fetzer. Lower bounds for convergence function based clock synchronization. In Proceedings of the
Fourteenth Annual ACM Symposium on Principles of distributed computing, pp.137-143, 1995
[10] A. Daliot, D. Dolev and H. Parnas. Linear Time Byzantine Self-Stabilizing Clock Synchronization, Technical Report
TR2003-89, Schools of Engineering and Computer Science, The Hebrew University of Jerusalem, Dec. 2003.
[11] A. Daliot, D. Dolev, H. Parnas. Self-Stabilizing Pulse Synchronization Inspired by Biological Pacemaker Networks, In
Proceedings of the Sixth Symposium on Self-Stabilizing Systems, pp. 32-48, 2003
[12] S. Dolev. Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graph, Journal of Real-Time
Systems, no. 12(1), pp. 95-107, 1997.
[13] P. Eugster, S. Handurukande. R. Guerraoui, A. Kermarrec and P. Kouznetsov. Lightweight Probabilistic Broadcast. In ACM
Transactions on Computer Systems, vol. 21(4), pp. 341-374, 2003.
[14] J. Halpern, B. Simons and R. Strong. Fault-tolerant clock synchronization, In Proceedings of the 3rd Annual ACM
Symposium on Principles of Distributed Computing, pp. 89-102, 1984.
[15] T. Herman and S. Ghosh. Stabilizing Phase-Clock. Information Processing Letters, 5(6):585-598, 1994
[16] C. Hewitt. ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing. IEEE Internet Computing, 12(5), 96-
99,2008
[17] K. Ho, J. Wu, J Sum. On the Session Lifetime Distribution of Gnutella, International Journal of Parallel, Emergent and
Distributed Systems, Vol. 23(1), pp. 1-15, 2008.
[18] K. Iwanicki, M. van Steen and S. Voulgaris. Gossip-based Synchronization for Large Scale Decentralized Systems, In
Proceedings of the Second IEEE International Workshop on Self-Managed Networks, Systems and Services, pp. 28-42,
2006.
[19] M. Jelasity, R. Guerraoui, A.-M. Kermarrec, M. van Steen. The peer sampling service: experimental evaluation of
unstructured gossip-based implementations, In Proceedings of the 5th ACM/IFIP/USENIX International Conference on
Middleware, pp. 79-98,2004.
[20] M. Jelasity, A. Montresor and O. Babaoglu. Gossip-based aggregation in large dynamic networks, In ACM Transactions
on Computer Systems, Vol. 23(3) pp. 219-252, 2005.
[21] V. King, S. Lewis, J. Saia, M. Young. Choosing a Random Peer in Chord, Algorithmica, Volume 49(2), pp. 147-169, 2007.
[22] Y. Kuramoto. Chemical oscillations, waves and turbulence. Chap. 5. Springer-Verlag, 1984.
[23] L. Lamport. Time, clocks and ordering of events in a distributed system. Commun ACM, vol 21, no. 7, pp. 558-565, 1978.
[24] L. Lamport and P. M. Melliar-Smith. Byzantine clock synchronization. In Proceedings of the 3rd Annual ACM Symposium
on Principles of Distributed Computing, pp. 68-74, 1984
[25] L. Lamport and P. M. Melliar-Smith. Synchronizing clocks in the presence of faults, Journal of the ACM, 32(1):52-78,
1985.
[26] J. Lundelius-Welch and N. Lynch. A new fault-tolerant algorithm for clock synchronization. In Proceedings of the 3rd
Annual ACM Symposium on Principles of Distributed Computing, pp. 75-88, 1984.
[27] L. Massouli, E. Le Merrer, A.-M. Kermarrec, A. Ganesh. Peer Counting and Sampling in Overlay Networks: Random
Walk Methods, In Proceedings of the twenty-fifth annual ACM symposium on Principles of Distributed Computing, pp.
123-132, 2006.
[28] P.C. Matthews, R. E. Mirollo and S. H. Strogatz. Dynamics of a large system of coupled nonlinear oscillators. Physica D
52, Vol. 52(2-3), p. 293-331, 1991.
[29] D. L. Mills. Network Time Protocol (Version 1) specification and implementation. Network Working Group Report RFC-
1059. University of Delaware, 1988.
December 10, 2008 DRAFT
37
[30] D. L. Mills. Network Time Protocol Version 4 Reference and Implementation Guide. Electrical and Computer Engineering
Technical Report 06-06-1, University of Delaware, 2006.
[31] Object Management Group. Data distribution service for real-time systems specification v1.2, ptc/2006-04-09.
[32] A. Rowstron and P. Druschel. Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems.
In Proceedings of IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), pp. 329-350, 2001.
[33] K. Satoh. Computer Experiment on the Cooperative Behavior of a Network of Interacting Nonlinear Oscillators. Journal
of the Physical Society of Japan, Vol. 58(6), pp. 2010-2021, 1989.
[34] I. Stoica, R. Morris, D. Liben-Nowell, D.R. Karger, M.F. Kaashoek, F. Dabek, H. Balakrishnan. Chord: A Scalable Peer-
to-peer Lookup Protocol. In IEEE/ACM Transactions on Networking, Vol. 11(1), pp. 17- 32, 2003.
[35] S.H. Strogatz and R.E. Mirollo. Phase-locking and critical phenomena in lattices of coupled nonlinear oscillators with
random intrinsic frequencies, Physica D, vol. 31, pp. 143-168, 1988.
[36] C. Tang, R. N. Chang, E. So, A distributed service management infrastructure for enterprise data centers based on peer-
to-peer technology. Proceedings of the IEEE International Conference on Services Computing, pp. 52-59, 2006.
[37] C. Tang, M. Steinder, M. Spreitzer, G. Pacifici, A scalable application placement controller for enterprise data centers.
Proceedings of the 16th international conference on World Wide Web, pp 331-340, 2007.
[38] P. Verissimo, L. Rodrigues and A. Casimiro. CesiumSpray: a Precise and Accurate Global Time Service for Large-scale
Systems, Journal of Real-Time Systems, Vol. 12(3), pp. 243-294, 1997.
[39] S. Voulgaris, D. Gavidia, M. van Steen. CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays.
In Journal of Network and System Management, vol. 13(2), pp. 197-217, 2005.
[40] A.T. Winfree. Biological rhythms and the behaviour of populations of coupled oscillators. Journal of Theoretical Biology,
vol. 28, pp. 327-374, 1967.
December 10, 2008 DRAFT

More Related Content

What's hot

The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service TutorialAngelo Corsaro
 
Seed block algorithm
Seed block algorithmSeed block algorithm
Seed block algorithmDipak Badhe
 
Grid computing [2005]
Grid computing [2005]Grid computing [2005]
Grid computing [2005]Raul Soto
 
Distributeddatabasesforchallengednet
DistributeddatabasesforchallengednetDistributeddatabasesforchallengednet
DistributeddatabasesforchallengednetVinoth Chandar
 
An asynchronous replication model to improve data available into a heterogene...
An asynchronous replication model to improve data available into a heterogene...An asynchronous replication model to improve data available into a heterogene...
An asynchronous replication model to improve data available into a heterogene...Alexander Decker
 
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXAngelo Corsaro
 
iaetsd Controlling data deuplication in cloud storage
iaetsd Controlling data deuplication in cloud storageiaetsd Controlling data deuplication in cloud storage
iaetsd Controlling data deuplication in cloud storageIaetsd Iaetsd
 
seed block algorithm
seed block algorithmseed block algorithm
seed block algorithmDipak Badhe
 
Survey on Division and Replication of Data in Cloud for Optimal Performance a...
Survey on Division and Replication of Data in Cloud for Optimal Performance a...Survey on Division and Replication of Data in Cloud for Optimal Performance a...
Survey on Division and Replication of Data in Cloud for Optimal Performance a...IJSRD
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationAngelo Corsaro
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA ExplainedAngelo Corsaro
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IAngelo Corsaro
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity StandardAngelo Corsaro
 
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloud
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with CloudEfficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloud
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloudiosrjce
 

What's hot (20)

DDS Made Simple
DDS Made SimpleDDS Made Simple
DDS Made Simple
 
The Data Distribution Service Tutorial
The Data Distribution Service TutorialThe Data Distribution Service Tutorial
The Data Distribution Service Tutorial
 
Seed block algorithm
Seed block algorithmSeed block algorithm
Seed block algorithm
 
Grid computing [2005]
Grid computing [2005]Grid computing [2005]
Grid computing [2005]
 
Distributeddatabasesforchallengednet
DistributeddatabasesforchallengednetDistributeddatabasesforchallengednet
Distributeddatabasesforchallengednet
 
An asynchronous replication model to improve data available into a heterogene...
An asynchronous replication model to improve data available into a heterogene...An asynchronous replication model to improve data available into a heterogene...
An asynchronous replication model to improve data available into a heterogene...
 
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveXReactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
 
iaetsd Controlling data deuplication in cloud storage
iaetsd Controlling data deuplication in cloud storageiaetsd Controlling data deuplication in cloud storage
iaetsd Controlling data deuplication in cloud storage
 
L018137479
L018137479L018137479
L018137479
 
seed block algorithm
seed block algorithmseed block algorithm
seed block algorithm
 
Survey on Division and Replication of Data in Cloud for Optimal Performance a...
Survey on Division and Replication of Data in Cloud for Optimal Performance a...Survey on Division and Replication of Data in Cloud for Optimal Performance a...
Survey on Division and Replication of Data in Cloud for Optimal Performance a...
 
Sensor Data Management
Sensor Data ManagementSensor Data Management
Sensor Data Management
 
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair MonetisationData Decentralisation: Efficiency, Privacy and Fair Monetisation
Data Decentralisation: Efficiency, Privacy and Fair Monetisation
 
Paper444012-4014
Paper444012-4014Paper444012-4014
Paper444012-4014
 
Hm2413291336
Hm2413291336Hm2413291336
Hm2413291336
 
prj exam
prj examprj exam
prj exam
 
DDS and OPC UA Explained
DDS and OPC UA ExplainedDDS and OPC UA Explained
DDS and OPC UA Explained
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
 
Vortex II -- The Industrial IoT Connectivity Standard
Vortex II -- The  Industrial IoT  Connectivity StandardVortex II -- The  Industrial IoT  Connectivity Standard
Vortex II -- The Industrial IoT Connectivity Standard
 
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloud
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with CloudEfficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloud
Efficient IOT Based Sensor Data Analysis in Wireless Sensor Networks with Cloud
 

Viewers also liked

Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Sri Prasanna
 
Play My Music
Play My MusicPlay My Music
Play My MusicC FM
 
Pipeline 4 Progress Action Plan Summary
Pipeline 4 Progress Action Plan SummaryPipeline 4 Progress Action Plan Summary
Pipeline 4 Progress Action Plan SummaryCreAgent Marketing
 
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008Solange_Gagnebin
 
Portfolio Daniel Pedrosa
Portfolio Daniel PedrosaPortfolio Daniel Pedrosa
Portfolio Daniel Pedrosaguest90db5e
 
Mae Designs Portfolio
Mae Designs PortfolioMae Designs Portfolio
Mae Designs PortfolioMae_Designs
 
Case Study
Case StudyCase Study
Case Studyfagancc
 
Carols Presentation53
Carols  Presentation53Carols  Presentation53
Carols Presentation53guest576d5
 
Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]guestd4e08
 
ikd312-04-aljabar-relasional
ikd312-04-aljabar-relasionalikd312-04-aljabar-relasional
ikd312-04-aljabar-relasionalAnung Ariwibowo
 
Black friday haine
Black friday haineBlack friday haine
Black friday haineDa Vinci
 
Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016XXX XXX
 
Itransition At A Glance 2009
Itransition At A Glance 2009Itransition At A Glance 2009
Itransition At A Glance 2009Stefanovich
 

Viewers also liked (20)

Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)
 
Camur 2016-ancash-1
Camur 2016-ancash-1Camur 2016-ancash-1
Camur 2016-ancash-1
 
Play My Music
Play My MusicPlay My Music
Play My Music
 
Pipeline 4 Progress Action Plan Summary
Pipeline 4 Progress Action Plan SummaryPipeline 4 Progress Action Plan Summary
Pipeline 4 Progress Action Plan Summary
 
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
Absolute Dosimetry for Proton Beams-Doktorandenseminar 11 Sept 2008
 
Portfolio Daniel Pedrosa
Portfolio Daniel PedrosaPortfolio Daniel Pedrosa
Portfolio Daniel Pedrosa
 
Mae Designs Portfolio
Mae Designs PortfolioMae Designs Portfolio
Mae Designs Portfolio
 
Case Study
Case StudyCase Study
Case Study
 
Carols Presentation53
Carols  Presentation53Carols  Presentation53
Carols Presentation53
 
Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]Finlandia 2009 [Autoguardado]
Finlandia 2009 [Autoguardado]
 
Portfolio:Summer 09
Portfolio:Summer 09Portfolio:Summer 09
Portfolio:Summer 09
 
ikd312-04-aljabar-relasional
ikd312-04-aljabar-relasionalikd312-04-aljabar-relasional
ikd312-04-aljabar-relasional
 
Black friday haine
Black friday haineBlack friday haine
Black friday haine
 
PROYECTO WorkCentre
PROYECTO WorkCentrePROYECTO WorkCentre
PROYECTO WorkCentre
 
Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016Visita granada 3er ciclo 2016
Visita granada 3er ciclo 2016
 
Itransition At A Glance 2009
Itransition At A Glance 2009Itransition At A Glance 2009
Itransition At A Glance 2009
 
Pintura 2 Eso
Pintura 2 EsoPintura 2 Eso
Pintura 2 Eso
 
2010 Regs&amp;Medi Links2
2010 Regs&amp;Medi Links22010 Regs&amp;Medi Links2
2010 Regs&amp;Medi Links2
 
Sph 107 Ch 11
Sph 107 Ch 11Sph 107 Ch 11
Sph 107 Ch 11
 
Wfwpeuropedignity 2011
Wfwpeuropedignity 2011Wfwpeuropedignity 2011
Wfwpeuropedignity 2011
 

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

A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...ISA Interchange
 
Distributed Approach for Clock Synchronization in Wireless Sensor Network
Distributed Approach for Clock Synchronization in Wireless Sensor NetworkDistributed Approach for Clock Synchronization in Wireless Sensor Network
Distributed Approach for Clock Synchronization in Wireless Sensor NetworkEditor IJMTER
 
Power system and communication network co simulation for smart grid applications
Power system and communication network co simulation for smart grid applicationsPower system and communication network co simulation for smart grid applications
Power system and communication network co simulation for smart grid applicationsIndra S Wahyudi
 
The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...
The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...
The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...IJERA Editor
 
fast publication journals
fast publication journalsfast publication journals
fast publication journalsrikaseorika
 
Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...iosrjce
 
Wireless sensor networks, clustering, Energy efficient protocols, Particles S...
Wireless sensor networks, clustering, Energy efficient protocols, Particles S...Wireless sensor networks, clustering, Energy efficient protocols, Particles S...
Wireless sensor networks, clustering, Energy efficient protocols, Particles S...IJMIT JOURNAL
 
Reliable and Efficient Data Acquisition in Wireless Sensor Network
Reliable and Efficient Data Acquisition in Wireless Sensor NetworkReliable and Efficient Data Acquisition in Wireless Sensor Network
Reliable and Efficient Data Acquisition in Wireless Sensor NetworkIJMTST Journal
 
Designing Run-Time Environments to have Predefined Global Dynamics
Designing  Run-Time  Environments to have Predefined Global DynamicsDesigning  Run-Time  Environments to have Predefined Global Dynamics
Designing Run-Time Environments to have Predefined Global DynamicsIJCNCJournal
 
WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...
WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...
WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...IJMIT JOURNAL
 
Paper id 28201419
Paper id 28201419Paper id 28201419
Paper id 28201419IJRAT
 
Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...
Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...
Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...IJECEIAES
 
Mobile Agents based Energy Efficient Routing for Wireless Sensor Networks
Mobile Agents based Energy Efficient Routing for Wireless Sensor NetworksMobile Agents based Energy Efficient Routing for Wireless Sensor Networks
Mobile Agents based Energy Efficient Routing for Wireless Sensor NetworksEswar Publications
 

Similar to Coupling-Based Internal Clock Synchronization for Large Scale Dynamic Distributed Systems (20)

A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
A Proportional Integral Estimator-Based Clock Synchronization Protocol for Wi...
 
C1804011117
C1804011117C1804011117
C1804011117
 
Distributed Approach for Clock Synchronization in Wireless Sensor Network
Distributed Approach for Clock Synchronization in Wireless Sensor NetworkDistributed Approach for Clock Synchronization in Wireless Sensor Network
Distributed Approach for Clock Synchronization in Wireless Sensor Network
 
05688207
0568820705688207
05688207
 
Power system and communication network co simulation for smart grid applications
Power system and communication network co simulation for smart grid applicationsPower system and communication network co simulation for smart grid applications
Power system and communication network co simulation for smart grid applications
 
1104.0355
1104.03551104.0355
1104.0355
 
The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...
The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...
The Design A Fuzzy System in Order to Schedule Sleep and Waking Of Sensors in...
 
fast publication journals
fast publication journalsfast publication journals
fast publication journals
 
B017370915
B017370915B017370915
B017370915
 
Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...Security based Clock Synchronization technique in Wireless Sensor Network for...
Security based Clock Synchronization technique in Wireless Sensor Network for...
 
[IJET-V1I3P13] Authors :Aishwarya Manjunath, Shreenath K N, Dr. Srinivasa K G.
[IJET-V1I3P13] Authors :Aishwarya Manjunath, Shreenath K N, Dr. Srinivasa K G.[IJET-V1I3P13] Authors :Aishwarya Manjunath, Shreenath K N, Dr. Srinivasa K G.
[IJET-V1I3P13] Authors :Aishwarya Manjunath, Shreenath K N, Dr. Srinivasa K G.
 
www.ijerd.com
www.ijerd.comwww.ijerd.com
www.ijerd.com
 
A Systematic Review of Congestion Control in Ad Hoc Network
A Systematic Review of Congestion Control in Ad Hoc NetworkA Systematic Review of Congestion Control in Ad Hoc Network
A Systematic Review of Congestion Control in Ad Hoc Network
 
Wireless sensor networks, clustering, Energy efficient protocols, Particles S...
Wireless sensor networks, clustering, Energy efficient protocols, Particles S...Wireless sensor networks, clustering, Energy efficient protocols, Particles S...
Wireless sensor networks, clustering, Energy efficient protocols, Particles S...
 
Reliable and Efficient Data Acquisition in Wireless Sensor Network
Reliable and Efficient Data Acquisition in Wireless Sensor NetworkReliable and Efficient Data Acquisition in Wireless Sensor Network
Reliable and Efficient Data Acquisition in Wireless Sensor Network
 
Designing Run-Time Environments to have Predefined Global Dynamics
Designing  Run-Time  Environments to have Predefined Global DynamicsDesigning  Run-Time  Environments to have Predefined Global Dynamics
Designing Run-Time Environments to have Predefined Global Dynamics
 
WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...
WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...
WIRELESS SENSOR NETWORK CLUSTERING USING PARTICLES SWARM OPTIMIZATION FOR RED...
 
Paper id 28201419
Paper id 28201419Paper id 28201419
Paper id 28201419
 
Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...
Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...
Novel Scheme for Minimal Iterative PSO Algorithm for Extending Network Lifeti...
 
Mobile Agents based Energy Efficient Routing for Wireless Sensor Networks
Mobile Agents based Energy Efficient Routing for Wireless Sensor NetworksMobile Agents based Energy Efficient Routing for Wireless Sensor Networks
Mobile Agents based Energy Efficient Routing for Wireless Sensor Networks
 

More from Angelo Corsaro

zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computeAngelo Corsaro
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingAngelo Corsaro
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing InfrastructureAngelo Corsaro
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing PlatformAngelo Corsaro
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture FourAngelo Corsaro
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture ThreeAngelo Corsaro
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture TwoAngelo Corsaro
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture OneAngelo Corsaro
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsAngelo Corsaro
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security StandardAngelo Corsaro
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution ServiceAngelo Corsaro
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsAngelo Corsaro
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part IAngelo Corsaro
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...Angelo Corsaro
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT ArchitecturesAngelo Corsaro
 

More from Angelo Corsaro (20)

Zenoh: The Genesis
Zenoh: The GenesisZenoh: The Genesis
Zenoh: The Genesis
 
Zenoh Tutorial
Zenoh TutorialZenoh Tutorial
Zenoh Tutorial
 
zenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query computezenoh: zero overhead pub/sub store/query compute
zenoh: zero overhead pub/sub store/query compute
 
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog ComputingBreaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
Breaking the Edge -- A Journey Through Cloud, Edge and Fog Computing
 
Eastern Sicily
Eastern SicilyEastern Sicily
Eastern Sicily
 
fog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructurefog05: The Fog Computing Infrastructure
fog05: The Fog Computing Infrastructure
 
fog05: The Fog Computing Platform
fog05: The Fog Computing Platformfog05: The Fog Computing Platform
fog05: The Fog Computing Platform
 
Programming in Scala - Lecture Four
Programming in Scala - Lecture FourProgramming in Scala - Lecture Four
Programming in Scala - Lecture Four
 
Programming in Scala - Lecture Three
Programming in Scala - Lecture ThreeProgramming in Scala - Lecture Three
Programming in Scala - Lecture Three
 
Programming in Scala - Lecture Two
Programming in Scala - Lecture TwoProgramming in Scala - Lecture Two
Programming in Scala - Lecture Two
 
Programming in Scala - Lecture One
Programming in Scala - Lecture OneProgramming in Scala - Lecture One
Programming in Scala - Lecture One
 
Data Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained EnvionrmentsData Sharing in Extremely Resource Constrained Envionrments
Data Sharing in Extremely Resource Constrained Envionrments
 
The DDS Security Standard
The DDS Security StandardThe DDS Security Standard
The DDS Security Standard
 
The Data Distribution Service
The Data Distribution ServiceThe Data Distribution Service
The Data Distribution Service
 
RUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming RuminationsRUSTing -- Partially Ordered Rust Programming Ruminations
RUSTing -- Partially Ordered Rust Programming Ruminations
 
Fog Computing Defined
Fog Computing DefinedFog Computing Defined
Fog Computing Defined
 
DDS In Action Part II
DDS In Action Part IIDDS In Action Part II
DDS In Action Part II
 
DDS in Action -- Part I
DDS in Action -- Part IDDS in Action -- Part I
DDS in Action -- Part I
 
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...The Cloudy, Foggy and Misty Internet of Things --  Toward Fluid IoT Architect...
The Cloudy, Foggy and Misty Internet of Things -- Toward Fluid IoT Architect...
 
Fluid IoT Architectures
Fluid IoT ArchitecturesFluid IoT Architectures
Fluid IoT Architectures
 

Recently uploaded

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 

Recently uploaded (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 

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

  • 1. 1 Coupling-Based Internal Clock Synchronization for Large Scale Dynamic Distributed Systems Roberto Baldoni, Angelo Corsaro, Leonardo Querzoni, Sirio Scipioni, and Sara Tucci Piergiovanni Abstract 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 fullfill 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. Theoretical and empirical evaluations of the convergence speed and of the synchronization error of the coupled-based internal clock synchronization algorithm have been carried out, showing how convergence time and the synchronization error depends on the coupling factor and on 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. Index Terms Peer-to-Peer, Internal Clock Synchronization, Peer Sampling, Overlay Networks. I. INTRODUCTION Clock synchronization is a fundamental building block for many distributed applications. As such, the topic has been widely studied for many years, and several algorithms exist which address different scales, ranging from local area networks (LAN), to wide area networks (WAN). For instance, the Network Time Protocol (NTP) [29], [30], has emerged as a standard de facto for external clock synchronization in both LAN and WAN settings. The work presented in A short and preliminary version of this paper appeared in Proceedings of OTM Conferences, pp. 701-716, 2007. R. Baldoni, L. Querzoni, S. Scipioni and S. Tucci Piergiovanni are with the Department of Computer and Systems Sciences, Sapienza University of Rome, Rome A. Corsaro is with PrismTech, Marcoussis, France. December 10, 2008 DRAFT
  • 2. 2 this paper is motivated by an emergent class of large scale infrastructures, applications and services (e.g. managing large scale datacenters [36], [37], Cloud Computing [16], peer-to-peer enterprise infrastructures [4]), operating in very challenging settings, for which the problem of synchronizing clocks is far from being solved. These applications are required to (1) operate without any assumption on deployed functionalities, pre-existing infrastructure, or centralized control, while (2) being able to tolerate churn, due to crashes or to node joining or leaving the system, and (3) scaling from few hundreds to tens of thousands of nodes. For instance, publish/subscribe middleware, such as the data distribution service [31] requires synchronized clocks, however in several relevant scenarios, due to security issues, or limited assumptions on the infrastructure, it cannot assume that members of the system, either have access to an NTP server, or are equipped with an NTP daemon. A promising approach to tackle this kind of problems is to embrace a fully decentralized paradigm in which peers implement all the required functionalities, by running so called gossip− based algorithms. In this approach, due to the large scale and geography of the system, each peer is provided with a neighborhood representing the part of the system it can directly interact with. The algorithm running at each peer computes local results by collecting information from this neighborhood. These results are computed periodically leading the system to gradually compute the expected global result. In this paper, in order to attain clock synchronization, we combine this gossip-based paradigm with a nature-inspired approach stemming from the coupled oscillators phenomenon. This phenomenon shows enormous systems of oscillators spontaneously locking to a common phase, despite the inevitable differences in the natural frequencies of the individual oscillators. Examples from biology include network pacemaker cells in the heart, congregations of synchronously flashing fireflies and crickets that chirp in unison. A description of the phenomenon was pioneered by Winfree [40]. He mathematically modeled a population of interacting oscillators and discovered that assuming nearly identical individual frequencies and a certain strength of the coupling (which is a measure of the sensitivity each oscillator has to interactions with others), a dramatic transition to a globally entrained state, in which oscillators freeze into synchrony, occurs. A valuable contribution has been subsequently introduced by December 10, 2008 DRAFT
  • 3. 3 Kuramoto [22] who simplified the Winfree model by considering the coupling strength constant for all oscillators and depending only on their phase difference. Both Winfree’s and Kuramoto’s work was done assuming that each oscillator is coupled directly and equally to all others, which means assuming a fully connected oscillators network. However a considerable amount of work has been done also on so called “non-standard topologies”. Satoh in [33] performed numerical experiments comparing the capabilities of networks of oscillators arranged in two-dimensional lattices and random graphs. Results showed that the system becomes globally synchronous much more effectively in the random case. In fact, Matthews et al. in [28] note that the coupling strength required to globally synchronize oscillators in a random network is the same as the one required in the fully interconnected case. In this paper we adapt the Kuramoto model to let a very large number of computer nodes deployed over an overlay network to synchronize their software clocks without an external time reference. More specifically, each process in a node managing the software clock will periodically synchronize, this clock with the software clocks of a set of neighbors chosen uniformly at random from the entire population of nodes. The first issue we tackle is how to artificially reproduce the physical phenomenon in a computer network in which every software clock can be influenced by other clocks only by exchanging messages. In our approach, each node explicitly asks software clock values from neighboring processes in order to calculate their difference in phase. Then, following a Kuramoto-like model, these differences in phase are combined and multiplied by a so-called coupling factor, expressing the coupling strength, in order to adjust the local clock. As the coupling factor has a key role in regulating the dynamics of coupling, we study thoroughly its impact on the performance of the proposed solution. First, we consider a time- invariant coupling factor identical for all oscillators. In particular we study through a statistical analysis the performance of our coupling mechanism in a static network with a fixed number of nodes. The study analytically shows the time needed for clocks to synchronize with a certain error. Throughout an extensive experimental evaluation, different constant coupling factors are then evaluated to investigate their effect on system perturbations specific to target settings (basically deployed on a wired computer network): (1) errors on the phase difference estimates due to December 10, 2008 DRAFT
  • 4. 4 network delays and (2) node churn. As a general result, low coupling factors lead to better synchronization regardless of system perturbations–all clocks lock to a value such that their differences are negligible. On the other hand, higher coupling factors lead to a faster locking at the cost of more dispersed values. This phenomenon depends on the fact that a higher coupling factor augments the sensitivity a clock has with respect to other clocks but it also increases the influence of system perturbations. Another fundamental aspect this approach revealed is its surprising scalability: the time to converge to a common value remains the same considering both a few dozen nodes and thousands nodes, with even a small reduction in the latter case. Even though these observations are really encouraging per se, we further improve the system behavior by using an adaptive coupling factor, with the objective of reducing the impact of system perturbations while still keeping the time to converge small. This new approach has been revealed really successful, both in the case of errors phase estimates due to network delays and in the case of changing neighbors. The idea is simple: the local coupling factor reflects the age of a node (expressed by the number of adjustments already performed); a young node will have a high coupling factor to soon absorb values from other nodes, while an old node will have a small coupling factor to limit its sensitivity to system perturbations. The rationale behind this mechanism comes from the observation that an old node is more aligned to the values of other clocks than a new one. With this adaptive coupling factor, a young node, supposed to have a value generally far from other clock values, will rapidly align its value to others since the system perturbations have a small impact when the relative clock differences are still large. Then, when nodes reach good values, i.e. their relative differences are small, a lower coupling factor lets maintain these differences small despite system perturbations. This strategy reveals to be particularly useful in case of a dynamic system. Considering a network which starts and locks to some clock value, the perturbation caused by a massive entrance of new nodes (generally not synchronized with the ones which already reached a synchronization inside the network) could be dramatically reduced when compared to a constant coupling factor. In other words, the adoption of adaptive coupling leads the system to maintain its stability, a property strongly needed in face of network dynamism. The rest of the paper is organized as follows: Section II presents December 10, 2008 DRAFT
  • 5. 5 the system assumptions, Section III presents the clock coupling model along with the algorithm. The statistical analysis of the algorithm is presented in Section IV. The experimental evaluation is presented in Section V. Section VI discusses related works, while Section VII concludes the paper. Peer Sampling Service Overlay Management Service SW Clock Clock Synchronization Procedure Clock Synchronization Service Node Applications Network getView() getClock() Read/WriteClock() Send/Receive Send/Receive Figure 1: Node Architecture II. SYSTEM MODEL AND NODE ARCHITECTURE Let us consider a distributed system composed of a set of nodes that can vary over time, we denote as N(t) the number of nodes belonging to the distributed systems at time t. Each node may join and leave the system at will. Each pair of nodes can exchange messages and message delays respect some unknown bound. A message is delivered reliably to destination if both the sender of the message and the receiver belong to the system at time of the sending and remain both in the system for a time greater than the unknown bound on message delay. December 10, 2008 DRAFT
  • 6. 6 A. Hardware and Software Clocks Every node ni is equipped with a hardware clock consisting of an oscillator and a counting register that is incremented at every tick of the oscillator. Depending on the quality of the os- cillator, and the operating environment, its frequency may drift. Manufacturers typically provide a characterization for ρ – the maximum absolute value for oscillator drift. Ignoring, for the time being, the resolution due to limited pulsing frequency of the oscillator, the hardware clock implemented by the oscillator can be described by the following equation: CH(t) = ft + C0; where: (1 − ρ) ≤ f ≤ (1 + ρ). Moreover each node endows a software clock. This software clock is managed by a process that executes the sum of the current value of ni’s hardware clock and a periodically determined adjustment A(t). Consequently each software clock Ci is also characterized by a frequency fi ∈ [1 − ρ, 1 + ρ] and by the following equation: Ci(t) = fit + C0 + A(t); Initially the software clocks of nodes are not synchronized, meaning that they might show different time readings following an unknown distribution. Also any node joining the distributed system at a certain time shows an arbitrary time reading with respect to other nodes already in the system. B. Internal Clock Synchronization Internal Clock Synchronization aims to build a ”common” software clock among a set of cooperating nodes. In this paper, the ”common” clock assumes a value that tries to minimize the maximum difference between any two local software clocks. To do that each node can modify the local software clock by using the adjustment function A(t). In the internal clock synchronization realized in this paper, the ”common” clock represents the mean of the values of the software local clock, namely the Synchronization Point (i.e., December 10, 2008 DRAFT
  • 7. 7 SP(t) = µ(t) = E[C1(t), . . . , Cn(t), . . .]), of our system, and its aim is to minimize the standard deviation along the time among these local software clocks. Formally, ∀t σ(t) = 1 N(t) N(t) i=1 (Ci(t) − µ)2 = SE(t) (1) where SE(t) represents the Synchronization Error at time t i.e., the standard deviation, computed at time t, of software clock values of nodes belonging to the system at that time. Therefore the smaller SE(t) the more accurate is the synchronization among the nodes. C. Node Architecture Node architecture is depicted in Figure 1. We consider each node endows a Clock Synchro- nization Service whose aim is to provide local applications with a software clock synchronized with other nodes belonging to the distributed system. To do that, the Clock Synchronization Service working on distinct nodes interacts through an existing network infrastructure, that is usually represented by a WAN, and leverages a peer sampling service [19] provided by an overlay management protocol. The Overlay Management Protocol is a logical network built on top of a physical one (usually the Internet), by connecting a set of nodes through some links. A distributed algorithm running on nodes, known as the Overlay Maintenance Protocol (OMP), takes care of managing these logical links. Each node usually maintains a limited set of links (called view) to other nodes in the system. The construction and maintenance of the views must be such that the graph obtained by interpreting nodes as vertices and links as arcs is connected and keeps some topology. In this manner an overlay management service can realize either deterministic graphs (e.g. a ring) [32], [34] or random graphs [13], [39]. Usually the first are called structured overlay networks and the latter unstructured ones. The Peer Sampling Service is implemented over the overlay network and it returns, through a getV iew() function, to a process a view Vi(t) of nodes in the overlay at time t. In particular we assume the presence of an Uniform Peer Sampling Service that provides views containing a December 10, 2008 DRAFT
  • 8. 8 uniform random sample of nodes currently in the distributed system. It has been shown that theoretically uniform peer sampling can be achieved over both structured overlay networks [21] and unstructured ones [27]. As an example, uniform random samples of nodes over an unstructured overlay are provided through either a random periodic exchange of partial content of the view [19], or random walks [27] (a random view is filled passing through the unstructured network following random walks). Due to the fact that practically a pure uniform peer sampling is difficult to implement on top of a computer network, we remove this assumption in some simulation tests contained in Section V and assume that peer sampling follows a power law distribution. Clock Synchronization Service maintains a software clock and it is basically composed by a Clock Synchronization Procedure that exchanges information with nodes contained in the current view returned by the peer sampling service. The collected information is used to minimize differences between the software clocks of nodes by periodically computing the adjustment value A(t). III. THE GENERAL COUPLING BASED SYNCHRONIZATION ALGORITHM In this section we present the mathematical basics underlying the coupling clock synchroniza- tion along with the clock synchronization algorithm. A. Time Continuous Clock Coupling Coupled oscillator phenomenon, pioneered by Winfree [40] and also described by Kuramoto [22], was initially studied in order to analyze behavior of coupled pendulum clocks, and it was subsequently extended to describe a population of interacting oscillators like hardware clocks. Recently this paradigm founds a novel utilization in the analysis of enormous systems of oscillators: network pacemaker cells in the heart, congregations of synchronously flashing fireflies, etc... Assuming a certain strength of the coupling(i.e. of the sensitivity each oscillator has to interactions with others), these enormous systems of oscillators are able to lock to a common phase, despite the differences in the frequencies of the individual oscillators. In a December 10, 2008 DRAFT
  • 9. 9 network of coupled oscillator clocks, thanks to a continuous coupling of these clocks over time, they will lock to a so-called stable point: each clock will show the same value, without changing the value once reached. Even though our coupling resembles the model proposed by [22], [35], it is worth noting that Kuramoto modeled a non-linear oscillator coupling which is not directly applicable to our problem. In fact, the non-linear oscillator used by Kuramoto to model the emergence of fireflies flashing synchrony, models intentionally a phenomenon which is characterized by several stable points (which arise due to the sinusoidal coupling), i.e., the system does not converge to a unique point, but it can partition in subsystems each with a different stable point. On the other hand, for synchronizing clocks in a distributed system it is highly desirable that a single point of synchronization exists. This leads to consider a linear coupling equation of the form: ˙Ci(t) = fi + φi |Vi(t)| |Vi(t)| j=1 (Cj(t) − Ci(t)), i = 1..N(t) (2) The intuition behind Equation 2 is that a software clock has to speed up if its neighboring clocks are going faster, while it has to slowdown when they are going slower. The coupling constant φi provides a measure of how much the current clock rate should be influenced by others. It can be shown analytically that Equation 2 has a single stable fixed point, and thus converges, in the case in which all the clocks are connected to each other. Even with clocks not directly connected to each other, the coupling effect still arises. Provided that the underlying graph is connected, each clock will continue to influence others. In the more general case of non-fully connected graph, Equation 2 can be generalized as follows: ˙Ci(t) = fi + φi |Vi(t)| j∈Vi(t) [(Cj(t) − Ci(t))], i = 1..N(t) (3) B. Time Discrete Coupling with Imperfect Estimates The coupling model described in Equation 3 is not directly applicable to distributed systems as it is based on differential equations, and thus continuous time. In fact the physical phenomenon December 10, 2008 DRAFT
  • 10. 10 models entities that continually sense other entities, while in a distributed system each node is separated by others through a communication channel showing unpredictable delays. Sensing other entities means requesting explicitly their clock values through a request-reply message pattern. Delays on messages bring to imperfect estimates of clock values to be added in the equation. Before introducing imperfect estimates, let us consider the discrete counterpart of Equation 2 : Ci((ℓ + 1)∆T) = Ci(ℓ∆T) + fi∆T+ + Ki Ni j∈Vi [(Cj(ℓ∆T) − Ci(ℓ∆T))] i = 1..N(t) ℓ = 1 . . . (4) Where Ki = φif∆T and ∆T is the time interval between two successive interactions. Let us now add the imperfect estimates of clock offsets due to communication channels. When applying Equation 4 in real distributed systems, the clock difference (Cj(ℓ∆T) − Ci(ℓ∆T)), between two processes pi and pj, will be estimated with an error ǫ which depends on the mechanism used to perform the estimation. In this paper we assume that the difference between neighboring clocks are estimated as NTP does [29], [30] (see Figure 2) by mean of a request- reply message pattern. As in the protocol specification, let t1 be the pi’s timestamp on the request message, t2 the pj’s timestamp upon arrival, t3 the pj’s timestamp on departure of the reply message and t4 the pi’s timestamp upon arrival, the request message delay is δ1 = t2 − t1 and the reply message delay is δ2 = t4 − t3. Under this assumption, the real offset between Ci and Cj is such that the error is (δ1 − δ2)/2. Note that, if the two delays are equal (channel symmetry) the error is zero. Moreover, it has been shown that the maximum error is bounded by ±(δ1 + δ2)/2 ≈ ±RTT/2, where RTT is the round trip time between Ci and Cj. Thus, we can now rewrite Equation 4 by considering December 10, 2008 DRAFT
  • 11. 11 Figure 2: NTP offset estimation the error which affects the (Cj(n) − Ci(n)) estimation1 : Ci((ℓ + 1)∆T) = Ci(ℓ∆T) + fi∆T+ + Ki |Vi| j∈Vi [(Cj(ℓ∆T) − Ci(ℓ∆T))+ + Ki |Vi| j∈Vi [( δi,j(ℓ∆T) − δj,i(ℓ∆T) 2 )] i = 1..N(t) ℓ = 1 . . . (5) C. Algorithm description A pseudocode description of clock synchronization algorithm implementing the equation 5 is given in Figure 3. The algorithm runs at each synchronization process pi in order to synchronize its software clock Ci with other software clocks. The algorithm works on the graph defined by process views and computes Ci periodically, every ∆T time units. As a result, the algorithm at any process pi proceeds in synchronization rounds, performing at every round the following steps: 1) select |Vi| neighbors to synchronize with through the function getV iew() (Clock Sync() 1 Let us note that if we consider the worst case bound on estimate error, slow channels (large RTT) may introduce more noise than fast channels (small RTT), however, it is important to keep in mind that the source of error is not the RTT per se, but the asymmetry, i.e., the difference between δ1 and δ2. December 10, 2008 DRAFT
  • 12. 12 Double Ki; function void init(){ 1 1: schedule(Clock Sync(), T, ∆T) 2: } function void Clock Sync(){ 1: CVi = ∅; 2: Vi = getV iew(); 3: for all j ∈ Vi do 4: CVi = CVi ∪ (j, getOffset(j)); 5: end for 6: T = T + ∆T + Clock Correction(CVi ); 7: Ki = Compute K(); 8: } //Compute A(t) function Time Clock Correction(C){ 1: return Ki |Vi| ∗ ( x C(j, x), ∀j ∈ Vi) 2: } Figure 3: Internal Clock Synchronization Algorithm line 2). As we described in previous section, getV iew() is provided by the Peer Sampling Service. 2) estimate the difference with every neighboring clock and with itself by mean of getOffset() function (Clock Sync() line 4). We assume getOffset() estimates clock differences as NTP does and as we described in previous section. 3) sum the differences and multiply by Ki |Vi| (Clock Correction() line 1). 4) update the value of Ci, with the new adjustment A(t) computed by Clock Correction(), and the value of Ki, in the case it is time dependent (Clock Sync() lines 6-7). IV. STATISTICAL ANALYSIS OF A MEAN-BASED ALGORITHM The aim of this section is to show the statistical properties coming from the use of views representing a random sample of the entire population of nodes. For making the issue tractable, the coupling factor is in this section set to 1 and we consider a constant number of node N. We also assume that each node has a view of predefined size v, i.e., |Vi| = v, ∀i = 1 . . .N. We also December 10, 2008 DRAFT
  • 13. 13 assume that the round trip time on channels is lower than synchronization round. We measure the effectiveness of our algorithm by considering the synchronization error as a function of the view size and we evaluate the corresponding synchronization point. As already said in Section II the set of N nodes at the initial time has clock values following an arbitrary distribution. Clock values can then be represented by a random variable X with an associated probability density function p(X) with unknown mean µ and an unknown variance σ2 > 0. Now, considering the possibility for each node to take a random sample of v nodes X1, X2, ...Xv, each node can calculate the mean m of the sample. From the well-known Central Limit Theorem (CLT) we have that m is approximately equal to µ, while the variance of the sample, denoted as s2 , is such that σ2 v = s2 . So as the sample size increases the distribution of the sample means becomes more concentrated about the mean value. Thanks to the iterative nature of the algorithm, as the number of rounds increases, also the number of taken sample increases (v samples are taken at each round). This implies that at each round the spread of computed sample means decreases, leading to calculate at each node the value µ when the number of synchronization rounds tends to infinity. However, the contribution of clock drifts and imperfect offset estimates have to be included. This contribution to the standard deviation of the system does not decrease and eventually remains the only significant contribution. Specifically, in the following we will prove three theorems on the synchronization error (SE) of our algorithm in three distinct scenarios namely, absence of errors introduced by clock drifts and communication channel delays, absence of errors introduced communication channel delays, and presence of clock drifts and imperfect clock estimates. Moreover we prove three lemmas, one for each scenarios, that describe how the synchronization point SP (See Section II-B) of the algorithm varies along the time. A. Scenario I: no errors introduced by clock drifts and by communication channel delays Theorem 1: Let p(X0 ) be the initial distribution of clock values with finite variance σ2 X0 . Let us assume no clock drifts and perfect offset estimates. Under these hypotheses, the mean-based algorithm is able to reduce the synchronization error SE of a factor 1√ v in each synchronization December 10, 2008 DRAFT
  • 14. 14 round and converges to SE = 0. Proof: By induction on the number of synchronization rounds. round 1: each node extracts v samples X0 1 , X0 2 , ...X0 v from the clock values of nodes belonging to distributed system. Each node i computes a sample mean m0 i on the extracted values and updates its clock to that sample mean m0 i . From CLT, the whole set of computed sample means can be represented by a new random variable X1 with distribution p(X1 ) with variance: σ2 X1 = σ2 X0 v , (6) round 2: each node i extracts again n samples X1 1 , X1 2 , ...X1 v from the new distribution X1 shown at the end of the first round and computes the sample mean m1 i . Applying also at this round CLT, we obtain the distribution at the end of the second round p(X2 ) with variance: σ2 X2 = σ2 X1 v (7) Equation 7 becomes, substituting σ2 X1 , σ2 X2 = σ2 X0 v2 (8) round i: each node still computes a sample mean of the clock values of its neighbours, and consequently after round i, the variance is: σ2 Xi = σ2 Xi−1 v (9) Consequently the variance of our system at round i becomes: σ2 Xi = σ2 X0 vi (10) At each round then, the variance of the initial distribution p(X0 ) decreases of a factor 1 v and consequently the standard deviation SE of a factor 1√ v . For a number of synchronization rounds December 10, 2008 DRAFT
  • 15. 15 that tends to infinity SE = 0 and the theorem follows. Moreover we can prove a lemma in order to describe the behavior of system synchronization point around which clock value are distributed. In this case, the synchronization point moves on a line having an unitary slope and µX0 as y-intercept. Lemma 1: Let p(X0 ) be the initial distribution of clock values with finite variance σ2 X0 , mean µX0 and let ρ = 0. Under these hypothesis, the mean-based algorithm with perfect offsets estimates converges in a round i to a synchronization point SP(i) = µX0 + i ∗ ∆T with a SE = 0 when i → ∞. Proof: The proof follows directly from the previous theorem and from the application of CLT. In fact at end of round i the mean value of the sample mean computed by each node is described by two terms: the first derives from the CLT, in fact for CLT the mean value of a sample mean of a population is exactly the mean of the population, and the second from the f ∗∆T in equation 5. From hypotesis ρ = 0 so f = 1 and from our assumption the E[∆T] = ∆T because each clock executes next round after the same time interval ∆T. More formally µXi = µXi−1 + ∆T (11) Consequently the SP at a round i is determined by the following equation: SP(i) = µXi = µX0 + i ∗ ∆T (12) from theorem 1 follows that SE = 0 when i → ∞. B. Scenario II: absence of errors introduced by communication channel delays Let us the consider the contribution of clock drifts to the standard deviation of the system. This contribution does not decrease and eventually remains the only significant contribution to the standard deviation. This can be represented by a random variable and an associated probability density function. In the following we will denote as p(R), σ2 R and µR the probability distribution, the variance and the mean of clock frequencies. Using this notation we can prove the following December 10, 2008 DRAFT
  • 16. 16 theorem. Theorem 2: Let p(X0 ) be the initial distribution of clock values with finite variance σ2 X0 . Let p(R) be the distribution of clock drifts with variance σR. Under these hypothesis, the mean-based algorithm with perfect offsets estimates is able to converge to SE = σR∆T ∗ v v−1 . Proof: By induction on the number of synchronization rounds. round 1: as shown in the proof of the previous theorem, from CLT, the whole set of sample means computed by each node i can be represented by a new random variable X1 with dis- tribution p(X1 ). In this case, the variance of this distribution is constituted by two terms, the first term follows from the application of CLT, as the previous theorem, and the second term includes the contribution of clock drifts. In particular the first term is equal to σ2 X0 v . As for the second term, let us note that we have to include the value f ∗ ∆T, where the term f depends on the drift ρ. This relation makes f a random variable described in the whole population by the distribution p(R). Consequently, after this first round the distribution p(X1 ) of clock values has a variance : σ2 X1 = σ2 R∆T2 + σ2 X0 v , (13) Note that the first term is constituted by the frequency variance multiplying the factor ∆T, in fact as R represents clock frequencies possibly used by different nodes, the total variance depends also on the duration of the round. round 2: the sample mean computed at round 2 applying also at this round CLT and taking into consideration the distribution on drifts p(R), has distribution at the end of the second round p(X2 ) with variance: σ2 X2 = σ2 R∆T2 + σ2 X1 v (14) Equation 8 becomes, substituting σ2 X1 , σ2 X2 = σ2 R∆T2 + σ2 R∆T2 v + σ2 X0 v2 (15) December 10, 2008 DRAFT
  • 17. 17 round i: as previous round and previous proof the distribution p(Xi ) has variance: σ2 Xi = σ2 R∆T2 + σ2 Xi−1 v (16) Consequently the variance of our system at round i becomes: σ2 Xi = σ2 R∆T2 + σ2 R∆T2 v + · · · + σ2 R∆T2 vi−1 + σ2 X0 vi (17) Where the first n terms describes a geometric series with a common ratio r = 1 n < 1. σ2 Xi = i j=0 σ2 R∆T2 vj + σ2 X0 vi (18) Consequently the variance of the whole system converges to a value that depends only from σ2 R as the synchronization rounds go to infinity, in fact after a transitory the terms σ2 X0 vi becomes negligible and the geometric series converges to σ2 R∆T2 ∗ v v−1 . The synchronization error SE consequently becomes: SE = σR∆T ∗ v v − 1 (19) and the theorem follows. In the following we discuss a lemma similar to the previous one, where we can analytically describe the behaviour of the system synchronization point in presence of clock drifts. In presence of clock drift, the synchronization point moves on a line having a slope equals to µR and µX0 as y-intercept. Lemma 2: Let p(X0 ) be the initial distribution of clock values with finite variance σ2 X0 and mean µX0 . Let p(R) be the distribution of clock drifts with variance σR. Under these hypothesis, the mean-based algorithm with perfect offsets estimates is able to converge at round i to a synchronization point SP(i) = µX0 + µR ∗ i ∗ ∆T with a SE = σR∆T ∗ v v−1 when i → ∞. December 10, 2008 DRAFT
  • 18. 18 Proof: The proof derives from the previous theorem and from the lemma 1. In this case considering f distributed with a mean µR and variance σR E[f ∗ ∆T] = E[f] ∗ ∆T = µR ∗ ∆T (20) Consequently the mean at round i has two terms: the first term follows from the application of CLT, as the previous theorem, and the second term includes the contribution of clock drifts. µXi = µXi−1 + µR ∗ ∆T (21) Finally substituting µXi−1 we obtain SP(i) = µXi = µX0 + µR ∗ i ∗ ∆T (22) and from theorem 2 follows that SE = σR∆T ∗ v v−1 when i → ∞. C. Scenario III: presence of Clock Drifts and Network Errors Let us introduce errors induced by imperfect offsets estimates, i.e. errors in remote clock reading procedure due to unknown channel delays. Also this type of error is a random variable with an associated probability density function. We denote as p(E), σ2 E and µE the probability distribution, the variance and the mean of the errors in remote clock readings. Note that p(E) is strictly related to the asymmetry of channels and it is not a normal distribution. This is not a problem for our analysis because we do not manage directly errors but only sample means of errors and for CLT they converge to a normal distribution despite the shape of original distribution. Thus, we can prove the following theorem: Theorem 3: The mean-based algorithm is able to converge to a synchronization error SE = σE√ v−1 . Proof: From the mean-based algorithm, each node computes a sample mean, but each sample is now a sum of three random variables, namely Xi , R, E where Xi is the random variable representing clock values at the beginning of round i. By induction on the number of December 10, 2008 DRAFT
  • 19. 19 rounds: round 1. By the algorithm and applying CLT to the sample, at the end of the first round we obtain: σ2 X1 = σ2 X0 v + σ2 E v + σ2 R∆T2 (23) Note that the third term is constituted by the frequency variance multiplying the factor ∆T, in fact as R represents clock frequencies possibly used by different nodes, the total variance depends also on the duration of the round. round 2. Applying also at this round CLT and taking into consideration the clock drifts, the distribution at the end of the second round p(X2 ) has variance: σ2 X2 = σ2 X1 v + σ2 E v + σ2 R∆T2 (24) Equation 24 becomes, substituting σ2 X1 , σ2 X2 = σ2 X0 v2 + σ2 E v + σ2 E v2 + σ2 R∆T2 + σ2 R∆T2 v (25) round i: At a generic step i, as previously described, the variance of the distribution p(Xi ) is: σ2 Xi = σ2 Xi−1 v + σ2 E v + σ2 R∆T2 (26) We have to note that the term σ2 E v remains in each round. Consequently substituting σ2 Xi−1 v we can expand Equation 26 and writing in terms of series we obtain: σ2 Xi = σ2 X0 vi + i j=1 σ2 E vj + i j=0 σ2 R∆T2 vj (27) The second term is a geometric series with a common ration r = 1 v < 1, so the series, starting from j = 1 converges to σ2 E v−1 . Moreover σ2 X0 vi becomes rapidly small and after a few round σ2 X0 vi << σ2 E v−1 . At last, usually σ2 R is smaller than σ2 E of several orders of magnitude (i.e. considering slow channels presented in [3] the difference is about ten orders of magnitude), December 10, 2008 DRAFT
  • 20. 20 under this condition σ2 R∆T2 ∗ v v−1 << σ2 E v−1 also for larger value of ∆T. Thus, Equation 27 for a number of synchronization rounds that tends to infinity, the variance of the system becomes: σ2 E v − 1 (28) and then, standard deviation is: SE = σe √ v − 1 (29) and the theorem follows. Finally we can analytically discuss the behaviour of synchronization point in presence of both errors, i.e. clock drifts andimperfect estimates. Note that in presence of both errors the synchronization point is described by a line with µX0 + µE as slope and µR as y-intercept. Lemma 3: Let p(R) and p(X0 ) the distribution of clock drifts and the initial distribution of clocks, with respectively variance and mean σ2 R, µR and σ2 X0 , µX0 . Let p(E) the distribution of errors in remote clock reading with mean µE and finite variance σ2 E. Under these hypothesis the synchronization error SE converges to SE = σE√ v−1 , when i → ∞, and the system to a synchronization point at round i described by SP(i) = µX0 + µR ∗ i ∗ ∆T + µE. Proof: The proof follows from the proof of previous theorem and from the CLT. We have that at round i the mean of sample mean is composed by three terms, similarly to the previous proof: the first term follows from the application of CLT, the second term includes the contribution of clock drifts and the third one includes the network errors introduced by the remote clock reading procedure. In Lemma 2 we showed the contribution of the first two terms to the mean at a round i. At last adding the contribution of p(E) µXi = µXi−1 + µR ∗ ∆T + µE (30) Where µE is the term introduced by p(E) from CLT, similarly we showed in the proof of Lemma 1. December 10, 2008 DRAFT
  • 21. 21 Consequently as we have showed in previous proof, substituting µXi−1 SP(i) = µXi = µX0 + µR ∗ i ∗ ∆T + µE (31) and from theorem 3 follows that SE = σE√ v−1 when i → ∞. V. EXPERIMENTAL EVALUTATION This section aims at evaluating through a simulation study the behaviour of the proposed coupling algorithm in large scale scenarios. Scenarios are defined with the aim of isolating some specific aspects (e.g. churn, coupling factor effect, view size, etc. ). Tests were run on Peersim, a simulation software specifically designed to reproduce large-scale scenarios2 . In this section we will evaluate the algorithm using the following metrics: a) Synchronization Error: We will consider here the synchronization error as previously defined in Section II. b) Convergence Time: The convergence time metric is defined as the number of synchro- nization rounds (SR) needed by the system to converge to a desired synchronization error. More specifically, in our tests we will measure the number of synchronization rounds taken to reach a synchronization error equal to 10µsec. It should be noticed that we consider SR as the only convergence time metrics as, once the duration ∆T of a synchronization round has been fixed, the time to reach a predefined clock dispersion only depends on the number of synchronizations. c) Stability: The stability metrics applies only in dynamic scenarios, i.e. scenarios with node churn. The stability metric measures how much clocks already synchronized are sensitive to the injection of new nodes. A perfectly stable algorithm should not allow these clocks to significantly change the convergency value already reached. A. Simulation settings The proposed algorithm is evaluated against the metrics and the scenarios described below. 2 The simulator code for the coupling mechanism is available for download at the following address: http://www.dis.uniroma1. it/∼midlab/clocksync sim.zip December 10, 2008 DRAFT
  • 22. 22 1) Simulation Scenarios: a) System with no churn and symmetric channels: This scenario corresponds to a system in which (1) the network is static (no nodes are added/removed during the simulation), (2) the network delay is bounded but unknown, (3) communication channels are symmetric δ1 = δ2 and thus no estimation error occurs and (4) processes execute the algorithm periodically every ∆T time units, but not in a lock step mode. The round-trip time (RTT) is modeled by means of a Gaussian distribution whose mean and standard deviation have been derived, as described in [3] by fitting several round-trip data set measured over the Internet. To be more precise, in this scenario we consider two different kind of channels, slow and fast. Slow channels are characterized by an average round trip delay of 180msec, while fast channels are characterized by an average round trip delay of 30msec. When generating a communication graph links between nodes are randomly chosen to be of one kind or another. ∆T is the third quartile of the slow channels RTT Gaussian distribution. This model is worth considering as it closely matches the model underlying Equation 4. b) System with no churn and asymmetric channels: This simulation scenario adds to the previous one communication channel asymmetry. Channel asymmetry defines how the round-trip time is distributed between the two ways of a channel (i.e. given a channel connecting A to B, which is the ratio between the transfer delay of a message from A to B and the delay back from B to A). The asymmetry is modeled by means of a Gaussian distribution with mean 0.5 (i.e., symmetric channel). The parameters of this distribution are used in order to explore the sensitivity of the algorithm to channel asymmetry, and thus to estimate clock difference errors. c) System with churn and Symmetric Channels: The third scenario considered in our tests takes into account network dynamics, and thus considers the evolution of a network under the continual addition/removal of nodes. In order to characterize only the dependency of the proposed algorithm under dynamics, we ignore the estimation errors on clock differences, thus assuming symmetric channels. d) System with no churn, non-uniform peer sampling and symmetric channels: In the last scenario we remove the assumption of the presence of an Uniform Peer Sampling Service in each December 10, 2008 DRAFT
  • 23. 23 node, replacing it with a Non Uniform Peer Sampling Service that provides views containing biased random samples of nodes currently in the distributed system. We assume the Non Uniform Peer Sampling Service follows a power-law distribution and in order to explore the sensitivity of the algorithm to this non uniform peer sampling we also assume symmetric channels. 2) Simulation Parameters: Tests have been conducted varying the number of clocks N, the size of the local views |Vi|, and the coupling factor K. We assume in the follows, as in previous section, that every node has the same view size and |Vi| = v, ∀i = 1, . . . N. In order to test our approach under different system scales, ranging from very small to very large, we will be considering values of N in the set of {8, 16, . . ., 64K}. To show the dependency with respect to a constant coupling factor K we will consider values in the set {0.1, 0.2, . . ., 1}. Tests aimed at evaluating the adaptive coupling factor will consider the following local coupling factor Ki behaviour: initially Ki assumes the value 1, then it undergoes an exponential decay up to the point it reaches the 0.1 value. The dependency with respect to the size of local views is showed considering different values in the set {5, 10, . . ., 100}. Specific tests aimed at evaluating the dependency of the synchronization error on channel asymmetry have been conducted varying the amount of asymmetry, either using a fixed value in the set {0.1, . . . , 0.5}, or varying the variance σ2 A of the Gaussian distribution used to model it within the set {10−3 , . . . , 10−11 , 0}. Tests for the dynamic symmetric scenario have been conducted varying either the size of the stable core, i.e. the amount of nodes that remain in the system from the beginning to the end of the test, or the amount of replaced nodes for a single time unit. Moreover another important parameter is the shape of pareto distribution that describes the distribution of nodes in processes’ views in tests aimed at evaluating the impact of a Non Uniform Peer Sampling Service on the synchronization algorithm. We varying the shape within the set {0.1, 0.2, . . ., 2} and consequently we consider different levels of bias in peer sampling. In tests for the static scenario with symmetric channels, different initial distributions are used to validate our theoretical analysis. We will show that the synchronization error decay does not depend on the type of the initial clock values distribution but only on the variance of clocks, as expected from the application of a random choice of neighbors. For this reason, in all successive December 10, 2008 DRAFT
  • 24. 24 tests we assume that the initial value assumed by a clock, referred as X0, is a uniform random number in the interval [0, 60] sec. B. System with No Churn and Symmetric Channels In this setting, we show how the convergence time, of the proposed algorithm, depends on the system size N, the view size |Vi|, and on the coupling factor K – the case of K adaptive is also considered – while it does not depend on the initial distribution of clock values. Note also that as the communication channels are symmetric, and thus the neighboring clock estimate is perfect, the synchronization error will tend to zero as a negative exponential (this comes from Equation 2) for a number of synchronization rounds that goes to infinity. This is true for any coupling factor K. 0 2 4 6 8 10 12 14 1 10 100 1000 10000 100000 SR Initial SE Normal Distribution Rectangular Distribution Bernoulli Distribution Figure 4: Convergence time dependency on Initial Distribution. a) Theoretical Results Validation of the Mean-based Algorithm: From theorem 1 and 3 we have shown that our mean based algorithm (i.e. our general algorithm with K = 1) converges with a speed (number of synchronization rounds SR) only depending on the initial variance (initial SE), being thus independent of the distribution shape. In order to validate these results we analyze several different initial distributions with a fixed size of local views v = 100 and K = 1. In Figure 4 we can see the convergence time for different amplitudes of initial SE and for three different distributions: the uniform random, the normal and the bernoulli described by the same mean and variance. How we can see in Figure 4 there is no difference among these December 10, 2008 DRAFT
  • 25. 25 scenarios, considering the same initial SE; only increasing the initial SE we can see a larger SR. These simulation results experimentally validate the independence from the shape of initial distribution that comes from the random choice of neighbors at each round. 5 10 15 20 25 30 35 5 10 20 40 60 80 100 SynchronizationRound View Size σ 2 X 0=10 Theoretical σ 2 X 0=10 Experimental σ 2 X 0=10E3 Theoretical σ 2 X 0=10E3 Experimental Figure 5: Convergence dependency on Initial Distribution Variance and View Size. b) Local Views Size, Initial Variance and Convergence Time: Figure 5 shows how the number of synchronization rounds SR depends on the view size v and the variance of initial distribution. In this test K = 1. The test shows as growing the view size we experienced a reduction on the number of synchronization rounds required to reach a SE smaller than 10µsec. Moreover Figure 5 validates our theoretical results because values computed through theoretical results and simulation results are similar. There are differences only for view size smaller than 20. The problem is, in this case, that a view is composed by too few nodes for the Central Limit Theorem to be applicable but also in this scenario theoretical results and simulation results differs only by 1 SR. c) System Size, Coupling Factor and Convergence Time: Figure 6(a), shows how the number synchronization rounds SR depends on the size of the system N, and on the coupling factor K. As it can be seen from the plot, given a value of N, there is a negative exponential dependency of K and SR. This dependency, can roughly be approximated to an inverse dependency between K and SR, as (see Figure 6(a)) doubling K almost halves SR. On the other hand, if we fix the value of K we can see how SR grows slightly with N when K ≥ 0.5, while it remains December 10, 2008 DRAFT
  • 26. 26 constant, or slightly diminishes with N when K > 0.5. 0 20 40 60 80 100 120 140 1 0.9 0.8 0.7 0.6 0,5 0.4 0.3 0.2 0.1 64K 32K 16K 8K 4K 2K 1K 512 256 128 64 32 16 8 0 20 40 60 80 100 120 140 SR Synchronization Round K N SR (a) Static K 0 20 40 60 80 100 120 140 64K32K16K8K4K2K1K5122561286432168 SR N Synchronization Rounds, K=0.1 Synchronization Rounds, K=1 Synchronization Rounds, K adaptive (b) Adaptive K Figure 6: Convergence time dependency on N and K. d) Adaptive Coupling Factor and Convergence Time: Figure 6(b) compares the effect of an adaptive K on the convergence time with respect a fixed K. To this end, it shows the dependence of SR from the network size for K = 1, K = 0.1 and K adaptive. From this plot it is easy to see that K adaptive provides a performance improvement with respect to the convergence time that is close to what obtained with a fixed K = 1. 0 20 40 60 80 100 120 140 160 10080604020105 SR View Size Synchronization Rounds, N=64K, K=1.0 Synchronization Rounds, N=64K, K=0.1 Figure 7: Convergence time dependency on K and view size. December 10, 2008 DRAFT
  • 27. 27 e) Local View Size, Coupling Factor and Convergence Time: Figure 7 shows how the number of synchronization rounds SR depends on the size of the local view v and on the coupling factor K in a network composed by 64K nodes. From this plot we can see that absolute values of SR depend from K, as we have shown on Figure 6(a) and 6(b), but these values only have a small dependency on the size of local views. In fact, only with very small local views we can see an increment of SR required to reach the defined precision and growing the view size, we experienced only a small reduction of SR that does not justify a larger overhead. f) Observations on Algorithm Scalability: Most distributed algorithms tend to degrade their performance as the scale of the systems grows, when this happens, the scale of a system can practically exclude certain algorithmic solutions. Thus, it is extremely important to characterize what happens to a distributed algorithm as the number of nodes involved in the computation grows. To this end Figure 6(a) and Figure 6(b) show how the synchronization round SR changes over a very wide set of network sizes. Contrarily to many existing clock synchronization solutions, the proposed algorithm scales extremely well: in fact its performance remain constant with a wide range of network size N with either static and adaptive coupling factor. This is a very important property which makes this solution appealing for applications that need to scale to a very large number of nodes. C. System with No Churn and Asymmetric Channels Results In this setting, we investigate how the asymmetry impacts on the synchronization error within which software clocks synchronize. For this scenario we won’t show results for the convergence time as these are analogous to what is described in the previous Section. g) Channel Asymmetry, Coupling Factor and Synchronization Error: Figure 8 reports re- sults obtained using a fixed value of asymmetry for all communication channels. The system size N is fixed to 64K for this plot. As the plot shows there is (1) a linear dependency between the channel asymmetry and the synchronization error, and (2) the value of K, as predicted by the Equation 5, behaves as a scaling factor on the synchronization error. The results obtained with the use of K adaptive, are not shown as completely overlap with those found for K = 0.1. This December 10, 2008 DRAFT
  • 28. 28 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 SE(sec) Asymmetry Synch. std, K=0.1 Synch std, K=1 Figure 8: Synchronization error varying channel asymmetry. should come at no surprise as the K after a transitory assumes definitively the value 0.1–the only relevant difference is that, as shown in Figure 6(b), the use of K adaptive leads to shorter convergence times. h) Channel Asymmetry, Channel Delays and Synchronization Error: The specific scenario used for the previous plot is far from being realistic, as it assumes a fixed value for asymmetry. Thus, to better model realistic channel asymmetry, we used a Gaussian distribution with mean 0.5 and studied how systems with variable sizes behave with respect to synchronization error, varying the variance σ2 A of the distribution. Results for slow and fast channels are reported respectively in Figures 9(a) and 9(b), where the clock standard deviation (expressed in seconds) is reported. As the graphs show, the more channels are “symmetric”, i.e., the more the asymmetry variance is low, the lower is the synchronization error with a clear exponential dependency. It is interesting to point out that the error difference between slow and fast channels quickly becomes negligible as soon as we consider fairly symmetric channels. These plots therefore confirm that the impact of RTT on synchronization error is not straight, but it strongly depends on channel asymmetry. i) Local Views, Coupling Factor and Synchronization Error: In Figure 10 we can see the dependency of synchronization error on the coupling factor K and the view size v. We consider K = 0.1 and K = 1. In both cases we can see the same behaviour, i.e. increasing the view size December 10, 2008 DRAFT
  • 29. 29 0 1 2 3 4 5 6 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 0 10E-11 10E-10 10E-9 10E-8 10E-7 10E-6 10E-5 10E-4 10E-3 0 1 2 3 4 5 6 SE (sec) Slow Channel Synch. Error N Variance SE (sec) (a) Slow Channels 0 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.001 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 0 10E-11 10E-10 10E-9 10E-8 10E-7 10E-6 10E-5 10E-4 10E-3 0 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006 0.0007 0.0008 0.0009 0.001 SE (sec) Fast Channel Synch. Error N Variance SE (sec) (b) Fast Channels Figure 9: Synchronization error for slow and fast channels with a Gaussian asymmetry distribution. 0 2 4 6 8 10 12 14 16 18 20 10080604020105 SE(sec) View Size Synchronization Rounds, N=64K, K=0.1 Synchronization Rounds, N=64K, K=1.0 Figure 10: Synchronization error dependence on K and view size. the synchronization error decreases. In other words, the system is more resilient to perturbations induced by the asymmetry of channels. This result directly follows from Equation 5 where errors, with opposite signs, induced by transmission channels are summed and averaged. Moreover, we can see from Figure 10 that larger views have a stronger effect, in terms of reduction of synchronization error, in systems with coupling factor K = 1 where the synchronization error is five times smaller with a view of size 100 than with a view of size 5. December 10, 2008 DRAFT
  • 30. 30 0 0.5 1 1.5 2 2.5 3 3.5 5 10 20 40 60 80 100 SynchronizationError(sec) View Size σ 2 A ≈ 1 Theoretical σ 2 A ≈ 1 Experimental σ 2 A ≈ 10E-2 Theoretical σ 2 A ≈ 10E-2 Experimental Figure 11: Synchronization error varying remote clock reading variance and view size. j) Theoretical Results Validation of the Mean-based Algorithm: Figure 11 shows the be- haviour of our system for different view sizes and different asymmetry variances σ2 A (considering slow channels). In the same Figure, our theoretical results for the mean-based algorithm are plotted. We can see that theoretical results are nearly perfectly comparable to simulation results, even for small view sizes where the Central Limit Theorem is not directly applicable. D. System with Churn and Symmetric Channels In this setting, we investigate how node churn impacts on the synchronization error within which clocks synchronize, as well as on the stability of clock values. k) Churn, Coupling Factor and Core Synchronization Error: First we evaluated the re- silience of our solution with respect to a continuous addition/removal of nodes. In this test we built a system with 64K nodes and considered a fixed core made up of nodes that remain in the system for the whole simulation. 3 Churn is modeled by substituting 1% of the system population at each time unit. Then we evaluated how standard deviation of clocks residing in these nodes varies when the remaining part of the system keeps changing. The evaluation was done for two extreme values of the coupling factor K (i.e. K = 0.1 and K = 1), and also using an adaptive K value. Curves reported in Figure 12(a) show that the core size has a relevant 3 Several studies on peer lifetime in P2P applications confirms this model [17]. December 10, 2008 DRAFT
  • 31. 31 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 7550251051 SE(sec) Stable Core % Synch. Error under churn with K=1.0 Synch. Error under churn with K=0.1 Synch. Error under churn with K adaptive (a) Synchronization error dependency on core network size and K value. 0 5 10 15 20 25 30 5 10 25 50 SynchronizationPointVariation(sec) New nodes % Clock variation under churn with k=1.0 Clock variation under churn with k adaptive (b) Stability versus the number of new injected nodes and K value. Figure 12: System behavior under dynamics. impact on synchronization error as long as we consider a fixed K value. Intuitively, the larger is the core, the less nodes pertaining to it are prone to change their clock due to reads done on newly joined nodes. In this case, by adopting a small value for the coupling factor, nodes belonging to the fixed core are more resilient to node dynamics. More interesting is the behavior of the system when we adopt the adaptive K strategy. In this case, new nodes enter the system using a large K value and therefore rapidly absorb timing information from nodes in the core, while these are slightly perturbed. l) Churn, Coupling Factor and Stability: Figure 12(b) shows the stability of the system to a perturbation caused by the injection of a huge number of new nodes. In order to better show this behavior we introduced during the simulation in a network made up of 64K nodes, all with clocks synchronized on a specific value, a set of new nodes (expressed in the graph as a percentage of the original network size). Newly injected nodes start with a clock value that is distant 60 seconds from the synchronization point of nodes in the original system. The plot shows how the synchronization point varies from the original one (the distance between the synchronization points is reported in seconds on the y axis) when the new network converges again. If we assume K = 1 the system is prone to huge synchronization point variation, that, intuitively, is larger December 10, 2008 DRAFT
  • 32. 32 if a larger number of nodes is injected. However, the introduction of K adaptive mechanism drastically reduces this undesired behavior, limiting the variation of synchronization point, even when the amount of nodes injected is close to 50% of the original system. These results justify the introduction of an age-based adaptive mechanism for the coupling factor value tuning as an effective solution to improve the stability of systems in face of node churn. 0.001 0.01 0.1 1 20 40 60 80 100 120 %TrafficManagedbyHotSpot View Size Random Uniform Power-Law, Shape = 0.552 (|S| = 64) Power-Law, Shape = 0.236 (|S| = 6400) Power-Law, Shape = 0.222 (|S| = 32000) Figure 13: Percentile of traffic managed by a hot spot of 64 nodes in a system of 64000 nodes. E. System with No Churn, Non Uniform Peer Sampling and Symmetric Channels In this setting we simulated that the Peer Sampling Service chooses nodes, in the set of currently active ones, following a power-law distribution. The importance of this analysis is strictly related to difficulty, showed by several algorithms, of realizing a uniform peer sampling service in a dynamic environment where it can be likely that a peer sampling service selects some nodes with higher probability than other ones [2], [21]. In this scenario we analyze different shapes of the power-law distribution corresponding to different sizes of the sets of nodes chosen with high probability. Formally, we noted with S, the set of nodes chosen by the Peer Sampling Service with a probability P > 0.9. Let us remark that if the peer-sampling follows a power- law distribution, it introduces actually a core of nodes, able to synchronize very fast among themselves, and acting like central time servers with respect to other nodes. Therefore, from a synchronization error viewpoint, this creation of a core of nodes in the system would create some benefits in terms of convergence speed. Unfortunately, this advantage is only virtual as December 10, 2008 DRAFT
  • 33. 33 communication channels bringing to a node belonging to the core can rapidly get congested. This node will be indeed present in many of the local views of other nodes exchanging thus a huge number of messages per round. To point out this behavior, Figure 13 shows results obtained analyzing the percentile of the whole traffic managed by a small subset, namely the hot spot, of nodes currently in the distributed system for different shapes of the power-law distribution. These values are compared with the traffic managed by nodes belonging to the hot-spot under the presence of uniform peer sampling service. In our test the hot spot is composed by the most frequent 64 nodes (out of 64000 composing the entire system) as they are returned by the Peer Sampling Service. As depicted in Figure 13 if the peer-sampling follows a power-law distribution each node in the hotspot manages three orders of magnitude more messages than the ones managed by nodes in the presence of uniform peer-sampling (almost independently of the shape of the power-law). Actually nodes composing the hot-spot manage up to 80% of the whole traffic generated by the clock synchronization algorithm. This critical overhead will bring nodes in the core getting congested and then unusable for synchronization purposes, destroying thus the synchronization. VI. RELATED WORK A work that follows an approach similar to ours is presented in [20]. In this paper, gossiping is used for computing aggregate values over network components in a fully decentralized fashion. Differently from our work, Babaoglu et al. do not face the clock synchronization problem but they only analyze the properties of the class of aggregate functions that their solution can compute(e.g. counting, sums and products). Moreover they do not show the behavior of their solution in the presence of churn and in the presence of non-uniform peer-sampling services. We can divide clock synchronization algorithms in two main classes: deterministic and prob- abilistic. Deterministic clock synchronization algorithms [8], [9], [12], [14], [23]–[26] guarantee strict properties on the accuracy of the synchronization but assumes that a known bound on message transfer delays exists. Lamport in [23] defines a distributed algorithm for synchronizing a system of logical clocks which can be used to totally order events, specializes this algorithm December 10, 2008 DRAFT
  • 34. 34 to synchronize physical clocks, and derives a bound on how far out of synchrony the clocks can go. Following works of Lamport and Melliar-Smith [24], [25] analyze the problem of clock synchronization in presence of faults, defining Byzantine clock synchronization. Some deterministic solutions, such as those proposed in [7], [10], [11], [25], prove that, when up to F reference time servers can suffer arbitrary failures, at least 2F+1 reference time servers are necessary for achieving clock synchronization. In this case, these solutions can be fault- tolerant also for Byzantine faults. Currently, we do not analyze byzantine-tolerant behavior of our solution. The deterministic approach, normally tuned to cope with the worst case scenario, assures a bounded accuracy in LAN environments but loses its significance in WAN environments where messages can suffer high and unpredictable variations in transmission delays. Several works of Dolev et al. [10]–[12], [15] propose and analyze several decentralized synchronization protocols applicable for WAN but that require a clique-based interconnecting topology, which is hardly scalable with a large number of nodes. Clock synchronization algorithms based on a probabilistic approach were proposed in [1], [6]. The basic idea is to follow a master-slave pattern and synchronize clocks in the presence of unbounded communication delays by using a probabilistic remote clock reading procedure. Each node makes several attempts to read a remote clock and, after each attempt, calculates the maximum error. By retrying often enough, a node can read the other clock to any required precision with a probability as close to 1 as desired. This implies that the overhead imposed by the synchronization algorithm and the probability of loss of synchronization increases when the synchronization error is reduced. The master-slave approach and the execution of several attempts are basic building blocks of the most popular clock synchronization protocol for WAN settings: NTP [29], [30]. NTP works in a static and manually-configured hierarchical topology. A work proposing solutions close to NTP is CesiumSpray [38] that is based on a hierarchy composed by a WAN of LANs where in each LAN at least a node has a GPS receiver. These solutions require static configuration and the presence of some nodes directly connected with a external time reference in order to obtain external time synchronization. Finally, a probabilistic solution based on a gossip-based protocol to achieve external clock synchronization is proposed December 10, 2008 DRAFT
  • 35. 35 in [18]. Each node uses a peer sampling service to select another node in the network and to exchange timing information with. The quality of timing information is evaluated using a dispersion metric like the one provided by NTP. VII. CONCLUDING REMARKS Clock synchronization for distributed systems is a fundamental problem that has been widely treated in the literature. However, today’s large scale distributed applications spanning from cloud computing, managing of large scale datacenters to millions of networked embedded systems, pose new issues that are hardly addressed by existing clock synchronization solutions (hardly relying, for example, on fixed numbers of processes). These systems require the development of new approaches able to reach satisfying level of synchronization while providing the desired level of scalability. In this paper we proposed a novel algorithm for clock synchronization in large scale dynamic systems in absence of external clock sources. Our algorithm stems from the work on coupled oscillators developed by Kuramoto [22], adequately adapted to our purposes. Through theoretical analysis backed up by an experimental study based on simulations we showed that our solution is able to converge and synchronize clocks in systems ranging from very small to very large sizes, achieving small synchronization errors that strictly depend on the quality of links used for communication (with respect to delay and symmetry). Our solution, thanks to the employment of an adaptable coupling factor, is also shown to be resilient to node churn. Finally we analyzed the impact of having a non-uniform peer sampling service on the synchronization error of our solution. We showed that this is a critical issue because as soon as the peer-sampling follows a power-law distributions, there will be the formation of a core of nodes that could rapidly becomes congested being then unusable to the synchronization activities. Therefore this paper also calls the need of further research and investigation in the field of deployment of peer- sampling solutions providing uniform peer selection such as the very recent Brahms system [5] where it is proved the possibility to build a uniform peer sampling service also in the presence of byzantine processes. December 10, 2008 DRAFT
  • 36. 36 REFERENCES [1] K. Arvind. Probabilistic Clock Synchronization in Distributed Systems, IEEE Transaction on Parallel and Distributed Systems, vol. 5(5), 1994. [2] A. Awan, R. A. Ferreira, S. Jagannathan and A. Grama. Distributed Uniform Sampling in Unstructured Peer-to-Peer Networks. In Proceedings of the 39th Annual Hawaii International Conference on System Sciences, pp. 223-233, 2006. [3] R. Baldoni, C. Marchetti, A. Virgillito. Impact of WAN Channel Behavior on End-to-end Latency of Replication Protocols, In Proceedings of European Dependable Computing Conference, 2006. [4] R. Baldoni, R. Jimenez-Peris, M. Patino-Martinez, L. Querzoni, A. Virgillito. Dynamic Quorums for DHT-based Enterprise Infrastructures, Journal of Parallel and Distributed Computing, 68(9), pp. 1235-1249, 2008. [5] E. Bortinikov, M. Gurevich, I. Keidar, G. Kliot, A. Shaer. Brahms: Byzantine Resilient Random Membership Sampling, 27th ACM Symposium on Principles of Distributed Computing, pp. 145-154, 2008. [6] F. Cristian. A probabilistic approach to distributed clock synchronization. Distributed Computing, 3:146-158, 1989. [7] F. Cristian and C. Fetzer. Integrating Internal and External Clock Synchronization, Journal of Real Time Systems, Vol. 12(2), 1997 [8] F. Cristian, H. Aghili and R. Strong. Clock synchronization in the presence of omission and performance faults, and processor joins, In Proceedings of 16th International Symposium on Fault-Tolerant Computing Systems, pp. 218-223,1986. [9] F. Cristian and C. Fetzer. Lower bounds for convergence function based clock synchronization. In Proceedings of the Fourteenth Annual ACM Symposium on Principles of distributed computing, pp.137-143, 1995 [10] A. Daliot, D. Dolev and H. Parnas. Linear Time Byzantine Self-Stabilizing Clock Synchronization, Technical Report TR2003-89, Schools of Engineering and Computer Science, The Hebrew University of Jerusalem, Dec. 2003. [11] A. Daliot, D. Dolev, H. Parnas. Self-Stabilizing Pulse Synchronization Inspired by Biological Pacemaker Networks, In Proceedings of the Sixth Symposium on Self-Stabilizing Systems, pp. 32-48, 2003 [12] S. Dolev. Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graph, Journal of Real-Time Systems, no. 12(1), pp. 95-107, 1997. [13] P. Eugster, S. Handurukande. R. Guerraoui, A. Kermarrec and P. Kouznetsov. Lightweight Probabilistic Broadcast. In ACM Transactions on Computer Systems, vol. 21(4), pp. 341-374, 2003. [14] J. Halpern, B. Simons and R. Strong. Fault-tolerant clock synchronization, In Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing, pp. 89-102, 1984. [15] T. Herman and S. Ghosh. Stabilizing Phase-Clock. Information Processing Letters, 5(6):585-598, 1994 [16] C. Hewitt. ORGs for Scalable, Robust, Privacy-Friendly Client Cloud Computing. IEEE Internet Computing, 12(5), 96- 99,2008 [17] K. Ho, J. Wu, J Sum. On the Session Lifetime Distribution of Gnutella, International Journal of Parallel, Emergent and Distributed Systems, Vol. 23(1), pp. 1-15, 2008. [18] K. Iwanicki, M. van Steen and S. Voulgaris. Gossip-based Synchronization for Large Scale Decentralized Systems, In Proceedings of the Second IEEE International Workshop on Self-Managed Networks, Systems and Services, pp. 28-42, 2006. [19] M. Jelasity, R. Guerraoui, A.-M. Kermarrec, M. van Steen. The peer sampling service: experimental evaluation of unstructured gossip-based implementations, In Proceedings of the 5th ACM/IFIP/USENIX International Conference on Middleware, pp. 79-98,2004. [20] M. Jelasity, A. Montresor and O. Babaoglu. Gossip-based aggregation in large dynamic networks, In ACM Transactions on Computer Systems, Vol. 23(3) pp. 219-252, 2005. [21] V. King, S. Lewis, J. Saia, M. Young. Choosing a Random Peer in Chord, Algorithmica, Volume 49(2), pp. 147-169, 2007. [22] Y. Kuramoto. Chemical oscillations, waves and turbulence. Chap. 5. Springer-Verlag, 1984. [23] L. Lamport. Time, clocks and ordering of events in a distributed system. Commun ACM, vol 21, no. 7, pp. 558-565, 1978. [24] L. Lamport and P. M. Melliar-Smith. Byzantine clock synchronization. In Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing, pp. 68-74, 1984 [25] L. Lamport and P. M. Melliar-Smith. Synchronizing clocks in the presence of faults, Journal of the ACM, 32(1):52-78, 1985. [26] J. Lundelius-Welch and N. Lynch. A new fault-tolerant algorithm for clock synchronization. In Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing, pp. 75-88, 1984. [27] L. Massouli, E. Le Merrer, A.-M. Kermarrec, A. Ganesh. Peer Counting and Sampling in Overlay Networks: Random Walk Methods, In Proceedings of the twenty-fifth annual ACM symposium on Principles of Distributed Computing, pp. 123-132, 2006. [28] P.C. Matthews, R. E. Mirollo and S. H. Strogatz. Dynamics of a large system of coupled nonlinear oscillators. Physica D 52, Vol. 52(2-3), p. 293-331, 1991. [29] D. L. Mills. Network Time Protocol (Version 1) specification and implementation. Network Working Group Report RFC- 1059. University of Delaware, 1988. December 10, 2008 DRAFT
  • 37. 37 [30] D. L. Mills. Network Time Protocol Version 4 Reference and Implementation Guide. Electrical and Computer Engineering Technical Report 06-06-1, University of Delaware, 2006. [31] Object Management Group. Data distribution service for real-time systems specification v1.2, ptc/2006-04-09. [32] A. Rowstron and P. Druschel. Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems. In Proceedings of IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), pp. 329-350, 2001. [33] K. Satoh. Computer Experiment on the Cooperative Behavior of a Network of Interacting Nonlinear Oscillators. Journal of the Physical Society of Japan, Vol. 58(6), pp. 2010-2021, 1989. [34] I. Stoica, R. Morris, D. Liben-Nowell, D.R. Karger, M.F. Kaashoek, F. Dabek, H. Balakrishnan. Chord: A Scalable Peer- to-peer Lookup Protocol. In IEEE/ACM Transactions on Networking, Vol. 11(1), pp. 17- 32, 2003. [35] S.H. Strogatz and R.E. Mirollo. Phase-locking and critical phenomena in lattices of coupled nonlinear oscillators with random intrinsic frequencies, Physica D, vol. 31, pp. 143-168, 1988. [36] C. Tang, R. N. Chang, E. So, A distributed service management infrastructure for enterprise data centers based on peer- to-peer technology. Proceedings of the IEEE International Conference on Services Computing, pp. 52-59, 2006. [37] C. Tang, M. Steinder, M. Spreitzer, G. Pacifici, A scalable application placement controller for enterprise data centers. Proceedings of the 16th international conference on World Wide Web, pp 331-340, 2007. [38] P. Verissimo, L. Rodrigues and A. Casimiro. CesiumSpray: a Precise and Accurate Global Time Service for Large-scale Systems, Journal of Real-Time Systems, Vol. 12(3), pp. 243-294, 1997. [39] S. Voulgaris, D. Gavidia, M. van Steen. CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays. In Journal of Network and System Management, vol. 13(2), pp. 197-217, 2005. [40] A.T. Winfree. Biological rhythms and the behaviour of populations of coupled oscillators. Journal of Theoretical Biology, vol. 28, pp. 327-374, 1967. December 10, 2008 DRAFT