This talk reviews Lamport’s seminal 1978 paper on Time, Clocks and the Ordering of Events, one of the most cited papers in all of computer science.
Almost all software engineers claim to have read it. Many who haven’t read it, use (and basically understand) the fundamental idea of logical clocks, and their progeny (vector clocks, matrix clocks, etc.). More than a few understand the current state of the art: dotted version vectors and bounded version vectors. Paradoxically, almost everyone missed some of the more subtle concepts, and questions that Lamport introduced in this paper.
In the intervening years. Progress has occurred, and the state of the art has evolved. This talk is therefore in three parts. The first being a review of the paper itself, the concepts it introduced, and the assumptions behind these concepts. The second part reflects what we’ve learned in the intervening years, and especially the relationship of Lamport’s (original) understanding of time, which was superior to almost all other computer scientists at the time, and what (in contrast) we know now. The third part will be entirely devoted to questions and answers: Where anyone can ask a question, and anyone can try to answer it.