19 glava hidra. Odličan pregled programa

Konferencija će se održati od 11. do 12. jula u Sankt Peterburgu Hidra, posvećen razvoju paralelnih i distribuiranih sistema. Trik Hydre je u tome što ujedinjuje cool naučnike (koji se obično mogu naći samo na stranim naučnim konferencijama) i poznate inženjere praktičare u jedan veliki program na raskrsnici nauke i prakse.

Hydra je jedna od naših najvažnijih konferencija u posljednjih nekoliko godina. Prethodila je vrlo ozbiljna priprema, odabir govornika i izvještaji. Prošle sedmice o ovome izašao habro intervju sa direktorom JUG.ru Grupe, Aleksejem Fedorovim (23derevo).

Mi već rečeno o tri važna učesnika, osnivača teorije distribuiranih sistema - Leslie Lamport, Maurice Herlihy i Michael Scott. Vrijeme je da popričamo detaljnije o cijelom programu!

19 glava hidra. Odličan pregled programa

Motivacija

Ako se bavite programiranjem, onda se na ovaj ili onaj način bavite višenitnim i distribuiranim računarstvom. Stručnjaci u relevantnim oblastima rade sa njima direktno, ali implicitno, distribucija nas gleda sa svih strana: u bilo kom višejezgrenom računaru ili distribuiranom servisu postoji nešto što paralelno izvodi proračune.

Postoji mnogo konferencija koje pokrivaju različite aspekte programiranja aplikacija. S druge strane spektra, imamo specijalizovane naučne škole koje otkrivaju ogromne količine složene teorije u formatu predavanja. Na primjer, paralelno sa Hidrom u Sankt Peterburgu postoji SPTDC škola. Na Hydra konferenciji pokušali smo da spojimo oštru praksu, nauku i sve na njihovoj raskrsnici.

Razmislite o ovome: živimo u neverovatnom vremenu kada možete lično upoznati osnivače oblasti nauke i inženjerstva koje proučavamo. Fizičari neće sresti ni Newtona ni Einsteina - voz je otišao. Ali pored nas i dalje žive oni koji su stvorili temelje teorije distribuiranih sistema, izmislili popularne programske jezike i po prvi put sve to utjelovili u radnim prototipovima. Ovi ljudi nisu dali otkaz na pola puta, oni trenutno rade na hitnim pitanjima na svjetski poznatim univerzitetima i kompanijama i danas su najveći izvori znanja i iskustva.

S druge strane, prilika da ih upoznamo obično ostaje čisto teoretska: malo nas može stalno pratiti javna dešavanja na nekom univerzitetu u Rochesteru, a zatim požuriti u SAD i nazad na predavanje s Michaelom Scottom. Posjetite sve članove Hydre koštalo 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 hitnim problemima u distribuiranim sistemima i oni definitivno imaju mnogo toga za reći. Ali ovdje je problem - oni rabotaût, a njihovo vrijeme je dragocjeno. Da, ako ste zaposlenik Microsofta, Google-a ili JetBrainsa, vjerovatnoća 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 ovaj način Hydra konferencija ostvaruje važan zadatak koji većina nas ne može sama - na jednom mjestu iu jednom trenutku okuplja ljude čije ideje ili interakcije s kojima mogu promijeniti vaš život. Priznajem da nisu svima potrebni distribuirani sistemi ili neke složene fundamentalne stvari. Možete programirati CRUD-ove u PHP-u do kraja života i ostati potpuno sretni. Ali kome god treba, ovo je vaša prilika.

Prošlo je dosta vremena od prve najave Hydra konferencije na Habréu. Za to vrijeme urađeno je dosta posla - i sada imamo spisak skoro svih izvještaja. Nema tromih jednonitnih algoritama, samo čisto distribuirani hardcore! Hajde da završimo sa opštim rečima i da vidimo šta sada imamo u rukama.

Keynotes

Ključne riječi počinju i završavaju dane konferencije. Obično je poenta uvodne riječi da se postavi opći duh i smjer konferencije. Završni govor povlači crtu i objašnjava kako možemo živjeti sa znanjem i vještinama stečenim tokom 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 Java. Krajem 90-ih, za svoju doktorsku tezu, napisao je rad pod naslovom "Kombinovanje analiza, kombinovanje optimizacija", koji je nešto kasnije postao osnova za HotSpot JVM Server Compiler. Dvije godine kasnije, već je radio u Sun Microsystems-u na JVM-u i pokazao cijelom svijetu da JIT ima pravo na postojanje. Cijela ova priča o tome kako je Java jedno od najbržih modernih runtimea s najpametnijim i najbržim optimizacijama došla je od Cliff Click-a. Na samom početku se vjerovalo da ako je nešto dostupno statičkom kompajleru, ne morate ni pokušavati da ga jitujete. Zahvaljujući radu Cliffa i tima, svi novi jezici su počeli da se stvaraju sa idejom JIT kompilacije po defaultu. Naravno, ovo nije bio posao jednog čovjeka, ali je Cliff u tome odigrao vrlo važnu ulogu.

U uvodnoj riječi, Cliff će govoriti o svom drugom poduhvatu - H20, platforma u memoriji za distribuirano i skalabilno strojno učenje za industrijske primjene. Ili preciznije, o distribuiranom skladištenju parova ključ/vrijednost unutar njega. Ovo je vrlo brzo skladište s puno zanimljivih svojstava (tačna lista je u opis), koji omogućavaju upotrebu sličnih rješenja u matematici prijenosa velikih podataka.

Još jedan izvještaj koji će Cliff dati je - Iskustvo Azul hardverske transakcione memorije. Drugi dio njegove biografije - deset godina radi u Azulu, gdje je ažurirao i poboljšao mnogo stvari u Azul hardverskom i tehnološkom stogu: JIT kompajlere, vrijeme izvođenja, model niti, rukovanje greškama, rukovanje stekom, hardverske prekide, učitavanje klasa, i tako dalje i tako dalje - pa, shvatili ste ideja.

Najzanimljiviji dio je počeo kada su napravili hardver za veliki biznis - superkompjuter za pokretanje Jave. Bila je to prilično inovativna stvar, skrojena posebno za Javu, koja ima posebne zahtjeve - barijere čitanja memorije za prikupljanje smeća sa malim pauzama, nizove sa provjerom granica, virtuelne pozive... Jedna od najboljih tehnologija je hardverska transakciona memorija. Čitav L1 bilo koje od 864 jezgra bi mogao učestvovati u transakcijskom pisanju, što je posebno važno za rad sa bravama u Javi (sinhronizovani blokovi mogu raditi paralelno sve dok nema stvarnog memorijskog sukoba). Ali divna ideja je slomljena surovom stvarnošću - i u ovom govoru Cliff će vam reći zašto HTM i STM nisu baš pogodni za praktične potrebe višenitnog računarstva.

Michael Scott - Dvostruke strukture podataka

19 glava hidra. Odličan pregled programa Michael Scott - Profesor računarstva na Univerzitetu u Ročesteru, sa kojim ga je sudbina spojila već ima 34 godine, a na svom matičnom Univerzitetu Wisconsin-Madison, bio je dekan pet godina. On istražuje i podučava studente o paralelnom i distribuiranom programiranju i dizajnu jezika.

Ceo svet poznaje Majkla zahvaljujući udžbeniku "Pragmatika programskog jezika", čije je najnovije izdanje objavljeno relativno nedavno - 2015. godine. Njegov posao "Algoritmi za skalabilnu sinhronizaciju na multiprocesorima dijeljene memorije" primljeni Dijkstra Prize kao jedan od najpoznatijih u oblasti distribuiranog računarstva i lažući otvoreno u online biblioteci Univerziteta u Rochesteru. Možda ga poznajete i kao autora samog Michael-Scott algoritma "Jednostavni, brzi i praktični neblokirajući i blokirajući istovremeni algoritmi u redu čekanja".

Što se tiče Java svijeta, ovo je poseban slučaj: zajedno sa Dougom Leom, on je razvio neblokirajuće algoritme i sinhrone redove na kojima rade Java biblioteke. Upravo o tome će se govoriti u uvodnoj riječi „Dual data structures“ – uvođenje ovih struktura u Java SE 6 poboljšalo je performanse za 10 puta java.util.concurrent.ThreadPoolExecutor. Ako se unaprijed pitate koje su to „dvostruke strukture podataka“, onda postoje informacije o tome povezanim poslovima.

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

19 glava hidra. Odličan pregled programa Maurice Herlihy - dobitnik dvije Dijkstra nagrade. Prvi je za rad "Sinhronizacija bez čekanja" (Brown University), a drugi, noviji - "Transakciona memorija: arhitektonska podrška za strukture podataka bez zaključavanja" (Virginia Tech University). Dijkstra nagrada odaje priznanje za rad čiji su značaj i uticaj vidljivi već najmanje deset godina, a Maurice je očito jedan od najpriznatijih stručnjaka u ovoj oblasti. Trenutno radi kao profesor na Univerzitetu Brown i ima spisak dostignuća dugu par paragrafa.

U ovom završnom govoru, Maurice će govoriti o teoriji i praksi distribuiranih sistema blockchain sa stanovišta klasika distribuiranog računarstva i kako to pojednostavljuje mnoge povezane probleme. Ovo je izvještaj isključivo o temi konferencije – uopće ne o rudarenju, već o tome kako se naše znanje može iskoristiti na nevjerovatan efikasan i primjeren način u odnosu na razne zadatke.

U julu 2017, Maurice je već došao u Rusiju da pohađa SPTDC školu, učestvovao je na JUG.ru meetup-u, a snimak se može pogledati na YouTube-u:

Glavni program

Zatim slijedi kratak pregled izvještaja uključenih u program. Neki od izvještaja su ovdje detaljno opisani, drugi ukratko. Dugi opisi su se uglavnom odnosili na izvještaje na engleskom jeziku koji su zahtijevali veze do naučnih radova, termina na Wikipediji itd. Kompletna lista je dostupna pogledajte na web stranici konferencije. Lista 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. "LaTeX" skraćenica za "Lamport TeX". On je prvi, davne 1979. godine, uveo koncept sekvencijalna konzistencija, i njegov članak "Kako napraviti višeprocesorski računar koji ispravno izvršava višeprocesne programe" dobio Dijkstra nagradu.

Ovo je formatski najneobičniji dio programa, jer nije čak ni izvještaj, već sesija pitanja i odgovora. Kada je značajan dio publike već upoznat (ili se može upoznati) sa svim vrstama radova zasnovanih na “Lamportovoj teoriji”, njegovim vlastitim člancima i izvještajima, važnije je svo raspoloživo vrijeme posvetiti direktnoj komunikaciji.

Ideja je jednostavna - gledate dva priloga na YouTube-u: "Programiranje bi trebalo da bude više od kodiranja" и "Ako ne pišete program, nemojte koristiti programski jezik" i pripremite barem jedno pitanje, a Leslie odgovori.

Prvi od ova dva videa već imamo pretvorio u habro članak. Ako nemate sat vremena za gledanje videa, možete ga brzo pročitati u tekstualnom obliku.

Napomena: Na YouTube-u ima još mnogo video zapisa Leslie Lamport. Na primjer, postoji odličan TLA+ kurs. Vanmrežna verzija cijelog ovog kursa dostupna je na autorova početna stranica, te ga je postavio na YouTube radi lakšeg pregleda na mobilnim uređajima.

Martin Kleppmann - Sinhroniziranje podataka na korisničkim uređajima za distribuiranu suradnju

19 glava hidra. Odličan pregled programa Martin Kleppmann je istraživač na Univerzitetu Cambridge koji radi na CRDT-u i formalnoj verifikaciji algoritama. Martinova knjiga "Dizajniranje aplikacija sa intenzivnim podacima", objavljen 2017. godine, pokazao se vrlo uspješnim i dospio na liste bestselera u području skladištenja i obrade podataka. Kevin Scott, CTO u Microsoftu, jednom rekao: „Ova knjiga bi trebala biti nezaobilazna za softverske inženjere. Ovo je rijedak resurs koji kombinuje teoriju i praksu kako bi pomogao programerima da budu pametniji u dizajniranju i implementaciji infrastrukture i sistema podataka.” Tvorac Kafke i CTO Confluenta, Jay Kreps, rekao je nešto slično.

Prije nego što je krenuo u akademsko istraživanje, Martin je radio u industriji i suosnivao dva uspješna start-upa:

  • Rapportive, posvećeno prikazivanju društvenog profila kontakata iz vaše e-pošte, koju je LinkedIn kupio 2012.;
  • Go Test It, servis za automatsko testiranje web stranica u raznim pretraživačima, koji je RedGate kupio 2009. godine.

Općenito, Martin, iako manje poznat od naših uvodničara, već je mogao dati određeni doprinos razvoju distribuiranog računarstva i industriji.

U ovom govoru Martin će govoriti o temi bližoj njegovom akademskom istraživanju. U Google dokumentima i sličnim sofama za zajedničko uređivanje dokumenata, "saradničko uređivanje" se odnosi na zadatak replikacije: svaki korisnik ima svoju repliku zajedničkog dokumenta, koju zatim modificira, a sve promjene se šalju preko mreže na ostatak učesnika. Promjene dokumenata van mreže dovode do privremene nedosljednosti dokumenta u odnosu na druge učesnike, a ponovna sinhronizacija zahtijeva rješavanje sukoba. Upravo zbog toga i postoje Replicirani tipovi podataka bez sukoba (CRDT), zapravo, prilično je nova stvar, čija je suština formulisana tek 2011. godine. Ovaj govor govori o tome šta se od tada dogodilo u svijetu CRDT-a, koja su najnovija dostignuća, pristup kreiranju aplikacija na prvom mjestu općenito i korištenje biblioteke otvorenog koda Automatsko spajanje posebno.

Sljedeće sedmice ćemo objaviti poduži intervju sa 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 Cisco-u i razvija paralelne algoritme zadnjih desetak godina, uključujući mehanizme sinhronizacije, strukture podataka bez zaključavanja i čekanja i sve što možete zamisliti o ovoj temi. Njegovi trenutni istraživački i inženjerski interesi su fokusirani na univerzalne konstrukcije, softversku transakcionu memoriju, trajnu memoriju i slične tehnologije koje omogućavaju ispravne, skalabilne i tolerantne aplikacije. Autor je i bloga koji je nadaleko poznat u uskim krugovima Concurrency Freaks.

Većina višenitnih aplikacija sada radi na paralelnim strukturama podataka, od upotrebe redova poruka između aktera do indeksiranih struktura podataka u skladištima ključ/vrijednost. Uspješno rade u Java JDK dugi niz godina, a polako se dodaju u C++.

Najjednostavniji način implementacije paralelne strukture podataka je sekvencijalna (jednonitna) implementacija u kojoj su metode zaštićene muteksima. Ovo je dostupno za bilo koji juni, ali ima očigledne probleme sa skaliranjem i performansama. U isto vrijeme, strukture podataka bez zaključavanja i čekanja ne samo da se bolje nose s greškama, već imaju i bolji profil performansi - međutim, njihov razvoj zahtijeva duboku stručnost i prilagođavanje specifičnoj aplikaciji. Jedna pogrešna linija koda dovoljna je da sve razbije.

Kako možemo učiniti da čak i nestručnjak može dizajnirati i implementirati takve strukture podataka? Poznato je da se svaki sekvencijalni algoritam može učiniti sigurnim niti koristeći bilo koji univerzalni dizajnili transakciona memorija. Kao prvo, 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 učiniti ove dizajne efikasnijim i kako ih možete koristiti za svoje algoritme.

Heidi Howard - Oslobađanje distribuiranog konsenzusa

19 glava hidra. Odličan pregled programa Heidi Howard je, kao i Martin, istraživač distribuiranih sistema na Univerzitetu Cambridge. Njene specijalnosti su doslednost, tolerancija grešaka, performanse i distribuirani konsenzus. Najpoznatija je po svojoj generalizaciji Paxos algoritma tzv Fleksibilni Paxos.

Sjetite se toga Paxos je porodica protokola za rešavanje problema konsenzusa u mreži nepouzdanih računara, zasnovana na radu Leslija Lamporta. Dakle, neki od naših govornika rade na zadacima koje su prvobitno predložili naši drugi govornici - i ovo je divno.

Sposobnost pronalaženja konsenzusa između više domaćina – za adresiranje, izbor lidera, blokiranje ili koordinaciju – je fundamentalno pitanje u modernim distribuiranim sistemima. Paxos je sada glavni način rješavanja problema konsenzusa, a oko njega se odvijaju mnoga istraživanja kako bi se algoritam proširio i optimizirao za različite praktične potrebe.

U ovom govoru ćemo se ponovo osvrnuti na teorijsku osnovu Paxosa, opuštajući prvobitne zahtjeve i generalizirajući algoritam. Videćemo da je Paxos u suštini samo jedna opcija među ogromnom lepezom konsenzusnih pristupa, i da su druge tačke na spektru takođe veoma korisne za izgradnju dobrih distribuiranih sistema.

Alex Petrov — Smanjite svoje troškove skladištenja uz Transient Replication i Cheap Quorums

19 glava hidra. Odličan pregled programa Alex je stručnjak za baze podataka i sisteme za skladištenje podataka, i što je još važnije za nas, izvršilac Cassandra. Trenutno radi na knjizi, Database Internals, sa O'Reillyjem.

Za sisteme sa konačnu konzistentnost (u ruskoj terminologiji - "krajnja konzistentnost"), nakon pada čvora ili razdvajanja mreže, morate riješiti sljedeću dilemu: ili nastavite izvršavati zahtjeve, žrtvujući konzistentnost, ili odbiti da ih izvršite i žrtvujete dostupnost. U takvom sistemu, kvorumi, preklapanje podskupova čvorova i osiguranje da barem jedan čvor sadrži najnoviju vrijednost, mogu biti dobro rješenje na rubu. Možete preživjeti neuspjehe i gubitak veze s nekim čvorovima dok i dalje odgovarate najnovijim vrijednostima.

Međutim, sve ima svoju cijenu. Šema replikacije kvoruma znači povećane troškove skladištenja: redundantni podaci moraju biti pohranjeni na više čvorova odjednom kako bi se osiguralo da ima dovoljno dostupnih kopija kada se pojavi problem. Ispostavilo se da ne morate pohraniti sve podatke na sve replike. Možete smanjiti opterećenje skladišta ako pohranjujete podatke samo na dijelu čvorova i koristite posebne čvorove (Tranzientna replika) za scenarije rukovanja greškom.

U toku izvještaja ćemo razmotriti Replike svjedoka, shema replikacije koja se koristi u Spanner и Megatrgovine, a implementacija ovog koncepta u Apache Cassandra tzv Prolazna replikacija i jeftini kvorumi.

Dmitrij Vjukov - Goroutines otkrivene

19 glava hidra. Odličan pregled programa Dmitry je programer u Google-u koji radi na dinamičkom testiranju za C/C++ i Go - Address/Memory/ThreadSanitizer i slične alate za Linux kernel. Doprinio Go skalabilnom planeru goroutine, mrežnom polleru i paralelnom sakupljaču smeća. Stručnjak je za multithreading, autor je desetak novih algoritama bez blokiranja i vlasnik je Crni kaiš Intel.

Sada malo o samom izvještaju. Go jezik ima izvornu podršku za višenitnost u obliku gorutina (lakih niti) i kanala (FIFO redovi). Ovi mehanizmi korisnicima čine veoma lakim i ugodnim pisanje modernih višenitnih aplikacija, a to izgleda kao magija. Kao što razumemo, ovde nema magije. U ovom govoru, Dmitrij će se upustiti u zamršenosti planera Go i pokazati tajne implementacije ove „magije“. Prvo će dati pregled glavnih komponenti planera i reći vam kako on funkcionira. Zatim ćemo detaljnije pogledati pojedinačne aspekte kao što su strategija parkiranja/odparkiranja i rukovanje blokirajući sistemske pozive. Na kraju, Dmitrij će malo govoriti o mogućim poboljšanjima planera.

Dmitrij Bugaichenko - Ubrzavanje analize distribuiranih grafova sa probabilističkim skicama i još mnogo toga

19 glava hidra. Odličan pregled programa Dmitrij je radio u outsourcingu skoro 9 godina ne gubeći kontakt sa univerzitetom i naučnom zajednicom. Analiza velikih podataka u Odnoklassnikiju postala je za njega jedinstvena šansa da kombinuje teorijsku obuku i naučnu osnovu sa razvojem stvarnih, traženih proizvoda.

Analiza distribuiranog grafa bila je i ostaje težak zadatak: kada je potrebno dobiti informacije o vezama susjednog vrha, podaci se često moraju prenositi između strojeva, što dovodi do povećanog vremena izvršavanja i opterećenja mrežne infrastrukture. U ovom govoru ćemo vidjeti kako možete postići značajnu brzinu obrade korištenjem vjerojatnosnih struktura podataka ili činjenica kao što je simetrija grafa prijateljstva na društvenoj mreži. Sve ovo je ilustrovano primjerima koda u Apache Sparku.

Denis Rystsov - Smanjite svoje troškove skladištenja uz Transient Replication i Cheap Quorums

19 glava hidra. Odličan pregled programa Denis - programer Cosmos DB, stručnjak za provjeru modela konzistentnosti, konsenzus algoritama i distribuiranih transakcija. Trenutno radi u Microsoftu, a prije toga je radio na distribuiranim sistemima 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 na vrhu bilo koje skladišta podataka koja podržava uslovno ažuriranje (uporedi i postavi). Suština je da život ne završava dvofaznim urezivanjem, transakcije se mogu dodati na bilo koju bazu podataka - na nivou aplikacije, ali različiti protokoli (2PC, Percolator, RAMP) imaju različite kompromise i nisu nam dati besplatno.

Aleksej Zinovjev - Nisu svi ML algoritmi stigli do distribuiranog raja

19 glava hidra. Odličan pregled programa Aleksej (zaleslaw) je dugogodišnji govornik i član programskih odbora na drugim konferencijama. Trener za praksu u EPAM Systems, i prijatelj je sa Hadoop/Spark i drugim velikim podacima od 2012.

U ovom govoru, Aleksej će govoriti o problemima prilagođavanja klasičnih algoritama mašinskog učenja za izvršavanje u distribuiranom režimu na osnovu svog iskustva u radu sa Apache Spark ML, Apache Mahout, Apache Flink ML i iskustvu kreiranja Apache Ignite ML. Alexey će također govoriti o implementaciji distribuiranih ML algoritama u ovim okvirima.

I na kraju, dva izvještaja iz Yandexa o Yandex bazi podataka.

Vladislav Kuznjecov - Yandex baza podataka - kako osiguravamo toleranciju grešaka

19 glava hidra. Odličan pregled programa Vladislav je programer u Yandexu u grupi distribuiranih platformi. Yandex Database je horizontalno skalabilan, geo-distribuiran, otporan na greške DBMS koji može izdržati kvar diskova, servera, regala i podatkovnih centara bez gubitka konzistentnosti. Kako bi se osigurala tolerancija grešaka, koristi se vlasnički algoritam za postizanje distribuiranog konsenzusa, kao i niz tehničkih rješenja o kojima se detaljno govori u izvještaju. Izvještaj može biti od interesa i za programere DBMS-a i za programere aplikativnih rješenja baziranih na DBMS-u.

Semjon Čečerinda - Distribuirane transakcije u YDB

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

Yandex Database je dizajnirana za OLTP upite i usklađena je sa ACID zahtjevima za transakcijski sistem. U ovom izvještaju ćemo razmotriti algoritam za raspoređivanje transakcija koji je u osnovi YDB sistema transakcija. Pogledajmo koji entiteti učestvuju u transakcijama, ko dodjeljuje globalni red transakcijama, kako se postiže atomičnost transakcije, pouzdanost i strogi nivo izolacije. Koristeći uobičajeni problem kao primjer, pogledajmo implementacije transakcija korištenjem dvofaznih urezivanja i determinističkih transakcija. Hajde da razgovaramo o njihovim razlikama.

Što je sljedeće?

Program konferencije i dalje je ispunjen novim izvještajima. Posebno očekujemo izvještaj od Nikita Koval (ndkoval) iz JetBrainsa i Oleg Anastasjev (m0nstermind) kompanije Odnoklassniki. Nikita radi na algoritmima za korutine u Kotlin timu, a Oleg razvija arhitekturu i rješenja za sisteme visokog opterećenja na platformi Odnoklassniki. Osim toga, postoji još 1 uslovno prazan termin, programski odbor trenutno radi sa kandidatima za njega.

Hydra konferencija će se održati od 11. do 12. jula u Sankt Peterburgu. Ulaznice su dostupne kupiti na službenoj web stranici. Obratite pažnju na dostupnost online karata - ako iz nekog razloga ne možete stići u Sankt Peterburg ovih dana.

Vidimo se u Hidri!

izvor: www.habr.com

Dodajte komentar