Лесли Лэмпорт
Лесли Лэмпорт (англ. Leslie Lamport; род. 7 февраля 1941, Нью-Йорк) — американский учёный в области информатики, специалист по теории распределённых систем и формальным методам верификации. Лауреат премии Тьюринга (2013) за фундаментальный вклад в теорию и практику распределённых и параллельных систем, в частности за разработку концепций логических часов, алгоритма синхронизации и формального языка спецификации TLA⁺.
Биография
Лесли Лэмпорт родился в еврейской семье в Нью-Йорке. В 1960 году окончил Бронксскую школу наук (Bronx High School of Science). Получил степень бакалавра по математике в Массачусетском технологическом институте (MIT) в 1963 году, степень магистра (1965) и доктора философии (PhD) по математике в Университете Брандейса в 1968 году. Его диссертация была посвящена аналитической теории дифференциальных уравнений.
После завершения формального образования Лэмпорт работал в исследовательских лабораториях: в компании SRI International (1970–1977), затем в исследовательском центре компании Digital Equipment Corporation (DEC) в Пало-Альто (1977–1985). С 1985 года до выхода на пенсию в 2021 году работал в Microsoft Research, где занимался проблемами распределённых вычислений и формальной верификации.
Основные научные достижения
Логические часы и причинно-следственная связь
В 1978 году Лэмпорт опубликовал статью «Time, Clocks, and the Ordering of Events in a Distributed System», которая стала одной из самых цитируемых работ в области распределённых систем. В ней он ввёл понятие логических часов (Lamport timestamps) — механизма для определения порядка событий в распределённой системе без использования физического времени. Логические часы позволяют установить отношение «произошло-до» (happened-before) между событиями, что является фундаментом для синхронизации процессов, взаимного исключения и отказоустойчивости.
Алгоритм пекарни (Lamport’s bakery algorithm)
В 1974 году Лэмпорт предложил алгоритм взаимного исключения для n процессов, работающих с общей памятью. Алгоритм пекарни (Lamport’s bakery algorithm) гарантирует, что в критическую секцию одновременно войдёт только один процесс, при этом все процессы получают доступ в порядке очереди. Алгоритм не требует аппаратной поддержки атомарных операций, а использует только чтение и запись разделяемых переменных.
Алгоритм синхронизации часов (Lamport’s clock synchronization)
Лэмпорт разработал алгоритм синхронизации часов в распределённых системах, который позволяет процессам корректировать свои локальные часы так, чтобы расхождение между ними не превышало заданного предела. Этот алгоритм лёг в основу многих протоколов синхронизации времени, включая Network Time Protocol (NTP).
Проблема византийских генералов
В 1982 году Лэмпорт совместно с Робертом Шостаком и Маршаллом Пизом опубликовал работу «The Byzantine Generals Problem», в которой формализовал проблему достижения консенсуса в распределённой системе при наличии сбойных или злонамеренных узлов. В статье были введены понятия «византийского отказа» (Byzantine fault) и «византийской отказоустойчивости» (Byzantine fault tolerance). Работа заложила теоретическую основу для разработки криптовалют и блокчейн-систем.
Формальная спецификация и TLA⁺
Лэмпорт является создателем формального языка спецификации TLA⁺ (Temporal Logic of Actions), предназначенного для описания и верификации поведения распределённых и параллельных систем. TLA⁺ использует темпоральную логику для задания свойств систем, таких как безопасность (safety) и живость (liveness). На основе TLA⁺ разработаны инструменты проверки моделей (model checking), такие как TLC и TLAPS. Язык применяется в промышленности для верификации протоколов, алгоритмов и программного обеспечения.
Paxos
Лэмпорт является автором протокола консенсуса Paxos, который позволяет группе процессов достичь согласия относительно значения некоторого параметра даже при наличии отказов. Протокол широко используется в распределённых базах данных, системах хранения и облачных платформах. Первоначальная публикация Paxos (1998) была написана в необычной форме — в виде сказки о древнегреческом острове, что вызвало критику за сложность восприятия, но впоследствии протокол стал стандартом де-факто для отказоустойчивых систем.
Награды и признание
- Премия Тьюринга (2013) — за фундаментальный вклад в теорию распределённых систем.
- Премия IEEE Emanuel R. Piore Award (2004).
- Премия ACM SIGOPS Hall of Fame Award (2007, 2012, 2015) — за статьи, признанные классическими.
- Член Национальной инженерной академии США (1991).
- Член Американской академии искусств и наук (2011).
- Почётный доктор ряда университетов, включая Университет Брандейса и Швейцарскую высшую техническую школу Цюриха (ETH Zurich).
Влияние на информатику
Работы Лэмпорта оказали глубокое влияние на несколько областей информатики:
- Распределённые системы: логические часы, алгоритм пекарни, Paxos, проблема византийских генералов — фундаментальные концепции, изучаемые в университетских курсах.
- Формальная верификация: TLA⁺ используется для проверки корректности протоколов, операционных систем и аппаратных схем.
- Параллельное программирование: идеи Лэмпорта о взаимном исключении и синхронизации вошли в стандарты языков программирования (например, в Java и C++).
Лэмпорт также известен как автор эссе «LaTeX: A Document Preparation System» (1986), в котором он описал систему вёрстки LaTeX, разработанную Лесли Лэмпортом совместно с Дональдом Кнутом. Хотя сам LaTeX был создан Кнутом, Лэмпорт написал документацию и популяризировал систему, что способствовало её широкому распространению в академической среде.
Критика
Некоторые работы Лэмпорта, особенно протокол Paxos, критиковались за сложность изложения и неочевидность практической реализации. Первоначальная публикация Paxos в виде аллегории вызвала непонимание у части читателей, что привело к появлению более простых альтернатив, таких как Raft (2014). Сам Лэмпорт в ответ на критику написал упрощённое изложение протокола (Paxos Made Simple, 2001).
Интересные факты
- Лэмпорт является автором эссе «How to Write a Good Research Paper» (2015), в котором даёт советы по научной публикации.
- Он активно использует LaTeX для всех своих публикаций и презентаций.
- В 2020 году Лэмпорт опубликовал мемуары «A Life in Science» (неофициальное название), в которых рассказал о своей карьере и ключевых открытиях.
- Лэмпорт известен своим требовательным отношением к точности формулировок: он часто редактирует тексты коллег и студентов, добиваясь ясности и однозначности.
Источники
- Lamport, L. (1978). «Time, Clocks, and the Ordering of Events in a Distributed System». Communications of the ACM, 21(7), 558–565.
- Lamport, L. (1974). «A New Solution of Dijkstra’s Concurrent Programming Problem». Communications of the ACM, 17(8), 453–455.
- Lamport, L., Shostak, R., & Pease, M. (1982). «The Byzantine Generals Problem». ACM Transactions on Programming Languages and Systems, 4(3), 382–401.
- Lamport, L. (1998). «The Part-Time Parliament». ACM Transactions on Computer Systems, 16(2), 133–169.
- Lamport, L. (2001). «Paxos Made Simple». ACM SIGACT News, 32(4), 18–25.
- Lamport, L. (2002). Specifying Systems: The TLA⁺ Language and Tools for Hardware and Software Engineers. Addison-Wesley.
- Премия Тьюринга 2013 года — официальное объявление ACM.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →