"Zahteva je zamujena": Alexey Fedorov o novi konferenci o porazdeljenih sistemih

"Zahteva je zamujena": Alexey Fedorov o novi konferenci o porazdeljenih sistemih

Nedavno jih je bilo napovedal dva dogodka hkrati o razvoju večnitnih in porazdeljenih sistemov: konferenca Hydra (11.-12. julij) in šol SPTDC (8.-12. julij). Ljudje, ki jim je ta tema blizu, razumejo, da prihajajo v Rusijo Leslie Lamport, Maurice Herlihy и Michael Scott - najpomembnejši dogodek. Pojavila pa so se druga vprašanja:

  • Kaj pričakovati od konference: »akademsko« ali »produkcijsko«?
  • Kako sta povezani šola in konferenca? Komu je to in to namenjeno?
  • Zakaj se datumsko prekrivajo?
  • Bodo koristni tistim, ki niso vsega življenja posvetili porazdeljenim sistemom?

Vse to dobro ve tisti, ki je Hydro oživel: naš direktor Aleksej Fedorov (23derevo). Odgovoril je na vsa vprašanja.

Oblika

— Uvodno vprašanje za tiste, ki so daleč od porazdeljenih sistemov: za kaj gre pri obeh dogodkih?

— Globalni izziv je, da so okoli nas storitve z velikim obsegom operacij in zapletenimi računalniškimi nalogami, ki jih ni mogoče opraviti na enem računalniku. To pomeni, da mora biti več avtomobilov. In potem se pojavijo vprašanja, povezana s tem, kako pravilno sinhronizirati njihovo delo in kaj storiti v pogojih, ki niso najbolj zanesljivi (ker se oprema pokvari in omrežje odpade).

Več kot je strojev, več je točk napake. Kaj storiti, če različni stroji dajejo različne rezultate za iste izračune? Kaj storiti, če omrežje za nekaj časa izgine in del izračunov postane izoliran, kako lahko potem vse združite? Na splošno je s tem povezanih milijon problemov. Nove rešitve - nove težave.

Na tem področju so povsem aplikativna področja, več pa je znanstvenih – nekaj, kar še ni postalo mainstream. Rad bi spregovoril o tem, kaj se dogaja tako v praksi kot v znanosti, predvsem pa na njunem stičišču. O tem bo govorila prva konferenca Hydra.

— Rad bi razumel dejstvo, da obstaja konferenca in obstaja poletna šola. Kako se povezujejo? Če je za udeležence šole popust za udeležbo na konferenci, zakaj se potem prekrivajo v terminih, tako da je nemogoče brez izgube priti na vse naenkrat?

— Šola je komorni dogodek za 100–150 ljudi, kamor prihajajo vodilni strokovnjaki iz vsega sveta in pet dni predavajo. In nastane situacija, ko se v Sankt Peterburgu pet dni zberejo svetilke svetovnega razreda, pripravljene nekaj povedati. In v tem primeru se porodi odločitev, da organiziramo ne samo zbornično šolo, ampak tudi večjo konferenco.

Takšna šola je lahko le poleti, julija, ker so med temi specialisti aktualni univerzitetni profesorji, drugič pa preprosto niso pripravljeni: imajo študente, diplome, predavanja itd. Oblika šole je pet delovnih dni. Znano je, da se poleti ob koncih tedna ljudje radi kam odpravijo. To pomeni, da ne moremo organizirati konference niti konec tedna pred šolo niti konec tedna po šoli.

In če ga podaljšate še nekaj dni pred vikendom ali po njem, se čudežno spremeni pet dni bivanja specialistov v Sankt Peterburgu v devet. In na to niso pripravljeni.

Zato je bila edina rešitev, da smo konferenco preprosto izvedli vzporedno s šolo. Da, to ustvarja nekaj težav. Obstajajo ljudje, ki želijo v šolo in na konferenco, pa bodo morali zamuditi kakšno predavanje tu ali tam. Dobra novica je, da se bo vse to dogajalo v sosednjih dvoranah, lahko tečete sem ter tja. In še ena dobra stvar je dostopnost video posnetkov, v katerih lahko kasneje mirno pogledate, kaj ste zamudili.

— Ko potekata dva dogodka vzporedno, se ljudje vprašajo, katerega potrebujem več? Kaj točno bi morali pričakovati od vsakega in kakšne so razlike?

— Šola je čisto akademski dogodek, večdnevna klasična znanstvena šola. Vsakdo, ki se je ukvarjal z znanostjo in imel kaj opraviti s podiplomskim študijem, ima predstavo o tem, kaj je akademska šola.

"Zahteva je zamujena": Alexey Fedorov o novi konferenci o porazdeljenih sistemih

Običajno takšni akademski dogodki niso zelo dobro organizirani zaradi pomanjkanja strokovnega znanja o dogodkih med ljudmi, ki jih izvajajo. Ampak še vedno smo precej izkušeni fantje, tako da lahko vse opravimo precej kompetentno. Mislim, da bo z organizacijskega vidika SPTDC glava in rame nad katero koli akademsko ali raziskovalno temelječo šolo, ki ste jo kdaj videli.

Šola SPTDC - to je oblika, kjer se vsako veliko predavanje bere v dveh parih: "ura in pol - odmor - ura in pol." Razumeti morate, da morda prvič udeležencu ne bo lahko: ko je bila ta šola prvič pred dvema letoma, sem bil sam nenavaden, večkrat sem se izklopil približno sredi dvojnega predavanja in takrat je bilo težko razumeti, kaj se dogaja. Je pa to zelo odvisno od predavatelja: dober predavatelj zelo zanimivo govori vse tri ure.

Hydra konferenca - bolj praktičen dogodek. Na Šolo bo prišlo več svetilnikov znanosti, ki bodo predavali: od Leslie Lamport, katerega delo je temelj same teorije večnitnih in porazdeljenih sistemov, do Maurice Herlihy, eden od avtorjev znamenitega učbenika o sočasnosti “The Art of Multiprocessor Programming”. Na konferenci pa bomo skušali spregovoriti o tem, kako so določeni algoritmi implementirani v realnost, s kakšnimi težavami se inženirji soočajo v praksi, komu uspe in komu ne uspe, zakaj se nekateri algoritmi v praksi uporabljajo, drugi pa ne. In seveda, pogovorimo se o prihodnosti razvoja večnitnih in porazdeljenih sistemov. Se pravi, dali bomo tako vrhunsko: o čem zdaj govori svetovna znanost, okoli česa se vrtijo misli vodilnih inženirjev in kako se vse skupaj ujema.

— Ker je konferenca bolj aplikativna, ali bodo poleg akademskih svetilnikov tudi govorci iz »produkcije«?

- Vsekakor. Poskušamo pogledati vse "velike": Google, Netflix, Yandex, Odnoklassniki, Facebook. Obstajajo posebne smešne težave. Na primer, vsi pravijo: "Netflix je porazdeljen sistem, skoraj polovica prometa v ZDA, zelo kul," in ko začnete gledati njihova dejanska poročila, članke in publikacije, nastopi rahlo razočaranje. Kajti, čeprav je to vsekakor vrhunsko in je rezka, je tega manj, kot se zdi na prvi pogled.

Pojavi se zanimiva dilema: lahko pokličete predstavnike velikih uglednih podjetij ali pa nekoga, ki ga že poznamo. V resnici strokovno znanje obstaja tako tu kot tam. In raje poskušamo umakniti ne "ljudi iz zelo velikih blagovnih znamk", ampak zelo velike strokovnjake, posebne ljudi.

Na primer, tu bo Martin Kleppmann, ki je nekoč naredil pljusk na LinkedInu in tudi izdal dobra knjiga — morda ena temeljnih knjig na področju porazdeljenih sistemov.

— Če oseba ne dela v Netflixu, ampak v enostavnejšem podjetju, se lahko sprašuje: "Naj grem na takšno konferenco ali pa se različni Netflixi pogovarjajo med seboj, jaz pa nimam kaj početi?"

— Rekel bom takole: ko sem nekaj več kot tri leta delal v Oraclu, sem slišal najbolj neverjetne in zanimive stvari v kuhinji in v kadilnicah, ko so se tam zbrali kolegi, ki so delali določene dele platforme Java. To so lahko ljudje iz virtualnega stroja ali iz oddelka za testiranje ali iz sočasnosti delovanja - na primer Lyosha Shipilev in Seryozha Kuksenko.

Ko so se med seboj začeli o čem pogovarjati, sem jih običajno samo poslušal z odprtimi usti. Zame so bile to neverjetne in nepričakovane stvari, na katere sploh nisem pomislil. Seveda sprva nisem razumel 90% tega, o čem so govorili. Potem je 80% postalo nerazumljivih. Ko sem naredil domačo nalogo in prebral nekaj knjig, je ta številka padla na 70 %. Še vedno ne razumem veliko tega, o čem govorijo med seboj. Toda ko sem sedel v kotu s skodelico kave in prisluškoval, sem začel nekoliko razumeti, kaj se dogaja.

Torej, ko se Google, Netflix, LinkedIn, Odnoklassniki in Yandex pogovarjajo med seboj, to ne pomeni, da je to nekaj nerazumljivega in nezanimivega. Nasprotno, pozorno moramo prisluhniti, saj je to naša prihodnost.

Seveda so ljudje, ki vsega tega ne potrebujejo. Če se ne želite razvijati v tej temi, vam ni treba iti na to konferenco, tam boste samo izgubljali čas. Če pa je tema zanimiva, pa o njej nič ne razumeš ali jo samo gledaš, potem pridi, ker česa takega ne boš nikjer našel. Še več, mislim, da ne samo v Rusiji, ampak tudi v svetu. Trudimo se narediti konferenco, ki ne bo le vodilna na to temo v Rusiji, ampak nasploh številka ena v svetu.

To ni najlažja naloga, a ko imamo tako neverjetno priložnost, da zberemo močne govorce z vsega sveta, sem pripravljen dati veliko, da se to zgodi. Nekateri od tistih, ki smo jih povabili na prvo Hidro, seveda ne bodo mogli priti. Povedal pa bom tole: še nikoli nismo začeli nove konference s tako močno zasedbo. Razen morda prvega JPointa pred šestimi leti.

— Rad bi razširil besede »to je naša prihodnost«: ali bo tema pozneje vplivala na tiste, ki danes o njej ne razmišljajo?

- Ja, prepričan sem. Zato se mi zdi zelo prav, da o tem začnemo razpravljati čim prej. Na primer, teorija večnitnosti se je pojavila precej dolgo nazaj (v 70. letih prejšnjega stoletja je bilo delo objavljeno že v polnem zamahu), vendar so bili dolgo časa za ozke strokovnjake, dokler se ni pojavil prvi uporabniški dvojedrni računalnik. na začetku 10-ih. In zdaj imamo vsi večjedrne strežnike, prenosne računalnike in celo telefone, in to je mainstream. Trajalo je približno XNUMX let, da se je to razširilo, da so ljudje razumeli, da ta diskurz ni stvar ozkega kroga specialistov.

In zdaj vidimo približno isto stvar pri porazdeljenih sistemih. Kajti osnovne rešitve, kot so porazdelitev obremenitve, toleranca napak in podobno, se delajo že precej časa, le malokdo ve, kaj je na primer porazdeljeni konsenz ali Paxos.

Eden najpomembnejših ciljev, ki sem si jih zadal za ta dogodek, je inženirje vedno bolj potopiti v to razpravo. Morate razumeti, da se na konferencah ne razpravlja samo o nekaterih temah in rešitvah, ampak se pojavi tudi tezaver - enoten konceptualni aparat.

Svojo nalogo vidim v tem, da ustvarim platformo, kjer lahko vsi razpravljajo o vsem tem, delijo izkušnje in mnenja. Tako da imava skupno razumevanje o tem, kaj počne en algoritem, kaj počne drugi, kateri je boljši pod kakšnimi pogoji, kako sta povezana drug z drugim itd.

Zelo zanimiva stvar je povezana z isto večnitnostjo. Ko so naši prijatelji iz Oracla (predvsem Lesha Shipilev in Sergey Kuksenko) začeli aktivno govoriti o zmogljivosti in zlasti o večnitnosti, so se dobesedno dve ali tri leta kasneje ta vprašanja začela postavljati na razgovorih v podjetjih, ljudje so o tem začeli razpravljati v kadilnice. To pomeni, da je nekaj, kar je bilo veliko ozkih strokovnjakov, nenadoma postalo mainstream.

In to je zelo pravilno. Zdi se mi, da smo tem fantom pomagali pri popularizaciji celotnega vprašanja, ki je res pomembno, koristno in zanimivo. Če prej nihče ni razmišljal o tem, kako strežnik Java vzporedno obdeluje zahteve, zdaj ljudje vsaj na neki ravni razumejo, kako vse to deluje. In to je super.

Naloga, ki jo vidim zdaj, je narediti približno enako s porazdeljenimi sistemi. Da vsak približno razume, kaj to je, od kod prihaja, kakšne naloge in težave so, da tudi to postane mainstream.

Podjetja imajo ogromno povpraševanja po ljudeh, ki se na to kaj razumejo, in takšnih je malo. Več kot ustvarjamo okoli te vsebine in priložnosti, da se iz nje učimo, več kot dajemo ljudem priložnosti, da postavljajo vprašanja, ki so v zraku, večja je verjetnost, da se bomo nekako premaknili v to smer.

prazgodovina

— Konferenca poteka prvič, vendar za šolo to ni prvič. Kako je vse to nastalo in se razvijalo?

- To je zanimiva zgodba. Pred dvema letoma, maja 2017, smo sedeli v Kijevu z Nikito Koval (ndkoval), strokovnjak na področju večnitnosti. In povedal mi je, da bo v Sankt Peterburgu “Poletna šola iz prakse in teorije sočasnega računalništva”.

Tema večnitnega programiranja je bila v zadnjih treh letih moje inženirske kariere fantastično zanimiva. In potem se je izkazalo, da poleti v Sankt Peterburg prihajajo zelo, zelo znani ljudje, isti Maurice Herlihy in Nir Shavit, po besedah učbenik ki sem jih študiral. In veliko mojih prijateljev je imelo nekaj s tem - na primer Roma Elizarov (elizarov). Spoznal sem, da takšnega dogodka preprosto ne morem zamuditi.

Ko je postalo jasno, da bo program šole 2017 odličen, se je porodila ideja, da bi predavanja vsekakor posneli na video. V skupini JUG.ru smo popolnoma razumeli, kako je treba takšna predavanja snemati. In spadamo v SPTCC kot fantje, ki so posneli video za šolo. Posledično vsa predavanja v šoli laž na našem YouTube kanalu.

Začel sem komunicirati s Petrom Kuznecovom, ki je bil glavni ideolog in organizator te šole, in z Vitalijem Aksenovim, ki je vse to pomagal organizirati v Sankt Peterburgu. Spoznal sem, da je to fantastično kul in zanimivo in verjetno je zelo slabo, da se lahko samo 100 udeležencev dotakne lepote.

Ko je Peter pomislil, da mora ponovno v šolo (leta 2018 ni bilo energije in časa, zato se je odločil za leto 2019), je postalo jasno, da mu lahko pomagamo tako, da mu enostavno odstranimo vse organizacijske stvari. To se zdaj dogaja, Peter se ukvarja z vsebino, mi pa vse ostalo. In to se zdi prava shema: Petra verjetno bolj zanima program kot "kje in kdaj bodo kosili". In dobri smo pri delu z dvoranami, prizorišči itd.

Tokrat se namesto SPTCC šola imenuje SPTDC, ne »sočasno računalništvo«, temveč »razdeljeno računalništvo«. V skladu s tem je približno razlika: zadnjič v šoli niso govorili o porazdeljenih sistemih, tokrat pa bomo o njih aktivno govorili.

— Ker šola ni prvič, lahko iz preteklosti že potegnemo nekaj zaključkov. Kaj se je zgodilo zadnjič?

— Ko je pred dvema letoma nastajala prva šola, se je pričakovalo, da bo tam akademska prireditev, ki bo zanimiva predvsem za študente. Še več, študenti z vsega sveta, ker je šola samo v angleščini in je bilo mišljeno, da bo prišlo precejšnje število tujih študentov.

Pravzaprav se je izkazalo, da veliko inženirjev prihaja iz velikih ruskih podjetij, kot je Yandex. Tam je bil Andrej Pangin (apangin) iz Odnoklassnikov so bili fantje iz JetBrains, ki se aktivno ukvarjajo s to temo. Na splošno je bilo tam veliko znanih obrazov iz naših partnerskih podjetij. Sploh nisem presenečen, popolnoma razumem, zakaj so prišli tja.

Pravzaprav so organizatorji pričakovali, da bodo na šoli akademski ljudje, a nenadoma so prišli ljudje iz industrije in takrat mi je postalo jasno, da v industriji obstaja povpraševanje.

Če je dogodek, ki je bil komaj nikjer promoviran, ob prvem kliku prsta zbral publiko odraslih, pomeni, da zanimanje dejansko obstaja. Zdi se mi, da je zahteva na to temo zamujena.

"Zahteva je zamujena": Alexey Fedorov o novi konferenci o porazdeljenih sistemih
Maurice Herlihy na srečanju JUG.ru

— Maurice Herlihy je poleg šole leta 2017 govoril v Sankt Peterburgu na srečanju JUG.ru, povedal o transakcijskem pomnilniku, in to je malo bližje konferenčnemu formatu. Kdo je potem prišel - isti ljudje, ki običajno prihajajo na srečanja JUG.ru, ali drugo občinstvo?

— Bilo je zanimivo, ker smo razumeli, da bo imel Maurice splošno poročilo, ne specifičnega za Javo, in objavili smo nekoliko širše, kot običajno za naše naročnike na novice JUG.

Veliko ljudi, ki jih poznam, je prišlo iz skupnosti, ki se sploh ne ukvarjajo z Javo: iz množice .NET, iz množice JavaScripta. Ker se tema transakcijskega pomnilnika ne navezuje na specifično razvojno tehnologijo. Ko pride specialist svetovnega razreda, da bi govoril o transakcijskem spominu, je zamuditi priložnost, da bi takšno osebo poslušal in ji zastavil vprašanja, preprosto zločin. Prav močan vtis naredi, ko oseba, po čigar knjigi študiraš, pride k tebi in ti nekaj pove. Preprosto fantastično.

— In kakšne so bile povratne informacije kot rezultat? Je bil pristop preveč akademski in nerazumljiv za ljudi v industriji?

— Ocene Herlihyjevega poročila so bile dobre. Pisalo se je, da je zelo preprosto in jasno povedal, česar se od akademskega profesorja ne pričakuje. Moramo pa razumeti, da smo ga povabili z razlogom, gre za svetovno znanega specialista z bogatimi govorniškimi izkušnjami in kopico knjig in člankov. In verjetno je postal slaven na več načinov zaradi svoje sposobnosti prenašanja materiala ljudem. Zato to ni presenetljivo.

Govori normalno, razumljivo angleško in seveda odlično razume, o čem govori. To pomeni, da mu lahko postavite popolnoma vsa vprašanja. V bistvu so se ljudje pritoževali, da smo Mauriceu dali premalo časa za poročilo: dve uri nista dovolj za kaj takega, potrebni sta vsaj še dve. No, v dveh urah nam je uspelo narediti, kar nam je uspelo.

Motivacija

— Običajno se skupina JUG.ru ukvarja z velikimi dogodki, vendar se ta tema zdi bolj specializirana. Zakaj ste se odločili za to? Ali obstaja pripravljenost za manjšo prireditev ali se lahko na takšni temi zbere veliko gledalcev?

— Res, ko narediš dogodek in postaviš neko raven razprave, se vedno pojavi vprašanje, kako razširjena je ta razprava. Koliko ljudi - deset, sto ali tisoč - to zanima? Obstaja kompromis med maso in globino. To je povsem običajno vprašanje in vsak ga rešuje drugače.

V tem primeru želim narediti dogodek "zase". Še vedno nekaj razumem o večnitnosti (o tej temi sem predaval na konferencah in večkrat nekaj povedal študentom), vendar sem novinec, ko gre za porazdeljene sisteme: prebral sem nekaj člankov in videl več predavanj, vendar ne celo eno samo polnopravno knjigo preberi.

Imamo programski odbor, ki ga sestavljajo strokovnjaki s tega področja, ki lahko ocenijo točnost poročil. In kar se mene tiče, se trudim, da bi bil ta dogodek tisti, ki bi ga zaradi svojega pomanjkanja strokovnega znanja želel obiskati. Ali bo mogoče zanimati množično javnost, ne vem. To v tej fazi verjetno ni najpomembnejša naloga tega dogodka. Zdaj je bolj pomembno ustvariti najmočnejši program v kratkem času.

Verjetno zdaj ekipi nisem zadal naloge, da "prvič zberem tisoč ljudi", ampak "da se konferenca pojavi." Morda se to ne sliši zelo poslovno in nekoliko naivno, čeprav nisem nikakršen altruist. Si pa včasih lahko dovolim kakšno svobodo.

So stvari, ki so pomembnejše od denarja in onkraj denarja. Izvajamo že veliko kul velikih dogodkov za tisoč ljudi ali več. Naše Java konference že zdavnaj presegajo tisoč ljudi, zdaj pa to mejo skačejo tudi drugi dogodki. Se pravi, vprašanje, da smo postali izkušeni in znani organizatorji, ni več vredno. In verjetno nam to, kar zaslužimo s temi dogodki, daje možnost, da ponovno investiramo v tisto, kar je zanimivo za nas in v tem primeru zame osebno.

S tem dogodkom sem v nasprotju z nekaterimi načeli naše organizacije. Konference se na primer običajno trudimo pripraviti zelo vnaprej, zdaj pa imamo zelo tesne roke in program dokončno oblikujemo le mesec dni pred samim dogodkom.

In ta dogodek bo 70-80% angleškega jezika. Tudi tu se vedno pojavi razprava o tem, ali moramo biti bližje ljudem (ki bolje razumejo, da je večina poročil v ruščini) ali vsemu svetu (ker je tehnični svet angleško govoreč). Običajno poskušamo narediti veliko poročil v ruščini. Ampak ne v tem trenutku.

Poleg tega bomo nekaj naših rusko govorečih prosili, naj govorijo v angleščini. To je v nekem smislu absolutno protiuporabniški in nehumani pristop. Vendar moramo razumeti, da trenutno ni literature v ruskem jeziku o tej temi in vsak, ki ga to sploh zanima, je prisiljen brati v angleščini. To pomeni, da nekako razume angleško. Če je pri JavaScriptu, Javi ali .NET veliko ljudi, ki ne znajo dobro angleško, hkrati pa znajo dobro programirati, potem so najbrž porazdeljeni sistemi področje, na katerem drugega preprosto ni. način za učenje zdaj.

Resnično želim izvesti ta eksperiment: kako bo 70-80% dogodek v angleškem jeziku zaznala javnost v Rusiji. Bo prišlo ali ne? Tega ne vemo vnaprej, ker tega še nikoli nismo počeli. Toda zakaj tega ne bi storili? Recimo takole: to je en velik eksperiment, ki si ga enostavno ne morem kaj, da ne bi poskusil.

SPTDC šolski program je že objavljeno v celoti, v primeru Hydre pa že znano opazen del, kmalu pa bomo objavili analizo celotnega programa konference.

Vir: www.habr.com

Dodaj komentar