logical clocks

It’s been a while since I had to develop stuff on distributed systems. As such I’ve been re-reading some classical papers on the subject, both of them written by
Leslie Lamport:

These papers are the basis of lot of many other papers you will find on distributed computing.

In the previous link to wikipedia you will find other papers as important as paxos and logical clocks, but right now, I am more interested in monitoring and tracking concurrent events, to see how they do relate to each other, than doing anything else.

Logical clocks as described by L.Lamport are named “scalar” clocks, they create a weak order among processes of events. This algorithm was not designed to track who occurred first among all the distributed processes.
There exist more complex mechanism to track events causality among processes:

  • vector clocks
  • matrix clocks

A good overview of these different logical clocks is available in the following paper:
Beware, all these papers use mathematical notations when describing sets and other data structure – as such, if you are confused with maths, you may not appreciate these papers.

On my particular project I will be only need to implement the original article by L.Lamport (weak ordering is enough).


About this entry