"Anmodningen er forsinket": Alexey Fedorov om en ny konference om distribuerede systemer

"Anmodningen er forsinket": Alexey Fedorov om en ny konference om distribuerede systemer

For nylig var der annonceret to arrangementer på én gang om udvikling af multi-threaded og distribuerede systemer: en konference Hydra (11.-12. juli) og skole SPTDC (8.-12. juli). Folk, der er tæt på dette emne, forstår, at de kommer til Rusland Leslie Lamport, Maurice Herlihy и Michael Scott - den vigtigste begivenhed. Men andre spørgsmål opstod:

  • Hvad kan man forvente af konferencen: "akademisk" eller "produktion"?
  • Hvordan hænger skolen og konferencen sammen? Hvem er det og det rettet mod?
  • Hvorfor overlapper de i datoer?
  • Vil de være nyttige for dem, der ikke har dedikeret hele deres liv til distribuerede systemer?

Alt dette er velkendt for den person, der bragte Hydra til live: vores direktør Alexey Fedorov (23derevo). Han besvarede alle spørgsmålene.

Format

— Et indledende spørgsmål til dem, der er langt fra distribuerede systemer: hvad handler begge begivenheder om?

— Den globale udfordring er, at der omkring os er tjenester med store mængder af operationer og komplekse computeropgaver, som ikke kan udføres på én computer. Det betyder, at der skal være flere biler. Og så opstår der spørgsmål relateret til, hvordan man korrekt synkroniserer deres arbejde, og hvad man skal gøre under forhold med ikke den højeste pålidelighed (fordi udstyret går i stykker, og netværket falder af).

Jo flere maskiner der er, jo flere fejlpunkter er der. Hvad skal man gøre, hvis forskellige maskiner giver forskellige resultater for de samme beregninger? Hvad skal man gøre, hvis netværket forsvinder i nogen tid, og en del af beregningerne bliver isoleret, hvordan kan man så kombinere det hele? Generelt er der en million problemer forbundet med dette. Nye løsninger - nye problemer.

På dette område er der helt anvendte områder, og der er flere videnskabelige – noget der endnu ikke er blevet mainstream. Jeg vil gerne tale om, hvad der sker både i praksis og i videnskaben, og vigtigst af alt, i deres knudepunkt. Det er, hvad den første Hydra-konference kommer til at handle om.

— Jeg vil gerne forstå, at der er en konference, og der er en sommerskole. Hvordan hænger de sammen? Hvis der gives rabat for skoledeltagere for at deltage i konferencen, hvorfor overlapper de så i datoer, så det er umuligt at deltage i alt på én gang uden tab?

— Skolen er et kammerarrangement for 100–150 personer, hvor førende eksperter fra hele verden kommer og holder foredrag i fem dage. Og der opstår en situation, når lysfolk i verdensklasse samles i Sankt Petersborg i fem dage, klar til at fortælle noget. Og i dette tilfælde opstår beslutningen om ikke kun at organisere en kammerskole, men også en større konference.

Det er kun muligt at holde en sådan skole om sommeren, i juli, fordi der blandt disse specialister er nuværende universitetsprofessorer, og de er simpelthen ikke klar på noget andet tidspunkt: de har studerende, eksamensbeviser, forelæsninger og så videre. Skoleformen er fem hverdage. Det er kendt, at folk om sommeren i weekenden kan lide at gå et sted hen. Det betyder, at vi hverken kan holde konference i weekenden før skole eller i weekenden efter skole.

Og hvis du forlænger det et par dage mere før eller efter weekenden, så bliver de fem dages specialistophold i St. Petersborg på magisk vis til ni. Og det er de ikke klar til.

Derfor var den eneste løsning, vi fandt, blot at holde konferencen sideløbende med skolen. Ja, det skaber nogle problemer. Der er folk, der gerne vil i skole og til en konference, og de bliver nødt til at misse nogle foredrag her eller der. Den gode nyhed er, at alt dette vil foregå i nabohaller, du kan løbe frem og tilbage. Og en anden god ting er tilgængeligheden af ​​videooptagelser, hvor du senere roligt kan se, hvad du gik glip af.

- Når to begivenheder finder sted parallelt, har folk spørgsmålet "hvilken en har jeg brug for mere?" Hvad præcist skal du forvente af hver enkelt, og hvad er forskellene?

— Skolen er en rent akademisk begivenhed, en klassisk videnskabelig skole i flere dage. Enhver, der har været involveret i naturvidenskab og haft noget med efterskole at gøre, har en idé om, hvad en akademisk skole er.

"Anmodningen er forsinket": Alexey Fedorov om en ny konference om distribuerede systemer

Normalt er sådanne akademiske arrangementer ikke særlig godt organiseret på grund af manglen på begivenhedsekspertise blandt de mennesker, der gør det. Men vi er stadig ret erfarne fyre, så vi kan alting ret kompetent. Jeg tror, ​​at fra et organisatorisk synspunkt vil SPTDC være hoved og skuldre over enhver akademisk eller forskningsbaseret skole, du nogensinde har set.

SPTDC skole - dette er et format, hvor hvert stort foredrag læses i to par: "halvanden time - en pause - halvanden time." Du må forstå, at det måske ikke er let for en deltager for første gang: Da denne skole blev afholdt for første gang for to år siden, var jeg selv usædvanlig, jeg slukkede flere gange cirka midt i en dobbeltforelæsning, og så var det svært at forstå, hvad der skete. Men det afhænger meget af underviseren: en god underviser taler meget interessant i alle tre timer.

Hydra konference - et mere praktisk arrangement. Der vil være flere naturvidenskabelige koryfæer, der er kommet for at holde foredrag på Skolen: fra Leslie Lamport, hvis arbejde ligger til grund for selve teorien om flertrådede og distribuerede systemer, til Maurice Herlihy, en af ​​forfatterne til den berømte lærebog om samtidighed "The Art of Multiprocessor Programming". Men på konferencen vil vi forsøge at tale om, hvordan visse algoritmer implementeres i virkeligheden, hvilke problemer ingeniører står over for i praksis, hvem der lykkes og fejler, hvorfor nogle algoritmer bruges i praksis og andre ikke. Og selvfølgelig, lad os tale om fremtiden for udvikling af multi-threaded og distribuerede systemer. Det vil sige, vi vil give sådan en forkant: hvilken verden videnskaben taler om nu, hvad tankerne hos førende ingeniører kredser om, og hvordan det hele hænger sammen.

— Da konferencen er mere anvendt, vil der så ikke kun være akademiske koryfæer, men også talere fra "produktion"?

- Helt bestemt. Vi forsøger at se på alle de "store": Google, Netflix, Yandex, Odnoklassniki, Facebook. Der er specifikke sjove problemer. For eksempel siger alle: "Netflix er et distribueret system, næsten halvdelen af ​​den amerikanske trafik, meget cool," og når du begynder at se på deres faktiske rapporter, artikler og publikationer, indtræder en lille skuffelse. For selvom dette bestemt er i verdensklasse, og der er skærende, er der mindre af det, end det ser ud ved første øjekast.

Et interessant dilemma opstår: du kan ringe til repræsentanter for store fremtrædende virksomheder, eller du kan ringe til nogen, der allerede er kendt for os. I virkeligheden findes ekspertise både her og der. Og vi prøver hellere at trække ikke "folk fra meget store mærker", men meget store specialister, specifikke mennesker ud.

For eksempel vil der være Martin Kleppmann, som på et tidspunkt slog til på LinkedIn og også frigav god bog — måske en af ​​grundbøgerne inden for distribuerede systemer.

— Hvis en person ikke arbejder hos Netflix, men hos et mere simpelt firma, kan han undre sig: "Skal jeg tage til sådan en konference, eller er der alle mulige Netflix'ere, der taler med hinanden, men jeg har ikke noget at lave?"

— Jeg vil sige det her: Da jeg arbejdede hos Oracle i lidt over tre år, hørte jeg de mest fantastiske og interessante ting i køkkenet og i rygerummene, når kolleger samledes der og lavede visse dele af Java-platformen. Det kan være folk fra den virtuelle maskine, eller fra testafdelingen eller fra præstationssammenfald - for eksempel Lyosha Shipilev og Seryozha Kuksenko.

Når de begyndte at diskutere noget indbyrdes, lyttede jeg som regel bare med åben mund. For mig var det fantastiske og uventede ting, som jeg ikke engang havde tænkt over. Naturligvis forstod jeg først ikke 90% af, hvad de talte om. Så blev 80 % uforståelige. Og efter at jeg havde lavet mine lektier og læst et par bøger, faldt dette tal til 70%. Jeg forstår stadig ikke meget af, hvad de taler om indbyrdes. Men da jeg sad i hjørnet med en kop kaffe og aflyttede, begyndte jeg at forstå lidt, hvad der foregik.

Når Google, Netflix, LinkedIn, Odnoklassniki og Yandex taler med hinanden, betyder det derfor ikke, at det er noget uforståeligt og uinteressant. Tværtimod skal vi lytte godt efter, for det er vores fremtid.

Selvfølgelig er der mennesker, der ikke har brug for alt dette. Hvis du ikke ønsker at udvikle dig i dette emne, behøver du ikke at tage til denne konference, du vil bare spilde tiden der. Men hvis emnet er interessant, men du ikke forstår noget om det eller bare kigger på det, så skal du komme, for du finder ikke noget lignende nogen steder. Desuden tror jeg, at ikke kun i Rusland, men også i verden. Vi forsøger at lave en konference, der ikke bare vil være førende om dette emne i Rusland, men generelt nummer et i verden.

Det er ikke den nemmeste opgave, men når vi har sådan en fantastisk chance for at samle stærke talere fra hele verden, er jeg villig til at give meget for at få det til at ske. Nogle af dem, vi inviterede til den første Hydra, vil selvfølgelig ikke kunne komme. Men jeg vil sige dette: vi har aldrig startet en ny konference med et så stærkt lineup. Bortset fra måske den allerførste JPoint for seks år siden.

— Jeg vil gerne uddybe ordene "dette er vores fremtid": vil emnet senere påvirke dem, der ikke tænker over det i dag?

- Ja, det er jeg sikker på. Derfor forekommer det mig meget rigtigt at begynde at diskutere det så hurtigt som muligt. For eksempel dukkede teorien om multithreading op for ganske lang tid siden (i 70'erne blev arbejdet allerede udgivet i fuld gang), men i lang tid var de partiet af smalle specialister, indtil den første bruger dual-core computer dukkede op i begyndelsen af ​​10-tallet. Og nu har vi alle multi-core servere, bærbare computere og endda telefoner, og dette er mainstream. Det tog omkring XNUMX år for dette at blive udbredt, for folk at forstå, at denne diskurs ikke er provinsen af ​​en snæver kreds af specialister.

Og vi ser nu nogenlunde det samme med distribuerede systemer. For basale løsninger som belastningsfordeling, fejltolerance og lignende har været lavet i ret lang tid, men de færreste ved, hvad fx distribueret konsensus eller Paxos er.

Et af de vigtigste mål, jeg sætter for denne begivenhed, er at fordybe ingeniører mere og mere i denne diskussion. Du skal forstå, at på konferencer bliver nogle emner og løsninger ikke bare diskuteret, men også en synonymordbog opstår - et samlet begrebsapparat.

Jeg ser det som min opgave at skabe en platform, hvor alle kan diskutere alt dette, dele erfaringer og meninger. Så du og jeg har en fælles forståelse af, hvad en algoritme gør, hvad en anden gør, hvilken der er bedre under hvilke forhold, hvordan de er relateret til hinanden, og så videre.

En meget interessant ting er relateret til den samme multithreading. Da vores venner fra Oracle (primært Lesha Shipilev og Sergey Kuksenko) begyndte at tale aktivt om ydeevne og især om multithreading, bogstaveligt talt to eller tre år senere begyndte disse spørgsmål at blive stillet ved interviews hos virksomheder, begyndte folk at diskutere det i rygerværelser. Det vil sige, at en ting, der var snævre specialisters lod, pludselig blev mainstream.

Og dette er meget korrekt. Det forekommer mig, at vi hjalp disse fyre med at popularisere hele dette spørgsmål, som er virkelig vigtigt, nyttigt og interessant. Hvis ingen tidligere har tænkt over, hvordan en Java-server behandler anmodninger parallelt, har folk nu i det mindste på et eller andet niveau en forståelse af, hvordan det hele fungerer. Og det er fantastisk.

Den opgave, som jeg ser nu, er at gøre omtrent det samme med distribuerede systemer. Så alle nogenlunde forstår, hvad det er, hvor det kommer fra, hvilke opgaver og problemer der er, så også dette bliver mainstream.

Virksomheder har en enorm efterspørgsel efter folk, der forstår noget om dette, og sådanne mennesker er der få. Jo mere vi skaber omkring dette indhold og muligheden for at lære af det, jo mere vi giver folk muligheder for at stille spørgsmål, der er i luften, jo mere sandsynligt er det, at vi på en eller anden måde bevæger os i denne retning.

forhistorie

— Konferencen afholdes for første gang, men det er ikke første gang for skolen. Hvordan opstod og udviklede alt dette sig?

- Det er en interessant historie. For to år siden, i maj 2017, sad vi i Kiev med Nikita Koval (ndkoval), en ekspert inden for multithreading. Og han fortalte mig, at det ville blive holdt i St. Petersborg "Sommerskole i praksis og teori om concurrent computing".

Emnet multithreaded programmering har været et fantastisk interessant emne i de sidste tre år af min ingeniørkarriere. Og så viste det sig, at der om sommeren kommer meget, meget kendte mennesker til Sankt Petersborg, samme Maurice Herlihy og Nir Shavit, iflg. lærebog som jeg studerede. Og mange af mine venner havde noget med dette at gøre - for eksempel Roma Elizarov (elizarov). Jeg indså, at jeg simpelthen ikke kunne gå glip af sådan en begivenhed.

Da det stod klart, at skolens 2017-program ville blive fantastisk, opstod ideen om, at forelæsningerne bestemt skulle optages på video. Vi hos JUG.ru Group havde en fuldstændig forståelse af, hvordan sådanne forelæsninger skulle optages. Og vi passede ind i SPTCC som de fyre, der lavede en video til skolen. Som et resultat, alle skole forelæsninger ligge på vores YouTube-kanal.

Jeg begyndte at kommunikere med Pyotr Kuznetsov, som var den vigtigste ideolog og arrangør af denne skole, og med Vitaly Aksenov, som hjalp med at organisere alt dette i St. Petersborg. Jeg indså, at dette er fantastisk fedt og interessant, og det er sandsynligvis meget slemt, at kun 100 deltagere kan røre ved skønheden.

Da Peter tænkte, at han skulle starte i skole igen (i 2018 var der ingen energi og tid, så han besluttede at gøre det i 2019), stod det klart, at vi kunne hjælpe ham ved blot at fjerne alt det organisatoriske fra ham. Det er det, der sker nu, Peter beskæftiger sig med indholdet, og vi laver alt andet. Og det virker som det rigtige skema: Peter er nok mere interesseret i programmet end "hvor og hvornår skal alle spise frokost." Og vi er gode til at arbejde med haller, spillesteder og så videre.

Denne gang, i stedet for SPTCC, hedder skolen SPTDC, ikke "concurrent computing", men "distributed computing". Derfor er dette nogenlunde forskellen: Sidste gang i skolen talte de ikke om distribuerede systemer, men denne gang vil vi aktivt tale om dem.

— Da skolen ikke afholdes for første gang, kan vi allerede nu drage nogle konklusioner fra fortiden. Hvad skete der sidste gang?

— Da den første skole blev oprettet for to år siden, var det forventet, at der ville være et fagligt arrangement, primært af interesse for eleverne. Desuden elever fra hele verden, fordi skolen kun er på engelsk, og man troede, at der ville komme et betydeligt antal udenlandske elever.

Faktisk viste det sig, at en masse ingeniører kom fra store russiske virksomheder som Yandex. Der var Andrey Pangin (apangin) fra Odnoklassniki var der fyre fra JetBrains, der aktivt arbejder med dette emne. Generelt var der mange kendte ansigter fra vores partnervirksomheder der. Jeg er slet ikke overrasket, jeg forstår udmærket, hvorfor de kom dertil.

Egentlig havde arrangørerne forventninger om, at der ville være akademiske folk på Skolen, men pludselig kom der folk fra industrien, og så stod det klart for mig, at der var efterspørgsel i branchen.

Hvis en begivenhed, der næsten ikke blev promoveret nogen steder, ved det første klik med en finger, samlede et publikum af voksne, betyder det, at der faktisk er interesse. Det forekommer mig, at en anmodning om dette emne er forsinket.

"Anmodningen er forsinket": Alexey Fedorov om en ny konference om distribuerede systemer
Maurice Herlihy ved JUG.ru-mødet

— Ud over skolen talte Maurice Herlihy i Skt. Petersborg ved JUG.ru-mødet i 2017, have fortalt om transaktionshukommelse, og det er lidt tættere på konferenceformatet. Hvem kom så - de samme mennesker, som normalt kommer til JUG.ru meetups, eller et andet publikum?

— Det var interessant, fordi vi forstod, at Maurice ville have en generel rapport, ikke en Java-specifik, og vi kom med en lidt bredere meddelelse, end vi normalt gør for vores JUG-nyhedsabonnenter.

Mange mennesker, jeg kender, kom fra fællesskaber, der slet ikke handler om Java: fra .NET-mængden, fra JavaScript-mængden. Fordi emnet transaktionshukommelse ikke relaterer sig til en bestemt udviklingsteknologi. Når en specialist i verdensklasse kommer for at tale om transaktionshukommelse, er det simpelthen en forbrydelse at gå glip af muligheden for at lytte til en sådan person og stille ham spørgsmål. Det gør bare et stærkt indtryk, når den person, hvis bog du læser fra, kommer til dig og fortæller dig noget. Simpelthen fantastisk.

— Og hvad var feedbacken som resultat? Var tilgangen for akademisk og uforståelig for folk fra branchen?

— Anmeldelser af Herlihys rapport var gode. Folk skrev, at han meget enkelt og tydeligt sagde, hvad man ikke forventede af en akademisk professor. Men vi må forstå, at vi inviterede ham af en grund, han er en verdensberømt specialist med stor erfaring i at tale og en baggrund fra en masse bøger og artikler. Og sandsynligvis blev han berømt på mange måder takket være hans evne til at formidle materiale til folk. Derfor er dette ikke overraskende.

Han taler normalt, forståeligt engelsk, og selvfølgelig har han stor forståelse for, hvad han taler om. Det vil sige, at du kan stille ham absolut alle spørgsmål. Grundlæggende klagede folk over, at vi gav Maurice for lidt tid til hans rapport: to timer er ikke nok til sådan noget, der skal mindst to mere til. Nå, vi formåede at gøre, hvad vi formåede på to timer.

Motivation

— Normalt beskæftiger JUG.ru Group sig med store begivenheder, men dette emne virker mere højt specialiseret. Hvorfor besluttede du dig for at tage det på? Er der vilje til at afholde et mindre arrangement, eller kan der samles rigtig mange tilskuere om sådan et emne?

— Når man afholder et arrangement og sætter et vist niveau af diskussion, opstår der faktisk altid spørgsmålet om, hvor udbredt denne diskussion er. Hvor mange mennesker - ti, hundrede eller tusind - er interesserede i dette? Der er en afvejning mellem masse og dybde. Det er et helt normalt spørgsmål, og alle løser det forskelligt.

I dette tilfælde vil jeg lave begivenheden "for mig selv." Jeg forstår stadig noget om multithreading (jeg holdt foredrag om dette emne på konferencer og fortalte eleverne noget flere gange), men jeg er en novice, når det kommer til distribuerede systemer: Jeg har læst nogle artikler og set flere foredrag, men ikke selv en enkelt fuldgyldig bog læste den.

Vi har et programudvalg bestående af eksperter på området, som kan vurdere rigtigheden af ​​rapporterne. Og for mit vedkommende forsøger jeg at gøre denne begivenhed til en, som jeg med min manglende ekspertise gerne vil til. Om det vil være muligt at interessere massepublikummet, ved jeg ikke. Dette er nok ikke den vigtigste opgave ved denne begivenhed på nuværende tidspunkt. Nu er det vigtigere at skabe det stærkeste program på kort tid.

Sandsynligvis, nu har jeg ikke sat holdet til opgave at "samle tusind mennesker første gang", men "at få konferencen til at dukke op." Det lyder måske ikke særlig forretningsmæssigt og noget naivt, selvom jeg overhovedet ikke er altruist. Men jeg kan nogle gange tillade mig nogle friheder.

Der er ting, der er vigtigere end penge og hinsides penge. Vi laver allerede en lang række fede store arrangementer for tusind mennesker eller mere. Vores Java-konferencer har længe overskredet tusind mennesker, og nu springer andre begivenheder over denne bar. Det vil sige, at spørgsmålet om, at vi er blevet erfarne og berømte arrangører, ikke længere er det værd. Og sandsynligvis giver det, vi tjener på disse begivenheder, os muligheden for at geninvestere i det, der er interessant for os, og i dette tilfælde for mig personligt.

Ved at gøre denne begivenhed går jeg imod nogle af vores organisations principper. For eksempel forsøger vi som regel at forberede konferencer meget i forvejen, men nu har vi meget stramme deadlines, og vi færdiggør programmet blot en måned før selve arrangementet.

Og denne begivenhed vil være 70-80 % engelsksproget. Også her opstår der altid en diskussion om, hvorvidt vi skal tættere på folket (der forstår det bedre, når de fleste rapporter er på russisk) eller på hele verden (fordi den tekniske verden er engelsktalende). Vi prøver normalt at lave en masse rapporter på russisk. Men ikke på dette tidspunkt.

Desuden vil vi også bede nogle af vores russisktalende talere om at tale på engelsk. Dette er på en måde en absolut anti-bruger og umenneskelig tilgang. Men vi må forstå, at der i øjeblikket ikke er nogen russisksproget litteratur om dette emne, og enhver person, der overhovedet er interesseret i dette, er tvunget til at læse på engelsk. Det betyder, at han på en eller anden måde er i stand til at forstå engelsk. Hvis der i tilfældet med JavaScript, Java eller .NET er mange mennesker, der ikke kan engelsk særlig godt, men som samtidig kan programmere godt, så er distribuerede systemer sandsynligvis et område, hvor der simpelthen ikke er andre måde at lære nu.

Jeg ønsker virkelig at udføre dette eksperiment: hvordan en 70-80 % engelsksproget begivenhed vil blive opfattet af offentligheden i Rusland. Kommer det ind eller ej? Vi ved det ikke på forhånd, for vi har aldrig gjort det her. Men hvorfor ikke gøre det? Lad os bare sige, at dette er et stort eksperiment, som jeg bare ikke kan lade være med at prøve.

SPTDC skoleprogram er allerede offentliggjort helt, og allerede i tilfælde af Hydra er kendt en mærkbar del, og snart vil vi offentliggøre en analyse af hele konferenceprogrammet.

Kilde: www.habr.com

Tilføj en kommentar