Episode 203: Leslie Lamport on Distributed Systems : Software Engineering Radio

Episode 203: Leslie Lamport on Distributed Systems

Filed in Episodes

by SE-Radio

on April 29, 2014


Leslie Lamport won a Turing Award in 2013 for his work in distributed and concurrent systems. He also designed the document preparation tool LaTex. Leslie is employed by Microsoft Research, and has recently been working with TLA+, a language that is useful for specifying concurrent systems from a high level. The interview begins with a definition: a distributed system is a multiprocessor system in which the time required for interprocess communication is large compared to the time for events within a single processor–in other words, it takes longer for interprocess communication than it does for a process to look at its own memory. Alternatively, a distributed system is one in which processors communicate by sending messages. Leslie goes on to talk about how he became interested in distributed systems, and describes the story behind his paper about the Paxos algorithm. The goal of Paxos is to maintain consensus in an environment with unexpected faults (otherwise known as Byzantine faults). After the discussion of Paxos, Jeff asks Leslie about his recent talk “Thinking for Programmers,” which emphasizes the benefit of having a specification prior to writing actual code. “Specification” can mean a variety of things, but predicates and next-state relationships provide a mathematical rigor that is well-suited to distributed and concurrent systems. The conversation concludes with Jeff asking Leslie about how a programmer can build the mental resolve to work through a difficult problem.

Related Links

Leslie Lamport’s home page

2013 Turing Award: http://amturing.acm.org/award_winners/lamport_1205376.cfm

Time, Clocks, and the Order of Events in a Distributed System: http://www.stanford.edu/class/cs240/readings/lamport.pdf

The Part-Time Parliament: http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf

Paxos: http://en.wikipedia.org/wiki/Paxos_algorithm

Thinking for Programmers: http://channel9.msdn.com/Events/Build/2014/3-642

TLA+, a specification language: http://research.microsoft.com/en-us/um/people/lamport/tla/tla.html

Podcast: Play in new window

| Download