Основоположники теории распределенных систем в объятьях гидры
Это Лесли Лэмпорт — автор основополагающих работ в распределённых вычислениях, а ещё вы его можете знать по буквам La в слове LaTeX — «Lamport TeX». Это он впервые, ещё в 1979 году, ввёл понятие последовательной согласованности, а его статья «How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs» получила премию Дейкстры (точней, в 2000 году премия называлась по-старому: «PODC Influential Paper Award»). У него есть своя статья в Википедии, где можно добыть ещё несколько интересных ссылок. Если вы в восторге от решения задач на happens-before или проблемы византийских генералов (BFT), то должны понимать, что за всем этим стоит Лэмпорт.
А ещё он скоро приедет на нашу новую конференцию о распределённых вычислениях — Hydra, которая состоится 11–12 июля в Санкт-Петербурге. Давайте посмотрим, что это за зверь такой.
Темы вроде многопоточности являются одними из самых популярных на наших конференциях, всегда были такими. Только что в этом зале было пустынно, но вот на сцене появляется человек, рассказывающий про модель памяти, happens-before или многопоточную сборку мусора и — бум! — уже под тысячу человек занимают всё доступное место, чтобы сесть и внимательно слушать. В чём суть этого успеха? Может быть, в том, что все мы имеем на руках какое-нибудь железо, способное организовать распределённые вычисления? Или в том, что подсознательно понимаем свою неспособность нагрузить его по достоинству? Есть реальная история одного питерского кванта (то есть финансового количественного аналитика и разработчика), у которого на руках оказался огромный вычислительный кластер, полную мощь которого может использовать лишь он один. А что бы вы сделали, заполучив для выполнения своих задач мощности в разы большие, чем сейчас?
Благодаря такой популярности тема производительности и эффективных вычислений имеет свойство распространяться по программе конференций. Сколько из двух дней докладов можно сделать про перформанс — треть, две трети? Кое-где существуют искусственные ограничения, которые лимитируют это разрастание: кроме перформанса обязательно ещё должно остаться место для новых веб-фреймворков, для какого-нибудь девопса или архитектурной астронавтики. Нет, перформанс, ты не съешь нас всех целиком!
А можно пойти противоположным путём, сдаться и честно сделать конференцию, которая будет целиком про распределённые вычисления и только про них. И вот она, Гидра.
Давайте честно признаемся, что на сегодняшний день все вычисления так или иначе являются распределенными. Будь то многоядерная машина, вычислительный кластер или масштабный распределенный сервис — везде есть множество процессов, которые параллельно выполняют независимые вычисления, синхронизируясь друг с другом. Тому, как это устроено в теории и работает на практике, и будет посвящена Hydra.
Программа сейчас находится в стадии формирования. В неё должны войти доклады от основоположников теорий распределенных систем и инженеров, работающих с ними на проде.
Например, уже сейчас известно об участии Лесли Лэмпорта из Microsoft Research и Мориса Херлихи из Brown University.
Морис Херлихи — очень известный и уважаемый профессор Computer Science, тоже со своей страничкой в Википедии, где можно пробежаться по ссылкам и работам. Там вы можете заметить целых две премии Дейкстры, первая — за работу по «Wait-Free Synchronization», и вторая, более свежая — «Transactional Memory: Architectural Support for Lock-Free Data Structures». Кстати, ссылки ведут даже не на SciHub, а на Brown University и Virginia Tech University, можно открывать и читать.
Морис собирается провести кейноут под названием «Blockchains from a distributed computing perspective». Если интересно, можно взглянуть на запись доклада Мориса с питерского JUG. Оцените, насколько четко и понятно он доносит тему.
Второй кейноут под названием «Dual Data Structures» прочитает Майкл Скотт из University of Rochester. И угадайте, что — у него тоже есть своя страничка на Википедии. У себя в Висконсине он известен по работе деканом в университете Wisconsin-Madison, а в миру — это человек, который вместе с Doug Lea разработал те неблокирующие алгоритмы и синхронные очереди, на которых работают библиотеки Java. Свою премию Дейкстры он получил через три года после Херлихи, за работу «Algorithms for scalable synchronization on shared-memory multiprocessors» (как положено, она открыто лежит в онлайн-библиотеке Рочестерского Университета).
До середины июля ещё много времени. Про остальных докладчиков и их темы мы будем рассказывать по мере уточнения программы и приближения к июлю.
Вообще, возникает вопрос —, а почему мы делаем Гидру летом? Ведь это мертвый сезон, отпуска. Проблема в том, что среди спикеров есть универские преподаватели, и любое другое время у них занято. Мы просто не могли выбрать другие даты.
На других конференциях так бывает, что докладчик прочитал что надо и тут же ушёл. У участников даже нет времени его искать — ведь почти без промежутка начинается следующий доклад. Это очень больно, особенно если присутствуют такие важные люди, как Лэмпорт, Херлихи и Скотт, и вы вообще-то идёте на конференцию, только чтобы с ними встретиться и что-то обсудить.
У нас эта проблема решена. Сразу после своего доклада, спикер отправляется в специальную дискуссионную зону, оборудованную как минимум доской с маркером, и у вас есть довольно большой запас времени. Формально докладчик обещает находиться там как минимум всё время перерыва между докладами. В реальности эти дискуссионные зоны могут растягиваться часами напролёт (зависит от желания и выносливости спикера).
Что касается Лэмпорта, если я правильно понял, он хочет как можно больше народу убедить, что TLA+ — это хорошая вещь. (Статья про TLA+ на Википедии). Возможно, это будет хороший шанс для инженеров узнать что-то новое и полезное. Лесли предлагает такой вариант — кому это интересно, могут посмотреть его прошлые лекции и прийти с вопросами. То есть вместо кейноута может быть как бы специализированная Q&A session, а потом ещё и дикуссионная зона. Я немного погуглил и нашёл отличный курс по TLA+ (официально сдублированный плейлистом на YouTube) и часовую лекцию «Thinking Above the Code» с Microsoft Faculty Summit.
Если вы воспринимали всех этих людей как отлитые в граните имена из Википедии и на обложках книг — самое время встретить их вживую! Пообщаться и задать вопросы, на которые не ответят страницы научных статей, но их авторы с радостью пойдут на контакт.
Не секрет, что многие из тех, кто сейчас читает статью, сами не прочь рассказать что-то достаточно интересное. С инженерной точки зрения, с научной — с любой. Распределённые вычисления — очень широкая и глубокая тема, где есть место всем.
Если ты хочешь выступить рядом с Лэмпортом, это вполне возможно. Чтобы стать докладчиком, нужно перейти по ссылке, внимательно там всё прочитать и сделать согласно инструкциям.
Будьте спокойны, как только вы подключитесь к процессу, вам помогут. Программный комитет обладает достаточными возможностями, чтобы помочь с самим докладом, его сутью и оформлением. Координатор поможет разобраться с организационными вопросами и так далее.
Особое внимание на картинку с датами. Июль — это довольно далёкая дата для участника, а докладчику нужно начинать действовать уже сейчас.
Конференция пройдет на одной площадке со школой SPTDС, поэтому для всех, кто купит билет на школу, билеты на конференцию — со скидкой 20%.
Summer School on Practice and Theory of Distributed Computing (SPTDС) — школа, предоставляющая широкий диапазон курсов о практических и теоретических аспектах распределённых систем, которые ведут признанные специалисты в соответствующей области.
Школа будет проводиться на английском языке, поэтому вот так выглядит список рассматриваемых тем:
- Concurrent data structures: correctness and efficiency;
- Algorithms for non-volatile memory;
- Distributed computability;
- Distributed machine learning;
- State-machine replication and Paxos;
- Byzantine fault-tolerance;
- Algorithmic basics of blockchains.
Выступать будут следующие спикеры:
- Leslie Lamport (Microsoft);
- Maurice Herlihy (Brown University);
- Michael Scott (University of Rochester);
- Dan Alistarh (IST Austria);
- Trevor Brown (University of Waterloo);
- Eli Gafni (UCLA);
- Danny Hendler (Ben Gurion University);
- Achour Mostefaoui (University of Nantes).
Плейлист с докладами предыдущей школы можно свободно посмотреть на YouTube:
Программа конференции всё ещё формируется. Следите за новостями на Хабре или в соцсетях (fb, vk, twitter).
Если вы действительно верите в конференцию (или хотите воспользоваться специальной стартовой стоимостью, что называется, «Early Bird») — можно перейти на сайт и приобрести билеты.
Встретимся на Hydra!