19 hidra galvučių. Puiki programos apžvalga

Liepos 11-12 dienomis Sankt Peterburge vyks konferencija hidra, skirta lygiagrečių ir paskirstytų sistemų kūrimui. „Hydra“ gudrybė ta, kad ji sujungia šaunius mokslininkus (kurių dažniausiai galima rasti tik užsienio mokslinėse konferencijose) ir žinomus praktikuojančius inžinierius į vieną didelę programą mokslo ir praktikos sankirtoje.

„Hydra“ yra viena svarbiausių mūsų konferencijų per pastaruosius kelerius metus. Prieš tai buvo labai rimtas pasiruošimas, pranešėjų ir pranešimų parinkimas. Praėjusią savaitę apie tai išėjo habro interviu su JUG.ru grupės direktoriumi Aleksejumi Fedorovu (23derevo).

Mes jau pasakyta apie tris svarbius dalyvius, paskirstytų sistemų teorijos pradininkus – Leslie Lamport, Maurice'ą Herlihy ir Michaelą Scottą. Atėjo laikas plačiau pakalbėti apie visą programą!

19 hidra galvučių. Puiki programos apžvalga

Motyvacija

Jei užsiimate programavimu, tai vienaip ar kitaip jūs susiduriate su daugiasriegiu ir paskirstytu skaičiavimu. Atitinkamų sričių ekspertai su jais dirba tiesiogiai, bet netiesiogiai platinimas į mus žiūri iš visur: bet kuriame kelių branduolių kompiuteryje ar paskirstytoje tarnyboje yra kažkas, kas lygiagrečiai atlieka skaičiavimus.

Yra daug konferencijų, kuriose aptariami įvairūs programų programavimo aspektai. Kitoje spektro pusėje turime specializuotas mokslo mokyklas, kurios paskaitų formatu atskleidžia daugybę sudėtingos teorijos. Pavyzdžiui, lygiagrečiai su Hidra Sankt Peterburge yra SPTDC mokykla. „Hydra“ konferencijoje stengėmės, kad jų sankirta būtų atšiauri praktika, mokslas ir viskas.

Pagalvokite apie tai: gyvename nuostabiu laiku, kai galite asmeniškai susitikti su mūsų studijuojamos mokslo ir inžinerijos srities įkūrėjais. Fizikai nesutiks nei Niutono, nei Einšteino – traukinys nuvažiavo. Tačiau šalia mūsų vis dar gyvena tie, kurie sukūrė paskirstytų sistemų teorijos pagrindus, išrado populiarias programavimo kalbas ir pirmą kartą visa tai įkūnijo veikiančiuose prototipuose. Šie žmonės išėjo iš darbo ne pusiaukelėje, o šiuo metu sprendžia aktualias problemas visame pasaulyje žinomuose universitetuose ir įmonėse ir šiandien yra didžiausi žinių bei patirties šaltiniai.

Kita vertus, galimybė su jais susitikti dažniausiai lieka grynai teorinė: retas iš mūsų gali nuolat stebėti viešus įvykius kokiame nors Ročesterio universitete, o paskui skubėti į JAV ir atgal į paskaitą su Michaelu Scottu. Aplankyti visus „Hydra“ narius kainuotų nedidelį turtą, neskaitant sugaišto laiko bedugnės (nors tai skamba kaip įdomus ieškojimas).

Kita vertus, turime daug geriausių inžinierių, kurie šiuo metu sprendžia aktualias paskirstytų sistemų problemas, ir jie tikrai turi daug ką pasakyti. Bet čia yra problema – jie dirbao jų laikas yra vertingas. Taip, jei esate „Microsoft“, „Google“ ar „JetBrains“ darbuotojas, tikimybė sutikti vieną iš žinomų pranešėjų vidiniame renginyje smarkiai padidėja, tačiau apskritai ne, tai nutinka ne kiekvieną dieną.

Tokiu būdu „Hydra“ konferencija atlieka svarbią užduotį, kurios dauguma iš mūsų negali atlikti patys – vienoje vietoje ir vienu metu suburia žmones, kurių idėjos ar bendravimas su kuriais gali pakeisti tavo gyvenimą. Pripažįstu, kad ne visiems reikia paskirstytų sistemų ar kažkokių sudėtingų esminių dalykų. Galite programuoti CRUD PHP kalboje visą likusį gyvenimą ir likti visiškai laimingi. Bet kam to reikia, tai jūsų šansas.

Gana daug laiko praėjo nuo pirmojo pranešimo apie Hydra konferenciją apie Habré. Per šį laiką buvo atlikta daug darbo – ir dabar turime beveik visų ataskaitų sąrašą. Jokių vangių vienos gijos algoritmų, tik grynas paskirstytas hardcore! Pabaikime bendrais žodžiais ir pažiūrėkime, ką turime dabar.

Pagrindiniai pranešimai

Pagrindiniai pranešimai prasideda ir baigiasi konferencijos dienomis. Paprastai pradinio pagrindinio pranešimo tikslas yra nustatyti bendrą konferencijos dvasią ir kryptį. Baigiamasis pagrindinis pranešimas nubrėžia brūkšnį ir paaiškina, kaip galime gyventi su konferencijos metu įgytomis žiniomis ir įgūdžiais. Pradžia ir pabaiga: tai, kas geriausiai įsimenama ir apskritai, įgavo daugiau reikšmės.

Cliff Click H2O paskirstytas K/V algoritmas

19 hidra galvučių. Puiki programos apžvalga Cliff yra legenda Java pasaulyje. Dešimtojo dešimtmečio pabaigoje, siekdamas savo daktaro disertacijos, jis parašė straipsnį pavadinimu „Analizės derinimas, optimizacijų derinimas“, kuris po kurio laiko tapo „HotSpot JVM Server Compiler“ pagrindu. Po dvejų metų jis jau dirbo Sun Microsystems kurdamas JVM ir visam pasauliui parodė, kad JIT turi teisę egzistuoti. Visa ši istorija apie tai, kaip „Java“ yra viena greičiausių šiuolaikinių vykdymo sistemų su išmaniausiais ir greičiausiais optimizavimais, kilo iš „Cliff Click“. Pačioje pradžioje buvo manoma, kad jei kažkas yra prieinama statiniam kompiliatoriui, jums net nereikia bandyti jo sugadinti. Dėl Cliff ir komandos darbo visos naujos kalbos buvo pradėtos kurti pagal nutylėjimą JIT kompiliavimo idėja. Žinoma, tai nebuvo vieno žmogaus darbas, tačiau Cliffas jame suvaidino labai svarbų vaidmenį.

Įžanginėje kalboje Cliffas kalbės apie kitus savo darbus - H20, atmintyje esanti platforma, skirta paskirstytam ir keičiamo masto mašininiam mokymuisi pramonėje. Arba tiksliau, apie paskirstytą rakto-reikšmių porų saugyklą jos viduje. Tai labai greita saugykla, turinti daug įdomių savybių (tikslus sąrašas pateiktas apibūdinimas), kurie leidžia naudoti panašius sprendimus didelių duomenų srautinio perdavimo matematikoje.

Kitas pranešimas, kurį Cliff pateiks, yra „Azul Hardware Transactional Memory“ patirtis. Kita jo biografijos dalis – dešimt metų dirbti Azul, kur jis atnaujino ir patobulino daug dalykų „Azul“ aparatūros ir technologijų krūvoje: JIT kompiliatoriai, vykdymo laikas, gijų modelis, klaidų tvarkymas, dėklo tvarkymas, aparatinės įrangos pertraukimai, klasės įkėlimas ir t. t., ir taip toliau. idėja.

Įdomiausia dalis prasidėjo, kai jie sukūrė techninę įrangą dideliam verslui – superkompiuterį Javai paleisti. Tai buvo gana novatoriškas dalykas, pritaikytas specialiai Javai, kuriam keliami ypatingi reikalavimai - skaitymo atminties barjerai mažos pauzės šiukšlių surinkimui, masyvai su ribų tikrinimu, virtualūs skambučiai... Viena šauniausių technologijų yra aparatinė transakcinė atmintis. Visas bet kurio iš 1 branduolių L864 galėtų dalyvauti operacijų rašymui, o tai ypač svarbu dirbant su užraktais Java (sinchronizuoti blokai gali veikti lygiagrečiai, kol nėra tikro atminties konflikto). Tačiau gražią idėją sugriovė atšiauri tikrovė – ir šiame pokalbyje Cliffas papasakos, kodėl HTM ir STM nelabai tinka praktiniams kelių gijų skaičiavimo poreikiams.

Michaelas Scottas - Dvigubos duomenų struktūros

19 hidra galvučių. Puiki programos apžvalga Maiklas Skotas – Ročesterio universiteto informatikos profesorius, su kuriuo jį susiejo likimas jau 34 metaio savo gimtajame Viskonsino-Madisono universitete jis buvo dekanas penkerius metus. Jis tiria ir moko studentus apie lygiagretųjį ir paskirstytą programavimą bei kalbų dizainą.

Visas pasaulis Michaelą pažįsta vadovėlio dėka „Programavimo kalbos pragmatika“, kurio naujausias leidimas pasirodė palyginti neseniai – 2015 m. Jo darbas „Mastelio keitimo sinchronizavimo algoritmai bendrosios atminties keliuose procesoriuose“ gavo Dijkstra premija kaip vienas žinomiausių paskirstytojo skaičiavimo srityje ir atvirai meluoja Ročesterio universiteto internetinėje bibliotekoje. Taip pat galite jį pažinti kaip paties Michaelo-Scotto algoritmo autorių „Paprasti, greiti ir praktiški neblokuojantys ir blokuojantys lygiagrečios eilės algoritmai“.

Kalbant apie „Java“ pasaulį, tai yra ypatingas atvejis: kartu su Dougu Lea jis sukūrė neblokuojančius algoritmus ir sinchronines eiles, kuriose veikia „Java“ bibliotekos. Būtent apie tai ir bus pagrindinis pranešimas „Dvigubos duomenų struktūros“ – šių struktūrų įdiegimas „Java SE 6“ pagerino našumą 10 kartų. java.util.concurrent.ThreadPoolExecutor. Jei jums iš anksto įdomu, kas yra šios „dvigubos duomenų struktūros“, tada yra informacijos apie tai susijes darbas.

Maurice'as Herlihy - Blockchains ir paskirstytojo skaičiavimo ateitis

19 hidra galvučių. Puiki programos apžvalga Morisas Herlihy - dviejų Dijkstra premijų laureatas. Pirmasis skirtas darbui „Sinchronizavimas be laukimo“ (Brauno universitetas), o antrasis, naujesnis - „Transakcinė atmintis: architektūrinis neužrakinimo duomenų struktūrų palaikymas“ (Virginia Tech University). Dijkstra Prize pripažįstamas darbas, kurio svarba ir poveikis matomas mažiausiai dešimt metų, o Maurice'as yra neabejotinai vienas žinomiausių šios srities ekspertų. Šiuo metu jis dirba profesoriumi Browno universitete ir turi pastraipų ilgio pasiekimų sąrašą.

Šiame baigiamajame pagrindiniame pranešime Maurice'as kalbės apie „blockchain“ paskirstytų sistemų teoriją ir praktiką paskirstytojo skaičiavimo klasikos požiūriu ir kaip tai supaprastina daugelį susijusių problemų. Tai pranešimas išskirtinai konferencijos tema – visai ne apie kasybos ažiotažą, o apie tai, kaip mūsų žinias galima stebėtinai efektyviai ir tinkamai panaudoti atliekant įvairias užduotis.

2017-ųjų liepą Maurice'as jau atvyko į Rusiją lankyti SPTDC mokyklą, dalyvavo JUG.ru susitikime, o įrašą galima peržiūrėti „YouTube“:

Pagrindinė programa

Toliau bus trumpa į programą įtrauktų ataskaitų apžvalga. Kai kurios ataskaitos čia aprašomos išsamiai, kitos – trumpiau. Ilgi aprašymai daugiausia buvo skirti pranešimams anglų kalba, kuriuose reikėjo nuorodų į mokslinius straipsnius, terminus Vikipedijoje ir pan. Visas sąrašas yra prieinamas žiūrėti konferencijos svetainėje. Sąrašas svetainėje bus atnaujinamas ir papildomas.

Leslie Lamport - Klausimai ir atsakymai

19 hidra galvučių. Puiki programos apžvalga Leslie Lamport yra svarbių paskirstytojo skaičiavimo darbų autorė. "LaTeX" reiškia „Lamport TeX“. Būtent jis pirmasis, dar 1979 m., pristatė šią koncepciją nuoseklus nuoseklumas, ir jo straipsnis „Kaip sukurti daugiaprocesorių kompiuterį, kuris tinkamai vykdytų kelių procesų programas“ gavo Dijkstra premiją.

Tai pati neįprastiausia programos dalis formatu, nes tai net ne reportažas, o klausimų ir atsakymų sesija. Kai nemaža dalis auditorijos jau yra susipažinę (ar gali susipažinti) su įvairiausiais darbais, paremtais „Lamporto teorija“, jo paties straipsniais ir pranešimais, svarbiau visą turimą laiką skirti tiesioginiam bendravimui.

Idėja paprasta – „YouTube“ žiūrite du reportažus: „Programavimas turėtų būti daugiau nei kodavimas“ и „Jei nerašote programos, nenaudokite programavimo kalbos“ ir paruošk bent vieną klausimą, o Leslė atsakys.

Pirmąjį iš šių dviejų vaizdo įrašų jau turime virto habro straipsniu. Jei neturite valandos laiko žiūrėti vaizdo įrašą, galite greitai viską perskaityti teksto forma.

Pastaba: „YouTube“ yra daug daugiau Leslie Lamport vaizdo įrašų. Pavyzdžiui, yra puikus TLA+ kursas. Viso šio kurso neprisijungus versija pasiekiama adresu autoriaus pagrindinis puslapis, ir jis įkėlė jį į „YouTube“, kad būtų lengviau žiūrėti mobiliuosiuose įrenginiuose.

Martinas Kleppmannas - Duomenų sinchronizavimas vartotojo įrenginiuose paskirstytam bendradarbiavimui

19 hidra galvučių. Puiki programos apžvalga Martinas Kleppmannas yra Kembridžo universiteto mokslininkas, dirbantis su CRDT ir formaliu algoritmų patikrinimu. Martyno knyga „Duomenims imlių programų projektavimas“, išleistas 2017 m., pasirodė esąs labai sėkmingas ir pateko į bestselerių sąrašus duomenų saugojimo ir apdorojimo srityje. Kevinas Scottas, „Microsoft“ technologijų vadovas, kartą pasakė: „Ši knyga turėtų būti privaloma programinės įrangos inžinieriams. Tai retas išteklius, sujungiantis teoriją ir praktiką, kad padėtų kūrėjams protingiau kurti ir diegti infrastruktūrą ir duomenų sistemas. Kafkos kūrėjas ir Confluent CTO Jay Kreps pasakė kažką panašaus.

Prieš pradėdamas dirbti akademiniais tyrimais, Martin dirbo pramonėje ir įkūrė dvi sėkmingas pradedančias įmones:

  • Rapportive, skirta rodyti socialinį kontaktų profilį iš jūsų el. pašto, kurį LinkedIn įsigijo 2012 m.;
  • „Go Test It“ – paslauga, skirta automatiškai tikrinti svetaines įvairiose naršyklėse, kurią „RedGate“ įsigijo 2009 m.

Apskritai, Martinas, nors ir mažiau žinomas nei mūsų pagrindiniai pranešimai, jau galėjo šiek tiek prisidėti prie paskirstytojo skaičiavimo plėtros ir pramonės.

Šioje kalboje Martinas kalbės apie temą, artimesnę jo akademiniams tyrimams. „Google“ dokumentuose ir panašiose bendro dokumento redagavimo sofose „redagavimas bendrai“ reiškia replikacijos užduotį: kiekvienas vartotojas turi savo bendrinamo dokumento kopiją, kurią vėliau modifikuoja, o visi pakeitimai siunčiami tinkle likusiai dalyvių. Dokumentų pakeitimai neprisijungus sukelia laikiną dokumento nenuoseklumą kitų dalyvių atžvilgiu, o norint pakartotinai sinchronizuoti, reikia spręsti konfliktus. Būtent tam jie ir egzistuoja Be konfliktų atkartoti duomenų tipai (CRDT), tiesą sakant, yra gana naujas dalykas, kurio esmė suformuluota tik 2011 m. Šiame pokalbyje aptariama, kas nuo to laiko įvyko CRDT pasaulyje, kokie yra naujausi pasiekimai, požiūris į vietinių pirmųjų programų kūrimą apskritai ir atvirojo kodo bibliotekos naudojimas. Sujungti ypač.

Kitą savaitę Habré publikuosime ilgą interviu su Martinu, bus įdomu.

Pedro Ramalhete - Duomenų struktūros be laukimo ir operacijos be laukimo

19 hidra galvučių. Puiki programos apžvalga Pedro dirba Cisco ir pastaruosius dešimt metų kūrė lygiagrečius algoritmus, įskaitant sinchronizavimo mechanizmus, duomenų struktūras be užrakto ir nelaukimo ir viską, ką galite įsivaizduoti šia tema. Dabartiniai jo moksliniai tyrimai ir inžinerijos interesai yra sutelkti į universalias konstrukcijas, programinės įrangos operacijų atmintį, nuolatinę atmintį ir panašias technologijas, kurios įgalina teisingas, keičiamo dydžio ir gedimams atsparias programas. Jis taip pat yra siauruose ratuose plačiai žinomo tinklaraščio autorius Lygiagrečiai keistuoliai.

Dauguma kelių gijų programų dabar veikia lygiagrečiose duomenų struktūrose, pradedant pranešimų eilių tarp veikėjų naudojimu ir baigiant indeksuotomis duomenų struktūromis raktų reikšmių saugyklose. Jie jau daugelį metų sėkmingai dirba Java JDK ir pamažu pridedami prie C++.

Paprasčiausias būdas įgyvendinti lygiagrečią duomenų struktūrą yra nuoseklus (vienos gijos) įgyvendinimas, kuriame metodai yra apsaugoti mutexais. Tai pasiekiama bet kuriuo birželio mėn., tačiau turi akivaizdžių mastelio keitimo ir našumo problemų. Tuo pačiu metu neužrakintos ir nelaukiančios duomenų struktūros ne tik geriau susidoroja su klaidomis, bet ir turi geresnį našumo profilį – tačiau jų kūrimas reikalauja gilių žinių ir pritaikymo konkrečiai programai. Užtenka vienos neteisingos kodo eilutės, kad viskas sulaužytų.

Kaip padaryti, kad net ne ekspertas galėtų sukurti ir įdiegti tokias duomenų struktūras? Yra žinoma, kad bet kurį nuoseklų algoritmą galima padaryti saugiu giją naudojant bet kurį iš jų universalus dizainasarba operacinės atminties. Viena vertus, jie gali sumažinti kliūtį patekti į šios problemos sprendimą. Tačiau abu sprendimai paprastai lemia neveiksmingą įgyvendinimą. Pedro kalbės apie tai, kaip jiems pavyko padaryti šiuos dizainus efektyvesnius ir kaip galite juos panaudoti savo algoritmams.

Heidi Howard - Išlaisvinti paskirstytą sutarimą

19 hidra galvučių. Puiki programos apžvalga Heidi Howard, kaip ir Martin, yra paskirstytų sistemų tyrinėtoja Kembridžo universitete. Jos specialybės yra nuoseklumas, tolerancija gedimams, našumas ir paskirstytas sutarimas. Ji geriausiai žinoma dėl savo Paxos algoritmo apibendrinimo Lankstus Paxos.

Prisimink tai paxos yra protokolų šeima, skirta išspręsti konsensuso problemą nepatikimų kompiuterių tinkle, pagrįsta Leslie Lamport darbu. Taigi, kai kurie mūsų pranešėjai sprendžia problemas, kurias iš pradžių pasiūlė kiti mūsų pranešėjai – ir tai nuostabu.

Gebėjimas rasti sutarimą tarp kelių prieglobų – dėl kreipimosi, vadovo rinkimo, blokavimo ar koordinavimo – yra esminė šiuolaikinių paskirstytų sistemų problema. Dabar „Paxos“ yra pagrindinis būdas išspręsti konsensuso problemas, o aplink jį vyksta daug tyrimų, siekiant išplėsti ir optimizuoti algoritmą įvairiems praktiniams poreikiams.

Šioje kalboje dar kartą apžvelgsime teorinį Paxos pagrindą, sušvelnindami pradinius reikalavimus ir apibendrindami algoritmą. Pamatysime, kad „Paxos“ iš esmės yra tik viena galimybė iš daugybės konsensuso metodų ir kad kiti spektro taškai taip pat labai naudingi kuriant geras paskirstytas sistemas.

Aleksas Petrovas - Sumažinkite saugojimo išlaidas naudodami trumpalaikį replikaciją ir pigius kvorumus

19 hidra galvučių. Puiki programos apžvalga Aleksas yra duomenų bazių ir saugojimo sistemų specialistas, o mums dar svarbiau – įsipareigojęs Kasandra. Šiuo metu jis kartu su O'Reilly kuria knygą „Database Internals“.

Sistemoms su galutinis nuoseklumas (rusiškai kalbant - „galutinis nuoseklumas“), sugenda mazgas arba suskilęs tinklas, turite išspręsti šią dilemą: arba toliau vykdyti užklausas, aukojant nuoseklumą, arba atsisakyti jas vykdyti ir paaukoti pasiekiamumą. Tokioje sistemoje kvorumai, persidengiantys mazgų poaibiai ir užtikrinimas, kad bent viename mazge būtų naujausia reikšmė, gali būti geras krašto sprendimas. Galite išgyventi gedimus ir ryšio su kai kuriais mazgais praradimą, o reaguodami naudodami naujausias reikšmes.

Tačiau viskas turi savo kainą. Kvorumo replikacijos schema reiškia didesnes saugojimo išlaidas: pertekliniai duomenys turi būti saugomi keliuose mazguose vienu metu, siekiant užtikrinti, kad iškilus problemai būtų pakankamai kopijų. Pasirodo, kad jums nereikia saugoti visų duomenų visose kopijose. Galite sumažinti saugyklos apkrovą, jei saugote duomenis tik dalyje mazgų ir naudojate specialius mazgus (trumpalaikę repliką) gedimų valdymo scenarijams.

Ataskaitos metu mes svarstysime Liudininkų kopijos, naudojama replikacijos schema Spyruoklė и mega parduotuvė, o šios koncepcijos įgyvendinimas Apache Cassandra vadinamas Laikinas replikavimas ir pigūs kvorumai.

Dmitrijus Vyukovas - Atidengtos gorutinos

19 hidra galvučių. Puiki programos apžvalga Dmitrijus yra „Google“ kūrėjas, dirbantis su dinaminiu C/C++ ir „Go“ testavimu – Address/Memory/ThreadSanitizer ir panašiais „Linux“ branduolio įrankiais. Prisidėjo prie „Go“ keičiamo gorutinos planavimo priemonės, tinklo apklausos ir lygiagretaus šiukšlių rinktuvo. Jis yra kelių gijų kūrimo ekspertas, tuzino naujų neblokuojančių algoritmų autorius ir Juodas diržas "Intel".

Dabar šiek tiek apie patį pranešimą. „Go“ kalba palaiko kelių gijų kūrimą gorutinų (lengvų gijų) ir kanalų (FIFO eilių) pavidalu. Dėl šių mechanizmų vartotojams labai lengva ir malonu rašyti modernias daugiagijas programas, ir tai atrodo kaip magija. Kaip suprantame, jokios magijos čia nėra. Šiame pokalbyje Dmitrijus gilinsis į „Go“ planuotojo subtilybes ir parodys šios „magijos“ įgyvendinimo paslaptis. Pirma, jis pateiks pagrindinių planavimo priemonės komponentų apžvalgą ir papasakos, kaip jis veikia. Toliau atidžiau pažvelgsime į atskirus aspektus, tokius kaip parkavimo / išstojimo strategija ir blokavimo sistemos skambučių valdymas. Galiausiai Dmitrijus šiek tiek papasakos apie galimus planuotojo patobulinimus.

Dmitrijus Bugaičenko - Paskirstytos grafikos analizės pagreitinimas naudojant tikimybinius eskizus ir kt

19 hidra galvučių. Puiki programos apžvalga Dmitrijus beveik 9 metus dirbo užsakomųjų paslaugų srityje, neprarasdamas ryšių su universitetu ir mokslo bendruomene. Didžiųjų duomenų analizė Odnoklassniki jam tapo unikalia galimybe sujungti teorinį mokymą ir mokslinius pagrindus su realių paklausių produktų kūrimu.

Paskirstytoji grafų analizė buvo ir išlieka sudėtinga užduotis: kai reikia gauti informaciją apie gretimos viršūnės jungtis, dažnai tenka perduoti duomenis tarp mašinų, todėl pailgėja vykdymo laikas ir apkraunama tinklo infrastruktūra. Šiame pokalbyje pamatysime, kaip galite pasiekti didelį apdorojimo greitį naudodami tikimybines duomenų struktūras arba tokius faktus kaip draugystės grafiko simetrija socialiniame tinkle. Visa tai iliustruojama „Apache Spark“ kodo pavyzdžiais.

Denisas Rystsovas - Sumažinkite saugojimo išlaidas naudodami trumpalaikį replikaciją ir pigius kvorumus

19 hidra galvučių. Puiki programos apžvalga Denisas - kūrėjas „Cosmos DB“, nuoseklumo modelių, konsensuso algoritmų ir paskirstytų operacijų ekspertas. Šiuo metu jis dirba „Microsoft“, o prieš tai dirbo su paskirstytomis sistemomis „Amazon“ ir „Yandex“.

Šiame pokalbyje apžvelgsime paskirstytus operacijų protokolus, kurie buvo išrasti per pastaruosius kelerius metus, kuriuos galima įdiegti kliento pusėje bet kurioje duomenų saugykloje, kuri palaiko sąlyginį atnaujinimą (palyginkite ir nustatykite). Esmė ta, kad gyvenimas nesibaigia dviejų fazių įsipareigojimu, operacijas galima pridėti prie bet kokių duomenų bazių – taikomųjų programų lygmeniu, tačiau skirtingi protokolai (2PC, Percolator, RAMP) turi skirtingus kompromisus ir jie mums neteikiami. nemokamai.

Aleksejus Zinovjevas - Ne visi ML algoritmai patenka į paskirstytą rojų

19 hidra galvučių. Puiki programos apžvalga Aleksejus (zaleslavas) yra ilgametis pranešėjas ir programų komitetų narys kitose konferencijose. Praktikuojantis treneris EPAM Systems ir draugauja su Hadoop/Spark ir kitais dideliais duomenimis nuo 2012 m.

Šiame pokalbyje Aleksejus kalbės apie klasikinių mašininio mokymosi algoritmų pritaikymo vykdymui paskirstytu režimu problemas, remdamasis savo patirtimi dirbant su Apache Spark ML, Apache Mahout, Apache Flink ML ir Apache Ignite ML kūrimo patirtimi. Aleksejus taip pat kalbės apie paskirstytų ML algoritmų įgyvendinimą šiose sistemose.

Ir galiausiai dvi „Yandex“ ataskaitos apie „Yandex“ duomenų bazę.

Vladislavas Kuznecovas - „Yandex“ duomenų bazė – kaip užtikriname atsparumą gedimams

19 hidra galvučių. Puiki programos apžvalga Vladislavas yra „Yandex“ kūrėjas paskirstytų platformų grupėje. „Yandex Database“ yra horizontaliai keičiamo dydžio, geografiškai paskirstyta, gedimams atspari DBVS, kuri gali atlaikyti diskų, serverių, stelažų ir duomenų centrų gedimus neprarandant nuoseklumo. Siekiant užtikrinti atsparumą gedimams, naudojamas patentuotas paskirstytam konsensusui pasiekti algoritmas, taip pat nemažai techninių sprendimų, kurie išsamiai aptariami ataskaitoje. Ataskaita gali būti įdomi tiek DBVS kūrėjams, tiek taikomųjų programų sprendimų, pagrįstų DBVS, kūrėjams.

Semjonas Čečerinda - Paskirstytos operacijos YDB

19 hidra galvučių. Puiki programos apžvalga „Semyon“ yra „Yandex“ paskirstytų platformų grupės kūrėjas, nagrinėjantis galimybę YDB diegimą naudoti keliems nuomininkams.

„Yandex“ duomenų bazė skirta OLTP užklausoms ir atitinka ACID reikalavimus operacijų sistemai. Šioje ataskaitoje apžvelgsime operacijų planavimo algoritmą, kuris yra YDB operacijų sistemos pagrindas. Pažiūrėkime, kurie subjektai dalyvauja sandoriuose, kas sandoriams priskiria globalią tvarką, kaip pasiekiamas sandorių atomiškumas, patikimumas ir griežtas izoliacijos lygis. Kaip pavyzdį naudodamiesi įprasta problema, pažvelkime į operacijų įgyvendinimą naudojant dviejų fazių įpareigojimus ir deterministines operacijas. Pakalbėkime apie jų skirtumus.

Kas toliau?

Konferencijos programa ir toliau pildoma naujais pranešimais. Visų pirma tikimės ataskaitos iš Nikita Kovalis (ndkoval) iš JetBrains ir Olegas Anastasjevas (m0nstermind) iš Odnoklassniki bendrovės. Nikita Kotlin komandoje dirba su korutinų algoritmais, o Olegas kuria architektūrą ir sprendimus didelės apkrovos sistemoms Odnoklassniki platformoje. Be to, yra dar 1 sąlyginai tuščia vieta, šiuo metu programos komitetas dirba su kandidatais į jį.

„Hydra“ konferencija vyks liepos 11-12 dienomis Sankt Peterburge. Bilietus galima įsigyti pirkti oficialioje svetainėje. Atkreipkite dėmesį į internetinių bilietų prieinamumą – jei dėl kokių nors priežasčių šiomis dienomis negalite patekti į Sankt Peterburgą.

Iki pasimatymo Hydra!

Šaltinis: www.habr.com

Добавить комментарий