JUG Ru Group corporate blog
High performance
Programming
Conferences
Distributed systems
18 July

Три лауреата премии Дейкстры: как прошли 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), Дмитрий Бугайченко (анализ графов).

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


  • Брауновский Университет (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 — это небольшое мероприятие на полторы сотни человек, на неё собираются светила мирового уровня и рассказывают о современных вопросах в области распределённых вычислений. Гидра — это двухдневная конференция по распределенным вычислениям, которая проводится параллельно. У Гидры направленность больше инженерная, а у Школы — научная.


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



Погружение


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


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


Если говорить о конкретных докладах, то все они были хороши в своём роде. Судя по тому, что говорят люди и что видно по форме обратной связи, на Школе одним из самых крутых докладов оказался «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, справа), ведущие разработчики в компании Одноклассники


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


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



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


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



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



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



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


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



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


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


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


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


Спонсоры и выставка


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


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



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


Обратите внимание, что разбор задач Контура уже опубликован на Хабре. Разбор хороший, стоит взглянуть.



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



Итоги


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



+35
2.5k 15
Comments 6
Top of the day