Një konferencë do të mbahet më 11-12 korrik në Shën Petersburg , 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ë me drejtorin e Grupit JUG.ru, Alexey Fedorov ().
Ne 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!

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 . 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
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 , 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 - , 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ë ), 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ë - . Një pjesë tjetër e biografisë së tij - dhjetë vjet , 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 -
- Profesor i Shkencave Kompjuterike në Universitetin e Roçesterit, me të cilin e lidhi fati , 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 , botimi i fundit i të cilit u botua relativisht kohët e fundit - në 2015. Puna e tij pranuar si një nga më të njohurit në fushën e informatikës së shpërndarë dhe në Bibliotekën Online të Universitetit të Rochester. Ju gjithashtu mund ta njihni atë si autorin e algoritmit Michael-Scott nga .
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Ă« .
Maurice Herlihy -
- fitues i dy çmimeve Dijkstra. E para Ă«shtĂ« pĂ«r punĂ« (Universiteti Brown), dhe i dyti, mĂ« i fundit - (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 . Lista në faqen e internetit do të përditësohet dhe plotësohet.
Leslie Lamport -
Leslie Lamport është autore e veprave kryesore në informatikë të shpërndarë. do të thotë "Lamport TeX". Ishte ai që i pari, në vitin 1979, prezantoi konceptin , dhe artikullin e tij 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: О dhe përgatitni të paktën një pyetje dhe Leslie përgjigjet.
E para nga këto dy video e kemi tashmë . 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 . Një version offline i të gjithë këtij kursi është i disponueshëm në , dhe ai e ngarkoi atë në YouTube për shikim më të lehtë në pajisjet celulare.
Martin Kleppmann -
Martin Kleppmann Ă«shtĂ« njĂ« studiues nĂ« Universitetin e Kembrixhit qĂ« punon nĂ« CRDT dhe verifikimin zyrtar tĂ« algoritmeve. libri i Martinit , 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, : â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ë (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 veçanërisht.
Javën e ardhshme do të publikojmë një intervistë të gjatë me Martin në Habré, do të jetë interesante.
Pedro Ramalhete -
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 .
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 , 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 -
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 .
Kujtoj këtë ë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 -
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ë . Ai aktualisht është duke punuar në një libër, Database Internals, me O'Reilly.
Për sistemet me (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ë , skema e replikimit e përdorur në О , dhe zbatimi i këtij koncepti në Apache Cassandra quhet .
Dmitry Vyukov -
Dmitry Ă«shtĂ« njĂ« zhvillues nĂ« Google qĂ« punon nĂ« testimin dinamik pĂ«r C/C++ dhe Go â Address/Memory/ThreadSanitizer, dhe mjete tĂ« ngjashme kernel. LinuxAi kontribuoi nĂ« Go me njĂ« planifikues gorutine tĂ« shkallĂ«zueshĂ«m, njĂ« sondazh rrjeti dhe njĂ« mbledhĂ«s paralel tĂ« mbeturinave. Ai Ă«shtĂ« njĂ« ekspert nĂ« shumĂ«fillesa, autor i njĂ« duzine algoritmesh tĂ« reja jo-bllokuese dhe mban 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 -
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 -
Denis - zhvillues , 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 -
Alexei () ë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 -
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 -
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 () nga JetBrains dhe Oleg Anastasyev () 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 . 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
