19 glava hidra. Odličan pregled programa

Konferencija će se održati 11. i 12. srpnja u St Hidra, posvećen razvoju paralelnih i distribuiranih sustava. Trik Hydre je u tome što ujedinjuje cool znanstvenike (koje inače ima samo na stranim znanstvenim konferencijama) i poznate inženjere praktičare u jedan veliki program na sjecištu znanosti i prakse.

Hydra je jedna od naših najvažnijih konferencija u posljednjih nekoliko godina. Prethodila mu je vrlo ozbiljna priprema, odabir govornika i referata. Prošli tjedan o ovome izašao habro intervju s direktorom JUG.ru grupe Aleksejem Fedorovim (23derevo).

Mi već rečeno o tri važna sudionika, utemeljiteljima teorije raspodijeljenih sustava - Leslieju Lamportu, Mauriceu Herlihyju i Michaelu Scottu. Vrijeme je da popričamo detaljnije o cjelokupnom programu!

19 glava hidra. Odličan pregled programa

Motivacija

Ako se bavite programiranjem, onda se na ovaj ili onaj način bavite multithreadingom i distribuiranim računalstvom. Stručnjaci u relevantnim područjima rade s njima izravno, ali implicitno, distribucija nas gleda sa svih strana: u svakom višejezgrenom računalu ili distribuiranoj usluzi postoji nešto što paralelno izvodi izračune.

Postoje mnoge konferencije koje pokrivaju različite aspekte programiranja aplikacija. S druge strane spektra, imamo specijalizirane znanstvene škole koje otkrivaju ogromne količine složene teorije u obliku predavanja. Na primjer, paralelno s Hidrom u Sankt Peterburgu postoji SPTDC škola. Na konferenciji Hydra pokušali smo spojiti oštru praksu, znanost i sve na njihovom sjecištu.

Razmislite o ovome: živimo u nevjerojatnom vremenu kada možete osobno upoznati utemeljitelje polja znanosti i inženjerstva koje proučavamo. Fizičari neće sresti ni Newtona ni Einsteina – vlak je otišao. Ali pored nas još uvijek žive oni koji su stvorili temelje teorije distribuiranih sustava, izumili popularne programske jezike i po prvi put sve to utjelovili u radnim prototipovima. Ti ljudi nisu napustili posao na pola puta, oni upravo sada rade na gorućim temama u svjetski poznatim sveučilištima i kompanijama i najveći su izvor znanja i iskustva današnjice.

S druge strane, prilika za susret s njima najčešće ostaje čisto teoretska: malo tko od nas može stalno pratiti javna događanja na nekom sveučilištu u Rochesteru, a zatim odjuriti u SAD i natrag na predavanje s Michaelom Scottom. Posjet svim članovima Hydre koštao bi malo bogatstvo, ne računajući ponor izgubljenog vremena (iako zvuči kao zanimljiva potraga).

S druge strane, imamo mnogo vrhunskih inženjera koji trenutno rade na gorućim problemima u distribuiranim sustavima i definitivno imaju puno toga za reći. Ali ovdje je problem - oni rade, a njihovo vrijeme je dragocjeno. Da, ako ste zaposlenik Microsofta, Googlea ili JetBrainsa, vjerojatnost da ćete sresti nekog od poznatih govornika na internom događaju naglo raste, ali općenito, ne, to se ne događa svaki dan.

Na taj način konferencija Hydra ostvaruje važan zadatak koji većina nas ne može sama – na jednom mjestu i u jednom trenutku okuplja ljude čije ideje ili interakcija s kojima vam može promijeniti život. Priznajem da ne trebaju svi distribuirani sustavi ili neke složene fundamentalne stvari. Možete programirati CRUD-ove u PHP-u do kraja života i ostati potpuno sretni. Ali kome treba, ovo je vaša prilika.

Prošlo je dosta vremena od prve najave konferencije Hydra na Habréu. Tijekom ovog vremena učinjeno je puno posla - i sada imamo popis gotovo svih izvješća. Nema tromih jednonitnih algoritama, samo čisti distribuirani hardcore! Završimo s općim riječima i vidimo što sada imamo u rukama.

Keynotes

Keynotes počinju i završavaju dane konferencije. Obično je smisao uvodne riječi odrediti opći duh i smjer konferencije. Završna uvodna riječ podvlači crtu i objašnjava kako možemo živjeti sa znanjem i vještinama stečenim tijekom konferencije. Početak i kraj: ono što se najbolje pamti, i općenito, ima povećan značaj.

Cliff Click H2O distribuirani K/V algoritam

19 glava hidra. Odličan pregled programa Cliff je legenda u svijetu Jave. Krajem 90-ih, za svoju doktorsku disertaciju, napisao je rad pod naslovom "Kombiniranje analiza, kombiniranje optimizacija", koji je nešto kasnije postao osnova za HotSpot JVM Server Compiler. Dvije godine kasnije već je radio u Sun Microsystemsu na JVM-u i pokazao cijelom svijetu da JIT ima pravo na postojanje. Cijela ova priča o tome kako je Java jedan od najbržih modernih runtimea s najpametnijim i najbržim optimizacijama došla je od Cliff Click-a. U samom početku vjerovalo se da ako je nešto dostupno statičkom prevoditelju, ne morate to ni pokušavati jitovati. Zahvaljujući radu Cliffa i tima, svi novi jezici počeli su se stvarati s idejom JIT kompilacije prema zadanim postavkama. Naravno, ovo nije bio posao jednog čovjeka, ali Cliff je u njemu odigrao vrlo važnu ulogu.

U uvodnom govoru, Cliff će govoriti o svom drugom pothvatu - H20, platforma u memoriji za distribuirano i skalabilno strojno učenje za industrijske primjene. Ili točnije, o distribuiranoj pohrani parova ključ-vrijednost unutar njega. Ovo je vrlo brza pohrana s puno zanimljivih svojstava (točan popis nalazi se u opis), koji omogućuju korištenje sličnih rješenja u matematici protoka velikih podataka.

Drugo izvješće koje će Cliff dati je - Iskustvo transakcijske memorije hardvera Azul. Drugi dio njegove biografije - deset godina raditi u Azulu, gdje je ažurirao i poboljšao mnoge stvari u Azul hardverskom i tehnološkom nizu: JIT kompajlere, vrijeme izvođenja, model niti, rukovanje pogreškama, rukovanje stogom, hardverske prekide, učitavanje klase i tako dalje i tako dalje - pa, dobivate ideja.

Najzanimljiviji dio počeo je kada su napravili hardver za veliki posao - superračunalo za pokretanje Jave. Bila je to prilično inovativna stvar, skrojena posebno za Javu, koja ima posebne zahtjeve - barijere čitanja memorije za skupljanje smeća s niskim pauzama, nizovi s provjerom granica, virtualni pozivi... Jedna od najcool tehnologija je hardverska transakcijska memorija. Cijeli L1 bilo koje od 864 jezgre mogao bi sudjelovati u transakcijskom pisanju, što je posebno važno za rad s bravama u Javi (sinkronizirani blokovi mogu raditi paralelno sve dok nema stvarnog memorijskog sukoba). Ali prekrasnu ideju uništila je surova stvarnost - au ovom govoru Cliff će vam reći zašto HTM i STM nisu baš prikladni za praktične potrebe višenitnog računalstva.

Michael Scott - Dualne strukture podataka

19 glava hidra. Odličan pregled programa Michael Scott - Profesor informatike na Sveučilištu Rochester, s kojim ga je sudbina spojila već 34 godine, a na svom matičnom Sveučilištu Wisconsin–Madison bio je dekan pet godina. Istražuje i podučava studente o paralelnom i distribuiranom programiranju i dizajnu jezika.

Michaela cijeli svijet poznaje zahvaljujući udžbeniku "Pragmatika programskog jezika", čije je posljednje izdanje objavljeno relativno nedavno - 2015. Njegov posao "Algoritmi za skalabilnu sinkronizaciju na multiprocesorima s dijeljenom memorijom" primljen Dijkstra nagrada kao jedan od najpoznatijih u području distribuiranog računarstva i otvoreno laganje u internetskoj knjižnici Sveučilišta Rochester. Možda ga poznajete i kao autora samog Michael-Scott algoritma iz "Jednostavni, brzi i praktični neblokirajući i blokirajući paralelni algoritmi čekanja".

Što se tiče svijeta Jave, ovo je poseban slučaj: zajedno s Dougom Leaom razvio je neblokirajuće algoritme i sinkrone redove na kojima rade Java biblioteke. To je upravo ono o čemu će biti riječ u uvodnom izlaganju “Dvojne strukture podataka” - uvođenje ovih struktura u Java SE 6 poboljšalo je performanse za 10 puta java.util.concurrent.ThreadPoolExecutor. Ako se unaprijed pitate što su to "Dvojne strukture podataka", onda o tome postoje informacije povezani posao.

Maurice Herlihy - Blockchains i budućnost distribuiranog računarstva

19 glava hidra. Odličan pregled programa Maurice Herlihy - dobitnik dvije nagrade Dijkstra. Prvi je za rad "Sinkronizacija bez čekanja" (Brown University), a drugi, noviji - "Transakcijska memorija: Arhitektonska podrška za strukture podataka bez zaključavanja" (Sveučilište Virginia Tech). Nagrada Dijkstra odaje priznanje radu čiji su značaj i utjecaj vidljivi najmanje deset godina, a Maurice je očito jedan od najpriznatijih stručnjaka na tom području. Trenutačno radi kao profesor na Sveučilištu Brown i ima dug popis postignuća.

U ovoj završnoj uvodnoj riječi, Maurice će govoriti o teoriji i praksi distribuiranih sustava blockchaina sa stajališta klasika distribuiranog računarstva i kako pojednostavljuje mnoge povezane probleme. Ovo je izvještaj isključivo o temi konferencije - uopće ne o rudarskom hypeu, već o tome kako se naše znanje može upotrijebiti nevjerojatno učinkovito i prikladno u odnosu na različite zadatke.

U srpnju 2017. Maurice je već dolazio u Rusiju na SPTDC školu, sudjelovao je na JUG.ru meetupu, a snimku možete pogledati na YouTubeu:

Glavni program

Zatim slijedi kratak pregled izvješća uključenih u program. Neka izvješća ovdje su detaljnije, a druga kraće opisana. Dugi opisi išli su uglavnom na izvješća na engleskom jeziku koja su zahtijevala poveznice na znanstvene radove, pojmove na Wikipediji i tako dalje. Potpuni popis je dostupan pogledajte na web stranici konferencije. Popis na web stranici će se ažurirati i dopunjavati.

Leslie Lamport - Pitanja i odgovori

19 glava hidra. Odličan pregled programa Leslie Lamport je autor temeljnih radova u distribuiranom računarstvu. "Lateks" stoji za "Lamport TeX". On je prvi, još 1979. godine, predstavio taj koncept dosljedna dosljednost, i njegov članak "Kako napraviti višeprocesorsko računalo koje ispravno izvršava višeprocesne programe" dobio nagradu Dijkstra.

Formatski je to najneobičniji dio programa, jer nije čak ni izvješće, već sesija pitanja i odgovora. Kada je značajan dio publike već upoznat (ili se može upoznati) sa svim vrstama radova koji se temelje na “Lamportovoj teoriji”, njegovim vlastitim člancima i reportažama, važnije je potrošiti sve raspoloživo vrijeme na izravnu komunikaciju.

Ideja je jednostavna - gledate dvije reportaže na YouTubeu: "Programiranje bi trebalo biti više od kodiranja" и "Ako ne pišete program, nemojte koristiti programski jezik" i pripremi barem jedno pitanje, a Leslie odgovara.

Prvi od ova dva videa već imamo pretvorio u habro članak. Ako nemate sat vremena da pogledate video, možete ga na brzinu sve pročitati u tekstualnom obliku.

Napomena: na YouTubeu ima još mnogo videozapisa Leslie Lamport. Na primjer, postoji sjajan TLA+ tečaj. Izvanmrežna verzija cijelog ovog tečaja dostupna je na autorova početna stranica, te ga je postavio na YouTube radi lakšeg pregledavanja na mobilnim uređajima.

Martin Kleppmann - Sinkronizacija podataka preko korisničkih uređaja za distribuiranu suradnju

19 glava hidra. Odličan pregled programa Martin Kleppmann je istraživač na Sveučilištu Cambridge koji radi na CRDT-u i formalnoj provjeri algoritama. Martinova knjiga "Dizajniranje aplikacija s velikim brojem podataka", objavljen 2017. godine, pokazao se vrlo uspješnim i dospio na liste najprodavanijih knjiga u području pohrane i obrade podataka. Kevin Scott, tehnički direktor u Microsoftu, jednom rekao: “Ova bi knjiga trebala biti nezaobilazna za softverske inženjere. Ovo je rijedak resurs koji kombinira teoriju i praksu kako bi pomogao programerima da pametnije osmisle i implementiraju infrastrukturu i podatkovne sustave.” Tvorac Kafke i tehnički direktor Confluenta, Jay Kreps, rekao je nešto slično.

Prije nego što je krenuo u akademska istraživanja, Martin je radio u industriji i bio suosnivač dvaju uspješnih start-upa:

  • Rapportive, posvećen prikazivanju društvenog profila kontakata s vaše e-pošte, koji je LinkedIn kupio 2012.;
  • Go Test It, servis za automatsko testiranje web stranica u raznim preglednicima, koji je RedGate kupio 2009. godine.

Općenito, Martin, iako manje slavan od naših ključnih riječi, već je mogao dati određeni doprinos razvoju distribuiranog računarstva i industriji.

Martin će u ovom izlaganju govoriti o temi koja mu je bliža akademskom istraživanju. U Google dokumentima i sličnim sofama za zajedničko uređivanje dokumenata, "suradničko uređivanje" odnosi se na zadatak replikacije: svaki korisnik ima vlastitu repliku dijeljenog dokumenta, koju zatim modificira, a sve se promjene šalju preko mreže ostatku sudionika. Promjene dokumenata izvan mreže dovode do privremene nedosljednosti dokumenta u odnosu na druge sudionike, a ponovna sinkronizacija zahtijeva rješavanje sukoba. Upravo zbog toga i postoje Replicirane vrste podataka bez sukoba (CRDT), zapravo, prilično je nova stvar, čija je suština formulirana tek 2011. godine. Ovaj govor raspravlja o tome što se od tada dogodilo u svijetu CRDT-a, koji su najnoviji pomaci, općenito pristup stvaranju lokalnih aplikacija i korištenje knjižnice otvorenog koda Automatsko spajanje posebno.

Sljedeći tjedan objavit ćemo veliki intervju s Martinom na Habréu, bit će zanimljivo.

Pedro Ramalhete - Strukture podataka bez čekanja i transakcije bez čekanja

19 glava hidra. Odličan pregled programa Pedro radi u Ciscu i zadnjih desetak godina razvija paralelne algoritme, uključujući mehanizme sinkronizacije, strukture podataka bez zaključavanja i čekanja i sve što možete zamisliti na ovu temu. Njegov trenutni istraživački i inženjerski interes usmjeren je na univerzalne konstrukcije, softversku transakcijsku memoriju, trajnu memoriju i slične tehnologije koje omogućuju ispravne, skalabilne i tolerantne aplikacije. Također je autor bloga koji je poznat u užim krugovima Čudaci za konkurentnost.

Većina višenitnih aplikacija sada radi na paralelnim podatkovnim strukturama, od upotrebe redova poruka između aktera do indeksiranih podatkovnih struktura u pohrani ključ-vrijednost. Već godinama uspješno rade u Java JDK-u, a polako se dodaju i u C++.

Najjednostavniji način implementacije paralelne strukture podataka je sekvencijalna (jednonitna) implementacija u kojoj su metode zaštićene muteksima. Ovo je dostupno svakom lipnju, ali ima očitih problema sa skaliranjem i izvedbom. Istodobno, podatkovne strukture bez zaključavanja i bez čekanja ne samo da se bolje nose s pogreškama, već imaju i bolji profil izvedbe - međutim, njihov razvoj zahtijeva duboku stručnost i prilagodbu specifičnoj aplikaciji. Dovoljna je jedna pogrešna linija koda da sve pokvari.

Kako možemo napraviti tako da čak i nestručnjak može dizajnirati i implementirati takve strukture podataka? Poznato je da se bilo koji sekvencijalni algoritam može učiniti niti sigurnim koristeći bilo koji univerzalni dizajn, ili transakcijsku memoriju. S jedne strane, oni mogu smanjiti barijeru za ulazak u rješavanje ovog problema. Međutim, oba rješenja obično dovode do neučinkovite implementacije. Pedro će govoriti o tome kako su uspjeli ove dizajne učiniti učinkovitijima i kako ih možete koristiti za svoje algoritme.

Heidi Howard - Oslobađajući distribuirani konsenzus

19 glava hidra. Odličan pregled programa Heidi Howard je, kao i Martin, istraživačica distribuiranih sustava na Sveučilištu Cambridge. Njezine specijalnosti su dosljednost, tolerancija grešaka, izvedba i distribuirani konsenzus. Najpoznatija je po svojoj generalizaciji Paxos algoritma tzv Fleksibilni Paxos.

Sjetite se toga paxos je obitelj protokola za rješavanje problema konsenzusa u mreži nepouzdanih računala, temeljena na radu Leslieja Lamporta. Dakle, neki od naših govornika rade na problemima koje su izvorno predložili naši drugi govornici - i to je prekrasno.

Sposobnost pronalaženja konsenzusa među više hostova - za adresiranje, izbor voditelja, blokiranje ili koordinaciju - temeljno je pitanje u modernim distribuiranim sustavima. Paxos je sada glavni način rješavanja problema konsenzusa i oko njega se provode mnoga istraživanja kako bi se algoritam proširio i optimizirao za razne praktične potrebe.

U ovom govoru ponovno ćemo razmotriti teorijsku osnovu Paxosa, ublažavajući izvorne zahtjeve i generalizirajući algoritam. Vidjet ćemo da je Paxos u biti samo jedna opcija među ogromnim rasponom konsenzusnih pristupa, te da su druge točke u spektru također vrlo korisne za izgradnju dobrih distribuiranih sustava.

Alex Petrov — Smanjite troškove pohrane uz prolaznu replikaciju i jeftine kvorume

19 glava hidra. Odličan pregled programa Alex je stručnjak za baze podataka i sustave za pohranu podataka, i što je još važnije za nas, komiter u Cassandra. Trenutno radi na knjizi, Database Internals, s O'Reillyjem.

Za sustave sa eventualna dosljednost (u ruskoj terminologiji - “krajnja dosljednost”), nakon pada čvora ili podjele mreže, morate riješiti sljedeću dilemu: ili nastaviti izvršavati zahtjeve, žrtvujući dosljednost, ili odbiti ih izvršiti i žrtvovati dostupnost. U takvom sustavu, kvorumi, preklapajući podskupovi čvorova i osiguravanje da barem jedan čvor sadrži najnoviju vrijednost, mogu biti dobro rubno rješenje. Možete preživjeti kvarove i gubitak povezivosti s nekim čvorovima dok i dalje odgovarate najnovijim vrijednostima.

Ipak, sve ima svoju cijenu. Shema replikacije kvoruma znači povećane troškove pohrane: suvišni podaci moraju biti pohranjeni na više čvorova odjednom kako bi se osiguralo da postoji dovoljno dostupnih kopija kada se pojavi problem. Ispada da ne morate pohraniti sve podatke na sve replike. Možete smanjiti opterećenje pohrane ako pohranjujete podatke samo na dijelu čvorova i koristite posebne čvorove (Transient Replica) za scenarije rukovanja kvarovima.

Tijekom izvješća razmotrit ćemo Replike svjedoka, shema replikacije koja se koristi u ključ za matice и Megatrgovina, a implementacija ovog koncepta u Apache Cassandra tzv Prolazna replikacija i jeftini kvorumi.

Dmitrij Vjukov - Goroutines izložene

19 glava hidra. Odličan pregled programa Dmitry je razvojni programer u Googleu koji radi na dinamičkom testiranju za C/C++ i Go - Address/Memory/ThreadSanitizer i slične alate za Linux kernel. Doprinio Go skalabilnom goroutine planeru, mrežnom ispitivaču i paralelnom sakupljaču smeća. On je stručnjak za multithreading, autor je desetak novih neblokirajućih algoritama i vlasnik je Crni pojas Intel.

Sada malo o samom izvješću. Go jezik ima nativnu podršku za višenitnost u obliku goroutine (lake niti) i kanala (FIFO redovi). Ovi mehanizmi čine vrlo lakim i ugodnim za korisnike pisanje modernih multi-thread aplikacija, a izgleda kao magija. Kao što razumijemo, ovdje nema magije. U ovom govoru, Dmitry će zaroniti u zamršenost Go planera i pokazati tajne implementacije ove "magije". Prvo će vam dati pregled glavnih komponenti planera i reći vam kako radi. Zatim ćemo pobliže pogledati pojedinačne aspekte kao što su strategija parkiranja/isparkiranja i rukovanje pozivima sustava za blokiranje. Na kraju, Dmitry će govoriti malo o mogućim poboljšanjima planera.

Dmitrij Bugaičenko - Ubrzavanje distribuirane analize grafova s ​​probabilističkim skicama i više

19 glava hidra. Odličan pregled programa Dmitry je radio u outsourcingu gotovo 9 godina bez gubitka kontakta sa sveučilištem i znanstvenom zajednicom. Analiza velikih podataka u Odnoklassniki za njega je postala jedinstvena prilika za kombiniranje teorijske obuke i znanstvene osnove s razvojem stvarnih, traženih proizvoda.

Analiza distribuiranog grafa bila je i ostala težak zadatak: kada je potrebno dobiti informacije o vezama susjednog vrha, podaci se često moraju prenositi između strojeva, što dovodi do povećanja vremena izvršenja i opterećenja mrežne infrastrukture. U ovom govoru vidjet ćemo kako možete postići značajne brzine obrade korištenjem probabilističkih struktura podataka ili činjenica poput simetrije grafikona prijateljstva u društvenoj mreži. Sve je to ilustrirano primjerima koda u Apache Sparku.

Denis Rystsov - Smanjite troškove pohrane uz prolaznu replikaciju i jeftine kvorume

19 glava hidra. Odličan pregled programa Denis - programer Kozmos DB, stručnjak za provjeru modela dosljednosti, algoritama konsenzusa i distribuiranih transakcija. Trenutno radi u Microsoftu, a prije toga je radio na distribuiranim sustavima u Amazonu i Yandexu.

U ovom govoru ćemo pogledati protokole distribuiranih transakcija koji su izmišljeni u proteklih nekoliko godina, a koji se mogu implementirati na strani klijenta povrh bilo koje pohrane podataka koja podržava uvjetno ažuriranje (usporedi i postavi). Suština je da život ne završava s dvofaznim preuzimanjem, transakcije se mogu dodati povrh bilo koje baze podataka - na razini aplikacije, ali različiti protokoli (2PC, Percolator, RAMP) imaju različite kompromise i nisu nam dani besplatno.

Aleksej Zinovjev - Ne dospiju svi ML algoritmi u distribuirani raj

19 glava hidra. Odličan pregled programa Aleksej (zaleslaw) dugogodišnji je predavač i član programskih odbora na drugim skupovima. Trener u EPAM Systemsu, prijatelj je s Hadoop/Sparkom i drugim velikim podacima od 2012.

U ovom govoru Alexey će govoriti o problemima prilagodbe klasičnih algoritama strojnog učenja za izvođenje u distribuiranom načinu rada na temelju svog iskustva u radu s Apache Spark ML, Apache Mahout, Apache Flink ML i iskustva kreiranja Apache Ignite ML. Alexey će također govoriti o implementaciji distribuiranih ML algoritama u ovim okvirima.

I na kraju, dva izvješća Yandexa o Yandex bazi podataka.

Vladislav Kuznjecov - Yandex baza podataka - kako osiguravamo toleranciju na pogreške

19 glava hidra. Odličan pregled programa Vladislav je programer u Yandexu u grupi distribuiranih platformi. Yandex baza podataka je horizontalno skalabilan, geo-distribuiran, DBMS tolerantan na pogreške koji može izdržati kvarove diskova, poslužitelja, polica i podatkovnih centara bez gubitka konzistentnosti. Kako bi se osigurala tolerancija na greške, koristi se vlastiti algoritam za postizanje distribuiranog konsenzusa, kao i niz tehničkih rješenja, koja su detaljno obrađena u izvješću. Izvještaj bi mogao biti od interesa za programere DBMS-a i programere aplikativnih rješenja temeljenih na DBMS-u.

Semjon Čečerinda - Distribuirane transakcije u YDB-u

19 glava hidra. Odličan pregled programa Semyon je razvojni programer u grupi distribuirane platforme u Yandexu, koji radi na mogućnosti korištenja YDB instalacije za više korisnika.

Yandex baza podataka dizajnirana je za OLTP upite i u skladu je s ACID zahtjevima za transakcijski sustav. U ovom ćemo izvješću razmotriti algoritam za raspoređivanje transakcija koji je u osnovi transakcijskog sustava YDB. Pogledajmo koji entiteti sudjeluju u transakcijama, tko dodjeljuje globalni poredak transakcijama, kako se postižu atomičnost transakcije, pouzdanost i stroga razina izolacije. Koristeći uobičajeni problem kao primjer, pogledajmo implementacije transakcija korištenjem dvofaznih obveza i determinističkih transakcija. Raspravljajmo o njihovim razlikama.

Što je sljedeće?

Program skupa nastavlja se puniti novim izvješćima. Posebno očekujemo izvješće od Nikita Koval (ndkoval) od JetBrains i Oleg Anastasjev (m0nstermind) iz tvrtke Odnoklassniki. Nikita radi na algoritmima za korutine u Kotlin timu, a Oleg razvija arhitekturu i rješenja za visokoopterećene sustave na platformi Odnoklassniki. Osim toga, postoji još 1 uvjetno prazno mjesto, programski odbor upravo radi s kandidatima za njega.

Konferencija Hydra održat će se 11. i 12. srpnja u St. Ulaznice su dostupne kupiti na službenoj web stranici. Molimo obratite pozornost na dostupnost online ulaznica - ako iz nekog razloga ne možete stići u St. Petersburg ovih dana.

Vidimo se u Hidri!

Izvor: www.habr.com

Dodajte komentar