В прошлом году в Санкт-Петербурге прошла первая конференция Hydra, посвящённая параллельным и распределённым системам. С докладами выступали лауреаты премии Дейкстры и премии Тьюринга (Лесли Лэмпорт, Морис Херлихи и Майкл Скотт), создатели компиляторов и языков программирования (C++, Go, Java, Kotlin), разработчики распределённых баз данных (Cassandra, CosmosDB, Yandex Database), а также создатели и исследователи алгоритмов и структур данных (CRDT, Paxos, wait-free data structures). В общем, на этом месте уже можно брать отпуск, сворачивать окно IDE, открывать плейлист на YouTube с лучшими докладами Hydra 2019 — и пусть task scheduler немного подождёт.
В общем, никогда такой конференции не было, и вот опять она случится. Снова с докладами на английском, потому что нет лучше языка, чтобы говорить о параллельных и распределённых вычислениях. Снова летом, 10 и 11 июля, потому что спикеры успевают исследовать и преподавать, например, в университетах Кембриджа, Рочестера и Санкт-Петербурга, и другое время года не для них.
Однако на этот раз Hydra пройдёт в Москве, откуда в прошлом году приехала послушать доклады о распределённом консенсусе и транзакционной памяти большая часть участников конференции. На новой Гидре — более замысловатая программа, новые спикеры вместе с героями прошлого года, а также уже знакомое ощущение распределённого между участниками восторга от параллельного хардкора в трёх залах.
Сразу выложим на стол колоду карт рубашками византийских генералов вверх — мы хотим, чтобы программа новой Гидры была более детальная и разнообразная. В прошлый раз царапали ногтём, теперь копнём шире и глубже. Вот темы Hydra 2020 с диффом относительно прошлого года:
Parallel systems:
* Algorithms & data structures
* Memory models
* Compilers, runtime
* Memory reclamation
* Testing & verification
* Hardware issues
* Non-volatile memory
* Transactional memory
* Scheduling algorithms & implementations
* Heterogeneous computing: CPU, GPU, FPGA, etc.
* Performance analysis, debugging, & optimization
Distributed systems:
* Distributed computing
* Distributed machine learning/deep learning
* State machine replication & consensus
* Fault tolerance & resilience
* Testing & verification
* Hardware issues
* Blockchain & Byzantine fault tolerance
* Distributed databases, NewSQL
* Distributed stream processing
* Scheduling algorithms & implementations
* Cluster management systems
* Security
* Performance analysis, debugging, & optimization
* Peer-to-peer, gossip protocols
* Internet of things
Как рассказать обо всём этом в программе одной конференции? Это точно не проще, чем протестировать линеаризуемость операций в новой блестящей распределённой хранилке с помощью Jepsen, но мы попытаемся.
Вот кто уже в программе:
Синди Шридхаран (Cindy Sridharan) — разработчица распределённых систем из Сан-Франциско, автор небольшой книги Distributed Systems Observability (возьмите бесплатный электронный экземпляр) и популярного блога, где одна только статья «Best of 2019 in Tech Talks» способна избавить от пары выходных, но оставить счастливым. На Hydra 2020 Синди расскажет, как тестировать распределённые системы, даже если они хранят состояние.
Майкл Скотт (Michael Scott) — исследователь из University of Rochester, известный всем Java-разработчикам как создатель неблокирующих алгоритмов и синхронных очередей из стандартной библиотеки Java. Разумеется, с премией Дейкстры за «Algorithms for scalable synchronization on shared-memory multiprocessors» и собственной страницей в Википедии. В прошлом году Майкл сделал на Гидре лучший (по вашим оценкам) доклад, посвящённый dual data structures, а теперь расскажет о проекте Hodor и безопасной работе с разделяемой памятью, доступной параллельным процессам.
Хейди Ховард (Heidi Howard) — исследовательница из University of Cambridge, известная созданием алгоритма распределённого консенсуса Flexible Paxos, а также работой по обобщению Flexible Paxos и Fast Paxos. В прошлом году Хейди рассказала, как устроено и работает семейство алгоритмов Paxos (один из лучших докладов), а теперь постарается пройти по тонкому льду между любителями Paxos и сторонниками Raft — и поделится своим мнением о том, какой из алгоритмов лучше.
Мартин Клеппманн (Martin Kleppmann) — возможно, даже более известный исследователь из University of Cambridge, а в прошлом — разработчик систем по обработке больших данных, который написал удивительно понятную и поэтому уникальную книгу о распределённых системах «Designing Data-Intensive Applications». В прошлом году Мартин поделился результатами своих исследований CRDT, а о чём расскажет теперь — мы анонсируем позже.
Никита Коваль (Nikita Koval) — разработчик корутин в команде Kotlin, преподаватель курса по многопоточному программированию в ИТМО и член программного комитета конференции Hydra (да, той самой, о которой эта статья). В прошлом году Никита рассказал о тестировании многопоточных структур данных на платформе JVM с помощью Lin-Check, а на Hydra 2020 он расскажет, как в Kotlin появился SegmentQueueSynchronizer — верифицированная с помощью проекта Iris и прувера Coq абстракция для программирования примитивов синхронизации.
Следите за нашими асинхронными анонсами: всего на конференции будет около трёх десятков докладов, скоро расскажем об остальных. Ещё, разумеется, на конференции будут дискуссионные зоны, где нужно в один или несколько потоков испытывать докладчиков вопросами до достижения всеобщего консенсуса.
А если повезёт, Мартин Клеппманн подпишет вам книжку.
Да, перед конференцией Hydra 2020, а именно 6-9 июля пройдёт SPTDC 2020 — третья летняя школа по теории и практике распределённых вычислений. На ней вас ждут ощущения, которые сложно получить на конференции, поэтому мы расскажем о Школе в отдельном посте.
А что теперь? Во-первых, следите за новостями на Хабре и в соцсетях (Facebook, Вконтакте, Twitter).
Во-вторых, если вы уже почувствовали непреодолимое желание побывать на конференции — изучите сайт, там уже можно приобрести билеты.
В-третьих, не упустите возможность пообщаться с программным комитетом конференции Hydra 2020 в комментариях. Члены ПК будут рады поговорить с вами о темах будущей конференции.
Встретимся на Hydra!
Автор: Игорь Луканин