
Recentemente, dal 8 al 12 luglio, si sono svolti due eventi significativi — la conferenza e la scuola . In questo post, vogliamo evidenziare alcune particolarità che abbiamo notato durante lo svolgimento della conferenza.
La nostra più grande orgoglio nella Hydra e nella Scuola sono i relatori.
- Tre vincitori : Leslie Lamport, Maurice Herlihy e Michael Scott. Inoltre, Maurice l'ha ricevuto ben due volte. Leslie Lamport ha anche ricevuto il — il premio più prestigioso dell'ACM in informatica;
- Il creatore del compilatore JIT per Java — Cliff Click;
- Sviluppatori di coroutine — Roman Elizarov () e Nikita Koval () per Kotlin, e Dmitry Vyukov per Go;
- Contributori di Cassandra (Alex Petrov), CosmosDB (Denis Ryscov), Yandex Database (Semyon Checherinda e Vladislav Kuznetsov);
- E molti altri nomi noti: Martin Kleppmann (CRDT), Heidi Howard (Paxos), Ori Lahav (modello di memoria C++), Pedro Ramalhete (strutture dati wait-free), Alexey Zinovyev (ML), Dmitry Bugaychenko (analisi dei grafi).
E questa è già la Scuola:
- Università Brown (Maurice Herlihy),
- Università di Rochester (Michael Scott),
- Università di Waterloo (Trevor Brown),
- Università di Nantes (Achour Mostefaoui),
- Università Ben-Gurion del Negev (Danny Hendler),
- Università della California, Los Angeles (Eli Gafni),
- Institut polytechnique de Paris (Petr Kuznetsov),
- Microsoft Research (Leslie Lamport),
- VMware Research (Ittai Abraham).

Teoria e pratica, scienza e produzione
Ricordo che la Scuola SPTDC è un evento ristretto a circa centocinquanta persone, dove si riuniscono luminari di livello mondiale per discutere delle moderne questioni nel campo del calcolo distribuito. Hydra è una conferenza di due giorni sul calcolo distribuito che si svolge in parallelo. Hydra ha un focus più ingegneristico, mentre la Scuola ha un orientamento scientifico.
Uno degli obiettivi della conferenza Hydra è unire gli aspetti scientifici e ingegneristici. Da un lato, questo è raggiunto selezionando i relatori nel programma: insieme a Lamport, Herlihy e Scott, ci sono relatori più applicati come Alex Petrov, che contribuisce a Cassandra, o Roman Elizarov di JetBrains. C'è Martin Kleppmann, che in precedenza ha creato e venduto startup e ora studia CRDT all'Università di Cambridge. Ma il vero punto è che Hydra e SPTDC si tengono fianco a fianco — hanno relazioni diverse, ma un luogo comune per interagire.

Immersione
Cinque giorni di Scuola di seguito rappresentano un evento notevole e un onere significativo, sia per i partecipanti che per gli organizzatori. Non tutti sono riusciti a resistere fino alla fine. Alcuni hanno partecipato contemporaneamente a Hydra e alla Scuola, e per loro gli ultimi giorni sono stati i più intensi. Tutto questo trambusto è compensato da un'immersione incredibilmente profonda. Questo è dovuto non solo al volume, ma anche alla qualità del materiale. Tutte le relazioni e le lezioni di entrambi gli eventi non erano destinate a essere introduttive, quindi ovunque tu vada — ti immergi subito in profondità e non vieni mollato fino alla fine.
Certamente, molto dipende dalla preparazione iniziale del partecipante. C'è stato un momento divertente in cui due gruppi di persone nel corridoio stavano discutendo indipendentemente della presentazione di Heidi Howard: per alcuni sembrava del tutto ordinaria, mentre altri, al contrario, si sono soffermati a riflettere sulla vita. È interessante notare che, secondo l'affermazione di alcuni partecipanti ai comitati di programma che hanno preferito rimanere anonimi, le presentazioni di Hydra e le lezioni della Scuola ai loro eventi avrebbero potuto risultare overqualified. Ad esempio, se un PHP junior è venuto a insegnare sulla vita da una conferenza PHP, sarebbe avventato supporre che possiede conoscenze approfondite sulle complessità di Zend Engine. Qui, i relatori non hanno nutrito i junior a cucchiaiate, ma hanno immediatamente presupposto un certo livello di conoscenze e comprensione. D'altronde, i partecipanti che lavorano con sistemi distribuiti e scrivono i core dei runtime hanno un livello piuttosto alto, ed è logico. A giudicare dalla reazione dei partecipanti, è stato piuttosto facile trovare una presentazione adeguata al proprio livello e tema.
Parlando di relazioni specifiche, tutte erano buone nel loro genere. A giudicare da quello che dicono le persone e da ciò che si evince dai feedback, uno dei discorsi più interessanti alla Scuola è stato di Michael Scott, ha davvero impressionato tutti, con un punteggio anomalo intorno a 4.9.

Metaconferenza
Molto prima dell'inizio di Hydra e della Scuola, Ruslan davano per scontato che ci sarebbe stata una sorta di «metaconferenza» — una conferenza delle conferenze, dove automaticamente, come in un buco nero, si sarebbero aggregati tutti i partecipanti di punta di altri eventi. E così è stato! Ad esempio, tra gli ascoltatori della Scuola è stato notato di DeutscheBank, un noto specialista in programmazione multithreading.

E tra i partecipanti di Hydra sono stati visti () e () della compagnia Odnoklassniki. (Peraltro, Vadim ha anche contribuito a realizzare due ottime interviste con Martin Kleppmann — , e l'altra — per gli spettatori della diretta). C'erano membri , noti relatori come Anatolij Kulakov e Igor Labutin. Tra i programmatori Java c'erano e . Di solito vedi queste persone in posti completamente diversi: sviluppatori .NET a DotNext, programmatori Java a Joker e così via. E ora si trovano fianco a fianco durante le relazioni di Hydra, discutendo insieme le problematiche nei BOF. Quando svanisce questa divisione un po' artificiale in base ai linguaggi di programmazione e alle tecnologie, emergono i tratti del dominio tematico: specialisti in runtime dinamici si scambiano idee con altri esperti di runtime, ricercatori in teoria dei calcoli distribuiti discutono animatamente con altri ricercatori, ingegneri di motori di database occupano in massa la lavagna, e così via.
Alla presentazione Nelle prime file sedevano gli sviluppatori di OpenJDK (almeno, li riconosco di persona, mentre i Pythonisti — no, forse anche loro erano lì). In realtà, in questa presentazione c'è qualcosa di tipicamente shpilëviano... Ori non racconta esattamente la stessa cosa, ma uno sguardo attento può scoprire delle parallele. Anche dopo tutto ciò che è successo negli ultimi standard C++, problemi come i 'valori che sembrano apparire dal nulla' non sono stati risolti, e così si poteva assistere a una tale presentazione e ascoltare come i 'lavoratori dall'altra parte della barricata' cercano di rimediare a questi problemi, come riflettono su di essi; si poteva essere colpiti dagli approcci trovati per la risoluzione (Ori ha una delle soluzioni).
C'erano molti partecipanti ai comitati di programmazione e alle comunità di engine. Tutti affrontavano i loro problemi interconfessionali, costruivano ponti, intrecciavano relazioni. Ne ho approfittato dove potevo, ad esempio, abbiamo concordato di scrivere insieme un articolo completo su attori e asincronicità in C++ con Alexander Borgardt di Insieme a lui, scrivere un articolo completo sugli attori e l'asincronicità in C++.

Nella foto: Leonid Talalaev (, a sinistra) e Oleg Anastasyev (, a destra), sviluppatori leader nella compagnia Odnoklassniki.
Zone di discussione accese e BOF
Alle conferenze ci sono sempre partecipanti che conoscono l'argomento tanto quanto i relatori (e talvolta anche meglio dei relatori, ad esempio quando tra i partecipanti si infiltra uno sviluppatore del kernel di una certa tecnologia). Sulla Hydra c'erano molti di questi partecipanti altamente esperti. Ad un certo punto, intorno ad Alex Petrov, che stava parlando , si è formata così tanta gente che non è riuscito a rispondere a tutti. In un momento, Alex è stato spostato da parte e hanno iniziato a bombardarlo di domande, ma la bandiera cadente è stata raccolta dal noto nel giro degli sviluppatori Rust , che ha bilanciato splendidamente il carico. Quando ho chiesto a Tyler di aiutarmi con un'intervista online, ha chiesto solo: «Quando iniziamo?»

Lo spirito di discussione a volte emergeva anche durante le relazioni: Nikita Koval ha organizzato una sessione di Q&A improvvisata, dividendo la sua relazione in diverse sezioni.
E viceversa, al BOF sulla multithreading hanno ricordato la memoria non volatile, prolungando questo BOF come esperto principale, e lui ha spiegato tutto a tutti (in breve, nel prossimo futuro non ci aspetta nulla di buono dalla memoria non volatile). Uno dei conduttori di questo BOF, tra l'altro, era , che partecipa ai comitati di programma di un numero incredibile di conferenze... sembra che attualmente siano cinque contemporaneamente. Anche al BOF accanto su "Modern CS in real world" abbiamo parlato di NVM e ci siamo arrivati completamente da soli.

Posso condividere un super-insight che anche i partecipanti più diretti potrebbero non aver notato. Eli Gafni ha parlato la sera del primo giorno della Scuola, e il giorno dopo è rimasto per stuzzicare Lamport; da fuori sembrava che fosse un comportamento strano e che Eli fosse un po' fuori di testa. Che fosse un troll pronto a dare del filo da torcere a Leslie. In realtà, il fatto è che sono quasi migliori amici, si conoscono da molti anni, e queste sono solo piccole prese in giro amichevoli. Quindi la battuta ha funzionato: tutti intorno ci sono cascati e l'hanno presa per oro colato.

Voglio sottolineare quanto amore e impegno hanno messo in questo i relatori. Qualcuno è rimasto nella zona di discussione fino all'ultimo, quasi per ore. Era già finita la pausa, è iniziata la presentazione, è finita, è iniziata un'altra pausa — mentre continuava a rispondere alle domande. Anche a me è successa una storia interessante: sorprendendo Cliff Click, non solo ho ricevuto una spiegazione chiara e sensata di quella provocatoria discussione sull'assenza di test , ma ho anche avuto una panoramica completa del suo . Non l'ho mai chiesto: ho semplicemente chiesto cosa si potesse leggere su AA (si è rivelato che si può ascoltare ), e invece Cliff ha speso mezz'ora per parlare del linguaggio e verificare che ciò che aveva detto fosse stato compreso correttamente. Straordinario. Devo scrivere un post su Habr riguardo ad AA. Un'altra esperienza insolita è stata osservare il processo di revisione di una pull request in Kotlin. È davvero una sensazione magica: quando ci si avvicina a diversi gruppi di discussione, a vari relatori, e si immerge in un mondo completamente nuovo. È qualcosa di livello .

Lingua inglese
Hydra 2019 — è la nostra prima conferenza in cui la lingua principale è l'inglese. Questo porta sia vantaggi che sfide. Il vantaggio evidente è che alla conferenza partecipano persone non solo dalla Russia, quindi tra i partecipanti è possibile incontrare ingegneri provenienti dall'Europa e scienziati dall'Inghilterra. I relatori portano con sé i loro discepoli. In generale, relatori importanti hanno molto più incentivo a partecipare a una conferenza di questo tipo. Immaginate di essere un relatore a una conferenza completamente in lingua russa: dopo aver presentato il vostro intervento e partecipato alla sessione di discussione, e poi? Andare in giro per la città e visitare luoghi turistici? In realtà, relatori davvero popolari hanno già visto tutto, non vogliono viaggiare per vedere i leoni marini e i ponti levatoi, si annoiano. Se tutti gli interventi sono in inglese, possono partecipare alla conferenza a pieno titolo, divertirsi, prendere parte alle sessioni di discussione e così via. L'atmosfera è piuttosto amichevole nei confronti dei relatori.

Un chiaro svantaggio è che non tutti si sentono a loro agio a comunicare in inglese. Molti comprendono bene, ma parlano male. Insomma, solite cose, che venivano risolte in modo diverso. Ad esempio, alcune aree di discussione iniziavano in russo, ma passavano immediatamente all'inglese non appena compariva un partecipante anglofono.
Io stesso ho dovuto fare aperture e chiusure delle trasmissioni in diretta esclusivamente in inglese e partecipare a un paio di interviste con esperti registrate. È stata una vera sfida per me, che non dimenticherò facilmente. A un certo punto, Oleg Anastasiev () mi ha semplicemente detto di restare seduto con loro durante l'intervista, e io ho capito troppo lentamente cosa significasse.
D'altra parte, è molto piacevole che le persone abbiano fatto domande durante le presentazioni. Non solo i madrelingua, ma tutti in generale, questo ha funzionato bene. In altre conferenze si vede spesso che le persone esitano a fare domande dal pubblico in un inglese stentato, e possono esprimersi solo nella zona di discussione. Qui non è stato affatto così. Per così dire, Cliff Click terminava le presentazioni un po' prima, e dopo di ciò le domande arrivavano ininterrottamente, la conversazione si spostava nella zona di discussione — senza pause imbarazzanti e interruzioni. Lo stesso vale per la sessione di domande e risposte condotta da Leslie Lamport, dove il moderatore non ha praticamente dovuto porre le proprie domande, tutto è stato elaborato dai partecipanti.
C'erano vari dettagli che pochi notano, ma ci sono. Poiché la conferenza era in inglese, il design di elementi come volantini e mappe era più leggero e conciso. Non c'era bisogno di duplicare le lingue e rendere il design ingombrante.
Sponsor ed esposizione
I nostri sponsor hanno contribuito enormemente alla creazione della conferenza. Grazie a loro, durante le pause c'era sempre qualcosa da fare.
Presso lo stand È stato possibile interagire con ingegneri di sistemi multithreading, risolvere i loro problemi «a mente», vincere premi commemorativi e semplicemente trascorrere del tempo piacevole.

Presso lo stand È stata un'opportunità per discutere dei loro sistemi, sia open che open source: un database distribuito in memoria, un log binario distribuito, un sistema di orchestrazione di microservizi, un trasporto universale per la telemetria e così via. E naturalmente, puzzle e concorsi, adesivi con il gatto binario e il Medioevo Sofferente, regali come il libro di Martin Kleppmann e figurine LEGO.
Si noti che l'analisi dei problemi di Contour è già . L'analisi è buona, vale la pena darle un'occhiata.

Gli interessati potevano acquistare vari libri e discuterne con i colleghi. Durante la sessione di autografi si è formata una vera e propria folla!

Risultati
La conferenza Hydra e la scuola SPTDC sono eventi estremamente significativi per noi come organizzatori e per l'intera comunità. È un'opportunità per dare uno sguardo al nostro futuro, sviluppare un linguaggio comune per discutere questioni attuali e esplorare direzioni interessanti. La multithreading è emersa molto tempo fa, ma dopo l'arrivo del primo vero processore multi-core ci è voluto un decennio affinché questo fenomeno diventasse comune. Ciò che abbiamo ascoltato durante questa settimana nei vari interventi non è solo una notizia passeggera, ma un percorso verso un futuro luminoso che ci guiderà nei prossimi anni. In questo post non ci saranno spoiler sulla prossima Hydra, ma possiamo sperare nel meglio. Se siete interessati a tali argomenti, potrebbe essere utile prestare attenzione ad altri nostri eventi, come le presentazioni hardcore nelle conferenze. o . Ci vediamo alle prossime conferenze!

Fonte: habr.com
