100 likes | 417 Views
On anomalous behavior. The coordination of distributed processes based on Lamport's clocks resulted in a total ordering of processes (?). Now let's consider what can happen if events are causally related outside our system S :Suppose we had a nationwide system of computersAlice generates an even
E N D
1. Lamports conditions on Physical Clocks Armin R. Mikler
2. On anomalous behavior The coordination of distributed processes based on Lamports clocks resulted in a total ordering of processes (?).
Now lets consider what can happen if events are causally related outside our system S :
Suppose we had a nationwide system of computers
Alice generates an event a on node A and then calls Bob in another state to generate an event b on node B.
It is then possible that b is assigned a lower timestamp than a.
3. anomaly.. Let S be the set of all system events (i.e., internal to the system.
Lets introduce a superset S of events that include S as well as relevant external events (such as the call from Alice to Bob).
Let ? denote the happen before relation over S
Then in our example, a ? b but a -/-> b
4. Avoiding anomalies It is obvious that no algorithm entirely based on events in S that does not relate to other events in S can guarantee proper ordering.
There are two possible ways to avoid anomalies:
Introduce into the system explicit information about the ordering ?. e.g. B may request the assignment of a timestamp tb > ta , placing the responsibility on the user.
Construct a system of clocks that satisfies a stronger clock condition
5. Strong Clock Condition The strong clock condition is stated as follows:
For any event a, b in S: if a ? b then C(a) < C(b)
here ? is a stronger condition as its ? counterpart which is not in general satisfied by logical clocks.
It is possible to construct a system of physical clocks which are running (quite) independently that will satisfy the Strong Clock Condition thereby eliminating anomalies! (but how)
6. From logical to physical Lamport introduces physical time into the space-time context.
Let Ci(t) denote the reading of clock Ci at t.
Further assume that dCi(t)/dt is the rate at which time progresses.
In order for Ci to be a true physical clock, we must have dCi(t)/dt 1 for all t.
7. (physical) clock conditions PC1 & 2 more precisely, we demand that the following clock condition holds:
PC1:: There exists a constant ? << 1 such that for all clocks i: | dCi(t)/dt - 1| < ?
As discussed earlier, for a crystal controlled clock we would expect ? = 10-6
While this controls the permissible drift, we need to establish permissible bounds on skew!
8. more PC1 and PC2 ? we require that Ci(t)Cj(t) for at i, j, and t.
Formally, we require the following condition to hold:
PC2:: for all i, j: | Ci(t)-Cj(t) | < e where e is a small constant.
The question is: how small do we need to make ? and e to prevent anomalous behavior??
9. now what? let be a number such that if event a occurs in physical time t and event b in another process satisfies a ? b, then C(b) > t + .
is less than the shortest transmission time time for any IPC. We could always pick = dmin /c where (c = speed of light).
Depending on how messages are transmitted in S, could be much larger.
10. avoiding anomalies to avoid anomalies we must ensure that:
for any i, j, and t: Ci(t + ) Cj(t) > 0.
PC1 and PC2 relate ? and e to as follows:
PC1 implies that Ci(t + ) Ci(t) > (1 ?)
From PC2 we deduce that Ci(t + ) Cj(t) > 0 if the following holds:
e/(1 ?) =