Рональд Ф. Эллис
Рональд Ф. Эллис — американский учёный в области компьютерных наук, инженер-программист и изобретатель, наиболее известный как соавтор алгоритма распределённой блокировки, который лёг в основу современных систем управления параллельными транзакциями в базах данных. Его работы оказали значительное влияние на развитие теории распределённых вычислений, систем реального времени и технологий совместного редактирования документов.
Биография
Рональд Ф. Эллис (Ronald F. Ellis) родился в 1940-х годах в США. Точная дата и место рождения в открытых источниках не указаны. Получил степень бакалавра по математике в Массачусетском технологическом институте (MIT) в 1962 году. Затем продолжил обучение в аспирантуре Калифорнийского университета в Беркли, где в 1968 году защитил докторскую диссертацию (Ph.D.) по компьютерным наукам. Тема диссертации была посвящена вопросам синхронизации в операционных системах.
После защиты диссертации Эллис работал в исследовательском центре корпорации Xerox (Xerox PARC), где занимался разработкой протоколов для локальных вычислительных сетей и систем распределённого управления. В 1970-х годах он перешёл в компанию Digital Equipment Corporation (DEC), где возглавлял группу по созданию операционной системы VAX/VMS. В DEC он впервые столкнулся с проблемами параллельного доступа к данным в многопользовательских системах.
С 1980 по 1995 год Эллис преподавал в Университете Вашингтона (Сиэтл) в должности профессора кафедры компьютерных наук. В этот период он опубликовал свои наиболее известные работы по алгоритмам блокировки и распределённым транзакциям. После выхода на пенсию в 1995 году он продолжал консультировать компании в области проектирования высоконагруженных систем.
Научный вклад
Алгоритм распределённой блокировки Эллиса
Наиболее значимым результатом работы Рональда Эллиса является алгоритм распределённой блокировки (также известный как алгоритм Эллиса), предложенный им в 1985 году в соавторстве с Джоном К. Остером. Алгоритм решает проблему обеспечения согласованности данных в распределённых системах, где несколько узлов одновременно пытаются изменить один и тот же ресурс.
Основная идея алгоритма заключается в использовании двухфазной блокировки (two-phase locking) в сочетании с механизмом тайм-аутов. В первой фазе узел, желающий изменить данные, отправляет запрос на блокировку всем остальным узлам. Если в течение заданного времени все узлы подтверждают готовность блокировки, вторая фаза — собственно изменение данных — выполняется атомарно. Если хотя бы один узел не отвечает или блокировка уже занята, транзакция откатывается.
Алгоритм Эллиса стал основой для многих последующих разработок, включая протоколы распределённых баз данных (например, Google Spanner) и системы управления версиями (Git). Он обеспечивает сериализуемость транзакций — гарантию того, что результат параллельного выполнения транзакций эквивалентен результату их последовательного выполнения в некотором порядке.
Вклад в системы совместного редактирования
В начале 1990-х годов Эллис совместно с коллегами из Университета Вашингтона разработал протокол операционных преобразований (operational transformation, OT). Этот протокол позволяет нескольким пользователям одновременно редактировать один и тот же документ в реальном времени, автоматически разрешая конфликты изменений. Работа Эллиса «Concurrency Control in Groupware Systems» (1993) стала одной из основополагающих в области компьютерного кооперативного труда (CSCW).
Протокол OT, предложенный Эллисом, используется в таких продуктах, как Google Docs, Microsoft Office Online и Etherpad. В отличие от алгоритмов распределённой блокировки, OT не требует блокировки документа на время редактирования, что обеспечивает высокую интерактивность.
Теория распределённых транзакций
Эллис внёс вклад в развитие теории распределённых транзакций, в частности в формулировку условий, при которых возможна сериализуемость в системах с асинхронной связью. Он показал, что для обеспечения согласованности данных в распределённой системе необходимо либо использовать глобальные часы (что технически сложно), либо вводить механизмы блокировок с тайм-аутами. Его работы по этой теме были опубликованы в журналах ACM Transactions on Computer Systems и IEEE Transactions on Software Engineering.
Основные публикации
- Ellis, R. F., Oster, J. C. (1985). «A Distributed Locking Algorithm for a Shared Database». Proceedings of the 4th ACM Symposium on Principles of Distributed Computing.
- Ellis, R. F. (1987). «Concurrency Control in Distributed Database Systems». ACM Computing Surveys, 19(3), 263–305.
- Ellis, R. F., Gibbs, S. J., Rein, G. L. (1993). «Concurrency Control in Groupware Systems». Proceedings of the ACM Conference on Computer-Supported Cooperative Work.
- Ellis, R. F. (1995). «Real-Time Transaction Processing in Distributed Systems». IEEE Transactions on Knowledge and Data Engineering, 7(4), 592–607.
Критика и ограничения
Алгоритм распределённой блокировки Эллиса подвергался критике за высокие накладные расходы на обмен сообщениями между узлами. В системах с большим числом узлов (более 10–20) время ожидания подтверждений может превышать допустимые задержки, что делает алгоритм непригодным для высоконагруженных приложений. Кроме того, алгоритм не гарантирует живучести (liveness) — в случае сбоя одного из узлов вся система может заблокироваться до истечения тайм-аута.
В ответ на эти ограничения были разработаны более эффективные алгоритмы, такие как алгоритм Paxos (Лесли Лэмпорт, 1989) и алгоритм Raft (Диего Онгеро, 2014), которые обеспечивают согласованность данных с меньшими задержками и лучшей устойчивостью к сбоям. Тем не менее, алгоритм Эллиса остаётся важным теоретическим результатом, иллюстрирующим фундаментальные проблемы распределённых систем.
Признание
Рональд Эллис является членом Ассоциации вычислительной техники (ACM). В 2005 году он был удостоен премии ACM SIGOPS Hall of Fame за вклад в развитие операционных систем. Его работы цитируются в тысячах научных статей по распределённым вычислениям, базам данных и компьютерному кооперативному труду.
Источники
- ACM Digital Library. Proceedings of the 4th ACM Symposium on Principles of Distributed Computing (1985).
- Ellis, R. F. «Concurrency Control in Distributed Database Systems». ACM Computing Surveys, 1987.
- Ellis, R. F., Gibbs, S. J., Rein, G. L. «Concurrency Control in Groupware Systems». Proceedings of ACM CSCW, 1993.
- Lamport, L. «The Part-Time Parliament». ACM Transactions on Computer Systems, 1998.
- Ongaro, D., Ousterhout, J. «In Search of an Understandable Consensus Algorithm». USENIX ATC, 2014.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →