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

Три лауреата премии Дейкстры: как прошли 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.3k 14
Comments 5
Top of the day