Stuff Happens: Ordering history in computer science

FQXi logo

Our digital lives rely on distributed computer systems, such as the internet, or the network of banks that allow us to deposit cash in one place and withdraw it in another. Leslie Lamport, principal researcher at Microsoft Research and winner of the 2013 Turing Award, explains how designing a distributed system relies on special relativity, Lamport's logical clocks, and a clear understanding of what an event means in computer science. We also bring you a relevant article from the FQXi Community website.

These articles and videos are part of our Stuff happens: The physics of events project.

What happens inside your computer? — My view of the events taking place on my computer is very different to how a computer scientist, an engineer or a physicist would view what is happening inside the box. Leslie Lamport explains how the definition of an event distinguishes between these areas of research.

Distributed systems and ambiguous histories — We all rely on distributed systems everyday. But understanding the order of events a distributed system is not always straightforward.

Violating causality — Leslie Lamport explains how an understanding of special relativity helped him realise how to order events in computer science, and enable the development of distributed computing.

Clocks to the rescue! — Leslie Lamport explains how he used logical clocks to set history straight in distributed systems.

Loo-Q: Clearing aisles and relieving passengers — Here we present a worked example of a distributed system in action, to illustrate Leslie Lamport's rules of ordering history using logical clocks.

This article first appeared on the FQXi Community website in 2008.

High fidelity — Physicists tend to think of the world as being continuous. But could it be that it is in fact digital, just as the events in computer science?

Videos

In this interview Leslie Lamport explains how designing a distributed system relies on special relativity, Lamport's logical clocks, and a clear understanding of what an event means in computer science.

You can also watch this interview as a series of shorter clips: