"Forespørselen er forsinket": Alexey Fedorov om en ny konferanse om distribuerte systemer

"Forespørselen er forsinket": Alexey Fedorov om en ny konferanse om distribuerte systemer

Nylig var det annonsert to arrangementer på en gang om utvikling av flertrådede og distribuerte systemer: en konferanse Hydra (11-12 juli) og skole SPTDC (8.-12. juli). Folk som er nær dette emnet forstår det å komme til Russland Leslie Lamport, Maurice Herlihy и Michael Scott - den viktigste begivenheten. Men andre spørsmål dukket opp:

  • Hva kan du forvente av konferansen: "akademisk" eller "produksjon"?
  • Hvordan henger skolen og konferansen sammen? Hvem er dette og hint rettet mot?
  • Hvorfor overlapper de i datoer?
  • Vil de være nyttige for de som ikke har viet hele livet til distribuerte systemer?

Alt dette er velkjent for personen som brakte Hydra til live: regissøren vår Alexey Fedorov (23derevo). Han svarte på alle spørsmålene.

Format

— Et innledende spørsmål til de som er langt fra distribuerte systemer: hva handler begge arrangementene om?

— Den globale utfordringen er at rundt oss er det tjenester med store driftsvolumer og komplekse dataoppgaver som ikke kan gjøres på én datamaskin. Dette betyr at det må være flere biler. Og så oppstår spørsmål knyttet til hvordan man synkroniserer arbeidet sitt og hva man skal gjøre under forhold med ikke den høyeste påliteligheten (fordi utstyret bryter sammen og nettverket faller av).

Jo flere maskiner det er, jo flere feil er det. Hva skal jeg gjøre hvis forskjellige maskiner gir forskjellige resultater for de samme beregningene? Hva gjør du hvis nettverket forsvinner en stund og deler av beregningene blir isolert, hvordan kan du kombinere det hele? Generelt er det en million problemer knyttet til dette. Nye løsninger – nye problemer.

I dette området er det helt anvendte områder, og det er mer vitenskapelige - noe som ennå ikke har blitt mainstream. Jeg vil gjerne snakke om hva som skjer både i praksis og i vitenskapen, og viktigst av alt, i deres knutepunkt. Det er dette den første Hydra-konferansen skal handle om.

— Jeg vil gjerne forstå at det er en konferanse, og det er en sommerskole. Hvordan forholder de seg? Hvis det gis rabatt for skoledeltakere for å delta på konferansen, hvorfor overlapper de da i datoer, slik at det er umulig å delta på alt på en gang uten tap?

— Skolen er et kammerarrangement for 100–150 personer, hvor ledende eksperter fra hele verden kommer og holder foredrag i fem dager. Og det oppstår en situasjon når lysmenn i verdensklasse samles i St. Petersburg i fem dager, klare til å fortelle noe. Og i dette tilfellet oppstår beslutningen om å organisere ikke bare en kammerskole, men også en større konferanse.

Det er mulig å holde en slik skole bare om sommeren, i juli, fordi blant disse spesialistene er det nåværende universitetsprofessorer, og de er rett og slett ikke klare på noe annet tidspunkt: de har studenter, vitnemål, forelesninger og så videre. Skoleformen er fem ukedager. Det er kjent at om sommeren i helgene liker folk å dra et sted. Det betyr at vi ikke kan holde konferanse verken helgen før skoletid eller helgen etter skoletid.

Og hvis du forlenger det et par dager til før eller etter helgen, så blir de fem dagene med spesialisters opphold i St. Petersburg på magisk vis til ni. Og de er ikke klare for dette.

Derfor var den eneste løsningen vi fant å rett og slett holde konferansen parallelt med skolen. Ja, dette skaper noen problemer. Det er folk som vil gå på skole og på konferanse, og de må gå glipp av noen forelesninger her eller der. Den gode nyheten er at alt dette vil foregå i nabohallene, du kan løpe frem og tilbake. Og en annen god ting er tilgjengeligheten av videoopptak, der du senere rolig kan se hva du gikk glipp av.

— Når to hendelser finner sted parallelt, har folk spørsmålet «hvilken trenger jeg mer?» Hva bør du forvente av hver og en, og hva er forskjellene?

— Skolen er et rent akademisk arrangement, en klassisk vitenskapelig skole i flere dager. Alle som har vært involvert i realfag og hatt noe med forskerskolen å gjøre, har en idé om hva en akademisk skole er.

"Forespørselen er forsinket": Alexey Fedorov om en ny konferanse om distribuerte systemer

Vanligvis er slike akademiske arrangementer ikke særlig godt organisert på grunn av mangelen på arrangementsekspertise til de som gjør det. Men vi er fortsatt ganske erfarne gutter, så vi kan gjøre alt ganske kompetent. Jeg tror at fra et organisatorisk synspunkt vil SPTDC være hode og skuldre over enhver akademisk eller forskningsbasert skole du noen gang har sett.

SPTDC skole - dette er et format der hver store forelesning leses i to par: "en og en halv time - en pause - en og en halv time." Du må forstå at det kanskje ikke er lett for en deltaker for første gang: da denne skolen ble arrangert for første gang for to år siden, var jeg selv uvanlig, jeg slo av flere ganger omtrent midt i en dobbeltforelesning, og da var det vanskelig å forstå hva som skjedde. Men dette avhenger veldig av foreleseren: en god foreleser snakker veldig interessant i alle tre timene.

Hydra-konferansen - et mer praktisk arrangement. Det vil være flere vitenskapsmenn som har kommet for å forelese ved skolen: fra Leslie Lamport, hvis arbeid ligger til grunn for selve teorien om flertrådede og distribuerte systemer, til Maurice Herlihy, en av forfatterne av den berømte læreboken om samtidighet "The Art of Multiprocessor Programming". Men på konferansen skal vi prøve å snakke om hvordan enkelte algoritmer implementeres i virkeligheten, hvilke problemer ingeniører møter i praksis, hvem som lykkes og mislykkes, hvorfor noen algoritmer brukes i praksis og andre ikke. Og selvfølgelig, la oss snakke om fremtiden for utvikling av flertrådede og distribuerte systemer. Det vil si at vi vil gi en slik spiss: hvilken verden vitenskapen snakker om nå, hva tankene til ledende ingeniører dreier seg om, og hvordan det hele henger sammen.

— Siden konferansen er mer anvendt, vil det ikke bare være akademiske koryfæer, men også foredragsholdere fra «produksjon»?

- Helt sikkert. Vi prøver å se på alle de "store": Google, Netflix, Yandex, Odnoklassniki, Facebook. Det er spesifikke morsomme problemer. For eksempel sier alle: "Netflix er et distribuert system, nesten halvparten av trafikken i USA, veldig kult," og når du begynner å se på deres faktiske rapporter, artikler og publikasjoner, melder det seg en liten skuffelse. For selv om dette absolutt er i verdensklasse og det er skjærende, er det mindre av det enn det ser ut ved første øyekast.

Et interessant dilemma oppstår: du kan ringe representanter for store eminente selskaper, eller du kan ringe noen som allerede er kjent for oss. I virkeligheten finnes det kompetanse både her og der. Og vi prøver heller å trekke ut ikke "folk fra veldig store merker", men veldig store spesialister, spesifikke mennesker.

For eksempel vil det være Martin Kleppmann, som i sin tid gjorde en sprut på LinkedIn og også slapp god bok — kanskje en av grunnbøkene innen distribuerte systemer.

— Hvis en person ikke jobber hos Netflix, men i et enklere selskap, kan han spørre seg: «Bør jeg gå på en slik konferanse, eller er det alle slags Netflix-er som snakker med hverandre, men jeg har ingenting å gjøre?»

— Jeg vil si dette: Da jeg jobbet i Oracle i litt over tre år, hørte jeg de mest fantastiske og interessante tingene på kjøkkenet og i røykerommene, da kolleger samlet seg der og laget visse deler av Java-plattformen. Dette kan være personer fra den virtuelle maskinen, eller fra testavdelingen, eller fra samtidig ytelse – for eksempel Lyosha Shipilev og Seryozha Kuksenko.

Når de begynte å diskutere noe seg imellom, lyttet jeg som regel bare med åpen munn. For meg var dette fantastiske og uventede ting som jeg ikke engang hadde tenkt på. Naturligvis forsto jeg først ikke 90% av hva de snakket om. Da ble 80 % uforståelige. Og etter at jeg hadde gjort leksene mine og lest noen bøker, sank dette tallet til 70 %. Jeg forstår fortsatt ikke mye av hva de snakker om seg imellom. Men mens jeg satt i hjørnet med en kopp kaffe og avlyttet, begynte jeg å forstå litt hva som foregikk.

Derfor, når Google, Netflix, LinkedIn, Odnoklassniki og Yandex snakker med hverandre, betyr ikke dette at det er noe uforståelig og uinteressant. Tvert imot må vi lytte nøye, for dette er fremtiden vår.

Selvfølgelig er det folk som ikke trenger alt dette. Hvis du ikke ønsker å utvikle deg i dette emnet, trenger du ikke gå til denne konferansen, du vil bare kaste bort tid der. Men hvis emnet er interessant, men du ikke forstår noe om det eller bare ser på det, bør du komme, for du vil ikke finne noe lignende noe sted. Dessuten tror jeg det ikke bare i Russland, men også i verden. Vi prøver å lage en konferanse som ikke bare vil være lederen på dette temaet i Russland, men generelt nummer én i verden.

Dette er ikke den enkleste oppgaven, men når vi har en så fantastisk sjanse til å samle sterke foredragsholdere fra hele verden, er jeg villig til å gi mye for å få det til. Noen av de vi inviterte til den første Hydraen vil selvfølgelig ikke kunne komme. Men jeg vil si dette: vi har aldri startet en ny konferanse med en så sterk lineup. Bortsett fra kanskje den aller første JPoint for seks år siden.

— Jeg vil gjerne utdype ordene «dette er fremtiden vår»: Vil temaet senere påvirke de som ikke tenker over det i dag?

– Ja, jeg er sikker på det. Derfor virker det for meg veldig riktig å begynne å diskutere det så raskt som mulig. For eksempel dukket teorien om multithreading opp for ganske lenge siden (på 70-tallet ble arbeidet allerede publisert i full gang), men i lang tid var de mange smale spesialister, helt til den første brukeren dual-core datamaskinen dukket opp på begynnelsen av 10-tallet. Og nå har vi alle flerkjerneservere, bærbare datamaskiner og til og med telefoner, og dette er mainstream. Det tok omtrent XNUMX år før dette ble utbredt, før folk forsto at denne diskursen ikke er provinsen til en smal krets av spesialister.

Og vi ser nå omtrent det samme med distribuerte systemer. Fordi grunnleggende løsninger som lastfordeling, feiltoleranse og lignende har vært gjort ganske lenge, men de færreste vet hva for eksempel distribuert konsensus eller Paxos er.

Et av de viktigste målene jeg satte meg for denne begivenheten er å fordype ingeniører mer og mer i denne diskusjonen. Du må forstå at på konferanser blir noen temaer og løsninger ikke bare diskutert, men også en synonymordbok dukker opp - et enhetlig konseptuelt apparat.

Jeg ser det som min oppgave å skape en plattform der alle kan diskutere alt dette, dele erfaringer og meninger. Slik at du og jeg har en felles forståelse av hva en algoritme gjør, hva en annen gjør, hvilken som er best under hvilke forhold, hvordan de er relatert til hverandre, og så videre.

En veldig interessant ting er knyttet til den samme multithreading. Da vennene våre fra Oracle (først og fremst Lesha Shipilev og Sergey Kuksenko) begynte å aktivt snakke om ytelse og spesielt om multithreading, bokstavelig talt to eller tre år senere begynte disse spørsmålene å bli stilt ved intervjuer i selskaper, begynte folk å diskutere det i røykerom. Det vil si at en ting som var partiet til smale spesialister plutselig ble mainstream.

Og dette er veldig riktig. Det virker for meg som om vi hjalp disse gutta med å popularisere hele denne saken, som er veldig viktig, nyttig og interessant. Hvis ingen tidligere tenkte på hvordan en Java-server behandler forespørsler parallelt, har folk nå i det minste på et eller annet nivå en forståelse av hvordan det hele fungerer. Og det er flott.

Oppgaven jeg ser nå er å gjøre omtrent det samme med distribuerte systemer. Slik at alle grovt sett forstår hva det er, hvor det kommer fra, hvilke oppgaver og problemer som er, slik at også dette blir mainstream.

Bedrifter har en enorm etterspørsel etter folk som forstår noe om dette, og slike mennesker er det få. Jo mer vi skaper rundt dette innholdet og muligheten til å lære av det, jo mer vi gir folk muligheter til å stille spørsmål som ligger i luften, jo mer sannsynlig er det at vi på en eller annen måte beveger oss i denne retningen.

forhistorie

— Konferansen arrangeres for første gang, men dette er ikke første gang for skolen. Hvordan oppsto og utviklet dette seg?

– Dette er en interessant historie. For to år siden, i mai 2017, satt vi i Kiev med Nikita Koval (ndkoval), en ekspert innen multithreading. Og han fortalte meg at det ville bli holdt i St. Petersburg "Sommerskole i praksis og teori om samtidig databehandling".

Temaet flertrådsprogrammering har vært utrolig interessant de siste tre årene av ingeniørkarrieren min. Og så viste det seg at om sommeren kommer veldig, veldig kjente personer til St. Petersburg, de samme Maurice Herlihy og Nir Shavit, iht. lærebok som jeg studerte. Og mange av vennene mine hadde noe med dette å gjøre - for eksempel Roma Elizarov (elizarov). Jeg innså at jeg rett og slett ikke kunne gå glipp av et slikt arrangement.

Da det ble klart at skolens 2017-program ville bli flott, oppsto ideen om at forelesningene definitivt skulle tas opp på video. Vi i JUG.ru Group hadde en fullstendig forståelse av hvordan slike forelesninger skulle tas opp. Og vi passet inn i SPTCC som gutta som laget en video for skolen. Som et resultat, alle skole forelesninger å ligge på vår YouTube-kanal.

Jeg begynte å kommunisere med Pyotr Kuznetsov, som var hovedideologen og arrangøren av denne skolen, og med Vitaly Aksenov, som hjalp til med å organisere alt dette i St. Petersburg. Jeg innså at dette er fantastisk kult og interessant, og sannsynligvis er det veldig ille at bare 100 deltakere kan ta på skjønnheten.

Da Peter tenkte at han trengte å begynne på skolen igjen (i 2018 var det ingen energi og tid, så han bestemte seg for å gjøre det i 2019), ble det klart at vi kunne hjelpe ham ved ganske enkelt å fjerne alt det organisatoriske fra ham. Det er dette som skjer nå, Peter tar for seg innholdet, og vi gjør alt annet. Og dette virker som det riktige opplegget: Peter er sannsynligvis mer interessert i programmet enn "hvor og når skal alle spise lunsj." Og vi er flinke til å jobbe med saler, spillesteder og så videre.

Denne gangen, i stedet for SPTCC, kalles skolen SPTDC, ikke «concurrent computing», men «distribuert databehandling». Følgelig er dette omtrent forskjellen: forrige gang på skolen snakket de ikke om distribuerte systemer, men denne gangen vil vi aktivt snakke om dem.

— Siden skolen ikke arrangeres for første gang, kan vi allerede nå trekke noen konklusjoner fra fortiden. Hva skjedde sist gang?

— Da den første skolen ble opprettet for to år siden, var det forventet at det skulle bli et faglig arrangement, først og fremst av interesse for elevene. Dessuten elever fra hele verden, fordi skolen er kun på engelsk, og man trodde at det ville komme et betydelig antall utenlandske elever.

Faktisk viste det seg at mange ingeniører kom fra store russiske selskaper som Yandex. Det var Andrey Pangin (appangin) fra Odnoklassniki var det gutter fra JetBrains som jobber aktivt med dette emnet. Generelt var det mange kjente fjes fra våre partnerbedrifter der. Jeg er ikke overrasket i det hele tatt, jeg forstår godt hvorfor de kom dit.

Egentlig hadde arrangørene forventninger om at det skulle være akademiske folk på Skolen, men plutselig kom det folk fra industrien, og da ble det klart for meg at det var etterspørsel i bransjen.

Hvis et arrangement som knapt ble promotert noe sted, ved første fingerklikk, samlet et publikum av voksne, betyr det at det faktisk er interesse. Det virker for meg som om en forespørsel om dette emnet er forsinket.

"Forespørselen er forsinket": Alexey Fedorov om en ny konferanse om distribuerte systemer
Maurice Herlihy på JUG.ru-møtet

— I tillegg til skolen talte Maurice Herlihy i St. Petersburg på JUG.ru-møtet i 2017, etter å ha fortalt om transaksjonsminne, og dette er litt nærmere konferanseformatet. Hvem kom da - de samme menneskene som vanligvis kommer til JUG.ru-treff, eller et annet publikum?

— Det var interessant fordi vi forsto at Maurice ville ha en generell rapport, ikke en Java-spesifikk, og vi kom med en litt bredere kunngjøring enn vi vanligvis gjør for våre JUG-nyhetsabonnenter.

Mange mennesker jeg kjenner kom fra samfunn som ikke handler om Java i det hele tatt: fra .NET-mengden, fra JavaScript-mengden. Fordi temaet transaksjonsminne ikke er relatert til en spesifikk utviklingsteknologi. Når en spesialist i verdensklasse kommer for å snakke om transaksjonsminne, er det rett og slett en forbrytelse å gå glipp av muligheten til å lytte til en slik person og stille spørsmål. Det gjør bare et sterkt inntrykk når personen hvis bok du studerer fra kommer til deg og forteller deg noe. Rett og slett fantastisk.

— Og hva var tilbakemeldingene som et resultat? Var tilnærmingen for akademisk og uforståelig for folk i bransjen?

— Anmeldelser av Herlihys rapport var gode. Folk skrev at han sa veldig enkelt og tydelig det som ikke var forventet av en akademisk professor. Men vi må forstå at vi inviterte ham av en grunn, han er en verdenskjent spesialist med lang erfaring i å snakke og bakgrunn fra en haug med bøker og artikler. Og sannsynligvis ble han berømt på mange måter takket være sin evne til å formidle materiale til folk. Derfor er dette ikke overraskende.

Han snakker vanlig, forståelig engelsk, og han har selvfølgelig stor forståelse for hva han snakker om. Det vil si at du kan stille ham absolutt alle spørsmål. I utgangspunktet klaget folk over at vi ga Maurice for lite tid til rapporten hans: to timer er ikke nok for noe slikt, minst to til trengs. Vel, vi klarte å gjøre det vi klarte på to timer.

Motivasjon

— Vanligvis tar JUG.ru Group seg med store arrangementer, men dette temaet virker mer høyspesialisert. Hvorfor bestemte du deg for å ta det på deg? Er det vilje til å holde et mindre arrangement, eller kan mange tilskuere samles om et slikt tema?

— Når man holder et arrangement og setter et visst diskusjonsnivå, oppstår det faktisk alltid spørsmålet om hvor utbredt denne diskusjonen er. Hvor mange mennesker - ti, hundre eller tusen - er interessert i dette? Det er en avveining mellom masse og dybde. Dette er et helt normalt spørsmål, og alle løser det forskjellig.

I dette tilfellet vil jeg lage arrangementet "for meg selv." Jeg forstår fortsatt noe om multithreading (jeg holdt foredrag om dette emnet på konferanser, og fortalte studentene noe flere ganger), men jeg er en nybegynner når det kommer til distribuerte systemer: Jeg har lest noen artikler og sett flere forelesninger, men ikke selv en eneste fullverdig bok leste den.

Vi har en programkomité satt sammen av eksperter på området som kan vurdere nøyaktigheten av rapportene. Og for min del prøver jeg å gjøre dette arrangementet til et jeg, med min mangel på ekspertise, gjerne vil gå til. Om det vil være mulig å interessere massepublikummet, vet jeg ikke. Dette er sannsynligvis ikke den viktigste oppgaven til denne begivenheten på dette stadiet. Nå er det viktigere å lage det sterkeste programmet på kort tid.

Sannsynligvis, nå satte jeg ikke teamet som oppgave å "samle tusen mennesker første gang", men "å få konferansen til å dukke opp." Dette høres kanskje ikke særlig forretningsmessig og noe naivt ut, selv om jeg slett ikke er noen altruist. Men noen ganger kan jeg tillate meg selv noen friheter.

Det er ting som er viktigere enn penger og utover penger. Vi gjør allerede et stort antall kule storstilte arrangementer for tusen personer eller mer. Våre Java-konferanser har lenge passert tusen mennesker, og nå hopper andre arrangementer over denne baren. Det vil si at spørsmålet om at vi har blitt erfarne og kjente arrangører ikke lenger er verdt det. Og sannsynligvis gir det vi tjener på disse arrangementene oss muligheten til å reinvestere i det som er interessant for oss, og i dette tilfellet for meg personlig.

Ved å gjøre dette arrangementet går jeg i strid med noen av prinsippene i organisasjonen vår. For eksempel prøver vi vanligvis å forberede konferanser veldig mye på forhånd, men nå har vi veldig stramme tidsfrister, og vi sluttfører programmet bare en måned før selve arrangementet.

Og dette arrangementet vil være 70-80 % engelskspråklig. Også her oppstår det alltid en diskusjon om vi trenger å være nærmere menneskene (som forstår det bedre når de fleste reportasjer er på russisk) eller hele verden (fordi den tekniske verden er engelsktalende). Vi prøver vanligvis å lage mange rapporter på russisk. Men ikke på dette tidspunktet.

Dessuten vil vi også be noen av våre russisktalende om å snakke engelsk. Dette er på en måte en absolutt anti-bruker og umenneskelig tilnærming. Men vi må forstå at det for øyeblikket ikke finnes noen russiskspråklig litteratur om dette emnet, og enhver person som i det hele tatt er interessert i dette, blir tvunget til å lese på engelsk. Dette betyr at han på en eller annen måte er i stand til å forstå engelsk. Hvis det i tilfellet med JavaScript, Java eller .NET er mange mennesker som ikke kan engelsk så godt, men samtidig kan programmere godt, så er sannsynligvis distribuerte systemer et område der det rett og slett ikke er noe annet måte å lære på nå.

Jeg ønsker virkelig å gjennomføre dette eksperimentet: hvordan en 70–80 % engelskspråklig begivenhet vil bli oppfattet av publikum i Russland. Kommer den inn eller ikke? Vi vet ikke dette på forhånd fordi vi aldri har gjort dette. Men hvorfor ikke gjøre det? La oss si det slik: dette er ett stort eksperiment som jeg bare ikke kan la være å prøve.

SPTDC skoleprogram er allerede publisert helt, og i tilfelle av Hydra allerede noen en merkbar del, og snart vil vi publisere en analyse av hele konferanseprogrammet.

Kilde: www.habr.com

Legg til en kommentar