
Kürzlich wurden sofort zwei Veranstaltungen zur Entwicklung von Multithread- und verteilten Systemen
angekündigt : die
Hydra- Konferenz (11.-12. Juli) und die
SPTDC- Schule (8.-12. Juli). Menschen, die diesem Thema nahe stehen, verstehen, dass die Ankunft von
Leslie Lamport ,
Maurice Herliha und
Michael Scott in Russland ein wichtiges Ereignis ist. Es stellten sich aber auch andere Fragen:
- Was kann man von der Konferenz erwarten: "akademisch" oder "Produktion"?
- Wie vergleichen sich Schulen und Konferenzen? Für wen ist es gedacht?
- Warum überschneiden sie sich an Daten?
- Werden sie für diejenigen nützlich sein, die nicht ihr ganzes Leben verteilten Systemen gewidmet haben?
All dies ist der Person bekannt, dank der Hydra aufgetreten ist: unserem Regisseur
Alexei Fedorov (
23derevo ). Er beantwortete alle Fragen.
Formatieren
- Eine einleitende Frage für diejenigen, die weit entfernt von verteilten Systemen sind: Worum geht es bei beiden Ereignissen?- Die globale Herausforderung besteht darin, dass wir um uns herum Dienste mit großem Betriebsvolumen und komplexen Rechenaufgaben haben, die nicht auf einem Computer ausgeführt werden können. Es sollten also mehrere Autos sein. Und dann stellen sich Fragen, wie sie ihre Arbeit richtig synchronisieren und was unter Bedingungen nicht höchster Zuverlässigkeit zu tun ist (weil die Ausrüstung ausfällt und das Netzwerk ausfällt).
Je mehr Autos, desto mehr Fehlerstellen. Was ist, wenn verschiedene Maschinen unterschiedliche Ergebnisse für dieselben Berechnungen liefern? Was tun, wenn das Netzwerk für einige Zeit verschwunden ist und einige der Berechnungen isoliert werden? Wie kann dies alles kombiniert werden? Insgesamt eine Million damit verbundene Probleme. Neue Lösungen - neue Probleme.
In diesem Bereich gibt es durchaus angewandte Bereiche, aber es gibt wissenschaftlichere Bereiche - etwas, das noch nicht zum Mainstream geworden ist. Ich möchte darüber sprechen, was sowohl in der Praxis als auch in der Wissenschaft und vor allem an ihrer Kreuzung geschieht. Darum geht es bei der ersten Hydra-Konferenz.
- Ich würde gerne verstehen, dass es eine Konferenz und eine Sommerschule gibt. Wie vergleichen sie? Wenn für Schulteilnehmer ein Rabatt für die Teilnahme an einer Konferenz gewährt wird, warum überschneiden sie sich dann nach Datum, sodass Sie nicht alles ohne Verlust auf einmal besuchen können?- Eine Schule ist eine Kammerveranstaltung für 100-150 Personen, bei der führende Experten aus aller Welt fünf Tage lang Vorträge halten. Und eine Situation entsteht, wenn sich Weltklasse-Leuchten für fünf Tage in St. Petersburg versammeln, um etwas zu erzählen. In diesem Fall bietet sich die Entscheidung an, nicht nur eine Kammerschule, sondern auch eine größere Konferenz zu organisieren.
Eine solche Schule kann nur im Sommer, im Juli, abgehalten werden, da es unter diesen Spezialisten aktive Universitätsprofessoren gibt, die zu anderen Zeiten einfach nicht bereit sind: Sie haben Studenten, Diplome, Vorlesungen und so weiter. Das Format der Schule ist fünf Wochentage. Es ist bekannt, dass im Sommer am Wochenende die Leute gerne irgendwohin gehen. Dies bedeutet, dass wir am Wochenende vor der Schule oder am Wochenende nach der Schule keine Konferenz abhalten können.
Und wenn es vor oder nach dem Wochenende noch ein paar Tage verlängert wird, werden die fünf Tage, die Spezialisten in St. Petersburg bleiben, auf magische Weise zu neun. Und dafür sind sie nicht bereit.
Daher bestand die einzige Lösung darin, einfach eine Konferenz parallel zur Schule abzuhalten. Ja, dies verursacht einige Probleme. Es gibt Leute, die zur Schule und zur Konferenz gehen wollen, und sie müssen hier oder da einen Teil der Vorlesungen überspringen. Die gute Nachricht ist, dass all dies in benachbarten Hallen stattfinden wird, man kann hin und her rennen. Eine weitere gute Seite ist die Verfügbarkeit von Videos, auf denen Sie später ruhig sehen können, was Sie verpasst haben.
- Wenn zwei Veranstaltungen parallel stattfinden, haben die Leute die Frage "Welche brauche ich?" Was genau ist von jedem zu erwarten und was sind die Unterschiede?- Die Schule ist eine rein akademische Veranstaltung, eine klassische wissenschaftliche Schule für mehrere Tage. Wer sich mit Naturwissenschaften beschäftigt und etwas mit der Graduiertenschule zu tun hat, repräsentiert, was eine akademische Schule ist.

In der Regel sind solche akademischen Veranstaltungen aufgrund des Mangels an Veranstaltungskompetenz bei Personen, die dies tun, nicht gut organisiert. Aber wir sind immer noch ziemlich erfahrene Leute, also können wir alles ziemlich kompetent machen. Ich denke, dass das SPTDC aus organisatorischer Sicht jede wissenschaftliche oder praktische Schule, die Sie jemals gesehen haben, übertreffen wird.
Die SPTDC-Schule ist ein solches Format, in dem jede große Vorlesung
in zwei Paaren gehalten wird: „eineinhalb Stunden - eine Pause - eineinhalb Stunden“. Es versteht sich, dass es für den Teilnehmer zum ersten Mal schwierig sein kann: Als diese Schule vor zwei Jahren zum ersten Mal abgehalten wurde, war ich selbst ungewöhnlich, mehrmals mitten in einer Doppelvorlesung, die ich abschaltete, und dann war es schwierig zu verstehen, was geschah. Aber es kommt sehr auf den Dozenten an: Ein guter Dozent spricht drei Stunden lang sehr interessant.
Die Hydra-Konferenz ist eine eher angewandte Veranstaltung. Es wird mehrere Größen der Wissenschaft geben, die an der Schule Vorlesungen halten: von
Leslie Lamport , dessen Arbeit der Theorie der Multithread- und verteilten Systeme zugrunde liegt, bis zu
Maurice Herlichi , einem der Autoren des berühmten Parallelitätslehrbuchs „The Art of Multiprocessor Programming“. Auf der Konferenz werden wir jedoch versuchen, darüber zu sprechen, wie diese oder jene Algorithmen in der Realität realisiert werden, welche Probleme Ingenieure in der Praxis haben, wer bekommt, was passiert und was nicht, warum einige Algorithmen in der Praxis angewendet werden und andere nicht. Lassen Sie uns natürlich über die zukünftige Entwicklung von Multithread- und verteilten Systemen sprechen. Das heißt, wir werden einen solchen Vorsprung geben: Worüber die Weltwissenschaft jetzt spricht, um was sich die Gedanken führender Ingenieure drehen und wie alles zusammenpasst.
- Da die Konferenz mehr angewendet wird, wird es nicht nur akademische Koryphäen geben, sondern auch Redner „aus der Produktion“?- Auf jeden Fall. Wir versuchen, alle „Großen“ zu betrachten: Google, Netflix, Yandex, Odnoklassniki, Facebook. Es gibt spezielle Spaßprobleme. Zum Beispiel sagt jeder: „Netflix ist ein verteiltes System, fast die Hälfte des US-Verkehrs ist sehr cool.“ Wenn Sie sich die tatsächlichen Berichte, Artikel und Veröffentlichungen ansehen, gibt es eine leichte Enttäuschung. Denn obwohl es sicherlich ein Weltniveau ist und es eine Schneide gibt, ist es dort weniger, als es auf den ersten Blick scheint.
Ein interessantes Dilemma ergibt sich: Sie können Vertreter großer bedeutender Unternehmen oder jemanden anrufen, der uns bereits bekannt ist. In Wirklichkeit gibt es sowohl dort als auch dort Fachwissen. Und wir versuchen eher, nicht „Leute von sehr großen Marken“ herauszuholen, sondern sehr große Spezialisten, bestimmte Leute.
Zum Beispiel wird es Martin Kleppman geben, der einmal auf LinkedIn ein Geräusch gemacht und auch ein
gutes Buch veröffentlicht hat - vielleicht eines der Grundbücher im Bereich verteilter Systeme.
- Wenn eine Person nicht in Netflix, sondern in einem Unternehmen einfacher arbeitet, könnte sie denken: „Soll ich zu einer solchen Konferenz gehen oder gibt es Netflix, die miteinander sprechen, aber ich habe nichts zu tun?- Ich sage Folgendes: Als ich mehr als drei Jahre mit Oracle zusammengearbeitet habe, habe ich die erstaunlichsten und interessantesten Dinge in der Küche und in den Raucherzimmern gehört, als sich meine Kollegen dort versammelten, um diese oder jene Teile der Java-Plattform zu machen. Es können Personen aus einer virtuellen Maschine oder aus der Testabteilung oder aus der Parallelität der Leistung sein - zum Beispiel Lesha Shipilev und Seryozha Kuksenko.
Wenn sie anfingen, etwas miteinander zu besprechen, hörte ich normalerweise nur mit offenem Mund zu. Für mich waren dies erstaunliche und unerwartete Dinge, an die ich nicht einmal gedacht habe. Natürlich verstand ich zunächst nicht 90% von dem, worüber sie sprachen. Dann wurde es zu 80% unverständlich. Und nachdem ich meine Hausaufgaben gemacht und mehrere Bücher gelesen hatte, wurde diese Zahl auf 70% reduziert. Ich verstehe immer noch nicht viel von dem, worüber sie untereinander sprechen. Aber als ich mit einer Tasse Kaffee in der Ecke saß und lauschte, begann ich ein wenig zu verstehen, was los war.
Wenn Google, Netflix, LinkedIn, Classmates und Yandex miteinander sprechen, bedeutet dies nicht, dass dies etwas Unverständliches und Uninteressantes ist. Im Gegenteil, wir müssen genau zuhören, denn dies ist unsere Zukunft.
Natürlich gibt es Leute, die das alles nicht brauchen. Wenn Sie dieses Thema nicht weiterentwickeln möchten, müssen Sie nicht zu dieser Konferenz gehen, sondern verlieren dort nur Zeit. Aber wenn das Thema interessant ist, Sie aber nichts darin verstehen oder nur genau hinschauen, bedeutet dies, dass Sie kommen müssen, weil Sie so etwas nirgendwo anders finden. Und ich denke das nicht nur in Russland, sondern auch in der Welt. Wir versuchen, eine Konferenz zu veranstalten, die nicht nur in Russland führend zu diesem Thema sein wird, sondern allgemein die Nummer eins in der Welt.
Dies ist keine leichte Aufgabe, aber wenn wir eine so großartige Chance haben, starke Redner aus der ganzen Welt zu sammeln, bin ich bereit, viel zu geben, um dies zu erreichen. Natürlich werden einige von denen, die wir für die erste Hydra gerufen haben, nicht kommen können. Aber ich werde das sagen: Wir haben nie eine neue Konferenz mit einem so mächtigen Dienstplan gestartet. Außer vielleicht dem allerersten JPoint vor sechs Jahren.
- Ich möchte die Worte „Das ist unsere Zukunft“ entwickeln: Wird das Thema später diejenigen berühren, die heute nicht darüber nachdenken?"Ja, da bin ich mir sicher." Daher erscheint es mir sehr richtig, so schnell wie möglich darüber zu diskutieren. Zum Beispiel erschien die Theorie des Multithreading vor ziemlich langer Zeit (in den 70er Jahren war die Arbeit bereits in vollem Gange), aber lange Zeit waren sie viele Spezialisten, bis Anfang der 2000er Jahre der erste Benutzer-Dual-Core-Computer auftauchte. Und jetzt haben wir alle Multi-Core-Server, Laptops und sogar Telefone, und dies ist der Mainstream. Es dauerte ungefähr 10 Jahre, bis sich dies verbreitete und die Menschen verstanden, dass dieser Diskurs nicht das Los eines engen Kreises von Spezialisten ist.
Und ungefähr das Gleiche sehen wir jetzt bei verteilten Systemen. Denn grundlegende Entscheidungen wie Lastausgleich, Fehlertoleranz und dergleichen wurden schon lange getroffen, aber nur sehr wenige Menschen wissen, was zum Beispiel verteilter Konsens oder Paxos ist.
Eine der wichtigsten Aufgaben, die ich für diese Veranstaltung gestellt habe, ist es, Ingenieure immer mehr in diese Diskussion einzubeziehen. Es versteht sich, dass auf Konferenzen nicht nur einige Themen und Lösungen diskutiert werden, sondern auch ein Thesaurus entsteht - ein einziger konzeptioneller Apparat.
Ich sehe es als meine Aufgabe an, eine Plattform zu schaffen, auf der jeder all dies diskutieren, Erfahrungen und Meinungen austauschen kann. Damit Sie und ich ein gemeinsames Verständnis davon haben, was ein Algorithmus tut, was der andere tut, welcher unter welchen Bedingungen besser ist, wie sie miteinander in Beziehung stehen und so weiter.
Eine sehr interessante Sache hängt mit dem gleichen Multithreading zusammen. Als unsere Freunde von Oracle (vor allem Lyosha Shipilev und Sergey Kuksenko) zwei oder drei Jahre später anfingen, aktiv über Leistung und insbesondere über Multithreading zu sprechen, wurden diese Fragen in Interviews in Unternehmen gestellt. Das heißt, das, was viele enge Spezialisten waren, wurde plötzlich zum Mainstream.
Und es ist sehr richtig. Es scheint mir, dass wir diesen Leuten geholfen haben, all dieses Problem bekannt zu machen, was wirklich wichtig, nützlich und interessant ist. Wenn noch nie jemand darüber nachgedacht hätte, wie ein Java-Server Anfragen parallel verarbeitet, haben die Leute jetzt zumindest auf einer bestimmten Ebene ein Verständnis dafür, wie dies alles funktioniert. Und das ist wunderbar.
Die Aufgabe, die ich jetzt sehe, ist ungefähr die gleiche wie bei verteilten Systemen. Damit jeder ungefähr versteht, was es ist, woher die Beine wachsen, welche Aufgaben und Probleme es gibt, damit dies auch zum Mainstream wird.
Unternehmen haben eine große Nachfrage nach Menschen, die etwas darüber verstehen, aber es gibt nur wenige solcher Menschen. Je mehr wir um diesen Inhalt herum erstellen und die Gelegenheit haben, dies zu lernen, desto mehr geben wir den Menschen die Möglichkeit, Fragen zu stellen, die in der Luft liegen, desto mehr Chancen haben wir, in diese Richtung voranzukommen.
Hintergrund
- Die Konferenz findet zum ersten Mal statt, aber die Schule ist nicht das erste Mal. Wie ist das alles entstanden und entstanden?- Das ist eine interessante Geschichte. Vor zwei Jahren, im Mai 2017, waren wir mit Nikita
Kovale (
ndkoval ), einem Multithreading-Spezialisten, in Kiew. Und er sagte mir, dass die
Summer School in Praxis und Theorie des Concurrent Computing in St. Petersburg stattfinden wird.
Das Thema Multithread-Programmierung in den letzten drei Jahren meiner Ingenieurkarriere war fantastisch interessant. Und dann stellte sich heraus, dass im Sommer sehr, sehr berühmte Leute nach St. Petersburg kommen, die gleichen Maurice Herlihi und Nir Shavit, deren
Lehrbuch ich studiert habe. Und viele meiner Freunde haben damit zu tun - zum Beispiel Roma Elizarov (
elizarov ). Mir wurde klar, dass ich ein solches Ereignis einfach nicht verpassen kann.
Als klar wurde, dass das Programm 2017 der Schule cool sein wird, entstand die Idee, dass Vorträge auf Video aufgezeichnet werden müssen. Bei der JUG.ru Group hatten wir ein umfassendes Verständnis dafür, wie solche Vorträge aufgezeichnet werden sollten. Und wir passen in die SPTCC als die Leute, die das Video für die Schule gemacht haben. Daher finden alle Vorlesungen der Schule auf unserem YouTube-Kanal statt.
Ich begann mit Peter Kuznetsov, dem Hauptideologen und Organisator dieser Schule, und mit Vitaly Aksyonov zu kommunizieren, der all dies in St. Petersburg organisatorisch erledigte. Mir wurde klar, dass es fantastisch gesund und interessant ist und wahrscheinlich sehr schlecht, dass nur 100 Teilnehmer das Schöne berühren können.
Als Peter über die Notwendigkeit nachdachte, wieder zur Schule zu gehen (2018 gab es keine Zeit und Mühe, also entschied er sich 2019), wurde klar, dass wir ihm helfen können, indem wir einfach alle organisatorischen Dinge von ihm entfernen. Und so ist es jetzt, Peter beschäftigt sich mit Inhalten, und wir sind alle anderen. Und das scheint das richtige Schema zu sein: Peter interessiert sich wahrscheinlich mehr für das Programm als für „wo und wann werden alle zu Mittag essen“. Und wir können gut mit Hallen, Veranstaltungsorten usw. arbeiten.
Dieses Mal wird die Schule anstelle von SPTCC SPTDC genannt, nicht "Concurrent Computing", sondern "Distributed Computing". Dementsprechend geht es beim Unterschied darum: Das letzte Mal, als die Schule nicht über verteilte Systeme sprach, werden wir darüber aktiv darüber sprechen.
- Da die Schule nicht das erste Mal ist, können bereits einige Schlussfolgerungen aus der Vergangenheit gezogen werden. Was ist beim letzten Mal passiert?- Als die erste Schule vor zwei Jahren gegründet wurde, wurde erwartet, dass es eine akademische Veranstaltung geben würde, die vor allem für Schüler interessant ist. Darüber hinaus Studenten aus der ganzen Welt, da die Schule nur auf Englisch ist und man glaubte, dass eine bedeutende Anzahl ausländischer Studenten kommen würde.
Tatsächlich stellte sich heraus, dass viele Ingenieure von großen russischen Unternehmen wie dem gleichen Yandex stammten. Es gab Andrei Pangin (
Apangin ) aus Odnoklassniki, es gab Leute von JetBrains, die sich aktiv mit diesem Thema befassen. Generell gab es viele bekannte Gesichter unserer Partnerunternehmen. Ich bin überhaupt nicht überrascht, ich verstehe vollkommen, warum sie dorthin gekommen sind.
Tatsächlich hatten die Organisatoren die Erwartung, dass es akademische Leute an der Schule geben würde, und plötzlich kamen Leute aus der Branche, und dann wurde mir klar, dass es eine Nachfrage in der Branche gab.
Wenn die Veranstaltung, die fast nie irgendwo beworben wurde, beim ersten Mal ein Klicken der Finger ein Publikum von Erwachsenen versammelte, dann besteht tatsächlich Interesse. Es scheint mir, dass eine Anfrage zu diesem Thema gereift ist.
Maurice Herlichi beim JUG.ru-Treffen- Neben der Schule sprach Maurice Herlichi 2017 beim JUG.ru-Treffen in St. Petersburg über das Transaktionsgedächtnis, was dem Konferenzformat etwas näher kommt. Wer kam dann - die gleichen Leute, die normalerweise zu JUG.ru-Meetings kommen, oder ein anderes Publikum?- Es war interessant, weil wir verstanden haben, dass Maurice einen allgemeinen Bericht haben würde, der nicht spezifisch für Java ist, und eine etwas breitere Ankündigung gemacht haben, als wir es normalerweise für unsere JUG-News-Abonnenten tun.
Viele Leute, die ich kannte, kamen aus Communities, die überhaupt nicht über Java sprachen: aus dem .NET-Hangout, aus dem JavaScript-Hangout. Weil das Thema Transaktionsspeicher keine spezifische Entwicklungstechnologie ist. Wenn ein Spezialist von Weltklasse kommt, um über das Transaktionsgedächtnis zu sprechen, ist es einfach ein Verbrechen, die Gelegenheit zu verpassen, einer solchen Person zuzuhören und ihm Fragen zu stellen. Es macht nur einen starken Eindruck, wenn die Person, deren Buch Sie studieren, zu Ihnen kommt und Ihnen etwas sagt. Einfach fantastisch.
- Und wie war das Feedback zu den Ergebnissen? War der Ansatz für Leute aus der Branche zu akademisch und unverständlich?"Die Kritiken zu Herlichs Bericht waren gut." Die Leute schrieben, dass er sehr einfach und klar darlegt, was von einem akademischen Professor nicht erwartet wurde. Aber wir müssen verstehen, dass wir ihn nicht nur angerufen haben, sondern ein weltberühmter Spezialist mit umfassender Erfahrung im Sprechen und einem Hintergrund aus einem Stapel Bücher und Artikel. Und wahrscheinlich wurde er in vielerlei Hinsicht berühmt, weil er Menschen Material vermitteln konnte. Daher ist dies nicht überraschend.
Er hat normales, verständliches Englisch und weiß natürlich viel darüber, wovon er spricht. Das heißt, ihm können absolut alle Fragen gestellt werden. Grundsätzlich haben sich die Leute beschwert, dass wir Maurice zu wenig Zeit für den Bericht gegeben haben: Zwei Stunden dafür reichen nicht aus, wir brauchen mindestens zwei weitere. Nun, dass sie es in zwei Stunden geschafft haben, dann haben sie es geschafft.
Motivation
- Normalerweise ist die JUG.ru-Gruppe an Großveranstaltungen beteiligt, und dieses Thema sieht spezialisierter aus. Warum wurde beschlossen, es zu nehmen? Gibt es die Bereitschaft, eine kleinere Veranstaltung abzuhalten, oder können sich viele Zuschauer zu einem solchen Thema versammeln?- Wenn Sie eine Veranstaltung durchführen und eine bestimmte Diskussionsebene stellen, stellt sich immer die Frage, wie massiv diese Diskussion ist. Wie viele Menschen - zehn, hundert oder tausend - sind interessant. Es gibt einen Kompromiss zwischen Masse und Tiefe. Dies ist eine ganz normale Frage, und jeder entscheidet anders.
In diesem Fall möchte ich das Ereignis "für mich selbst" machen. Beim Multithreading verstehe ich immer noch etwas (auf Konferenzen habe ich Vorträge zu diesem Thema gehalten, den Studenten mehrmals etwas erzählt), aber in verteilten Systemen bin ich ein Laie: Ich habe einige Artikel gelesen und mehrere Vorträge gesehen, aber ich habe nicht einmal ein einziges vollständiges Buch lies es.
Wir haben ein Programmkomitee, das aus Experten auf diesem Gebiet besteht und in der Lage ist, die Richtigkeit von Berichten zu bewerten. Und ich für meinen Teil versuche, diese Veranstaltung so zu gestalten, dass ich mit meinem Mangel an Fachwissen zu mir selbst gehen möchte. Wird sich herausstellen, dass es das Massenpublikum interessiert, weiß ich nicht. Wahrscheinlich ist dies zu diesem Zeitpunkt nicht die Hauptaufgabe dieser Veranstaltung. Jetzt ist es wichtiger, in kurzer Zeit das leistungsstärkste Programm zu bilden.
, « », «, ». - , . .
. . Java- , . , , . , , , , , , — .
, . , , , .
70-80% . , ( , ) ( ). . .
, -. . , , , , -. , - . JavaScript, Java .NET , , , , , — , - .
: 70–80% . ? , . ? : , .
SPTDC , Hydra , .