Leslie Lamport

Last updated
Leslie Lamport
Leslie Lamport.jpg
Born (1941-02-07) February 7, 1941 (age 82)
New York City, U.S.
Alma mater
Known for
Awards
Scientific career
Fields Computer science
Institutions
Thesis The analytic Cauchy problem with singular data  (1972)
Doctoral advisor Richard Palais [1]
Website lamport.org

Leslie B. Lamport (born February 7, 1941) is an American computer scientist and mathematician. Lamport is best known for his seminal work in distributed systems, and as the initial developer of the document preparation system LaTeX and the author of its first manual. [2]

Contents

Lamport was the winner of the 2013 Turing Award [3] for imposing clear, well-defined coherence on the seemingly chaotic behavior of distributed computing systems, in which several autonomous computers communicate with each other by passing messages. He devised important algorithms and developed formal modeling and verification protocols that improve the quality of real distributed systems. These contributions have resulted in improved correctness, performance, and reliability of computer systems. [4] [5] [6] [7] [8]

Early life and education

Lamport was born into a Jewish family in Brooklyn, New York, the son of Benjamin and Hannah Lamport (née Lasser).[ citation needed ] His father was an immigrant from Volkovisk in the Russian Empire (now Vawkavysk, Belarus) [9] and his mother was an immigrant from the Austro-Hungarian Empire, now southeastern Poland.

A graduate of Bronx High School of Science, Lamport received a B.S. in mathematics from the Massachusetts Institute of Technology in 1960, followed by M.A. (1963) and Ph.D. (1972) degrees in mathematics from Brandeis University. [10] His dissertation, The analytic Cauchy problem with singular data, is about singularities in analytic partial differential equations. [11]

Career and research

Lamport worked as a computer scientist at Massachusetts Computer Associates from 1970 to 1977, SRI International from 1977 to 1985, and Digital Equipment Corporation and Compaq from 1985 to 2001. In 2001 he joined Microsoft Research in California. [10]

Distributed systems

Lamport's research contributions have laid the foundations of the theory of distributed systems. Among his most notable papers are

These papers relate to such concepts as logical clocks (and the happened-before relationship) and Byzantine failures. They are among the most cited papers in the field of computer science, [17] and describe algorithms to solve many fundamental problems in distributed systems, including:

LaTeX

When Donald Knuth began issuing the early releases of TeX in the early 1980s, Lamport — due to his personal need of writing a book — also began working on a set of macros based on it, hoping that it would later become its standard macro package. This set of macros would later become known as LaTeX, for which Lamport would subsequently be approached in 1983 by Peter Gordon, an Addison-Wesley editor, who proposed that Lamport turn its user manual into a book. [18] [19]

In September 1984, Lamport released version 2.06a of the LaTeX macros, and in August 1985, LaTeX 2.09 — the last version of Lamport's LaTeX — would be released as well. Meanwhile, Addison-Wesley released Lamport's first LaTeX user manual, LaTeX: A Document Preparation System, in 1986, which purportedly sold "more than a few hundred thousands" copies, and on August 21, 1989, at a TeX User Group meeting at Stanford, Lamport would agree to turn over the maintenance and development of LaTeX to Frank Mittelbach, who, along with Chris Rowley and Rainer Schöpf, would form the LaTeX3 team, subsequently releasing LaTeX 2e, the current version of LaTeX, in 1994. [19] [20]

Temporal logic

Lamport is also known for his work on temporal logic, where he introduced the temporal logic of actions (TLA). [21] [22] Among his more recent contributions is TLA+, a language for specifying and reasoning about concurrent and reactive systems, which he describes in the book Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. [23] He defines TLA+ as a "quixotic attempt to overcome engineers' antipathy towards mathematics". [24]

Awards and honors

Lamport received the 2013 Turing Award for "fundamental contributions to the theory and practice of distributed and concurrent systems, notably the invention of concepts such as causality and logical clocks, safety and liveness, replicated state machines, and sequential consistency" in 2014. [25] He was elected a member of the National Academy of Engineering in 1991 for contributions to the theoretical foundations of concurrent and fault-tolerant computing. He was elected to Fellow of Association for Computing Machinery for fundamental contributions to the theory and practice of distributed and concurrent systems in 2014. [26] He also received five honorary doctorates from European universities: University of Rennes and Christian Albrechts University of Kiel in 2003, École Polytechnique Fédérale de Lausanne (EPFL) in 2004, University of Lugano in 2006, and Nancy-Université in 2007. [10] In 2004, he received the IEEE Emanuel R. Piore Award. [27] In 2005, the paper "Reaching Agreement in the Presence of Faults" [28] received the Dijkstra Prize. [29] In honor of Lamport's sixtieth birthday, a lecture series was organized at the 20th Symposium on Principles of Distributed Computing (PODC 2001). [30] In 2008, he received the IEEE John von Neumann Medal. [31] In 2011, he was elected to the National Academy of Sciences. [32]

Related Research Articles

The ACM A. M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) for contributions of lasting and major technical importance to computer science. It is generally recognized as the highest distinction in computer science and is colloquially known as or often referred to as the "Nobel Prize of Computing".

<span class="mw-page-title-main">Mutual exclusion</span> In computing, restricting data to be accessible by one thread at a time

In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions. It is the requirement that one thread of execution never enters a critical section while a concurrent thread of execution is already accessing said critical section, which refers to an interval of time during which a thread of execution accesses a shared resource or shared memory.

Self-stabilization is a concept of fault-tolerance in distributed systems. Given any initial state, a self-stabilizing distributed system will end up in a correct state in a finite number of execution steps.

<span class="mw-page-title-main">Concurrency (computer science)</span> Ability to execute a task in a non-serial manner

In computer science, concurrency is the ability of different parts or units of a program, algorithm, or problem to be executed out-of-order or in partial order, without affecting the outcome. This allows for parallel execution of the concurrent units, which can significantly improve overall speed of the execution in multi-processor and multi-core systems. In more technical terms, concurrency refers to the decomposability of a program, algorithm, or problem into order-independent or partially-ordered components or units of computation.

A Byzantine fault is a condition of a computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed. The term takes its name from an allegory, the "Byzantine generals problem", developed to describe a situation in which, to avoid catastrophic failure of the system, the system's actors must agree on a concerted strategy, but some of these actors are unreliable.

<span class="mw-page-title-main">Vector clock</span> Algorithm for partial ordering of events and detecting causality in distributed systems

A vector clock is a data structure used for determining the partial ordering of events in a distributed system and detecting causality violations. Just as in Lamport timestamps, inter-process messages contain the state of the sending process's logical clock. A vector clock of a system of N processes is an array/vector of N logical clocks, one clock per process; a local "largest possible values" copy of the global clock-array is kept in each process.

<span class="mw-page-title-main">Barbara Liskov</span> American computer scientist

Barbara Liskov is an American computer scientist who has made pioneering contributions to programming languages and distributed computing. Her notable work includes the introduction of abstract data types and the accompanying principle of data abstraction, along with the Liskov substitution principle, which applies these ideas to object-oriented programming, subtyping, and inheritance. Her work was recognized with the 2008 Turing Award, the highest distinction in computer science.

Nancy Ann Lynch is a computer scientist affiliated with the Massachusetts Institute of Technology. She is the NEC Professor of Software Science and Engineering in the EECS department and heads the "Theory of Distributed Systems" research group at MIT's Computer Science and Artificial Intelligence Laboratory.

<span class="mw-page-title-main">Shlomi Dolev</span>

Shlomi Dolev is a Rita Altura Trust Chair Professor in Computer Science at Ben-Gurion University of the Negev (BGU) and the head of the BGU Negev Hi-Tech Faculty Startup Accelerator.

Paxos is a family of protocols for solving consensus in a network of unreliable or fallible processors. Consensus is the process of agreeing on one result among a group of participants. This problem becomes difficult when the participants or their communications may experience failures.

Kanianthra Mani Chandy is the Simon Ramo Professor of Computer Science at the California Institute of Technology (Caltech). He has been the Executive Officer of the Computer Science Department twice, and he has been a professor at Caltech since 1989. He also served as Chair of the Division of Engineering and Applied Science at the California Institute of Technology.

Michael John Fischer is an American computer scientist who works in the fields of distributed computing, parallel computing, cryptography, algorithms and data structures, and computational complexity.

The Brooks–Iyengar algorithm or FuseCPA Algorithm or Brooks–Iyengar hybrid algorithm is a distributed algorithm that improves both the precision and accuracy of the interval measurements taken by a distributed sensor network, even in the presence of faulty sensors. The sensor network does this by exchanging the measured value and accuracy value at every node with every other node, and computes the accuracy range and a measured value for the whole network from all of the values collected. Even if some of the data from some of the sensors is faulty, the sensor network will not malfunction. The algorithm is fault-tolerant and distributed. It could also be used as a sensor fusion method. The precision and accuracy bound of this algorithm have been proved in 2016.

TLA<sup>+</sup> Formal specification language

TLA+ is a formal specification language developed by Leslie Lamport. It is used for designing, modelling, documentation, and verification of programs, especially concurrent systems and distributed systems. TLA+ is considered to be exhaustively-testable pseudocode, and its use likened to drawing blueprints for software systems; TLA is an acronym for Temporal Logic of Actions.

PlusCal (formerly called +CAL) is a formal specification language created by Leslie Lamport, which transpiles to TLA+. In contrast to TLA+'s action-oriented focus on distributed systems, PlusCal most resembles an imperative programming language and is better-suited when specifying sequential algorithms. PlusCal was designed to replace pseudocode, retaining its simplicity while providing a formally-defined and verifiable language. A one-bit clock is written in PlusCal as follows:

Michel Raynal is a French informatics scientist, professor at IRISA, University of Rennes, France. He is known for his contributions in the fields of algorithms, computability, and fault-tolerance in the context of concurrent and distributed systems. Michel Raynal is also Distinguished Chair professor at the Hong Kong Polytechnic University and editor of the “Synthesis Lectures on Distributed Computing Theory” published by Morgan & Claypool. He is a senior member of Institut Universitaire de France and a member of Academia Europaea.

<span class="mw-page-title-main">Jayadev Misra</span> American computer scientist (born 1947)

Jayadev Misra is an Indian-born computer scientist who has spent most of his professional career in the United States. He is the Schlumberger Centennial Chair Emeritus in computer science and a University Distinguished Teaching Professor Emeritus at the University of Texas at Austin. Professionally he is known for his contributions to the formal aspects of concurrent programming and for jointly spearheading, with Sir Tony Hoare, the project on Verified Software Initiative (VSI).

Rachid Guerraoui is a Moroccan-Swiss computer scientist and a professor at the School of Computer and Communication Sciences at École Polytechnique Fédérale de Lausanne (EPFL), known for his contributions in the fields of concurrent and distributed computing. He is an ACM Fellow and the Chair in Informatics and Computational Science for the year 2018–2019 at Collège de France for distributed computing.

References

  1. Leslie Lamport at the Mathematics Genealogy Project OOjs UI icon edit-ltr-progressive.svg
  2. Lamport, Leslie (1986). LaTeX: A Document Preparation System . Addison-Wesley. ISBN   978-0-201-15790-1 . Retrieved 2019-06-20.
  3. Lamport, Leslie (2013). "Leslie Lamport - A.M. Turing Award Winner". ACM.
  4. Leslie Lamport author profile page at the ACM Digital Library
  5. 1 2 Lamport, L. (1978). "Time, clocks, and the ordering of events in a distributed system" (PDF). Communications of the ACM . 21 (7): 558–565. CiteSeerX   10.1.1.142.3682 . doi:10.1145/359545.359563. S2CID   215822405.
  6. Leslie Lamport publications indexed by Microsoft Academic
  7. Savage, N. (2014). "General agreement: Leslie Lamport contributed to the theory and practice of building distributed computing systems that work as intended". Communications of the ACM. 57 (6): 22–23. doi:10.1145/2601076. S2CID   5936915.
  8. Hoffmann, L. (2014). "Q&A Divide and Conquer: Leslie Lamport on Byzantine generals, clocks, and other tools for reasoning about concurrent systems". Communications of the ACM. 57 (6): 112–ff. doi:10.1145/2601077. S2CID   31514650.
  9. "World War I draft card for Benjamin Lamport". Ancestry.com. Retrieved 12 July 2022.
  10. 1 2 3 Lamport, Leslie (2006-12-19). "My Writings" . Retrieved 2007-02-02.
  11. Lamport, Leslie (1972). "The Analytic Cauchy Problem with Singular Data" . Retrieved 2007-02-02.
  12. Neiger, Gil (2003-01-23). "PODC Influential Paper Award: 2000". Archived from the original on 2013-09-12. Retrieved 2007-02-02.
  13. Lamport, Leslie (1979). "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Program". IEEE Trans. Comput. 28 (9): 690–691. doi:10.1109/TC.1979.1675439. ISSN   0018-9340. S2CID   5679366.
  14. Lamport, Leslie; Robert Shostak; Marshall Pease (July 1982). "The Byzantine Generals Problem". ACM Transactions on Programming Languages and Systems. 4 (3): 382–401. CiteSeerX   10.1.1.64.2312 . doi:10.1145/357172.357176. S2CID   55899582 . Retrieved 2007-02-02.
  15. Chandy, K. Mani; Leslie Lamport (February 1985). "Distributed Snapshots: Determining Global States of a Distributed System". ACM Transactions on Computer Systems. 3 (1): 63–75. CiteSeerX   10.1.1.69.2561 . doi:10.1145/214451.214456. S2CID   207193167 . Retrieved 2007-02-02.
  16. Lamport, Leslie (May 1998). "The Part-Time Parliament". ACM Transactions on Computer Systems. 16 (2): 133–169. doi: 10.1145/279227.279229 . S2CID   421028 . Retrieved 2007-02-02.
  17. "Most cited articles in Computer Science". September 2006. Retrieved 2007-10-08.
  18. Lamport, Leslie. "How (LA)TEX changed the face of Mathematics" (PDF).
  19. 1 2 "The Writings of Leslie Lamport". lamport.azurewebsites.net. Retrieved 2019-07-19.
  20. "TeX, LaTeX, and AMS-LaTeX". 1998-12-03. Archived from the original on 1998-12-03. Retrieved 2019-07-19.
  21. Lamport, Leslie (1990-04-01). "A Temporal Logic of Actions" . Retrieved 2007-02-02.
  22. Lamport, Leslie (May 1994). "The Temporal Logic of Actions". ACM Transactions on Programming Languages and Systems. 16 (3): 872–923. doi: 10.1145/177492.177726 . S2CID   5498471 . Retrieved 2007-02-02.
  23. Lamport, Leslie (2002). Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley. ISBN   978-0-321-14306-8 . Retrieved 2007-02-02.
  24. "The International Conference on Dependable Systems and Networks keynote speaker biography". Archived from the original on 2019-02-12. Retrieved 2021-07-05.
  25. "Turing award 2013". ACM.
  26. Leslie Lamport ACM Fellows 2014
  27. "IEEE Emanuel R. Piore Award Recipients es" (PDF). IEEE. Archived from the original (PDF) on 2010-11-24. Retrieved 2010-12-31.
  28. Pease, Marshall; Robert Shostak; Leslie Lamport (April 1980). "Reaching Agreement in the Presence of Faults". Journal of the Association for Computing Machinery. 27 (2): 228–234. CiteSeerX   10.1.1.68.4044 . doi:10.1145/322186.322188. S2CID   6429068 . Retrieved 2007-02-02.
  29. "Edsger W. Dijkstra Prize in Distributed Computing: 2005" . Retrieved 2007-02-02.
  30. "PODC 2001: Lamport Lecture Series" . Retrieved 2009-07-02.
  31. "IEEE John von Neumann Medal Recipients" (PDF). IEEE. Retrieved December 31, 2010.
  32. Members and Foreign Associates Elected Archived May 7, 2011, at the Wayback Machine , National Academy of Sciences, May 3, 2011.