„Solicitarea este întârziată”: Alexey Fedorov despre o nouă conferință despre sistemele distribuite

„Solicitarea este întârziată”: Alexey Fedorov despre o nouă conferință despre sistemele distribuite

Recent au fost a anunţat două evenimente simultan despre dezvoltarea sistemelor multi-threaded și distribuite: o conferință hidră (11-12 iulie) și școală SPTDC (8-12 iulie). Oamenii care sunt aproape de acest subiect înțeleg că venirea în Rusia Leslie Lampport, Maurice Herlihy и Michael Scott - cel mai important eveniment. Dar au apărut și alte întrebări:

  • La ce să vă așteptați de la conferință: „academic” sau „producție”?
  • Cum sunt legate școala și conferința? Cui i se adresează asta și aia?
  • De ce se suprapun în date?
  • Vor fi de folos celor care nu și-au dedicat întreaga viață sistemelor distribuite?

Toate acestea sunt bine cunoscute de persoana care a adus la viață Hydra: directorul nostru Alexei Fedorov (23derevo). El a răspuns la toate întrebările.

Format

— O întrebare introductivă pentru cei care sunt departe de sistemele distribuite: despre ce sunt ambele evenimente?

— Provocarea globală este că în jurul nostru există servicii cu volume mari de operațiuni și sarcini de calcul complexe care nu pot fi realizate pe un singur computer. Aceasta înseamnă că trebuie să existe mai multe mașini. Și atunci apar întrebări legate de cum să-și sincronizeze corect munca și ce să facă în condiții de nu cea mai mare fiabilitate (pentru că echipamentul se defectează și rețeaua se destramă).

Cu cât sunt mai multe mașini, cu atât sunt mai multe puncte de defecțiune. Ce să faci dacă mașini diferite produc rezultate diferite pentru aceleași calcule? Ce să faci dacă rețeaua dispare de ceva timp și o parte din calcule devine izolată, cum poți apoi să le combini pe toate? În general, există un milion de probleme asociate cu asta. Noi soluții - noi probleme.

În acest domeniu există domenii complet aplicate, și sunt mai multe științifice – ceva care nu a devenit încă mainstream. Aș dori să vorbesc despre ceea ce se întâmplă atât în ​​practică, cât și în știință și, cel mai important, la intersecția lor. Despre aceasta va fi prima conferință Hydra.

— Aș vrea să înțeleg faptul că există o conferință și există o școală de vară. Cum se raportează? Dacă se face o reducere pentru participanții la școală pentru a participa la conferință, atunci de ce se suprapun în date, astfel încât este imposibil să participi la toate odată fără pierderi?

— Școala este un eveniment cameral pentru 100–150 de persoane, unde experți de top din întreaga lume vin și susțin prelegeri timp de cinci zile. Și apare o situație când luminate de talie mondială se adună la Sankt Petersburg timp de cinci zile, gata să spună ceva. Și în acest caz, apare decizia de a organiza nu doar o școală de cameră, ci și o conferință la scară mai largă.

Este posibil să se țină o astfel de școală doar vara, în iulie, pentru că printre acești specialiști se numără actuali profesori universitari și pur și simplu nu sunt pregătiți oricând: au studenți, diplome, prelegeri și așa mai departe. Formatul școlii este de cinci zile lucrătoare. Se știe că vara în weekend oamenilor le place să meargă undeva. Aceasta înseamnă că nu putem ține o conferință nici în weekendul înainte de școală, nici în weekendul după școală.

Și dacă îl prelungiți cu încă câteva zile înainte sau după weekend, atunci, în mod magic, cele cinci zile de ședere a specialiștilor la Sankt Petersburg se transformă în nouă. Și nu sunt pregătiți pentru asta.

Prin urmare, singura soluție pe care am găsit-o a fost pur și simplu să ținem conferința în paralel cu școala. Da, asta creează unele probleme. Sunt oameni care vor să meargă la școală și la o conferință și vor trebui să rateze niște prelegeri aici sau colo. Vestea bună este că toate acestea se vor desfășura în sălile învecinate, puteți alerga înainte și înapoi. Și un alt lucru bun este disponibilitatea înregistrărilor video, în care ulterior poți urmări cu calm ceea ce ai ratat.

— Când două evenimente au loc în paralel, oamenii au întrebarea „de care am nevoie mai mult?” La ce anume ar trebui să vă așteptați de la fiecare și care sunt diferențele?

— Școala este un eveniment pur academic, o școală științifică clasică de câteva zile. Oricine a fost implicat în știință și a avut ceva de-a face cu școala absolventă are o idee despre ce este o școală academică.

„Solicitarea este întârziată”: Alexey Fedorov despre o nouă conferință despre sistemele distribuite

De obicei, astfel de evenimente academice nu sunt foarte bine organizate din cauza lipsei de expertiză a evenimentelor în rândul persoanelor care le fac. Dar suntem încă băieți destul de experimentați, așa că putem face totul destul de competent. Cred că, din punct de vedere organizațional, SPTDC va fi cap și umeri deasupra oricărei școli academice sau bazate pe cercetare pe care ați văzut-o vreodată.

Şcoala SPTDC - acesta este un format în care fiecare prelegere mare este citită în două perechi: „o oră și jumătate - o pauză - o oră și jumătate”. Trebuie să înțelegeți că poate să nu fie ușor pentru un participant pentru prima dată: când această școală a avut loc pentru prima dată acum doi ani, eu însumi eram neobișnuit, m-am oprit de mai multe ori aproximativ în mijlocul unei prelegeri duble și atunci era greu de înțeles ce se întâmplă. Dar asta depinde foarte mult de lector: un lector bun vorbește foarte interesant pentru toate cele trei ore.

Conferința Hydra - un eveniment mai practic. Vor fi mai mulți luminari ai științei care au venit să preleze la Școală: din Leslie Lampport, a cărui activitate stă la baza însăși teoria sistemelor multi-threaded și distribuite, să Maurice Herlihy, unul dintre autorii celebrului manual despre concurență „Arta programării multiprocesor”. Dar la conferință vom încerca să vorbim despre modul în care anumiți algoritmi sunt implementați în realitate, cu ce probleme se confruntă inginerii în practică, cine reușește și eșuează, de ce unii algoritmi sunt folosiți în practică și alții nu. Și, desigur, să vorbim despre viitorul dezvoltării sistemelor multi-threaded și distribuite. Adică, vom oferi o astfel de avangardă: despre ce vorbește știința mondială acum, despre ce se învârte gândurile inginerilor de frunte și cum se potrivește toate.

— Întrucât conferința este mai aplicată, nu vor fi doar luminate academice, ci și vorbitori din „producție”?

- Categoric. Încercăm să ne uităm la toate „cele mari”: Google, Netflix, Yandex, Odnoklassniki, Facebook. Există probleme specifice amuzante. De exemplu, toată lumea spune: „Netflix este un sistem distribuit, aproape jumătate din traficul din SUA, foarte tare”, iar când începi să te uiți la rapoartele, articolele și publicațiile lor reale, apare o ușoară dezamăgire. Pentru că, deși acesta este cu siguranță de clasă mondială și există egde de tăiere, există mai puțin decât pare la prima vedere.

Apare o dilemă interesantă: puteți apela reprezentanții marilor companii eminente sau puteți apela pe cineva deja cunoscut de noi. În realitate, expertiza există atât aici, cât și acolo. Și mai degrabă încercăm să scoatem nu „oameni de la mărci foarte mari”, ci specialiști foarte mari, oameni anumiți.

De exemplu, va fi Martin Kleppmann, care la un moment dat a făcut furori pe LinkedIn și, de asemenea, a lansat carte buna — poate una dintre cărțile de bază în domeniul sistemelor distribuite.

— Dacă o persoană lucrează nu la Netflix, ci la o companie mai simplă, s-ar putea să se întrebe: „Ar trebui să merg la o astfel de conferință sau există tot felul de Netflix-uri care vorbesc între ei, dar nu am nimic de făcut?”

— O să spun asta: când am lucrat la Oracle puțin peste trei ani, am auzit cele mai uimitoare și interesante lucruri în bucătărie și în sălile de fumat, când colegii se adunau acolo făcând anumite părți ale platformei Java. Aceștia ar putea fi oameni din mașina virtuală sau din departamentul de testare sau din concurența performanței - de exemplu, Lyosha Shipilev și Seryozha Kuksenko.

Când începeau să discute ceva între ei, de obicei ascultam cu gura căscată. Pentru mine acestea au fost lucruri uimitoare și neașteptate la care nici măcar nu mă gândisem. Desigur, la început nu am înțeles 90% din ceea ce vorbeau. Apoi 80% au devenit de neînțeles. Și după ce mi-am făcut temele și am citit câteva cărți, acest număr a scăzut la 70%. Încă nu înțeleg multe despre ce vorbesc între ei. Dar în timp ce stăteam în colț cu o ceașcă de cafea și ascult cu urechea, am început să înțeleg puțin ce se întâmplă.

Prin urmare, atunci când Google, Netflix, LinkedIn, Odnoklassniki și Yandex vorbesc între ele, asta nu înseamnă că este ceva de neînțeles și neinteresant. Dimpotrivă, trebuie să ascultăm cu atenție, pentru că acesta este viitorul nostru.

Desigur, există oameni care nu au nevoie de toate acestea. Dacă nu vrei să te dezvolți în acest subiect, nu trebuie să mergi la această conferință, doar vei pierde timpul acolo. Dar dacă subiectul este interesant, dar nu înțelegi nimic despre el sau doar te uiți la el, atunci ar trebui să vii, pentru că nu vei găsi nimic asemănător nicăieri. Mai mult, cred că nu numai în Rusia, ci și în lume. Încercăm să organizăm o conferință care nu va fi doar lider pe această temă în Rusia, ci în general numărul unu în lume.

Aceasta nu este cea mai ușoară sarcină, dar atunci când avem o șansă atât de uimitoare de a aduna vorbitori puternici din întreaga lume, sunt dispus să dau multe pentru ca acest lucru să se întâmple. Desigur, unii dintre cei pe care i-am invitat la prima Hydra nu vor putea veni. Dar voi spune acest lucru: nu am început niciodată o nouă conferință cu o formație atât de puternică. Cu excepția, poate, a primului JPoint de acum șase ani.

— Aș dori să extind cuvintele „acesta este viitorul nostru”: subiectul îi va afecta mai târziu pe cei care nu se gândesc la asta astăzi?

- Da, sunt sigur de asta. Prin urmare, mi se pare foarte corect să încep să discutăm cât mai repede posibil. De exemplu, teoria multithreading-ului a apărut cu destul de mult timp în urmă (în anii 70, lucrările erau deja publicate în plină desfășurare), dar multă vreme ei au fost mulțimea specialiștilor îngusti, până când a apărut primul computer dual-core utilizator. la începutul anilor 10. Și acum toți avem servere multi-core, laptopuri și chiar telefoane, iar acesta este curentul principal. A fost nevoie de aproximativ XNUMX ani pentru ca acest lucru să se răspândească, pentru ca oamenii să înțeleagă că acest discurs nu este domeniul unui cerc restrâns de specialiști.

Și acum vedem aproximativ același lucru cu sistemele distribuite. Pentru că soluții de bază precum distribuția sarcinii, toleranța la erori și altele asemenea au fost făcute de destul de mult timp, dar foarte puțini oameni știu ce este, de exemplu, consensul distribuit sau Paxos.

Unul dintre cele mai importante obiective pe care mi le-am propus pentru acest eveniment este acela de a cufunda din ce în ce mai mult inginerii în această discuție. Trebuie să înțelegeți că la conferințe unele subiecte și soluții nu sunt doar discutate, ci apare și un tezaur - un aparat conceptual unificat.

Consider că este sarcina mea să creez o platformă în care toată lumea să poată discuta toate acestea, să împărtășească experiențe și opinii. Pentru ca tu și cu mine să înțelegem ce face un algoritm, ce face altul, care este mai bine în ce condiții, cum sunt relaționați unul cu celălalt și așa mai departe.

Un lucru foarte interesant este legat de același multithreading. Când prietenii noștri de la Oracle (în primul rând Lesha Shipilev și Sergey Kuksenko) au început să vorbească activ despre performanță și, în special, despre multithreading, literalmente doi sau trei ani mai târziu, aceste întrebări au început să fie puse la interviurile la companii, oamenii au început să discute despre asta în camere pentru fumători. Adică, un lucru care era mulțimea specialiștilor îngusti a devenit dintr-o dată mainstream.

Și asta este foarte corect. Mi se pare că i-am ajutat pe acești tipi să popularizeze toată această problemă, care este cu adevărat importantă, utilă și interesantă. Dacă înainte nimeni nu se gândea la modul în care un server Java procesează cererile în paralel, acum oamenii au cel puțin la un anumit nivel o înțelegere a modului în care funcționează totul. Și asta este grozav.

Sarcina pe care o văd acum este să fac aproximativ același lucru cu sistemele distribuite. Pentru ca toată lumea să înțeleagă aproximativ ce este, de unde vine, ce sarcini și probleme există, astfel încât și asta să devină mainstream.

Companiile au o cerere uriașă pentru oameni care înțeleg ceva despre asta și sunt puțini astfel de oameni. Cu cât creăm mai mult în jurul acestui conținut și oportunitatea de a învăța din el, cu atât le oferim oamenilor mai multe oportunități de a pune întrebări care sunt în aer, cu atât avem mai multe șanse să ne mișcăm cumva în această direcție.

preistorie

— Conferința are loc pentru prima dată, dar nu este prima dată pentru școală. Cum au apărut și s-au dezvoltat toate acestea?

- Aceasta este o poveste interesantă. Acum doi ani, în mai 2017, am stat la Kiev cu Nikita Koval (ndkoval), un expert în domeniul multithreading-ului. Și mi-a spus că va avea loc la Sankt Petersburg „Școala de vară în practică și teoria calculului concurent”.

Subiectul programării multithreaded a fost unul fantastic de interesant în ultimii trei ani ai carierei mele de inginer. Și apoi s-a dovedit că vara vin oameni foarte, foarte renumiți la Sankt Petersburg, aceiași Maurice Herlihy și Nir Shavit, conform spuselor. manual pe care l-am studiat. Și mulți dintre prietenii mei au avut ceva de-a face cu asta - de exemplu, Roma Elizarov (elizarov). Mi-am dat seama că pur și simplu nu pot rata un astfel de eveniment.

Când a devenit clar că programul școlii pentru 2017 va fi grozav, a apărut ideea ca prelegerile să fie cu siguranță înregistrate pe video. Noi, cei de la JUG.ru Group, am avut o înțelegere completă a modului în care ar trebui să fie înregistrate astfel de prelegeri. Și ne încadrăm în SPTCC ca băieții care au făcut un videoclip pentru școală. Ca urmare, toate prelegerile școlare minciună pe canalul nostru de YouTube.

Am început să comunic cu Pyotr Kuznetsov, care a fost principalul ideolog și organizator al acestei școli, și cu Vitali Aksenov, care a ajutat la organizarea tuturor acestor lucruri la Sankt Petersburg. Mi-am dat seama că acest lucru este fantastic de cool și interesant și, probabil, este foarte rău că doar 100 de participanți pot atinge frumusețea.

Când Peter s-a gândit că trebuie să înceapă din nou școala (în 2018 nu era energie și timp, așa că a decis să o facă în 2019), a devenit clar că îl putem ajuta pur și simplu eliminând toate lucrurile organizatorice de la el. Asta se întâmplă acum, Peter se ocupă de conținut, iar noi facem totul. Și aceasta pare a fi schema potrivită: Peter este probabil mai interesat de program decât de „unde și când vor lua toată lumea prânzul”. Și suntem buni să lucrăm cu săli, locuri și așa mai departe.

De data aceasta, în loc de SPTCC, școala se numește SPTDC, nu „concurrent computing”, ci „distributed computing”. În consecință, aceasta este aproximativ diferența: ultima dată la școală nu au vorbit despre sistemele distribuite, dar de data aceasta vom vorbi activ despre ele.

— Întrucât școala nu are loc pentru prima dată, putem trage deja câteva concluzii din trecut. Ce sa întâmplat data trecută?

— Când a fost creată prima școală în urmă cu doi ani, era de așteptat să aibă loc un eveniment academic, de interes în primul rând pentru elevi. Mai mult, elevi din toată lumea, pentru că școala este doar în limba engleză, și s-a crezut că vor veni un număr important de elevi străini.

De fapt, s-a dovedit că o mulțime de ingineri provin de la mari companii rusești precum Yandex. A fost Andrey Pangin (apangin) din Odnoklassniki, au fost băieți de la JetBrains care lucrează activ la acest subiect. În general, au existat multe chipuri cunoscute de la companiile noastre partenere acolo. Nu sunt deloc surprins, înțeleg perfect de ce au venit acolo.

De fapt, organizatorii aveau așteptări că vor fi oameni academicieni la Școală, dar dintr-o dată au venit oameni din industrie și atunci mi-a devenit clar că există cerere în industrie.

Dacă un eveniment care a fost aproape nicăieri promovat, la primul clic al degetului, a adunat un public de adulți, înseamnă că chiar există interes. Mi se pare că o solicitare pe această temă este întârziată.

„Solicitarea este întârziată”: Alexey Fedorov despre o nouă conferință despre sistemele distribuite
Maurice Herlihy la întâlnirea JUG.ru

— Pe lângă școală, Maurice Herlihy a vorbit la Sankt Petersburg la întâlnirea JUG.ru din 2017, după ce a spus despre memoria tranzacțională, iar aceasta este puțin mai aproape de formatul conferinței. Cine a venit atunci - aceiași oameni care vin de obicei la întâlnirile JUG.ru, sau un alt public?

— A fost interesant pentru că am înțeles că Maurice va avea un raport general, nu unul specific Java și am făcut un anunț puțin mai amplu decât facem de obicei pentru abonații noștri de știri JUG.

Mulți oameni pe care îi cunosc provin din comunități care nu sunt deloc despre Java: din mulțimea .NET, din mulțimea JavaScript. Deoarece subiectul memoriei tranzacționale nu are legătură cu o anumită tehnologie de dezvoltare. Când un specialist de talie mondială vine să vorbească despre memoria tranzacțională, ratarea oportunității de a asculta o astfel de persoană și de a-i pune întrebări este pur și simplu o crimă. Face o impresie puternică atunci când persoana de la care studiezi cartea vine la tine și îți spune ceva. Pur și simplu fantastic.

— Și care a fost feedbackul ca rezultat? A fost abordarea prea academică și de neînțeles pentru oamenii din industrie?

— Recenziile raportului lui Herlihy au fost bune. Oamenii au scris că a spus foarte simplu și clar ceea ce nu se aștepta de la un profesor universitar. Dar trebuie să înțelegem că l-am invitat cu un motiv, este un specialist de renume mondial, cu o vastă experiență în vorbire și un background dintr-o grămadă de cărți și articole. Și, probabil, a devenit celebru în multe feluri datorită capacității sale de a transmite material oamenilor. Prin urmare, acest lucru nu este surprinzător.

Vorbește o engleză normală, ușor de înțeles și, desigur, înțelege foarte bine despre ce vorbește. Adică îi poți adresa absolut orice întrebări. Practic, oamenii s-au plâns că i-am dat lui Maurice prea puțin timp pentru raportul său: două ore nu sunt suficiente pentru așa ceva, mai sunt necesare cel puțin două. Ei bine, am reușit să facem ceea ce am reușit în două ore.

Motivație

— De obicei, JUG.ru Group se ocupă de evenimente de amploare, dar acest subiect pare mai specializat. De ce te-ai hotărât să-l asumi? Există dorința de a organiza un eveniment mai mic sau se pot aduna mulți spectatori pe o astfel de temă?

— Într-adevăr, atunci când organizezi un eveniment și stabilești un anumit nivel de discuție, întotdeauna se pune întrebarea cât de răspândită este această discuție. Câți oameni - zece, o sută sau o mie - sunt interesați de asta? Există un compromis între masă și adâncime. Aceasta este o întrebare complet normală și fiecare o rezolvă diferit.

În acest caz, vreau să fac evenimentul „pentru mine”. Încă înțeleg ceva despre multithreading (am ținut prelegeri pe această temă la conferințe și le-am spus ceva studenților de mai multe ori), dar sunt novice când vine vorba de sistemele distribuite: am citit câteva articole și am văzut câteva prelegeri, dar nu chiar și o singură carte cu drepturi depline a citit-o.

Avem un comitet de program format din experți în domeniu care pot evalua acuratețea rapoartelor. Și din partea mea, încerc să fac din acest eveniment unul la care eu, din lipsa mea de expertiză, aș vrea să merg. Dacă va fi posibil să intereseze publicul de masă, nu știu. Aceasta nu este probabil cea mai importantă sarcină a acestui eveniment în această etapă. Acum este mai important să creezi cel mai puternic program într-un timp scurt.

Probabil că acum am stabilit echipei nu sarcina de a „strânge o mie de oameni prima dată”, ci „de a face conferința să apară”. Acest lucru poate să nu sune foarte business și oarecum naiv, deși nu sunt deloc un altruist. Dar uneori îmi pot permite niște libertăți.

Sunt lucruri mai importante decât banii și dincolo de bani. Facem deja un număr mare de evenimente interesante la scară largă pentru o mie de oameni sau mai mult. Conferințele noastre Java au depășit de mult o mie de persoane, iar acum alte evenimente trec peste acest bar. Adică întrebarea că am devenit organizatori experimentați și celebri nu mai merită. Și, probabil, ceea ce câștigăm din aceste evenimente ne oferă posibilitatea de a reinvesti în ceea ce este interesant pentru noi, și în acest caz, pentru mine personal.

Făcând acest eveniment, merg împotriva unora dintre principiile organizației noastre. De exemplu, de obicei încercăm să pregătim conferințe cu mult timp în avans, dar acum avem termene limită foarte strânse și finalizăm programul cu doar o lună înainte de evenimentul în sine.

Și acest eveniment va fi 70-80% în limba engleză. Și aici apare mereu o discuție dacă trebuie să fim mai aproape de oameni (care înțeleg mai bine atunci când majoritatea rapoartelor sunt în rusă) sau de întreaga lume (pentru că lumea tehnică este vorbitoare de engleză). De obicei încercăm să facem o mulțime de reportaje în rusă. Dar nu în acest moment.

Mai mult, vom cere și unora dintre vorbitorii noștri vorbitori de limbă rusă să vorbească în engleză. Aceasta este, într-un fel, o abordare absolut anti-utilizator și inumană. Dar trebuie să înțelegem că în prezent nu există literatură în limba rusă pe această temă și orice persoană care este deloc interesată de acest lucru este obligată să citească în engleză. Aceasta înseamnă că el este cumva capabil să înțeleagă engleza. Dacă în cazul JavaScript, Java sau .NET există o mulțime de oameni care nu știu foarte bine limba engleză, dar în același timp pot programa bine, atunci, probabil, sistemele distribuite sunt un domeniu în care pur și simplu nu există alte mod de a învăța acum.

Îmi doresc foarte mult să conduc acest experiment: cum va fi perceput de publicul din Rusia un eveniment în limba engleză în proporție de 70–80%. Va intra sau nu? Nu știm asta dinainte pentru că nu am făcut asta niciodată. Dar de ce să nu o faci? Să spunem că acesta este un experiment mare pe care nu mă pot abține să nu îl încerc.

Programul școlar SPTDC este deja publicat în întregime, iar în cazul Hydra deja cunoscut o parte notabilă, iar în curând vom publica o analiză a întregului program al conferinței.

Sursa: www.habr.com

Adauga un comentariu