19 koka hydra. Pasqyrë e shkëlqyer e programit

Një konferencë do të mbahet më 11-12 korrik në Shën Petersburg Hidra, kushtuar zhvillimit të sistemeve paralele dhe të shpërndara. Truku i Hydra është se ai bashkon shkencëtarë të lezetshëm (të cilët zakonisht mund të gjenden vetëm në konferenca shkencore të huaja) dhe inxhinierë të famshëm praktikues në një program të madh në kryqëzimin e shkencës dhe praktikës.

Hydra është një nga konferencat tona më të rëndësishme në vitet e fundit. I ka paraprirë përgatitje shumë serioze, përzgjedhje folësish dhe raportesh. Javën e kaluar për këtë Intervista e Khabro doli me drejtorin e Grupit JUG.ru, Alexey Fedorov (23derevo).

Ne tashmë e thënë rreth tre pjesëmarrës të rëndësishëm, themeluesit e teorisë së sistemeve të shpërndara - Leslie Lamport, Maurice Herlihy dhe Michael Scott. Është koha për të folur më në detaje për të gjithë programin!

19 koka hydra. Pasqyrë e shkëlqyer e programit

motivimi

Nëse jeni të përfshirë në programim, atëherë në një mënyrë ose në një tjetër keni të bëni me informatikë multithreading dhe të shpërndarë. Ekspertët e fushave përkatëse punojnë drejtpërdrejt me ta, por në mënyrë implicite, shpërndarja po na shikon nga kudo: në çdo kompjuter me shumë bërthama ose shërbim të shpërndarë ka diçka që kryen llogaritjet paralelisht.

Ka shumë konferenca që mbulojnë aspekte të ndryshme të programimit të aplikacionit. Në anën tjetër të spektrit, ne kemi shkolla të specializuara shkencore që zbulojnë sasi të mëdha të teorisë komplekse në formatin e leksioneve. Për shembull, paralelisht me Hidrën në Shën Petersburg ka Shkolla SPTDC. Në konferencën e Hidrës, ne u përpoqëm të bashkonim praktikën e ashpër, shkencën dhe gjithçka në kryqëzimin e tyre.

Mendoni për këtë: ne jetojmë në një kohë të mahnitshme kur mund të takoni personalisht themeluesit e fushës së shkencës dhe inxhinierisë që studiojmë. Fizikanët nuk do të takojnë as Njutonin dhe as Ajnshtajnin - treni është larguar. Por pranë nesh jetojnë ende ata që krijuan themelet e teorisë së sistemeve të shpërndara, shpikën gjuhë programimi popullore dhe për herë të parë i mishëruan të gjitha këto në prototipe pune. Këta njerëz nuk e lanë punën e tyre përgjysmë, ata po punojnë tani për çështje urgjente në universitete dhe kompani të njohura botërore dhe janë burimet më të mëdha të njohurive dhe përvojës sot.

Nga ana tjetër, mundësia për t'i takuar ata zakonisht mbetet thjesht teorike: pak prej nesh mund të monitorojnë vazhdimisht ngjarjet publike në ndonjë universitet të Rochester-it, dhe më pas të nxitojnë në SHBA dhe të kthehen për një leksion me Michael Scott. Vizita e të gjithë anëtarëve të Hydra do të kushtonte një pasuri të vogël, pa llogaritur humnerën e kohës së humbur (edhe pse tingëllon si një kërkim interesant).

Nga ana tjetër, ne kemi shumë inxhinierë kryesorë që po punojnë për problemet e ngutshme në sistemet e shpërndara tani, dhe ata patjetër kanë shumë për të treguar. Por këtu është problemi - ata работают, dhe koha e tyre është e vlefshme. Po, nëse jeni punonjës i Microsoft, Google ose JetBrains, gjasat për të takuar një nga folësit e famshëm në një ngjarje të brendshme rriten ndjeshëm, por në përgjithësi, jo, kjo nuk ndodh çdo ditë.

Në këtë mënyrë, Konferenca Hydra realizon një detyrë të rëndësishme që shumica prej nesh nuk mund ta bëjnë vetë - në një vend dhe në një kohë, ajo bashkon njerëz idetë ose ndërveprimet e të cilëve me të cilët mund të ndryshojnë jetën tuaj. E pranoj se jo të gjithë kanë nevojë për sisteme të shpërndara ose për disa gjëra themelore komplekse. Ju mund të programoni CRUD në PHP për pjesën tjetër të jetës tuaj dhe të mbeteni plotësisht të lumtur. Por kushdo që ka nevojë, ky është shansi juaj.

Ka kaluar shumë kohë që nga shpallja e parë e konferencës së Hidrës në Habré. Gjatë kësaj kohe është bërë shumë punë - dhe tani kemi një listë me pothuajse të gjitha raportet. Nuk ka algoritme të ngadalta me një fillesë, vetëm hardcore e pastër e shpërndarë! Le të përfundojmë me fjalë të përgjithshme dhe të shohim se çfarë kemi në dorë tani.

Shënime kryesore

Fjalët kryesore fillojnë dhe mbarojnë ditët e konferencës. Zakonisht qëllimi i një fjalimi hapës është vendosja e frymës dhe drejtimit të përgjithshëm të konferencës. Fjalimi kryesor mbyll një vijë dhe shpjegon se si mund të jetojmë me njohuritë dhe aftësitë e marra gjatë konferencës. Fillimi dhe mbarimi: ajo që mbahet mend më mirë dhe në përgjithësi ka një rëndësi të shtuar.

Klikoni në shkëmb Algoritmi K/V i shpërndarë H2O

19 koka hydra. Pasqyrë e shkëlqyer e programit Cliff është një legjendë në botën Java. Në fund të viteve '90, për tezën e doktoraturës, ai shkroi një punim me titull "Kombinimi i analizave, kombinimi i optimizimeve", i cili disa kohë më vonë u bë baza për përpiluesin e serverit HotSpot JVM. Dy vjet më vonë, ai tashmë po punonte në Sun Microsystems në JVM dhe i tregoi të gjithë botës se JIT ka të drejtë të ekzistojë. E gjithë kjo histori rreth asaj se si Java është një nga kohëzgjatjet më të shpejta moderne me optimizimet më të zgjuara dhe më të shpejta erdhi nga Cliff Click. Që në fillim, besohej se nëse diçka është e arritshme për një përpilues statik, nuk duhet as të përpiqeni ta rregulloni atë. Falë punës së Cliff dhe ekipit, të gjitha gjuhët e reja filluan të krijohen me idenë e përpilimit të JIT si parazgjedhje. Sigurisht, kjo nuk ishte një punë e vetme, por Cliff luajti një rol shumë të rëndësishëm në të.

Në fjalimin e hapjes, Cliff do të flasë për përpjekjen e tij tjetër - H20, një platformë në memorie për mësimin e makinerive të shpërndarë dhe të shkallëzuar për aplikime industriale. Ose më saktë, në lidhje me ruajtjen e shpërndarë të çifteve çelës-vlerë brenda tij. Ky është një ruajtje shumë e shpejtë me shumë veti interesante (lista e saktë është në përshkrim), të cilat lejojnë përdorimin e zgjidhjeve të ngjashme në matematikën e transmetimit të të dhënave të mëdha.

Një raport tjetër që Cliff do të japë është - Përvoja e kujtesës transaksionale të harduerit Azul. Një pjesë tjetër e biografisë së tij - dhjetë vjet Punon tek Azul, ku ai përditësoi dhe përmirësoi shumë gjëra në grumbullin e harduerit dhe teknologjisë Azul: përpiluesit JIT, kohën e funksionimit, modelin e temave, trajtimin e gabimeve, trajtimin e stivës, ndërprerjet e harduerit, ngarkimin e klasës, e kështu me radhë e kështu me radhë - mirë, ju merrni ideja.

Pjesa më interesante filloi kur ata krijuan pajisje për një biznes të madh - një superkompjuter për të drejtuar Java. Ishte një gjë mjaft inovative, e përshtatur posaçërisht për Java, e cila ka kërkesa të veçanta - leximi i barrierave të memories për mbledhjen e mbeturinave me pauzë të ulët, grupe me kontroll të kufijve, thirrje virtuale... Një nga teknologjitë më të lezetshme është memoria transaksionale harduerike. I gjithë L1 i cilitdo prej 864 bërthamave mund të marrë pjesë në shkrimin e transaksioneve, gjë që është veçanërisht e rëndësishme për punën me bravë në Java (blloqet e sinkronizuara mund të funksionojnë paralelisht për sa kohë që nuk ka konflikt të vërtetë të memories). Por ideja e bukur u shkatërrua nga realiteti i ashpër - dhe në këtë bisedë Cliff do t'ju tregojë pse HTM dhe STM nuk janë shumë të përshtatshme për nevojat praktike të llogaritjes me shumë fije.

Michael Scott - Strukturat e dyfishta të të dhënave

19 koka hydra. Pasqyrë e shkëlqyer e programit Michael Scott - Profesor i Shkencave Kompjuterike në Universitetin e Roçesterit, me të cilin e lidhi fati tashmë 34 vjeç, dhe në Universitetin e tij në Wisconsin-Madison, ai ishte dekan për pesë vjet. Ai hulumton dhe u mëson studentëve programim paralel dhe të shpërndarë dhe dizajn gjuhësor.

E gjithë bota e njeh Michael falë librit shkollor "Pragmatika e gjuhës së programimit", botimi i fundit i të cilit u botua relativisht kohët e fundit - në 2015. Puna e tij "Algoritme për sinkronizim të shkallëzuar në multiprocesorët me memorie të përbashkët" pranuar Çmimi Dijkstra si një nga më të njohurit në fushën e informatikës së shpërndarë dhe duke gënjyer hapur në Bibliotekën Online të Universitetit të Rochester. Ju gjithashtu mund ta njihni atë si autorin e algoritmit Michael-Scott nga "Të thjeshta, të shpejta dhe praktike të algoritmeve të radhëve të njëkohshme jo-bllokuese dhe bllokuese".

Sa i përket botës Java, ky është një rast i veçantë: së bashku me Doug Lea, ai zhvilloi algoritmet jo-bllokuese dhe radhët sinkronike në të cilat funksionojnë bibliotekat Java. Pikërisht për këtë do të bëhet fjalë për "Strukturat e dyfishta të të dhënave" - ​​prezantimi i këtyre strukturave në Java SE 6 ka përmirësuar performancën me 10 herë java.util.concurrent.ThreadPoolExecutor. Nëse po pyesni paraprakisht se cilat janë këto "Strukturat e të dhënave të dyfishta", atëherë ka informacion në lidhje me të pune e lidhur.

Maurice Herlihy - Blockchains dhe e ardhmja e informatikës së shpërndarë

19 koka hydra. Pasqyrë e shkëlqyer e programit Maurice Herlihy - fitues i dy çmimeve Dijkstra. E para është për punë "Sinkronizimi pa pritje" (Universiteti Brown), dhe i dyti, më i fundit - "Kujtesa transaksionale: Mbështetje arkitekturore për strukturat e të dhënave pa kyçje" (Universiteti Teknik Virginia). Çmimi Dijkstra njeh punën, rëndësia dhe ndikimi i së cilës kanë qenë të dukshme për të paktën dhjetë vjet, dhe Maurice është padyshim një nga ekspertët më të njohur në këtë fushë. Ai aktualisht punon si profesor në Universitetin Brown dhe ka një listë të gjatë të arritjeve.

Në këtë fjalim përmbyllës, Maurice do të flasë për teorinë dhe praktikën e sistemeve të shpërndara me blockchain nga këndvështrimi i klasikëve të llogaritjes së shpërndarë dhe se si ai thjeshton shumë probleme të lidhura. Ky është një raport ekskluzivisht për temën e konferencës - aspak për zhurmën e minierave, por më tepër se si njohuritë tona mund të përdoren në mënyrë mahnitëse në mënyrë efektive dhe të përshtatshme në lidhje me një sërë detyrash.

Në korrik 2017, Maurice tashmë erdhi në Rusi për të ndjekur shkollën SPTDC, mori pjesë në takimin e JUG.ru dhe regjistrimi mund të shihet në YouTube:

Programi kryesor

Më pas do të ketë një pasqyrë të shkurtër të raporteve të përfshira në program. Disa nga raportet janë përshkruar këtu në detaje, të tjerët më shkurt. Përshkrimet e gjata shkonin kryesisht në raporte në gjuhën angleze që kërkonin lidhje me punimet shkencore, termat në Wikipedia, e kështu me radhë. Lista e plotë është në dispozicion shikoni në faqen e konferencës. Lista në faqen e internetit do të përditësohet dhe plotësohet.

Leslie Lamport - Q & A

19 koka hydra. Pasqyrë e shkëlqyer e programit Leslie Lamport është autore e veprave kryesore në informatikë të shpërndarë. "LaTeX" do të thotë "Lamport TeX". Ishte ai që i pari, në vitin 1979, prezantoi konceptin konsistencë konsistente, dhe artikullin e tij "Si të krijoni një kompjuter me shumë procesor që ekzekuton saktë programet me shumë procese" mori çmimin Dijkstra.

Kjo është pjesa më e pazakontë e programit për nga formati, sepse nuk është as një raport, por një seancë pyetje-përgjigje. Kur një pjesë e konsiderueshme e audiencës tashmë është njohur (ose mund të njihet) me të gjitha llojet e veprave të bazuara në "teorinë e Lamport", artikujt dhe raportet e tij, është më e rëndësishme të shpenzoni të gjithë kohën e disponueshme për komunikimin e drejtpërdrejtë.

Ideja është e thjeshtë - ju shikoni dy raporte në YouTube: "Programimi duhet të jetë më shumë se kodimi" и "Nëse nuk jeni duke shkruar një program, mos përdorni një gjuhë programimi" dhe përgatitni të paktën një pyetje dhe Leslie përgjigjet.

E para nga këto dy video e kemi tashmë u kthye në një artikull habro. Nëse nuk keni një orë kohë për të parë videon, mund ta lexoni shpejt të gjitha në formë teksti.

Shënim: Ka shumë video të tjera të Leslie Lamport në YouTube. Për shembull, ka një të shkëlqyer Kursi TLA+. Një version offline i të gjithë këtij kursi është i disponueshëm në faqja kryesore e autorit, dhe ai e ngarkoi atë në YouTube për shikim më të lehtë në pajisjet celulare.

Martin Kleppmann - Sinkronizimi i të dhënave nëpër pajisjet e përdoruesve për bashkëpunim të shpërndarë

19 koka hydra. Pasqyrë e shkëlqyer e programit Martin Kleppmann është një studiues në Universitetin e Kembrixhit që punon në CRDT dhe verifikimin zyrtar të algoritmeve. libri i Martinit "Dizajnimi i aplikacioneve me të dhëna intensive", i publikuar në vitin 2017, rezultoi shumë i suksesshëm dhe u fut në listat më të shitura në fushën e ruajtjes dhe përpunimit të të dhënave. Kevin Scott, CTO në Microsoft, tha dikur: “Ky libër duhet të jetë i domosdoshëm për inxhinierët e softuerit. Ky është një burim i rrallë që kombinon teorinë dhe praktikën për të ndihmuar zhvilluesit më të zgjuar në dizajnimin dhe zbatimin e infrastrukturës dhe sistemeve të të dhënave.” Krijuesi i Kafka dhe CTO i Confluent, Jay Kreps, tha diçka të ngjashme.

Para se të kalonte në kërkime akademike, Martin punoi në industri dhe bashkëthemeloi dy start-ups të suksesshëm:

  • Rapportive, i përkushtuar për të shfaqur profilin social të kontakteve nga emaili juaj, të cilin LinkedIn e bleu në 2012;
  • Go Test It, një shërbim për testimin automatik të faqeve të internetit në shfletues të ndryshëm, të cilin RedGate e bleu në vitin 2009.

Në përgjithësi, Martin, edhe pse më pak i famshëm se shënimet tona kryesore, tashmë ka qenë në gjendje të japë një kontribut në zhvillimin e informatikës së shpërndarë dhe në industri.

Në këtë fjalim, Martin do të flasë për një temë më afër kërkimit të tij akademik. Në Google Docs dhe divane të ngjashme për bashkëredaktimin e dokumenteve, "redaktimi bashkëpunues" i referohet një detyre riprodhimi: çdo përdorues ka kopjen e tij të dokumentit të përbashkët, të cilin më pas e modifikon dhe të gjitha ndryshimet dërgohen nëpër rrjet në pjesën tjetër të pjesëmarrësit. Ndryshimet në dokumente jashtë linje çojnë në mospërputhje të përkohshme të dokumentit në lidhje me pjesëmarrësit e tjerë dhe risinkronizimi kërkon trajtimin e konfliktit. Pikërisht për këtë ekzistojnë Llojet e të dhënave të përsëritura pa konflikte (CRDT), në fakt, është një gjë mjaft e re, thelbi i së cilës u formulua vetëm në vitin 2011. Ky fjalim diskuton se çfarë ka ndodhur që atëherë në botën e CRDT, cilat janë përparimet më të fundit, qasja për krijimin e aplikacioneve të para lokale në përgjithësi dhe përdorimin e një biblioteke me burim të hapur Bashkim automatik veçanërisht.

Javën e ardhshme do të publikojmë një intervistë të gjatë me Martin në Habré, do të jetë interesante.

Pedro Ramalhete - Strukturat e të dhënave pa pritje dhe transaksione pa pritje

19 koka hydra. Pasqyrë e shkëlqyer e programit Pedro punon në Cisco dhe ka zhvilluar algoritme paralele për rreth dhjetë vitet e fundit, duke përfshirë mekanizmat e sinkronizimit, strukturat e të dhënave pa kyçje dhe pa pritje dhe gjithçka që mund të imagjinoni për këtë temë. Interesat e tij aktuale kërkimore dhe inxhinierike përqendrohen në Konstruksionet Universale, Memoria Transaksionale e Software-it, Memoria e Përhershme dhe teknologji të ngjashme që mundësojnë aplikime korrekte, të shkallëzuara dhe tolerante ndaj gabimeve. Ai është gjithashtu autor i një blogu të njohur gjerësisht në rrethe të ngushta Freaks Concurrency.

Shumica e aplikacioneve me shumë fije tani funksionojnë në struktura paralele të të dhënave, nga përdorimi i radhëve të mesazheve midis aktorëve deri te strukturat e të dhënave të indeksuara në dyqanet me vlera kyçe. Ata kanë punuar me sukses në Java JDK për shumë vite dhe ngadalë po shtohen në C++.

Mënyra më e thjeshtë për të zbatuar një strukturë paralele të të dhënave është një zbatim sekuencial (me një fije) në të cilin metodat mbrohen nga mutexes. Kjo është e arritshme për çdo qershor, por ka probleme të dukshme me shkallëzimin dhe performancën. Në të njëjtën kohë, strukturat e të dhënave pa kyçje dhe pa pritje jo vetëm që përballen më mirë me gabimet, por gjithashtu kanë një profil më të mirë të performancës - megjithatë, zhvillimi i tyre kërkon ekspertizë të thellë dhe përshtatje me një aplikacion specifik. Mjafton një linjë e gabuar kodi për të thyer gjithçka.

Si mund ta bëjmë atë që edhe një jo-ekspert të mund të hartojë dhe zbatojë struktura të tilla të dhënash? Dihet se çdo algoritëm sekuencial mund të bëhet i sigurt në fije duke përdorur ose dizajn universal, ose memorie transaksionale. Për një gjë, ata mund të ulin pengesën për të hyrë në zgjidhjen e këtij problemi. Megjithatë, të dyja zgjidhjet zakonisht çojnë në zbatim joefektiv. Pedro do të flasë se si ata arritën t'i bëjnë këto dizajne më efikase dhe si mund t'i përdorni ato për algoritmet tuaja.

Heidi Howard - Konsensusi i shpërndarë çlirues

19 koka hydra. Pasqyrë e shkëlqyer e programit Heidi Howard është, si Martini, një studiuese e sistemeve të shpërndara në Universitetin e Kembrixhit. Specialitetet e saj janë qëndrueshmëria, toleranca ndaj gabimeve, performanca dhe konsensusi i shpërndarë. Ajo është më e njohur për përgjithësimin e saj të algoritmit Paxos të quajtur Paxos fleksibël.

Kujtoj këtë Paxos është një familje protokollesh për zgjidhjen e problemit të konsensusit në një rrjet kompjuterash jo të besueshëm, bazuar në punën e Leslie Lamport. Kështu, disa nga folësit tanë po punojnë për problemet që fillimisht u propozuan nga folësit tanë të tjerë - dhe kjo është e mrekullueshme.

Aftësia për të gjetur konsensus midis pritësve të shumtë - për adresimin, zgjedhjen e liderit, bllokimin ose koordinimin - është një çështje themelore në sistemet moderne të shpërndara. Paxos është tani mënyra kryesore për të zgjidhur problemet e konsensusit dhe ka shumë kërkime që po zhvillohen rreth tij për të zgjeruar dhe optimizuar algoritmin për nevoja të ndryshme praktike.

Në këtë bisedë, ne do të rishikojmë bazën teorike të Paxos, duke lehtësuar kërkesat origjinale dhe duke përgjithësuar algoritmin. Do të shohim se Paxos është në thelb vetëm një opsion midis një game të madhe qasjesh konsensusi dhe se pikat e tjera në spektër janë gjithashtu shumë të dobishme për ndërtimin e sistemeve të mira të shpërndara.

Alex Petrov - Ulni kostot tuaja të ruajtjes me Përsëritjen Kalimtare dhe Kuorumet e Lira

19 koka hydra. Pasqyrë e shkëlqyer e programit Alex është një specialist i bazës së të dhënave dhe sistemeve të ruajtjes, dhe më e rëndësishmja për ne, një komisioner në Cassandra. Ai aktualisht është duke punuar në një libër, Database Internals, me O'Reilly.

Për sistemet me konsistencë eventuale (në terminologjinë ruse - "konsistenca përfundimtare"), pas rrëzimit të një nyje ose ndarjes së rrjetit, ju duhet të zgjidhni dilemën e mëposhtme: ose të vazhdoni të ekzekutoni kërkesat, duke sakrifikuar qëndrueshmërinë, ose të refuzoni t'i ekzekutoni ato dhe të sakrifikoni disponueshmërinë. Në një sistem të tillë, kuorumet, mbivendosja e nëngrupeve të nyjeve dhe sigurimi që të paktën një nyje përmban vlerën më të fundit, mund të jetë një zgjidhje e mirë e avantazhit. Ju mund t'i mbijetoni dështimeve dhe humbjes së lidhjes me disa nyje, ndërkohë që përgjigjeni me vlerat më të fundit.

Megjithatë, çdo gjë ka çmimin e vet. Një skemë e përsëritjes së kuorumit nënkupton rritje të kostove të ruajtjes: të dhënat e tepërta duhet të ruhen në nyje të shumta menjëherë për të siguruar që ka kopje të mjaftueshme të disponueshme kur shfaqet një problem. Rezulton se nuk keni nevojë të ruani të gjitha të dhënat në të gjitha kopjet. Mund të zvogëloni ngarkesën në ruajtje nëse ruani të dhëna vetëm në një pjesë të nyjeve dhe përdorni nyje speciale (Transient Replica) për skenarët e trajtimit të dështimit.

Gjatë rrjedhës së raportit ne do të shqyrtojmë Kopjet e dëshmitarëve, skema e replikimit e përdorur në çelës и mega dyqan, dhe zbatimi i këtij koncepti në Apache Cassandra quhet Përsëritje kalimtare dhe kuorume të lira.

Dmitry Vyukov - Gorutina të ekspozuara

19 koka hydra. Pasqyrë e shkëlqyer e programit Dmitry është një zhvillues në Google që punon në testimin dinamik për C/C++ dhe Go - Address/Memory/ThreadSanitizer dhe mjete të ngjashme për kernelin Linux. Kontribuoi në Go një planifikues gorutine të shkallëzuar, një anketues rrjeti dhe një grumbullues paralel mbeturinash. Ai është një ekspert në multithreading, autor i një duzinë algoritmesh të reja jo-bllokuese dhe është pronar i Rrip i zi Intel.

Tani pak për vetë raportin. Gjuha Go ka mbështetje amtare për multithreading në formën e gorutinave (fije të lehta) dhe kanale (radhë FIFO). Këta mekanizma e bëjnë shumë të lehtë dhe të këndshme për përdoruesit që të shkruajnë aplikacione moderne me shumë fije, dhe duket si magji. Siç e kuptojmë, këtu nuk ka magji. Në këtë bisedë, Dmitry do të gërmojë në ndërlikimet e planifikuesit Go dhe do të tregojë sekretet e zbatimit të kësaj "magjie". Së pari, ai do të japë një përmbledhje të komponentëve kryesorë të planifikuesit dhe do t'ju tregojë se si funksionon. Më pas, ne do t'i hedhim një vështrim më të afërt aspekteve individuale të tilla si strategjia e parkimit/çparkimit dhe trajtimi i thirrjeve të sistemit të bllokimit. Më në fund, Dmitry do të flasë pak për përmirësimet e mundshme të planifikuesit.

Dmitry Bugaichenko - Përshpejtimi i analizës së grafikëve të shpërndarë me skica probabiliste dhe më shumë

19 koka hydra. Pasqyrë e shkëlqyer e programit Dmitry punoi në burime të jashtme për gati 9 vjet pa humbur kontaktet me universitetin dhe komunitetin shkencor. Analiza e të dhënave të mëdha në Odnoklassniki u bë për të një shans unik për të kombinuar trajnimin teorik dhe themelin shkencor me zhvillimin e produkteve reale, në kërkesë.

Analiza e grafikëve të shpërndarë ka qenë dhe mbetet një detyrë e vështirë: kur bëhet e nevojshme të merret informacion për lidhjet e një kulmi fqinj, të dhënat shpesh duhet të transferohen midis makinave, gjë që çon në rritjen e kohës së ekzekutimit dhe ngarkesës në infrastrukturën e rrjetit. Në këtë bisedë, do të shohim se si mund të merrni shpejtësi të konsiderueshme përpunimi duke përdorur struktura probabilistike të të dhënave ose fakte si simetria e grafikut të miqësisë në një rrjet social. E gjithë kjo ilustrohet me shembuj kodesh në Apache Spark.

Denis Rystsov - Ulni kostot tuaja të ruajtjes me Përsëritjen Kalimtare dhe Kuorumet e Lira

19 koka hydra. Pasqyrë e shkëlqyer e programit Denis - zhvillues Kozmos DB, një ekspert në kontrollimin e modeleve të konsistencës, algoritmeve të konsensusit dhe transaksioneve të shpërndara. Aktualisht punon në Microsoft dhe më parë ka punuar në sisteme të shpërndara në Amazon dhe Yandex.

Në këtë bisedë, ne do t'i hedhim një vështrim protokolleve të transaksioneve të shpërndara që janë shpikur gjatë viteve të fundit, të cilat mund të zbatohen në anën e klientit në krye të çdo dyqani të dhënash që mbështet përditësimin e kushtëzuar (krahaso dhe vendos). Përfundimi është se jeta nuk përfundon me një angazhim dyfazor, transaksionet mund të shtohen në krye të çdo baze të dhënash - në nivelin e aplikacionit, por protokolle të ndryshme (2PC, Percolator, RAMP) kanë kompromis të ndryshëm dhe nuk na jepen falas.

Alexey Zinoviev - Jo të gjithë algoritmet ML arrijnë në qiellin e shpërndarë

19 koka hydra. Pasqyrë e shkëlqyer e programit Alexei (zaleslaw) është një folës për një kohë të gjatë dhe anëtar i komiteteve të programit në konferenca të tjera. Trajnues praktik në EPAM Systems, dhe ka qenë mik me Hadoop/Spark dhe të dhëna të tjera të mëdha që nga viti 2012.

Në këtë bisedë, Alexey do të flasë për problemet e përshtatjes së algoritmeve klasike të mësimit të makinerive për ekzekutim në modalitetin e shpërndarë bazuar në përvojën e tij duke punuar me Apache Spark ML, Apache Mahout, Apache Flink ML dhe përvojën e krijimit të Apache Ignite ML. Alexey gjithashtu do të flasë për zbatimin e algoritmeve të shpërndara ML në këto korniza.

Dhe së fundi, dy raporte nga Yandex në lidhje me bazën e të dhënave Yandex.

Vladislav Kuznetsov - Baza e të dhënave Yandex - si sigurojmë tolerancën e gabimeve

19 koka hydra. Pasqyrë e shkëlqyer e programit Vladislav është një zhvillues në Yandex në grupin e platformës së shpërndarë. Baza e të dhënave Yandex është një DBMS e shkallëzuar horizontalisht, gjeo-shpërndarë, tolerante ndaj gabimeve që mund të përballojë dështimin e disqeve, serverëve, rafteve dhe qendrave të të dhënave pa humbur qëndrueshmërinë. Për të siguruar tolerancën e gabimeve, përdoret një algoritëm i pronarit për arritjen e konsensusit të shpërndarë, si dhe një sërë zgjidhjesh teknike, të cilat janë diskutuar në detaje në raport. Raporti mund të jetë me interes si për zhvilluesit e DBMS ashtu edhe për zhvilluesit e zgjidhjeve të aplikacioneve të bazuara në DBMS.

Semyon Checherinda - Transaksionet e shpërndara në YDB

19 koka hydra. Pasqyrë e shkëlqyer e programit Semyon është një zhvillues në grupin e platformës së shpërndarë në Yandex, duke punuar në mundësinë e përdorimit të shumëfishtë të instalimit YDB.

Baza e të dhënave Yandex është krijuar për pyetje OLTP dhe përputhet me kërkesat ACID për një sistem transaksioni. Në këtë raport, ne do të shqyrtojmë algoritmin e planifikimit të transaksioneve që qëndron në themel të sistemit të transaksioneve YDB. Le të shohim se cilat subjekte marrin pjesë në transaksione, kush cakton rendin global për transaksionet, si arrihet atomiciteti i transaksionit, besueshmëria dhe një nivel i rreptë izolimi. Duke përdorur një problem të zakonshëm si shembull, le të shohim implementimet e transaksioneve duke përdorur angazhime dyfazore dhe transaksione përcaktuese. Le të diskutojmë dallimet e tyre.

Çka më tej?

Programi i konferencës vazhdon të jetë i mbushur me raporte të reja. Në veçanti, presim një raport nga Nikita Koval (ndkoval) nga JetBrains dhe Oleg Anastasyev (m0nstermind) nga kompania Odnoklassniki. Nikita punon në algoritme për korutinat në ekipin Kotlin dhe Oleg zhvillon arkitekturë dhe zgjidhje për sistemet me ngarkesë të lartë në platformën Odnoklassniki. Për më tepër, ka edhe 1 vend tjetër bosh me kusht, komiteti i programit po punon me kandidatët për të tani.

Konferenca e Hidrës do të zhvillohet në datat 11-12 korrik në Shën Petersburg. Biletat janë në dispozicion blini në faqen zyrtare të internetit. Ju lutemi kushtojini vëmendje disponueshmërisë së biletave në internet - nëse për ndonjë arsye nuk mund të shkoni në Shën Petersburg këto ditë.

Shihemi në Hidra!

Burimi: www.habr.com

Shto një koment