Theory is when you know everything but nothing works.
Practice is when everything works but no one knows why.
In distributed systems, theory and practice are combined:
nothing works and no one knows why.
Чтобы доказать, что шутка в эпиграфе — абсолютная глупость, мы уже в третий раз проводим SPTDC (school on practice and theory of distributed computing). Об истории школы, её сооснователях Петре Кузнецове и Виталии Аксёнове, а также об участии JUG Ru Group в организации SPTDC мы уже рассказывали на Хабре. Поэтому сегодня — о школе в 2020 году, о лекциях и лекторах, а также об отличиях школы от конференции.
Школа SPTDC пройдёт с 6 по 9 июля 2020 года в Москве.
Все лекции будут на английском языке. Основные темы лекций: persistent concurrent computing, cryptographic tools for distributed systems, formal methods for verifying consensus protocols, consistency in large-scale systems, distributed machine learning.
Сразу догадались, в каком воинском звании персонажи на картинке? Я вас обожаю.
Лекторы и лекции
Нир Шавит (Nir Shavit) — профессор в MIT и Тель-Авивском Университете, соавтор великой книги The Art of Multiprocessor Programming, обладатель премии Дейкстры за разработку и реализацию программной транзакционной памяти (STM) и премии Гёделя за работу по применению алгебраической топологии к моделированию вычислений с разделяемой памятью, сооснователь компании Neural Magic, создающей быстрые алгоритмы машинного обучения для обычных CPU, и, разумеется, — обладатель собственной страницы в Википедии с лихой и знойной фотографией. Нир уже участвовал в нашей школе в 2017 году, где сделал исчерпывающий обзор техник взятия блокировок (часть 1, часть 2). О чём Нир расскажет в этом году, мы пока не знаем, но надеемся на новости с переднего края науки.
Майкл Скотт (Michael Scott) — исследователь в Рочестерском университете, известный всем Java-разработчикам как создатель неблокирующих алгоритмов и синхронных очередей из стандартной библиотеки Java. Разумеется, с премией Дейкстры за разработку алгоритмов синхронизации для вычислений с разделяемой памятью и собственной страницей в Википедии. В прошлом году Майкл прочёл на нашей школе лекцию о неблокирующих структурах данных (часть 1, часть 2). В этом году он расскажет о программировании с использованием энергонезависимой памяти (NVM), которая уменьшает сложность программ и накладные расходы на работу с памятью по сравнению с «обычной» памятью со случайным доступом (DRAM).
Идит Кейдар (Idit Keidar) — профессор в Технионе и обладательница индекса Хирша около 40 (что очень и очень немало) за две сотни научных статей в области распределённых вычислений, многопоточности и отказоустойчивости. Идит впервые участвует в нашей школе, где она прочтёт лекцию о базовых аспектах работы распределённых хранилищ данных: эмуляции распределённой памяти, выработке консенсуса и изменении конфигурации.
Родриго Родригез (Rodrigo Rodrigues) — профессор в Técnico, член лаборатории INESC-ID и автор исследовательских работ в области распределённых систем. В этом году в нашей школе Родриго расскажет о консистентности и изоляции в распределённых хранилищах данных, а также проанализирует с помощью CAP-теоремы реализуемость на практике нескольких моделей консистентности и изоляции.
Чэнь Цзин (Jing Chen) — профессор в Университете штата Нью-Йорк в Стоуни-Брук, автор исследовательских работ в области блокчейна и ведущий учёный в Algorand — компании и блокчейн-платформе, использующей алгоритм консенсуса, полностью основанный на Proof of Stake. В этом году в нашей школе Чэнь расскажет о блокчейне Algorand и способах достижения его интересных свойств: нетребовательности к вычислительным ресурсам сети, невозможности расщепления истории транзакций и гарантии окончания обработки транзакции после её добавления в блокчейн.
Кристиан Кашин (Christian Cachin) — профессор в Бернском университете, возглавляющий исследовательскую группу в области защиты данных, соавтор книги «Introduction to Reliable and Secure Distributed Programming», разработчик блокчейн-платформы Hyperledger Fabric (о ней даже был пост на Хабре) и автор исследовательских работ в области криптографии и безопасности в распределённых системах. В этом году в нашей школе Кристиан прочитает лекцию из четырёх частей о критографических инструментах для распределённых вычислений: симметричной и асимметричной криптографии, а также о криптографии с разделяемым ключом, псевдослучайных числах и верифицируемой генерации случайных чисел.
Марко Вуколич (Marko Vukolic) — исследователь в IBM Research, автор работ в области блокчейна и разработчик Hyperledger Fabric. Мы пока не знаем, о чём Марко расскажет в нашей школе в этом году, но надеемся, что узнаем о его новейших разработках в области блокчейна: исследовании деградации производительности протоколов распределённого консенсуса на кластерах до 100 машин, широковещательном протоколе Mir с глобальным порядком и Византийской отказоустойчивостью или безблочном блокчейне StreamChain, минимизирующем время обработки транзакций.
Прасад Джаянти (Prasad Jayanti) — профессор в Дартмутском колледже, входящем в элитную Лигу Плюща, и автор исследовательских работ в области многопоточных алгоритмов. В этом году в нашей школе Прасад прочитает лекцию о синхронизации потоков и алгоритмах для реализации различных вариантов мьютекса: с функциями прерывания или восстановления в моделях энергонезависимой памяти, а также с раздельными операциями чтения и записи.
Алексей Гоцман (Alexey Gotsman) — профессор в IMDEA и автор исследовательских работ в области программной верификации алгоритмов. Мы пока не знаем, о чём Алексей прочитает лекцию в нашей школе в этом году, но рассчитываем на тему на пересечении программной верификации и распределённых систем.
Почему это школа, а не конференция?
Во-первых, лекторы выступают в академическом формате и читают каждую большую лекцию две пары: «полтора часа — перерыв — ещё полтора часа». Через много лет после университета, с привычкой к часовым докладам на конференциях да 10-минутным роликам на Ютубе — это может быть непросто. Хороший лектор сделает все три часа интересными, но за пластичность собственного
Полезный совет: потренируйтесь на видеозаписях лекций школы в 2017 году и в 2019 году. Прощай, работа — привет, византийские генералы.
Во-вторых, лекторы фокусируются на научных исследованиях и рассказывают как о фундаментальных основах распределённых систем и параллельных вычислений, так и о новостях с переднего края науки. Если ваша цель — на следующий день после школы по горячим следам быстро что-нибудь запрограммировать и задеплоить в продакшн — это тоже может быть непросто.
Полезный совет: поищите исследовательские работы лекторов школы на Google Scholar и arXiv.org. Если вам по кайфу читать научные пейперы, школа тоже понравится.
В-третьих, школа SPTDC 2020 — не конференция, потому что конференция о распределённых системах и параллельных вычислениях — это Hydra 2020. Недавно на Хабре был пост с обзором её программы. В прошлом году SPTDC и Hydra проходили одновременно и на одной площадке. В этом году они не пересекаются по датам, поэтому не конкурируют друг с другом за ваше время и внимание.
Полезный совет: посмотрите программу конференции Hydra и подумайте о том, чтобы после школы посетить ещё и конференцию. Это будет неплохая неделька.
Как попасть в школу?
- Запишите в календарь даты с 6 по 9 июля 2020 года (а лучше — по 11 июля, чтобы после школы сходить на конференцию Hydra).
- Соберитесь с духом, подготовьтесь.
- Выбирайте билеты и идите в школу.
Автор: Игорь Луканин