Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Recently, from July 8 to 12, two significant events took place simultaneously — the conference Hydra and the school SPTDC. In this post, I would like to highlight several features we noticed during the conference.

The greatest pride of Hydra and the School is the speakers.

  • Three laureates of the Dijkstra Award: Leslie Lamport, Maurice Herlihy, and Michael Scott. Notably, Maurice received it twice. Leslie Lamport also received the Turing Award — the most prestigious ACM award in computer science;
  • The creator of the Java JIT compiler — Cliff Click;
  • Coroutine developers — Roman Elizarov (elizarov) and Nikita Koval (ndkoval) for Kotlin, and Dmitry Vyukov for Go;
  • Contributors to Cassandra (Alex Petrov), CosmosDB (Denis Rystsov), Yandex Database (Semyon Checherinda and Vladislav Kuznetsov);
  • And many other well-known individuals: Martin Kleppmann (CRDT), Heidi Howard (Paxos), Ori Lahav (C++ memory model), Pedro Ramalhete (wait-free data structures), Alexey Zinovyev (ML), Dmitry Bugaychenko (graph analysis).

And this is already the School:

  • Brown University (Maurice Herlihy),
  • University of Rochester (Michael Scott),
  • University of Waterloo (Trevor Brown),
  • Nantes University (Achour Mostefaoui),
  • Ben-Gurion University of the Negev (Danny Hendler),
  • University of California, Los Angeles (Eli Gafni),
  • Institut Polytechnique de Paris (Petr Kuznetsov),
  • Microsoft Research (Leslie Lamport),
  • VMware Research (Ittai Abraham).

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Theory and practice, science and production

Let me remind you that the SPTDC School is a small event for about one hundred and fifty people, where world-class experts gather to discuss contemporary issues in the field of distributed computing. Hydra is a two-day conference on distributed computing held in parallel. Hydra is more focused on engineering, while the School is scientific.

One of the goals of the Hydra conference is to bring together scientific and engineering principles. On one hand, this is achieved by selecting talks for the program: alongside Lamport, Herlihy, and Scott, there are more applied talks from Alex Petrov, who contributes to Cassandra, or Roman Elizarov from JetBrains. Martin Kleppmann, who previously created and sold startups, now studies CRDT at Cambridge University. But the real highlight is that Hydra and SPTDC take place side by side — they have different talks, but a common space for communication.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Immersion

Five consecutive days of the School is a significant event and a heavy load for both participants and organizers. Not everyone made it to the last days. There were some who attended both Hydra and the School at the same time, making the final days the most intense for them. All this hustle is compensated by an incredibly deep immersion. This is connected not only with the volume but also with the quality of the material. All presentations and lectures at both events were not intended to be introductory, so wherever you went, you immediately dove deep and didn’t let go until the very end.

Of course, a lot depends on the participant's initial preparation. There was a funny moment when two groups of people in the corridor independently discussed Heidi Howard's presentation: some found it completely ordinary, while others deeply pondered life. Interestingly, participants of the program committees (who wished to remain anonymous) stated that the presentations from Hydra and the lectures from the School could be considered overqualified for their events. For instance, if a PHP junior came to a conference on PHP, it would be a bit presumptuous to assume they had deep knowledge of the insides of the Zend Engine. Here, the speakers didn’t spoon-feed the juniors; instead, they assumed a certain level of knowledge and understanding from the start. Indeed, participants who operate distributed systems and write runtime kernels have quite a high level, which is logical. Judging by the participants' reactions, it was relatively easy to find a presentation that matched their level and topic.

When it comes to specific presentations, all of them were excellent in their own right. According to what people say and the feedback forms, one of the coolest presentations at the School turned out to be “Nonblocking data structures” by Michael Scott, who absolutely blew everyone away, achieving an abnormal rating of around 4.9.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Metaconference

Long before the start of Hydra and the School, Ruslan ARG89 predicted that there would be a sort of “metaconference” — a conference of conferences, where all the top participants from other events would be drawn in like a black hole. And that’s exactly what happened! For example, among the attendees at the School was spotted Ruslan Cheryomin from Deutsche Bank, a well-known specialist in multithreading.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

And among the participants of Hydra, Vadim Tsesko (from incubos.) and Andrey Panygin (apangin) from the company Odnoklassniki. (At the same time, Vadim also helped us conduct two excellent interviews with Martin Kleppmann — one for Habr, and the other — for the viewers of the online broadcast). There were members of the DotNext program committee, renowned speakers Anatoly Kulakov and Igor Labutin. Among the Java developers were Dmitry Alexandrov and Vladimir Ivanov. Usually, you see these people in completely different places — .NET developers at DotNext, Java developers at Joker, and so on. And here they sit side by side during Hydra’s presentations, discussing issues during the BOF sessions together. When this somewhat artificial division by programming languages and technologies disappears, the characteristics of the subject area emerge: specialists in dynamic runtimes communicate with other runtime developers, researchers in distributed computing theory passionately argue with other researchers, database engine engineers crowded the whiteboard, and so on.

At the presentation on C++ memory models in the front rows sat developers from OpenJDK (at least, I know them by sight, but not the Python developers — maybe they were there too). In fact, there’s something quite Shchipilev-like in this presentation… Ori tells not exactly the same thing, but a careful observer might spot parallels. Even after everything that has happened in the latest C++ standards, issues like out-of-thin-air values remain unfixed, and it was possible to attend such a presentation and listen to how people 'from the other side of the barricade' attempt to fix these problems, how they reason about them, and one could be impressed by the approaches found to solutions (Ori has one variant for fixing these issues).

There were many participants from program committees and communities. Everyone was solving their inter-confessional problems, building bridges, and forming connections. I took advantage of this wherever I could, and for example, we agreed with Alexander Borgardt from Moscow C++ User Group to co-author a comprehensive article about actors and asynchronicity in C++.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

In the photo: Leonid Talalaev (ltalal, left) and Oleg Anastasyev (m0nstermind, right), leading developers at the company Odnoklassniki

Fiery discussion zones and BOFs

Conferences always have participants who know the subject as well as, or even better than, the speakers (for example, when a core developer of some technology finds themselves among the attendees). At the Hydra, there were many highly expert participants. For instance, at one point, around Alex Petrov, who was speaking about Cassandra, so many people gathered that he couldn't answer everyone. At one point, Alex was smoothly pushed aside, and questions began to fly, but the falling flag was picked up by the well-known Rust developer Tyler Neely , who managed the load excellently. When I asked Tyler to help with the online interview, he just asked, "When do we start?"

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

The spirit of discussion sometimes broke through even during the presentations: Nikita Koval spontaneously organized a Q&A session, splitting the talk into several sections.

Conversely, during the BOF on multithreading, they recalled non-volatile memory, pulling in Pedro Ramalhete as the main specialist, and he explained everything to everyone (in short, non-volatile memory is not going to threaten us anytime soon). By the way, one of the moderators of this BOF was Vladimir Sitnikov, who participates in the program committees of a crazy number of conferences… it seems like he’s juggling five at once right now. At the neighboring BOF on "Modern CS in the Real World," they also discussed NVM and came to it completely independently.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

I can share a super-insight that even the direct participants of the story might not have noticed. Eli Gafni spoke on the evening of the first day of the School, and the next day he stayed and started teasing Lamport. From the outside, it seemed that this was madness and Eli was being unreasonable. That he was some kind of troll trying to mess with Leslie. The fact is that they are almost best friends; they have been friends for many years, and this was just friendly ribbing. So the joke worked — the entire crowd around believed it and took it at face value.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

I especially want to note the amount of love and effort the speakers invested in this. Some stood in the discussion area until the very end, for almost hours. The break had long ended, the presentation started, ended, and the next break began — and Dmitry Vyukov I continued to answer questions. An interesting story happened to me as well — catching Cliff Click off guard, I received not only a clear and reasonable explanation of the provocative discussion about the lack of tests on certain things in H2O, but also got a comprehensive overview of his new AA language. I never asked for this: I simply asked what could be read about AA (it turned out, one could listen to podcast), and instead, Cliff spent half an hour talking about the language and confirming that what he explained was understood correctly. Amazing. I need to write a blog post about AA. Another unusual experience was observing the process of reviewing a pull request in Kotlin. It's truly a magical feeling — when you approach different discussion groups, different speakers, and immerse yourself in a completely new world. It’s something at the level of ‘There, There’ by Radiohead.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

English language

. Hydra 2019 is our first conference where the primary language is English. This brings both its advantages and its challenges. An obvious plus is that people come to the conference not only from Russia, so among the participants you may meet engineers from Europe and scientists from England. Speakers bring their students. In general, important speakers have much more motivation to attend such a conference. Imagine being a speaker at a fully Russian-speaking conference: once you finish your presentation and stand through the discussion zone, what next? Traveling around the city and visiting tourist sites? In reality, popular speakers have already seen everything in the world; they don’t want to go see lions and drawbridges; it bores them. However, if all presentations are in English, they can participate in the conference on equal terms, enjoy it, engage in discussion zones, and so on. The atmosphere is quite friendly towards the speakers.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

The obvious downside is that not everyone is comfortable communicating in English. Many understand well, but speak poorly. In general, the usual issues that were addressed in different ways. For example, some discussion zones started in Russian but instantly switched to English upon the arrival of the first English-speaking participant.

I had to handle the opening and closing of the live broadcast exclusively in English and participate in a couple of interviews with experts on record. This was a real challenge for me that I won't forget anytime soon. At one point, Oleg Anastasiev (m0nstermind) simply said for me to stay seated with them during the interview, and I was too slow to understand what that meant.

On the other hand, it was very nice that people were eagerly asking questions during the talks. Not just native speakers, but everyone in general; this worked really well. At other conferences, it’s often seen that people are shy to ask questions from the audience in broken English and can only muster up the courage to speak in the discussion zone. It was completely different here. For instance, Cliff Click would finish his talks a bit early, and after that, questions would flow in a continuous stream, leading to discussions without awkward pauses or breaks. The same applied to Leslie Lamport's Q&A session; the host practically didn’t have to ask his own questions; everything was thought up by the attendees.

There were various little things that few would notice, yet they exist. Due to the conference being in English, the design of items like flyers and maps was lighter and more concise. There was no need to duplicate languages and clutter the design.

Sponsors and Exhibition

Our sponsors greatly assisted in organizing the conference. Thanks to them, there was always something to do during breaks.

At the booth of the Deutsche Bank Tech Center it was possible to chat with engineers of multi-threaded systems, solve their problems 'on the spot', win memorable prizes, and simply have a good time.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

At the booth At Kontur you could discuss their own systems, both open-source and others: a distributed in-memory database, a distributed binary log, a microservices orchestration system, a universal transport for telemetry, and more. And of course, there were puzzles and contests, stickers featuring the binary cat and 'Suffering Middle Ages', prizes like Martin Kleppmann's book and LEGO figurines.

Please note that the solution analysis from Kontur is already published on Habr. The analysis is good; it's worth a look.

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Those interested could purchase various books and discuss them with colleagues. A whole crowd gathered for the autograph session!

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Summary

The Hydra conference and the SPTDC school are very important events for us as the organizing company and for the entire community. It’s a chance to glimpse into our future, create a unified conceptual framework for discussing modern issues, and investigate interesting directions. Multithreading emerged a long time ago, but it took a whole decade after the first truly multi-core processor for this phenomenon to become mainstream. What we heard this week in the presentations is not fleeting news but a pathway to a bright future that we will follow in the coming years. This post will not contain any spoilers for the next Hydra, but we can hope for the best. If you are interested in similar issues, you might want to pay attention to our other events, such as hardcore presentations at conferences. Joker 2019 or DotNext 2019 Moscow. See you at the next conferences!

Three laureates of the Dijkstra Award: How Hydra 2019 and SPTDC 2019 Went

Source: habr.com

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster