Subject: [TICTOC] mutual synchornoization

From: Yaakov Stein <[email-masked]>
Date: Wed, 25 Mar 2009 01:48:45 +0200

I checked Bregni's "A Historical Perspective on Telecommunications Network Synchronization"
(IEEE Communications Magazine Volume 36, Issue 6, Jun 1998 Page(s):158 - 166)
He says
Mutual Synchronization (Democracy)
Mutual synchronization is based on direct mutual control among the clocks so that the output frequency of each
is the result of the "suggestions" of the others. Such a pure democracy seems appealing - there are no masters and no slaves
but mutual cooperation. However, the behavior of the mutually controlled elements is hard to govern.
Modeling the behavior of such networks, or even ensuring the stability of the control algorithms, can be a very complex task.
Networks thus designed tend to be quite expensive, but extremely reliable. Therefore, until now, the field of application
of mutual synchronization has been mostly limited to special cases (e.g., military networks).

A quick google turned up the following :

>From these clock frequencies, the synchronization of the nodes of the network may be performed by two different basic methods: mutual synchronization and master-slave synchronization. In mutual synchronization, each node generates its own clock frequency from the average of the frequencies of incoming signals and its own clock frequency at the moment. Thus all nodes of the network are driven towards a common average frequency and in a stable state they have achieved it. However, a network using mutual synchronization cannot be synchronized with a desired source, which makes an interconnection of different networks problematic, because the operating frequency of the whole network cannot then be predetermined accurately. In master-slave synchronization instead, all nodes of the network are synchronized with the clock frequency of one master node. Each node selects the frequency of one incoming signal as the source of its own clock frequency. The node tries to select a signal having the clock frequency of the master node of the network.

If this is what is meant by mutual synchronization, then this technique is completely different from
the classlessness I described, and additionally suffers from 2 major flaws.

First, it does not clock off a grand master, rather it causes a group to converge to a common, but arbitrary frequency.
I take that back, they converge to the average frequency.
I take that back, they don't necessarily converge, all that need happen is that the variance will decrease.

Second, each clock averages the clock frequencies it sees with its own.
I assume that this is in reality a weighted average, i.e.  f' = a f + (1-a) /N SUM f_n
so that it is actually a single pole IIR filter over time rather than an average; but I digress.
Note that the clocks do NOT remove their influence on the other clocks before taking the average,
so each clock averages in its own frequency, and without renormalization this scheme can become unstable.
I do not need experimental results to see this - it is a necessary result of the system.
In fact, for such a system I can concoct special situations where the frequency drift will diverge.

Thus, the prior art of "mutual synchronization" does not seem to be very relevant to the discussion.
But thanks to those who brought it up - it is always interesting to learn about things that have been
tried in the past.

Y(J)S