19 hidra buru. Programaren ikuspegi orokorra bikaina

Uztailaren 11-12an hitzaldi bat egingo da San Petersburgon Hydra, sistema paralelo eta banatuen garapenari eskainia. Hydra-ren trikimailua zientzialari bikainak (normalean atzerriko biltzar zientifikoetan bakarrik aurki daitezkeenak) eta ingeniari praktikatzaile ospetsuak programa handi batean batzen ditu zientziaren eta praktikaren arteko elkargunean.

Hydra azken urteotako gure biltzar garrantzitsuenetako bat da. Aurretik oso serioa prestatu zen, hizlarien hautaketa eta txostenak. Azken astean honi buruz habro elkarrizketa atera zen JUG.ru Taldeko zuzendariarekin, Alexey Fedorov (23derevo).

Dugu dagoeneko kontatua hiru parte hartzaile garrantzitsu inguru, sistema banatuen teoriaren sortzaileak - Leslie Lamport, Maurice Herlihy eta Michael Scott. Egitarau guztiari buruz zehatzago hitz egiteko garaia da!

19 hidra buru. Programaren ikuspegi orokorra bikaina

Motibazioa

Programazioan parte hartzen baduzu, era batera edo bestera multithreading eta informatika banatuarekin ari zara. Dagokion arloetako adituek zuzenean lan egiten dute haiekin, baina inplizituki, banaketa edonondik begiratzen gaitu: nukleo anitzeko edozein ordenagailutan edo banatutako zerbitzutan badago kalkuluak paraleloan egiten dituen zerbait.

Aplikazioen programazioaren hainbat alderdi lantzen dituzten hitzaldi asko daude. Espektroaren beste aldean, zientzia-eskola espezializatuak ditugu, hitzaldi formatuan teoria konplexu ugari erakusten dutenak. Adibidez, San Petersburgoko Hydrarekin paraleloan dago SPTDC eskola. Hydra konferentzian, praktika gogorrak, zientziak eta haien arteko elkargunean biltzen saiatu ginen.

Pentsa hau: ikertzen ditugun zientzia eta ingeniaritza arloko sortzaileak pertsonalki ezagutu ditzakezun garai harrigarrian bizi gara. Fisikariek ez dute ez Newton ez Einstein ezagutuko β€”trena joan daβ€”. Baina gure ondoan bizi dira oraindik sistema banatuen teoriaren oinarriak sortu, programazio lengoaia ezagunak asmatu eta hori guztia lan-prototipoetan gorpuztu zutenak. Pertsona hauek ez zuten beren lana erdibidean utzi, oraintxe bertan mundu mailan ospe handiko unibertsitate eta enpresetan arazo larrietan ari dira lanean, eta gaur egungo ezagutza eta esperientzia iturririk handienak dira.

Bestalde, haiek ezagutzeko aukerak teoriko hutsa izaten jarraitzen du normalean: gutako gutxik etengabe kontrola ditzakegu Rochester-eko unibertsitate batzuetan ekitaldi publikoak, eta gero AEBetara joan eta Michael Scottekin hitzaldi batera joan. Hydrako kide guztiak bisitatzeak dirutza txiki bat kostatuko luke, denbora galduaren amildegia zenbatu gabe (nahiz eta bilaketa interesgarria dirudien).

Bestalde, oraintxe bertan sistema banatuetan arazo larrietan lanean ari diren goi mailako ingeniari asko ditugu, eta, zalantzarik gabe, asko dute kontatzeko. Baina hemen arazoa - haiek Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, eta haien denbora baliotsua da. Bai, Microsoft, Google edo JetBrains-eko langilea bazara, barne-ekitaldi batean hizlari ospetsuetako bat ezagutzeko aukera asko handitzen da, baina, oro har, ez, hori ez da egunero gertatzen.

Modu honetan, Hydra Conference-k gutako gehienok gure kabuz egin ezin dugun zeregin garrantzitsu bat betetzen du: leku batean eta aldi berean, zure bizitza alda dezaketen ideiak edo elkarrekintzak biltzen ditu. Aitortzen dut denek ez dutela sistema banatuak edo oinarrizko gauza konplexu batzuk behar. CRUD-ak PHPn programa ditzakezu zure bizitza osorako eta guztiz pozik egon zaitezke. Baina behar duenak, hau da zure aukera.

Denbora dezente igaro da HabrΓ©-ri buruzko Hydra konferentziaren lehen iragarpena egin zenetik. Denbora horretan, lan asko egin da β€”eta orain ia txosten guztien zerrenda duguβ€”. Ez dago hari bakarreko algoritmo geldorik, banatutako hardcore hutsa besterik ez! Amai ditzagun hitz orokorrekin eta ea orain zer daukagun esku artean.

Hitzaldiak

Jardunaldiaren egunak hasi eta amaitzen dituzte. Normalean, hasierako hitzaldi baten helburua hitzaldiaren espiritu orokorra eta norabidea ezartzea da. Amaierako hitzaldiak lerro bat marrazten du eta hitzaldian zehar lortutako ezagutza eta trebetasunekin nola bizi gaitezkeen azaltzen du. Hasiera eta amaiera: hobekien gogoratzen dena, eta, oro har, garrantzia handitu du.

Cliff Click H2O banatutako K/V algoritmoa

19 hidra buru. Programaren ikuspegi orokorra bikaina Cliff Java munduko kondaira bat da. 90eko hamarkadaren amaieran, bere doktorego tesirako, izenburuko lan bat idatzi zuen "Analisiak konbinatuz, optimizazioak konbinatuz", pixka bat geroago HotSpot JVM Server Compiler-en oinarri bihurtu zena. Bi urte geroago, Sun Microsystemsen lanean ari zen jada JVMn eta mundu osoari erakutsi zion JITek existitzeko eskubidea duela. Java exekuzio-denbora modernoenetakoa den istorio osoa, optimizazio adimentsuen eta azkarrenekin, Cliff Click-etik sortu zen. Hasieran, uste zen zerbait konpilatzaile estatiko bati eskura baldin badago, ez zarela jitatzen saiatu beharrik ere. Cliff-en eta taldearen lanari esker, hizkuntza berri guztiak lehenespenez JIT konpilazioaren ideiarekin sortzen hasi ziren. Jakina, hau ez zen bakarkako lana, baina Cliff-ek oso paper garrantzitsua izan zuen horretan.

Hasierako hitzaldian, Cliff-ek bere beste ahaleginari buruz hitz egingo du - H20, industria-aplikazioetarako makina-ikasketa banatu eta eskalagarrirako memoria barneko plataforma bat. Edo, zehatzago esanda, bere barruan gako-balio bikoteen biltegiratze banatuari buruz. Hau oso biltegiratze azkarra da propietate interesgarri asko dituena (zerrenda zehatza dago deskribapena), big data streamingaren matematikan antzeko irtenbideak erabiltzeko aukera ematen dutenak.

Cliff-ek emango duen beste txosten bat da - Azul Hardware Transactional Memory esperientzia. Bere biografiaren beste zati bat - hamar urte Azulen egiten du lan, non gauza asko eguneratu eta hobetu zituen Azul hardware eta teknologia pila: JIT konpiladoreak, exekuzio-denbora, hari-eredua, akatsen kudeaketa, pilaren kudeaketa, hardware-etenaldiak, klaseen kargatzea, eta abar eta abar - tira, lortuko duzu ideia.

Zatirik interesgarriena negozio handi baterako hardwarea egin zutenean hasi zen: Java exekutatzeko superordenagailu bat. Gauza berritzaile samarra zen, Javarako bereziki egokitua, eskakizun bereziak dituena - pausa baxuko zabor bilketarako irakurtzeko memoria-oztopoak, mugak egiaztatzea duten arrayak, dei birtualak... Teknologiarik politenetako bat hardware-transakzio-memoria da. 1 nukleoetako edozein L864 osoak parte har dezake idazketa transakzionalean, eta hori bereziki garrantzitsua da Javan blokeoekin lan egiteko (sinkronizatutako blokeek paraleloan lan egin dezakete, betiere benetako memoria-gatazkarik ez dagoen bitartean). Baina ideia ederra errealitate gogorrak zapaldu zuen - eta hitzaldi honetan Cliff-ek esango dizu zergatik ez diren oso egokiak HTM eta STM hari anitzeko informatikaren behar praktikoetarako.

Michael Scott - Datu-egitura bikoitzak

19 hidra buru. Programaren ikuspegi orokorra bikaina Michael Scott - Rochester Unibertsitateko Informatika irakaslea, harekin lotu zuen zoriak dagoeneko 34 urte ditu, eta bere etxean Wisconsin-Madison Unibertsitatean, bost urtez dekano izan zen. Programazio paralelo eta banatua eta hizkuntza-diseinua ikertzen eta irakasten die ikasleei.

Mundu osoak ezagutzen du Mikel testuliburuari esker "Programazio-lengoaia Pragmatika", azken edizioa duela gutxi argitaratu zen - 2015ean. Bere lana "Memoria partekatuko multiprozesadoreetan sinkronizazio eskalagarrirako algoritmoak" jaso Dijkstra saria informatika banatuaren arloan ospetsuenetakoa baita eta argi eta garbi etzanda Rochester Unibertsitateko lineako liburutegian. Michael-Scott algoritmoaren egilea bezala ere ezagutu dezakezu "Blokeatzeko eta blokeatzeko aldibereko ilararen algoritmo sinpleak, azkarrak eta praktikoak".

Java munduari dagokionez, kasu berezia da: Doug Learekin batera, Java liburutegiek lan egiten duten blokeorik gabeko algoritmoak eta ilara sinkronoak garatu zituen. Horixe izango da "Datu-egitura bikoitzak" hitzaldia - Java SE 6-n egitura hauek sartzeak 10 aldiz hobetu du errendimendua. java.util.concurrent.ThreadPoolExecutor. Aldez aurretik "Datu-egitura bikoitzak" hauek zeintzuk diren galdetzen baduzu, bada horri buruzko informazioa lotutako lana.

Maurice Herlihy - Blockchains eta informatika banatuaren etorkizuna

19 hidra buru. Programaren ikuspegi orokorra bikaina Maurice Herlihy - bi Dijkstra sariren irabazlea. Lehenengoa lan egiteko da "Itxaron gabeko sinkronizazioa" (Brown Unibertsitatea), eta bigarrena, berriagoa - "Memoria transakzionala: blokeorik gabeko datu-egituretarako euskarri arkitektonikoa" (Virginia Unibertsitate Teknologikoa). Dijkstra Sariak gutxienez hamar urtez garrantzia eta eragina nabaria izan duten lana aitortzen du, eta Maurice, argi eta garbi, arloko aditu ospetsuenetako bat da. Gaur egun Brown Unibertsitatean irakasle gisa lan egiten du eta paragrafo luzeko lorpenen zerrenda du.

Amaierako hitzaldi honetan, Mauricek blockchain banatutako sistemen teoriaz eta praktikaz hitz egingo du konputazio banatuaren klasikoen ikuspuntutik eta erlazionatutako arazo asko nola errazten dituen. Konferentziaren gaiari buruzko txostena da hau, ez meatzaritzaren iragarpenari buruzkoa, baizik eta gure ezagutzak modu harrigarrian eraginkortasunez eta modu egokian erabil daitezkeen hainbat zereginetan.

2017ko uztailean, Maurice dagoeneko Errusiara etorri zen SPTDC eskolara joateko, JUG.ru topaketan parte hartu zuen eta grabazioa YouTube-n ikus daiteke:

Programa nagusia

Jarraian, programan jasotako txostenen laburpen labur bat egingo da. Txosten batzuk zehatz-mehatz azaltzen dira hemen, beste batzuk laburrago. Deskribapen luzeak ingelesezko txostenetara joaten ziren batez ere, artikulu zientifikoetara, Wikipediako terminoetara eta abarretara estekak eskatzen zituztenak. Zerrenda osoa eskuragarri dago ikusi hitzaldiaren webgunean. Webguneko zerrenda eguneratu eta osatuko da.

Leslie Lampport - Galdera-erantzunak

19 hidra buru. Programaren ikuspegi orokorra bikaina Leslie Lamport informatika banatuko lan nagusien egilea da. "LaTeX" "Lamport TeX" esan nahi du. Bera izan zen lehenengoz, 1979an, kontzeptua aurkeztu zuena koherentzia koherentea, eta bere artikulua "Nola egin prozesadore anitzeko programak behar bezala exekutatzen dituen ordenagailu bat" Dijkstra saria jaso zuen.

Formatu aldetik programaren zatirik ezohikoena da, ez baita erreportaje bat ere, galdera-erantzun saioa baizik. Publikoaren zati esanguratsu batek β€œLamport-en teorian”, bere artikuluetan eta txostenetan oinarritutako era guztietako lanak jada ezagutzen dituenean (edo ezagut ditzaketenean), garrantzitsuagoa da eskuragarri dagoen denbora guztia zuzeneko komunikazioan ematea.

Ideia erraza da: bi erreportaje ikusten dituzu YouTube-n: "Programazioak kodetzea baino gehiago izan beharko luke" ΠΈ "Programa bat idazten ari ez bazara, ez erabili programazio-lengoaia" eta prestatu gutxienez galdera bat, eta Lesliek erantzuten du.

Bi bideo hauetako lehena dagoeneko daukagu habro artikulu bihurtua. Bideoa ikusteko ordubeteko denborarik ez baduzu, azkar irakur dezakezu dena testu moduan.

Oharra: Leslie Lampport-en bideo askoz gehiago daude YouTube-n. Esaterako, handia dago TLA+ ikastaroa. Ikastaro osoaren lineaz kanpoko bertsioa eskuragarri dago hemen egilearen hasierako orria, eta YouTubera igo zuen gailu mugikorretan errazago ikusteko.

Martin Kleppmann - Datuak sinkronizatzea erabiltzaileen gailuetan banatutako lankidetzarako

19 hidra buru. Programaren ikuspegi orokorra bikaina Martin Kleppmann Cambridgeko Unibertsitateko ikertzailea da CRDT eta algoritmoen egiaztapen formalean lan egiten duena. Martinen liburua "Datuetan intentsiboko aplikazioak diseinatzea", 2017an argitaratua, oso arrakastatsua izan zen eta salduen zerrendetan sartu zen datuak biltegiratzeko eta prozesatzeko alorrean. Kevin Scott, Microsoft-eko CTO, behin esan zuen: β€œLiburu honek ezinbestekoa izan behar du software ingeniarientzat. Teoria eta praktika uztartzen dituen baliabide arraroa da, garatzaileei azpiegiturak eta datu-sistemak diseinatzen eta inplementatzen adimentsuago laguntzeko". Kafkaren sortzaileak eta Confluent-eko CTO Jay Kreps-ek antzeko zerbait esan zuen.

Ikerketa akademikoan sartu aurretik, Martinek industrian lan egin zuen eta bi start-up arrakastatsu sortu zituen:

  • Rapportive, zure posta elektronikoko kontaktuen profil soziala bistaratzeko dedikatua, LinkedInek 2012an erosi zuena;
  • Go Test It, hainbat arakatzailetan webguneak automatikoki probatzeko zerbitzua, RedGate-k 2009an erosi zuena.

Orokorrean, Martinek, nahiz eta gure hitzaldiak baino ez hain famatua izan, dagoeneko nolabaiteko ekarpena egin ahal izan dio konputazio banatuaren garapenari eta industriari.

Hitzaldi honetan, bere ikerketa akademikotik hurbilago dagoen gai bati buruz hitz egingo du Martinek. Google Docs-en eta antzeko dokumentuak koeditatzeko sofetan, "elkarlaneko edizioak" erreplika-zeregin bati egiten dio erreferentzia: erabiltzaile bakoitzak partekatutako dokumentuaren bere erreplika du, eta gero aldatzen du, eta aldaketa guztiak sarean zehar bidaltzen dira gainontzekoei. parte hartzaileak. Lineaz kanpoko dokumentuetan egindako aldaketek dokumentuaren aldi baterako inkoherentzia sortzen dute beste parte-hartzaileekiko, eta berriro sinkronizatzeak gatazkak kudeatzea eskatzen du. Horixe da hain zuzen ere Gatazkarik gabeko datu-motak errepikatuak (CRDT), izan ere, gauza nahiko berria da, zeinaren funtsa 2011n bakarrik formulatu zen. Hitzaldi honetan orduz geroztik CRDTren munduan gertatutakoa, zeintzuk diren azken aurrerapenak, orokorrean tokiko lehen aplikazioak sortzeko planteamendua eta kode irekiko liburutegi baten erabilera aztertzen dira. Automatikoki bat egitea zehazki.

Datorren astean Martini eginiko elkarrizketa luzea argitaratuko dugu HabrΓ©-n, interesgarria izango da.

Pedro Ramalhete - Itxaron gabeko datu-egiturak eta itxaron gabeko transakzioak

19 hidra buru. Programaren ikuspegi orokorra bikaina Pedrok Cisco-n egiten du lan eta azken hamar urteotan edo algoritmo paraleloak garatzen aritu da, sinkronizazio mekanismoak, blokeorik gabeko eta itxaron gabeko datu-egiturak eta gai honi buruz imajina dezakezun guztia barne. Bere egungo ikerketa eta ingeniaritza interesak Eraikuntza Unibertsalak, Software Transakzio Memoria, Memoria Persistentea eta aplikazio zuzenak, eskalagarriak eta akatsak toleranteak ahalbidetzen dituzten antzeko teknologietan oinarritzen dira. Zirkulu estuetan oso ezaguna den blog baten egilea ere bada Aldibereko freaks.

Hari anitzeko aplikazio gehienak datu-egitura paraleloetan exekutatzen dira, eragileen arteko mezu-ilarak erabiltzen hasi eta gako-balioen biltegietan indexatutako datu-egituretara. Urte asko daramatzate Java JDK-n arrakastaz lanean, eta poliki-poliki C++-ra gehitzen ari dira.

Datu-egitura paralelo bat ezartzeko modurik errazena inplementazio sekuentziala (hari bakarrekoa) da, non metodoak mutexek babesten dituzten. Hau edozein ekainean eskuragarri dago, baina eskalatzeko eta errendimendurako arazo nabariak ditu. Aldi berean, blokeorik gabeko eta itxaron gabeko datu egiturek akatsei hobeto aurre egiten diete ez ezik, errendimendu-profil hobea dute; hala ere, haien garapenak esperientzia sakona eta aplikazio zehatz batera egokitzea eskatzen du. Kode lerro oker bat nahikoa da dena hausteko.

Nola egin dezakegu aditua ez den batek ere horrelako datu-egiturak diseinatu eta ezar ditzan? Jakina da edozein algoritmo sekuentzial hari segurua izan daitekeela edozein erabiliz diseinu unibertsala, edo transakzio-memoria. Batetik, arazo hau konpontzeko sartzeko oztopoa jaitsi dezakete. Hala ere, soluzio biek inplementazio eraginkorra eragiten dute normalean. Pedrok diseinu hauek eraginkorragoak izatea nola lortu duten eta zure algoritmoetarako nola erabil ditzakezun hitz egingo du.

Heidi Howard - Banatutako adostasuna askatzea

19 hidra buru. Programaren ikuspegi orokorra bikaina Heidi Howard, Martin bezala, Cambridgeko Unibertsitateko sistema banatuen ikertzailea da. Bere espezialitateak koherentzia, akatsen tolerantzia, errendimendua eta adostasun banatua dira. Paxos izeneko algoritmoa orokortzeagatik da ezaguna Paxo malguak.

Gogoratu hori Paxoak Konputagailu fidagarrien sare batean adostasunaren arazoa konpontzeko protokolo familia bat da, Leslie Lamport-en lanean oinarrituta. Horrela, gure hizlari batzuk hasiera batean gure beste hiztunek proposatutako arazoetan ari dira lanean, eta hau zoragarria da.

Ostalari anitzen artean adostasuna aurkitzeko gaitasuna β€”helbideratzeko, buruzagi hautatzeko, blokeatzeko edo koordinatzekoβ€” oinarrizko arazoa da banatutako sistema modernoetan. Paxos da gaur egun adostasun-arazoak konpontzeko bide nagusia, eta horren inguruan ikerketa asko egiten ari dira algoritmoa hainbat behar praktikotarako zabaltzeko eta optimizatzeko.

Hitzaldi honetan, Paxosen oinarri teorikoak berraztertuko ditugu, jatorrizko baldintzak lasaituz eta algoritmoa orokortuz. Ikusiko dugu Paxos funtsean aukera bat besterik ez dela adostasun-planteamendu ugariren artean, eta espektroko beste puntu batzuk ere oso erabilgarriak direla sistema banatu onak eraikitzeko.

Alex Petrov - Murriztu biltegiratze-kostuak Erreplika Iragankorra eta Quorum Merkeekin

19 hidra buru. Programaren ikuspegi orokorra bikaina Alex datu-base eta biltegiratze sistemen espezialista da, eta, are garrantzitsuagoa dena, guretzat konpromisoa Cassandra. Gaur egun, Database Internals liburu bat lantzen ari da O'Reillyrekin.

duten sistemetarako behin betiko koherentzia (Errusierazko terminologian - "azken koherentzia"), nodo bat huts egin ondoren edo sarea zatitu ondoren, honako dilema hau konpondu behar duzu: eskaerak exekutatzen jarraitu, koherentzia sakrifikatu edo horiek exekutatzen uko egin eta erabilgarritasuna sakrifikatu. Sistema horretan, quorumak, nodoen azpimultzo gainjarri eta gutxienez nodo batek baliorik berriena duela ziurtatzea, ertz-konponbide ona izan daiteke. Nodo batzuen hutsegiteei eta konektagarritasuna galtzeari eutsi ahal izango diozu azken balioekin erantzuten duzun bitartean.

Hala ere, denak badu bere prezioa. Quorumaren erreplikazio-eskema batek biltegiratze-kostuak handitzea dakar: datu erredundanteak hainbat nodotan gorde behar dira aldi berean, arazoren bat gertatzen denean kopia nahikoa eskuragarri dagoela ziurtatzeko. Bihurtzen da ez duzula datu guztiak gorde behar erreplika guztietan. Biltegiratzeko karga murriztu dezakezu datuak nodoen zati batean soilik gordetzen badituzu eta nodo bereziak erabiltzen (erreplika iragankorra) hutsegiteak kudeatzeko eszenatokietarako.

Txostenean zehar kontuan hartuko dugu Lekuko Erreplikak, erabiltzen den erreplikazio-eskema Spanner ΠΈ Megadenda, eta kontzeptu honen ezarpena Apache Cassandra izenekoa Erreplikazio iragankorra eta Quorum merkeak.

Dmitri Vyukov - Goroutines agerian

19 hidra buru. Programaren ikuspegi orokorra bikaina Dmitry Google-ko garatzailea da C/C++ eta Go - Address/Memory/ThreadSanitizer eta Linux nukleorako antzeko tresnetan proba dinamikoetan lan egiten du. Goroutine-programatzaile eskalagarrian, sare-galdetzailean eta zabor-biltzaile paraleloan lagundu zuen. Multithreading-ean aditua da, blokeorik gabeko dozena bat algoritmo berriren egilea eta jabea da. Gerriko Beltza Intel.

Orain txostenari berari buruz pixka bat. Go hizkuntzak hari anitzeko euskarri natiboa du goroutine (hari arinak) eta kanalak (FIFO ilarak) moduan. Mekanismo horiei esker, oso erraza eta atsegina da erabiltzaileentzat hari anitzeko aplikazio modernoak idaztea, eta magia dirudi. Ulertzen dugunez, hemen ez dago magiarik. Hitzaldi honetan, Dmitryk Go scheduleren korapilatsuetan sakonduko du eta "magia" hori ezartzeko sekretuak erakutsiko ditu. Lehenik eta behin, programatzailearen osagai nagusien ikuspegi orokorra emango du eta nola funtzionatzen duen esango dizu. Ondoren, alderdi indibidualak gertutik aztertuko ditugu, hala nola aparkatzeko/desaparkatzeko estrategia eta blokeatzeko sistema-deiak kudeatzea. Azkenik, Dmitryk apur bat hitz egingo du programatzailearen hobekuntzei buruz.

Dmitri Bugaichenko - Banatutako grafikoen analisia bizkortzea zirriborro probabilistikoekin eta gehiagorekin

19 hidra buru. Programaren ikuspegi orokorra bikaina Dmitryk ia 9 urtez egin zuen lan externalizazioan, unibertsitatearekin eta komunitate zientifikoarekin harremana galdu gabe. Odnoklassnikiko datu handien azterketa aukera paregabea bihurtu zen berarentzat, prestakuntza teorikoa eta oinarri zientifikoa konbinatzeko benetako produktuak garatzeko.

Banatutako grafikoen analisia lan zaila izan da eta izaten jarraitzen du: ondoko erpin baten konexioei buruzko informazioa lortzea beharrezkoa denean, maiz datuak makinen artean transferitu behar izaten dira, eta horrek exekuzio denbora eta karga areagotu egiten ditu sareko azpiegituran. Hitzaldi honetan ikusiko dugu prozesatzeko abiadura esanguratsuak nola lor ditzakezun datu probabilistikoen egiturak edo gertakariak erabiliz sare sozial batean adiskidetasun grafikoaren simetria bezalakoak. Hau guztia Apache Spark-en kode-adibideekin ilustratzen da.

Denis Rystsov - Murriztu biltegiratze-kostuak Erreplika Iragankorra eta Quorum Merkeekin

19 hidra buru. Programaren ikuspegi orokorra bikaina Denis - garatzailea Cosmos DB, koherentzia ereduak, adostasun algoritmoak eta transakzio banatuak egiaztatzen aditua. Gaur egun Microsoft-en egiten du lan, eta aurretik Amazon eta Yandex-en sistema banatuetan lan egin zuen.

Hitzaldi honetan, azken urteotan asmatu diren transakzio banatuko protokoloei begirada bat emango diegu, bezeroaren aldetik inplementa daitezkeen eguneraketa baldintzatua onartzen duen edozein datu biltegiren gainean (konparatu eta ezarri). Azken kontua da bizitza ez dela bi faseko konpromiso batekin amaitzen, transakzioak edozein datu-baseren gainean gehi daitezkeela - aplikazio mailan, baina protokolo ezberdinek (2PC, Percolator, RAMP) merkataritza-konpromiso desberdinak dituzte eta ez zaizkigu ematen. doan.

Alexey Zinoviev - ML algoritmo guztiek ez dute zeru banatura iristen

19 hidra buru. Programaren ikuspegi orokorra bikaina Alexei (zaleslaw) aspaldiko hizlaria eta beste biltzar batzuetako programa-batzordeetako kidea da. EPAM Systems-en trebatzailea praktikatzen du, eta Hadoop/Spark eta beste big data-ren laguna da 2012az geroztik.

Hitzaldi honetan, Alexeyk Apache Spark ML, Apache Mahout, Apache Flink MLrekin eta Apache Ignite ML sortzeko esperientziatik abiatuta, modu banatuan exekutatzeko makina ikasteko algoritmo klasikoak egokitzeko arazoei buruz hitz egingo du. Alexeyk esparru hauetan banatutako ML algoritmoen ezarpenari buruz ere hitz egingo du.

Eta azkenik, Yandex-ek Yandex datu-baseari buruzko bi txosten.

Vladislav Kuznetsov - Yandex Database - nola bermatzen dugun akatsen tolerantzia

19 hidra buru. Programaren ikuspegi orokorra bikaina Vladislav Yandex-en garatzailea da banatutako plataforma taldean. Yandex Database horizontalki eskalagarria, geobanatua eta akatsekiko tolerantzia duen DBMS bat da, disko, zerbitzari, rack eta datu-zentroen porrotak jasan ditzakeena koherentzia galdu gabe. Akatsen tolerantzia bermatzeko, banatutako adostasuna lortzeko algoritmo jabeduna erabiltzen da, baita hainbat irtenbide tekniko ere, txostenean zehatz-mehatz aztertzen direnak. Txostena interesgarria izan daiteke DBMS garatzaileentzat eta DBMSn oinarritutako aplikazio-soluzioen garatzaileentzat.

Semyon Checherinda - Banatutako transakzioak YDBn

19 hidra buru. Programaren ikuspegi orokorra bikaina Semyon Yandex-eko banatutako plataforma taldeko garatzailea da, eta YDB instalazioaren maizter anitzeko aukeran lan egiten du.

Yandex Database OLTP kontsultetarako diseinatuta dago eta ACID sistema transakzional baterako eskakizunak betetzen ditu. Txosten honetan, YDB transakzio sistemaren azpian dagoen transakzioen programazio algoritmoa hartuko dugu kontuan. Ikus dezagun transakzioetan zein entitatek parte hartzen duten, transakzioei ordena globala nork esleitzen dien, transakzioen atomotasuna, fidagarritasuna eta isolamendu maila zorrotza nola lortzen diren. Arazo arrunt bat adibide gisa erabiliz, ikus ditzagun transakzioen inplementazioak bi faseko konpromisoak eta transakzio deterministikoak erabiliz. Azter ditzagun haien desberdintasunak.

Zer da hurrengoa?

Jardunaldien egitaraua txosten berriez betetzen jarraitzen du. Bereziki, txosten bat espero dugu Nikita Koval (ndkoval) JetBrains eta Oleg Anastasyev (m0nstermind) Odnoklassniki konpainiarena. Nikitak koroutinetarako algoritmoetan lan egiten du Kotlin taldean, eta Oleg-ek karga handiko sistemetarako arkitektura eta soluzioak garatzen ditu Odnoklassniki plataforman. Horrez gain, baldintza hutsik dagoen beste zirrikitu bat dago, programaren batzordea hautagaiekin lanean ari da oraintxe bertan.

Hydra konferentzia uztailaren 11tik 12ra izango da San Petersburgon. Sarrerak eskuragarri daude erosketa webgune ofizialean. Mesedez, arreta jarri lineako sarreren erabilgarritasunari, arrazoiren batengatik ezin baduzu San Petersburgora iritsi egun hauetan.

Hydran ikusiko gara!

Iturria: www.habr.com

Gehitu iruzkin berria