Хабрахабр

Три лауреата премии Дейкстры: как прошли Hydra 2019 и SPTDC 2019

В этом посте хочется отметить несколько особенностей, которые мы заметили по ходу проведения конференции. Совсем недавно, с 8 по 12 июля, одновременно проходило два знаковых события — конференция Hydra и школа SPTDC.

Самая большая гордость Гидры и Школы — это докладчики.

  • Три лауреата премии Дейкстры: Leslie Lamport, Maurice Herlihy и Michael Scott. Причём Морис получил её целых два раза. Лесли Лэмпорт получил еще и премию Тьюринга — самую престижную премию ACM в информатике;
  • Создатель JIT-компилятора Java — Cliff Click;
  • Разработчики корутин — Роман Елизаров (elizarov) и Никита Коваль (ndkoval) для Kotlin, и Дмитрий Вьюков для Go;
  • Контрибьюторы в Cassandra (Алекс Петров), CosmosDB (Денис Рысцов), Yandex Database (Семен Чечеринда и Владислав Кузнецов);
  • И множество других известных людей: Martin Kleppmann (CRDT), Heidi Howard (Paxos), Ori Lahav (C++ memory model), Pedro Ramalhete (wait-free data structures), Алексей Зиновьев (ML), Дмитрий Бугайченко (анализ графов).

Любого из них хватило бы, чтобы сделать отдельную небольшую конференцию, а все вместе они — Гидра (существо с 17 головами-докладами, экспертно разбирающееся в распределенных системах). Здесь все спикеры — самые лучшие.

А это уже Школа:

  • Брауновский Университет (Maurice Herlihy),
  • Рочестерский Университет (Michael Scott),
  • Университет Уотерлу (Trevor Brown),
  • Нантский университет (Achour Mostefaoui),
  • Университет имени Давида Бен-Гуриона в Негеве (Danny Hendler),
  • Калифорнийский университет в Лос-Анджелесе (Eli Gafni),
  • Institut polytechnique de Paris (Petr Kuznetsov),
  • Microsoft Research (Leslie Lamport),
  • VMware Research (Ittai Abraham).

Теория и практика, наука и производство

Гидра — это двухдневная конференция по распределенным вычислениям, которая проводится параллельно. Напомню, что Школа SPTDC — это небольшое мероприятие на полторы сотни человек, на неё собираются светила мирового уровня и рассказывают о современных вопросах в области распределённых вычислений. У Гидры направленность больше инженерная, а у Школы — научная.

С одной стороны, это достигается подбором докладов в программе: наряду с Лэмпортом, Херлихи и Скоттом есть куда как более прикладные доклады Алекса Петрова, который контрибьютит в Cassandra, или Романа Елизарова из JetBrains. Одна из целей конференции Hydra — объединить научные и инженерные начала. Но самая фишка в том, что Hydra и SPTDC проходят бок о бок — у них разные доклады, но общее место для общения. Есть Мартин Клеппман, который раньше делал и продавал стартапы, а теперь в Кембриджском Университете изучает CRDT.

Погружение

До последних дней дотянули не все. Пять дней Школы подряд — это очень большое событие и большая нагрузка, как для участников, так и для организаторов. Вся эта суета компенсируется невероятно глубоким погружением. Были такие, кто пошёл одновременно на Гидру и Школу, и для них последние дня оказались самыми насыщенными. Все доклады и лекции на обоих мероприятиях не планировались быть вводными, поэтому куда бы ты ни пошёл — ты сразу же ныряешь далеко и глубоко, и тебя не отпускает до самого конца. Связано это не только с объемом, но и с качеством материала.

Был забавный момент, когда две группки людей в коридоре независимо обсуждали доклад Хайди Говард: одним он показался совершенно обычным, а другие, наоборот, крепко задумались над жизнью. Конечно, многое зависит от начальной подготовки участника. Например, если на конференцию по PHP пришел учиться жизни PHP-джуниор, немного опрометчиво предполагать наличие у него глубоких знаний о внутренностях Zend Engine. Интересно, что по утверждению (пожелавших остаться неизвестными) участников программных комитетов, доклады Гидры и лекции Школы на их мероприятиях могли бы оказаться overqualified. Ну и действительно, у участников, которые эксплуатируют распределённые системы и пишут ядра рантаймов, уровень весьма высок, это логично. Здесь же спикеры не кормили джунов с ложечки, а сразу подразумевали определённый уровень знаний и понимания. Судя по реакции участников, подобрать себе доклад по уровню и тематике было довольно легко.

Судя по тому, что говорят люди и что видно по форме обратной связи, на Школе одним из самых крутых докладов оказался «Nonblocking data structures» Майкла Скотта, он просто всех порвал, у него аномальный рейтинг в районе 4. Если говорить о конкретных докладах, то все они были хороши в своём роде. 9.

Так и произошло! Задолго до старта Гидры и Школы, Руслан ARG89 предполагал, что получится некая «метаконференция» — конференция конференций, куда автоматически, как в чёрную дыру, будут затягиваться все топовые участники других мероприятий. Например, среди слушателей Школы был замечен Руслан Черёмин из DeutscheBank, известный специалист по многопоточности.

(При этом Вадим ещё и помог нам сделать два отличных интервью с Мартином Клеппманом — одно для Хабра, а другое — для зрителей онлайн-трансляции). А из участников Гидры были замечены Вадим Цесько (incubos) и Андрей Паньгин (apangin) из компании Одноклассники. Из джавистов были Дмитрий Александров и Владимир Иванов. Были члены программного комитета DotNext, известные докладчики Анатолий Кулаков и Игорь Лабутин. И вот они бок о бок сидят на докладах Гидры и вместе обсуждают проблемы на бофах. Обычно ты видишь этих людей в совершенно разных местах — дотнетчиков на DotNext, джавистов на Joker и так далее. Когда исчезает это немного искусственное деление по языкам программирования и технологиям, проступают черты предметной области: специалисты по динамическим рантаймам общаются с другими рантаймерами, исследователи теории распределённых вычислений жарко спорят с другими исследователями, инженеры движков баз данных толпой оккупировали маркерную доску и так далее.

На самом деле, в этом докладе есть что-то такое шипилёвское… Ори рассказывает не прямо то же самое, но внимательный взгляд может обнаружить параллели. На докладе по модели памяти C++ на первых рядах сидели разработчики OpenJDK (по крайней мере, их я знаю в лицо, а питонистов — нет, может, и питонисты были там же). Даже после всего, что произошло в последних стандартах C++, такие проблемы, как out of thin air values, так и не починились, и вот можно было сходить на такой доклад и послушать, как люди «с другой стороны баррикады» пытаются починить эти проблемы, как они рассуждают, можно было впечатлиться найденным подходам к решению (у Ори есть один из вариантов починки).

Все решали свои межконфессиональные проблемы, наводили мосты, обрастали связями. Было очень много участников программных комитетов и движков сообществ. Я пользовался этим где мог, и, например, мы договорились с Александром Боргардтом из Moscow C++ User Group вместе написать полномасштабную статью про акторы и асинхронность в C++.

На фотографии: Леонид Талалаев (ltalal, слева) и Олег Анастасьев (m0nstermind, справа), ведущие разработчики в компании Одноклассники

Огненные дискуссионные зоны и бофы

На Гидре таких высокоэкспертных участников было очень много. На конференциях всегда есть участники, которые знают предмет наравне с докладчиками (а иногда и лучше докладчиков — например, когда среди участников затесался разработчик ядра какой-то технологии). В какой-то момент Алекса плавно оттеснили вбок и начали разрывать вопросами, но падающий флаг подхватил известный в кругах Rust-разработчиков Tyler Neely и отлично отбалансировал нагрузку. Например, в какой-то момент вокруг Алекса Петрова, рассказывающего про Cassandra, образовалось столько людей, что он не смог отвечать всем. Когда я попросил Тайлера помочь с онлайн-интервью, он спросил только: «Когда начинаем?»

Дискуссионный дух временами прорывался даже на доклады: Никита Коваль устроил внезапную Q&A-сессию, поделив доклад на несколько секций.

Одним из ведущих этого бофа, кстати, был Владимир Ситников, который участвует в программных комитетах какого-то безумного количества конференций… кажется, сейчас это пять штук одновременно. И наоборот, на BOF-е по многопоточности вспомнили про non-volatile память, затянули на этот боф Pedro Ramalhete как главного специалиста, и он всем всё объяснил (короче, в ближайшее время энергонезависимая память нам не грозит). На соседнем бофе про «Modern CS in real world» тоже обсуждали NVM и пришли к этому совершенно самостоятельно.

Eli Gafni выступал вечером первого дня Школы, а на следующий день остался и начал троллить Лэмпорта, и со стороны казалось, что это дичь и Эли неадекватный. Могу поделиться супер-инсайдом, который могли не заметить даже непосредственные участники истории. На самом деле, факт в том, что они чуть ли не лучшие друзья, дружат много лет, и это просто такие дружеские подколы. Что это какой-то тролль, который задался вынести мозг Лесли. То есть шутка сработала — на неё повёлся весь народ вокруг, принял за чистую монету.

Кто-то стоял в дискуссионной зоне до последнего, чуть ли не часами. Отдельно хочется отметить, сколько любви и сил вложили в это докладчики. Со мной тоже приключилась интересная история — застав врасплох Клиффа Клика, я получил не только чёткое и разумное объяснение той провокационной дискуссии про отсутствие тестов на определённые вещи в H2O, но и получил полный обзор его нового языка AA. Уже давно закончился перерыв, начался доклад, закончился, начался следующий перерыв — а Дмитрий Вьюков продолжал отвечать на вопросы. Удивительно. I never asked for this: я просто спросил, что можно прочитать про AA (оказалось, можно послушать подкаст), и вместо этого Клифф потратил полчаса, чтобы рассказать про язык и проверить, что рассказанное понято верно. Ещё один необычный опыт — наблюдать процесс ревью pull request в Kotlin. Надо написать хабрапост про AA. Это что-то уровня «There, There» от Radiohead. Это действительно волшебное чувство — когда ты подходишь в разные дискуссионные группы, к разным спикерам и окунаешься в совершенно новый мир.

Английский язык

Это приносит и свои преимущества, и свои сложности. Hydra 2019 — это первая наша конференция, где основной язык — английский. Докладчики привозят своих учеников. Очевидный плюс в том, что на конференцию приезжают люди не только из России, поэтому среди участников вы можете встретить инженеров из Европы и ученых из Англии. Представьте, что вы докладчик на полностью русскоязычной конференции: вот вы отчитали свой доклад, отстояли дискуссионную зону, и дальше что? Вообще, у важных докладчиков куда больше мотивации ехать на подобную конференцию. На самом деле, действительно популярные докладчики уже насмотрелись всего на свете, они не хотят ехать смотреть львов и разводные мосты, им скучно. Ездить по городу и смотреть туристические места? Атмосфера довольно дружелюбная по отношению к спикерам. Если же все доклады на английском, они могут участвовать в конференции на общих основаниях, получать удовольствие, включаться в дискуссионные зоны и так далее.

Многие хорошо понимают, но плохо говорят. Очевидный же минус — не всем удобно общаться на английском языке. Например, некоторые дискуссионные зоны начинались на русском языке, но мгновенно переключались на английский при появлении первого же англоговорящего участника. В общем, обычные штуки, которые решались по-разному.

И это был для меня реальный челленж, который забудется нескоро. Мне самому пришлось делать открывающие и закрывающие включения онлайн-трансляции исключительно на английском языке и участвовать в паре интервью с экспертами под запись. В какой-то момент Олег Анастасьев (m0nstermind) просто сказал, чтобы я оставался сидеть вместе с ними на интервью, и я слишком медленно понял, что это значит.

Не только носители языка, а вообще все, это хорошо сработало. С другой стороны, очень приятно, что народ на докладах задавал вопросы на ура. Здесь было совершенно не так. На других конференциях часто видно, что люди стесняются задавать вопросы из зала на ломаном английском, и могут что-то выдавить из себя только в дискуссионной зоне. Это же касается и Q&A-сессии Лесли Лэмпорта, ведущему практически не пришлось задавать свои вопросы, всё придумали участники. Условно говоря, какой-нибудь Клифф Клик заканчивал доклады чуть раньше, и после этого вопросы шли непрерывной чередой, разговор переходил в дискуссионную зону — без неловких пауз и перерывов.

Из-за того, что конференция англоязычная, дизайн таких вещей как листовки и карты — более легкий и лаконичный. Были всякие мелочи, которые мало кто замечает, а они есть. Нет необходимости дублировать языки и загромождать дизайн.

Благодаря ним в перерывах всегда было чем заняться. Очень сильно помогли в создании конференции наши спонсоры.

На стенде ТехЦентра Дойче Банка можно было пообщаться с инженерами многопоточных систем, решить их задачки «из головы», выиграть памятные призы и просто приятно провести время.

Ну и конечно, задачки и конкурсы, стикеры с двоичным котом и Страдающим Средневековьем, подарки вроде книги Мартина Клеппмана и фигурок LEGO. На стенде Контура можно было поговорить о их собственных системах, как открытых, так и опенсорсных: распределенной in-memory базе данных, распределенном бинарном логе, системе оркестрации микросервисов, универсальном транспорте для телеметрии и так далее.

На автограф-сессию собралась целая толпа! Желающие могли приобрести всевозможные книги, обсудить их с коллегами.

Итоги

Это шанс заглянуть в наше будущее, выработать единый понятийный аппарат для обсуждения современных проблем, присмотреться к интересным направлениям. Конференция Hydra и школа SPTDC — это очень важные события для нас как компании-организатора и для всего сообщества. То, что мы услышали за эту неделю на докладах — это не мимолетные новости, а дорога к светлому будущему, по которой мы будем идти в ближайшие годы. Многопоточность появилась очень давно, но после появления первого действительно многоядерного процессора потребовалось целое десятилетие, чтобы явление стало массовым. Если вас интересуют подобные проблемы, возможно, стоит обратить внимание на другие наши мероприятия, вроде хардкорных докладов на конференциях Joker 2019 или DotNext 2019 Moscow. В этом посте не будет никаких спойлеров на следующую Гидру, но надеяться можно на самое хорошее. Встретимся на следующих конференциях!

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть