Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Niedawno, od 8 do 12 lipca, odbyły się jednocześnie dwa znaczące wydarzenia — konferencja Hydra i szkoła SPTDC. W tym poście chciałbym zwrócić uwagę na kilka cech, które zauważyliśmy podczas konferencji.

Naszą największą dumą w Hydrze i Szkole są wykładowcy.

  • Trzech laureatów nagrody Dijkstra: Leslie Lamport, Maurice Herlihy i Michael Scott. Co ciekawe, Maurice otrzymał ją aż dwa razy. Leslie Lamport zdobył również nagrodę Turinga — najbardziej prestiżową nagrodę ACM w informatyce;
  • Twórca kompilatora JIT dla Javy — Cliff Click;
  • Twórcy korutyn — Roman Elizarov (elizarov) i Nikita Kowal (ndkoval) dla Kotlina oraz Dmitrij Wujkow dla Go;
  • Współtwórcy w Cassandrze (Aleks Piatrow), CosmosDB (Denis Ryscow), Yandex Database (Semen Czecherinda i Władisław Kuzniecow);
  • I wielu innych znanych ludzi: Martin Kleppmann (CRDT), Heidi Howard (Paxos), Ori Lahav (C++ memory model), Pedro Ramalhete (struktury danych bez blokad), Aleksiej Zinowiew (ML), Dmitrij Bugajczenko (analiza grafów).

A to już Szkoła:

  • Uniwersytet Brown (Maurice Herlihy),
  • Uniwersytet w Rochester (Michael Scott),
  • Uniwersytet Waterloo (Trevor Brown),
  • Uniwersytet w Nantes (Achour Mostefaoui),
  • Uniwersytet im. Dawida Ben-Guriona w Negewie (Danny Hendler),
  • Uniwersytet Kalifornijski w Los Angeles (Eli Gafni),
  • Institut polytechnique de Paris (Petr Kuznetsov),
  • Microsoft Research (Leslie Lamport),
  • VMware Research (Ittai Abraham).

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Teoria i praktyka, nauka i przemysł

Przypomnę, że Szkoła SPTDC to niewielkie wydarzenie na półtora setki osób, gdzie zbierają się światowej klasy osobistości i mówią o współczesnych zagadnieniach w dziedzinie obliczeń rozproszonych. Hydra to dwudniowa konferencja dotycząca obliczeń rozproszonych, która odbywa się równolegle. Hydra ma bardziej inżynieryjne podejście, a Szkoła — naukowe.

Jednym z celów konferencji Hydra jest połączenie naukowych i inżynieryjnych aspektów. Z jednej strony osiąga się to poprzez dobór wykładów w programie: obok Lemparta, Herlihy'ego i Scotta są o wiele bardziej aplikacyjne wystąpienia Aleksa Piatrowa, który współpracuje z Cassandrą, czy Romana Elizarowa z JetBrains. Jest Martin Kleppmann, który wcześniej zakładał i sprzedawał startupy, a teraz na Uniwersytecie w Cambridżu bada CRDT. Ale najważniejsze jest to, że Hydra i SPTDC odbywają się obok siebie — mają różne wystąpienia, ale wspólne miejsce do komunikacji.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Zagłębienie

Pięć dni Szkoły to ogromne wydarzenie i duża presja, zarówno dla uczestników, jak i dla organizatorów. Nie wszyscy dotrwali do ostatnich dni. Byli tacy, którzy uczestniczyli jednocześnie w Gydrze i Szkole, a dla nich ostatnie dni okazały się najintensywniejsze. Cała ta gorączka rekompensowana jest niesamowicie głębokim zanurzeniem. Związane jest to nie tylko z ilością, ale i jakością materiału. Wszystkie prezentacje i wykłady na obu wydarzeniach nie były planowane jako wprowadzenie, więc gdziekolwiek byś nie poszedł — od razu zanurzasz się głęboko i nie puszcza cię to aż do samego końca.

Oczywiście, wiele zależy od początkowego przygotowania uczestnika. Był zabawny moment, gdy dwie grupki ludzi w korytarzu niezależnie dyskutowały na temat wykładu Heidi Howard: dla jednej grupy wydawał się on całkowicie zwyczajny, a dla drugiej, przeciwnie, skłonił do głębokiej refleksji. Interesujące jest, że według (anonimowych) członków komitetów programowych, wykłady Gidry i wykłady Szkoły na ich wydarzeniach mogłyby okazać się zbyt zaawansowane. Na przykład, jeśli na konferencję PHP przychodzi PHP-junior, jest nieco naiwne zakładać, że ma on głęboką wiedzę o wnętrzach Zend Engine. Tutaj prelegenci nie karmili nowicjuszy łyżeczką, ale od razu zakładali określony poziom wiedzy i zrozumienia. Cóż, rzeczywiście, uczestnicy, którzy korzystają z systemów rozproszonych i piszą rdzenie środowisk uruchomieniowych, mają bardzo wysoki poziom — to logiczne. Sądząc po reakcji uczestników, dobór wykładu pod względem poziomu i tematyki było całkiem łatwe.

Mówiąc o konkretnych wykładach, wszystkie były wyjątkowe w swoim rodzaju. Sądząc po tym, co mówią ludzie i co widać z formy informacji zwrotnej, jednym z najlepszych wykładów w Szkole okazał się „Struktury danych bez blokad” Michaela Scotta, który po prostu wszystkich rozwalił, ma anormalny rating w okolicy 4.9.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Metakonferencja

Długo przed rozpoczęciem Gidry i Szkoły, Ruslan ARG89 przewidywał, że powstanie swoista „metakonferencja” — konferencja konferencji, do której automatycznie, jak w czarną dziurę, będą wciągani wszyscy topowi uczestnicy innych wydarzeń. I tak się stało! Na przykład, wśród słuchaczy Szkoły zauważono Rusłana Czeryomina z DeutscheBank, znanego specjalistę od wielowątkowości.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

A wśród uczestników Gidry zauważono Wadima Ciesko (incubos) i Andrzej Pan'gin (apangin) z firmy Odnoklassniki. (W tym czasie Wadil również pomógł nam zrobić dwa świetne wywiady z Martinem Kleppmannem — jedno dla Habra, a drugie — dla widzów transmisji online). Byli członkowie komitetu programowego DotNext, znani prelegenci Anatolij Kulałkow i Igor Labutin. Wśród programistów Java byli Dmitrij Aleksandrow i Włodzimierz Iwanow. Zwykle widujesz tych ludzi w zupełnie różnych miejscach — .NET-owców na DotNext, programistów Java na Jokerze itd. A tutaj siedzą obok siebie na prezentacjach Hydry i razem omawiają problemy na bofach. Gdy znika to nieco sztuczne podział języków programowania i technologii, ujawniają się cechy obszaru tematycznego: specjaliści od dynamicznych runtime'ów rozmawiają z innymi programistami, badacze teorii obliczeń rozproszonych żarliwie dyskutują z innymi badaczami, inżynierowie silników baz danych tłumnie zajmują tablice markerowe itd.

Na prezentacji na temat modelu pamięci C++ w pierwszych rzędach siedzieli deweloperzy OpenJDK (przynajmniej tych znam osobiście, a pytonistów — nie, może i pytonistów tam było). W rzeczywistości w tej prezentacji jest coś takiego, co przypomina styl Shypileva… Ori opowiada nieco inaczej, ale uważne oko może dostrzec paralele. Nawet po wszystkim, co wydarzyło się w ostatnich standardach C++, takie problemy, jak wartości pojawiające się znikąd, wciąż nie zostały rozwiązane, i można było uczestniczyć w takiej prezentacji i posłuchać, jak ludzie „z drugiej strony barykady” próbują naprawić te problemy, jak oni argumentują, można się było zainspirować znalezionymi podejściami do rozwiązania (Ori ma jedną z opcji naprawy).

Wzięło udział bardzo wielu członków komitetów programowych i społeczności silników. Wszyscy rozwiązywali swoje międzynarodowe problemy, nawiązywali kontakty, budowali relacje. Korzystałem z tego, gdzie mogłem, i na przykład uzgodniliśmy z Aleksandrem Borgardtem z Moscow C++ User Group wspólne napisanie pełnometrażowego artykułu o aktorach i asynchroniczności w C++.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Na zdjęciu: Leonid Talalaew (ltalal, z lewej) i Oleg Anastazjew (m0nstermind, z prawej), wiodący deweloperzy w firmie Odnoklassniki

Ogniowe strefy dyskusyjne i bofy

Na konferencjach zawsze są uczestnicy, którzy znają temat tak dobrze jak prelegenci (a czasem nawet lepiej — na przykład, gdy wśród uczestników znalazł się twórca rdzenia jakiejś technologii). Na Gidrze takich wysoce wykwalifikowanych uczestników było naprawdę wielu. Na przykład, w pewnym momencie wokół Aleksa Pietrowa, który opowiadał o Cassandrze, zebrało się tak wiele osób, że nie mógł odpowiadać wszystkim. W pewnym momencie Aleksa delikatnie przesunęli na bok i zaczęli bombardować go pytaniami, ale spadający flaga został przejęty przez znanego w kręgach programistów Rust Tylera Neely'ego , który doskonale zrównoważył obciążenie. Kiedy poprosiłem Tylera o pomoc w przeprowadzeniu wywiadu online, zapytał tylko: „Kiedy zaczynamy?”

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Duch dyskusji czasami przebijał się nawet podczas prezentacji: Nikita Kowal zorganizował nagłą sesję Q&A, dzieląc swoją prezentację na kilka sekcji.

I odwrotnie, na BOF-ie o wielowątkowości przypomniano sobie o pamięci non-volatile, co przedłużyło ten BOF Pedro Ramalhete , jako głównego specjalistę, i wyjaśnił wszystkim wszystko (krótko mówiąc, w najbliższym czasie energia niezawodna w pamięci nam nie grozi). Jednym z prowadzących ten BOF był zresztą Władimir Sitnikow, który bierze udział w komitetach programowych jakiejś niesamowitej liczby konferencji… wydaje się, że obecnie jest ich pięć jednocześnie. Na sąsiednim BOF-ie o „Nowoczesnym CS w rzeczywistym świecie” również omawiano NVM i doszli do tego całkowicie samodzielnie.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Mogę podzielić się super-wnikiem, którego mogli nie zauważyć nawet bezpośredni uczestnicy tej historii. Eli Gafni wystąpił wieczorem pierwszego dnia Szkoły, a następnego dnia został i zaczął trollować Lamporta, z boku wydawało się, że to dziwne i Eli jest nieadekwatny. To jakiś troll, który postanowił wymyślić mózg Lesli. Tak naprawdę, fakt jest taki, że są oni niemal najlepszymi przyjaciółmi, przyjaźnią się od wielu lat i to tylko takie przyjacielskie złośliwości. To znaczy, żart zadziałał — na to złapało się całe otoczenie i uwierzyło w to bezgranicznie.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Osobno chciałbym podkreślić, ile miłości i wysiłku wszyscy prelegenci włożyli w swoje wystąpienia. Niektórzy stali w strefie dyskusyjnej do samego końca, niemal przez godziny. Już dawno zakończyła się przerwa, zaczęła się prezentacja, zakończyła, rozpoczęła się kolejna przerwa — a Dmitrij Wujkow kontynuował odpowiadać na pytania. Przydarzyła mi się też interesująca historia — zaskakując Cliffa Clicka, otrzymałem nie tylko klarowne i sensowne wyjaśnienie tej kontrowersyjnej dyskusji na temat braku testów na pewne rzeczy w H2O, ale także pełny przegląd jego nowego języka AA. Nigdy o to nie pytałem: po prostu zapytałem, co można przeczytać o AA (okazało się, że można posłuchać podcast), a zamiast tego Cliff spędził pół godziny, aby opowiedzieć o języku i upewnić się, że zrozumiano to, co powiedział. Niesamowite. Muszę napisać post na Habr o AA. Jeszcze jedno niezwykłe doświadczenie — obserwowanie procesu przeglądu pull request w Kotlinie. To rzeczywiście magiczne uczucie — gdy podchodzisz do różnych grup dyskusyjnych, do różnych prelegentów i zanurzasz się w zupełnie nowy świat. To coś na poziomie „There, There” od Radiohead.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Język angielski

Hydra 2019 — to nasza pierwsza konferencja, gdzie głównym językiem jest angielski. To przynosi zarówno swoje zalety, jak i trudności. Oczywistą zaletą jest to, że na konferencję przyjeżdżają ludzie nie tylko z Rosji, więc wśród uczestników możesz spotkać inżynierów z Europy i naukowców z Anglii. Prelegenci przywożą swoich uczniów. Ogólnie rzecz biorąc, ważni prelegenci mają znacznie większą motywację, aby przyjeżdżać na takie konferencje. Wyobraź sobie, że jesteś prelegentem na w pełni rosyjskojęzycznej konferencji: wygłaszasz swoje wystąpienie, prowadziłeś strefę dyskusyjną, a potem co? Jeździć po mieście i oglądać turystyczne miejsca? W rzeczywistości popularni prelegenci już wszystko widzieli na świecie, nie chcą jechać oglądać lwów i mostów zwodzonych, nudzą się. Jeśli jednak wszystkie wystąpienia są po angielsku, mogą brać udział w konferencji na równych zasadach, czerpać przyjemność, włączać się w strefy dyskusyjne i tak dalej. Atmosfera jest dość przyjazna w stosunku do prelegentów.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Oczywistą wadą jest to, że nie każdy czuje się komfortowo rozmawiając w języku angielskim. Wiele osób dobrze rozumie, ale słabo mówi. W ogóle, to normalne problemy, które były rozwiązane na różne sposoby. Na przykład niektóre strefy dyskusyjne zaczynały się w języku rosyjskim, ale natychmiast przełączały się na angielski, gdy pojawiał się pierwszy mówiący po angielsku uczestnik.

Musiałem samodzielnie prowadzić otwarcia i zamknięcia transmisji na żywo wyłącznie w języku angielskim i brać udział w kilku wywiadach z ekspertami. Było to dla mnie prawdziwe wyzwanie, które na długo zapadnie w pamięć. W pewnym momencie Oleg Anastasjev (m0nstermind) po prostu powiedział, żebym został z nimi na wywiadzie, a ja zbyt wolno zrozumiałem, co to oznacza.

Z drugiej strony, bardzo miło było widzieć, że ludzie na wykładach zadawali pytania bez obciachu. Nie tylko native speakerzy, a w ogóle wszyscy, to działało dobrze. Na innych konferencjach widać, że ludzie wstydzą się zadawać pytania z sali w łamanym angielskim i mogą coś powiedzieć tylko w strefie dyskusyjnej. Tutaj było zupełnie inaczej. Można powiedzieć, że jakiś Cliff Click kończył wykłady trochę wcześniej, a po tym pytania szły w nieprzerwanym ciągu, rozmowa przechodziła do strefy dyskusyjnej — bez niezręcznych przerw i wstrzymania. To samo dotyczyło sesji Q&A Leslie Lamporta, prowadzący praktycznie nie musiał zadawać swoich pytań, wszystko wymyślili uczestnicy.

Było też wiele drobnych rzeczy, które mało kto zauważa, a jednak są. Z uwagi na to, że konferencja była anglojęzyczna, projekt takich rzeczy jak ulotki czy mapy — jest prostszy i bardziej zwięzły. Nie ma potrzeby dublowania języków i zaśmiecania designu.

Sponsorzy i wystawa

Nasi sponsorzy bardzo pomogli w organizacji konferencji. Dzięki nim w przerwach zawsze było co robić.

Na stoisku Centrum Technicznym Deutsche Banku można było porozmawiać z inżynierami systemów wielowątkowych, rozwiązać ich zadania "z głowy", wygrać pamiątkowe nagrody i po prostu miło spędzić czas.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Na stoisku Contour można było porozmawiać o ich własnych systemach, zarówno otwartych, jak i open source: rozproszona baza danych w pamięci, rozproszony binarny log, system orkiestracji mikrousług, uniwersalny transport dla telemetry i tak dalej. No i oczywiście zadania i konkursy, naklejki z binarnym kotem i Cierpiącym Średniowieczem, prezenty jak książka Martina Kleppmana i figurki LEGO.

Zauważ, że analiza zadań Contour już została opublikowana na Habrze. Analiza jest dobra, warto zerknąć.

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Chętni mogli kupić różnorodne książki, omówić je z kolegami. Na sesji podpisywania autografów zebrała się cała rzesza!

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Podsumowanie

Konferencja Hydra i szkoła SPTDC to bardzo ważne wydarzenia dla nas jako organizatora oraz dla całej społeczności. To szansa, aby spojrzeć w naszą przyszłość, wypracować wspólny aparat pojęciowy do dyskusji o współczesnych problemach i zwrócić uwagę na interesujące kierunki. Wiele wątków wielowątkowości pojawiło się dawno, ale po wprowadzeniu pierwszego naprawdę wielordzeniowego procesora minęła cała dekada, zanim zjawisko stało się powszechne. To, co usłyszeliśmy w ciągu tego tygodnia w wykładach, to nie chwilowe wiadomości, ale droga do jasnej przyszłości, którą będziemy podążać w nadchodzących latach. W tym poście nie będzie żadnych spoilerów na temat następnej Hydry, ale można mieć nadzieję na to, co najlepsze. Jeśli interesują Cię podobne problemy, może warto zwrócić uwagę na nasze inne wydarzenia, takie jak hardcorowe wykłady na konferencjach. Joker 2019 lub DotNext 2019 Moskwa. Do zobaczenia na następnych konferencjach!

Trzy laureatki nagrody Dijkstry: jak odbyły się Hydra 2019 i SPTDC 2019

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster