Më 11-12 korrik në Shën Petersburg do të mbahet një konferencë , e dedikuar zhvillimit të sistemeve paralele dhe të shpërndara. Risi e Hydra është se ajo bashkon shkencëtarë të njohur (të cilët zakonisht mund të gjejmë vetëm në konferenca shkencore jashtë vendit) dhe inxhinierë praktikë të njohur, në një program të madh në ndërlidhjen mes shkencës dhe praktikës.
Hydra është një nga konferencat më të rëndësishme që kemi pasur në vitet e fundit. Ajo i parapriu një përgatitje të madhe, përzgjedhjes së folësve dhe temave. Javën e kaluar për këtë me drejtorin e kompanisë JUG.ru Group, Aleksej Fedorov ().
Ne rreth tre pjesĂ«marrĂ«sve tĂ« rĂ«ndĂ«sishĂ«m, themeluesve tĂ« teorisĂ« sĂ« sistemeve tĂ« shpĂ«rndara â Leslie Lamport, Maurice Herlihy dhe Michael Scott. ĂshtĂ« koha pĂ«r tĂ« diskutuar mĂ« nĂ« detaje mbi gjithĂ« programin!

Motivimi
Nëse jeni duke u marrë me programim, atëherë në një mënyrë ose në një tjetër jeni duke trajtuar me shumëthënie dhe llogaritje të shpërndara. Specialistët në fushat përkatëse punojnë direkt me to, por shpërndarja ndikon në ne nga të gjitha anët: në çdo kompjuter shumëbërthamor ose shërbim të shpërndarë do të gjeni diçka që realizon llogaritje në mënyrë paralele.
Ekzistojnë shumë konferenca që zbulojnë aspekte të ndryshme të programimit aplikativ. Në anën tjetër të spektrit kemi shkolla shkencore speciale, që në format ligjëratash zbulojnë volume të mëdha të teorisë komplekse. Për shembull, paralelisht me Hydra në Shën Petersburg po zhvillohet . Në konferencën Hydra ne përpiqemi të bashkojmë si praktikën e ashpër, ashtu edhe shkencën, dhe gjithçka që ndodhet në ndërlidhjen e tyre.
Mendohuni pak pĂ«r kĂ«tĂ«: ne jetojmĂ« nĂ« njĂ« kohĂ« tĂ« mrekullueshme, kur mund tĂ« takojmĂ« drejtpĂ«rdrejt tĂ« themeluesit e atij fusha tĂ« shkencĂ«s dhe inxhinierisĂ« me tĂ« cilat merremi. FizikantĂ«t nuk do tĂ« takojnĂ« as Newtonin, as Einsteinin â treni ka ikur. Por afĂ«r nesh akoma jetojnĂ« ata qĂ« krijuan bazat e teorisĂ« sĂ« sistemeve tĂ« shpĂ«rndara, shpikĂ«n gjuhĂ« programimi tĂ« njohura, e filluan tĂ« realizojnĂ« tĂ« gjitha kĂ«to nĂ« prototipe funksionale. KĂ«ta njerĂ«z nuk e kanĂ« braktisur punĂ«n e tyre nĂ« gjysmĂ«, ata aktualisht po merren me detyra aktuale nĂ« universitete dhe kompani me renome, dhe janĂ« burime tĂ« mĂ«dha dijesh dhe eksperiencĂ« deri mĂ« sot.
Nga ana tjetër, mundësia për t'u takuar me ta zakonisht mbetet thjesht teorike: jo çdo dikush prej nesh mund të monitorojë vazhdimisht ngjarjet publike në ndonjë universitet të Rochester-it, për të vrapuar pastaj në SHBA dhe mbrapa për një ligjëratë me Michael Scott. Të vizitosh të gjithë pjesëmarrësit e Hydra do të ishte një investim i vogël, pa folur për humbjen e kohës (edhe pse kjo tingëllon si një mision interesant).
Nga ana tjetĂ«r, ne kemi shumĂ« inxhinierĂ« tĂ« nivelit tĂ« lartĂ« qĂ« po punojnĂ« pikĂ«risht tani mbi problemet aktuale tĂ« sistemeve tĂ« shpĂ«rndara, dhe ata patjetĂ«r kanĂ« diçka pĂ«r tĂ« treguar. Por ja problemi â ata punojnĂ«, dhe koha e tyre Ă«shtĂ« e shtrenjtĂ«. Po, nĂ«se ti je punonjĂ«s i Microsoft, Google ose JetBrains, shanset pĂ«r tĂ« takuar njĂ«rin nga folĂ«sit e njohur nĂ« njĂ« ngjarje tĂ« brendshme rriten ndjeshĂ«m, por nĂ« pĂ«rgjithĂ«si â jo, nuk ndodh çdo ditĂ«.
KĂ«shtu, konferenca Hydra kryen njĂ« detyrĂ« tĂ« rĂ«ndĂ«sishme, tĂ« cilĂ«n shumica prej nesh nuk mund ta realizojmĂ« vetĂ« â nĂ« njĂ« vend dhe nĂ« njĂ« kohĂ« bashkon njerĂ«zit, idetĂ« e tĂ« cilĂ«ve ose komunikimi me ta mund tĂ« ndryshojĂ« jetĂ«n tuaj. Pranoj qĂ« nuk tĂ« gjithĂ« do t'u duhet sisteme tĂ« shpĂ«rndara, disa gjĂ«ra komplekse fundamentale. Mund tĂ« programosh CRUD nĂ« PHP deri nĂ« fund tĂ« jetĂ«s dhe tĂ« jesh plotĂ«sisht i lumtur. Por ata qĂ« kanĂ« nevojĂ« â Ă«shtĂ« shansi juaj.
Ka kaluar njĂ« kohĂ« e gjatĂ« qĂ« kur u njoftua pĂ«r herĂ« tĂ« parĂ« konferenca Hydra nĂ« HabrĂ«. GjatĂ« kĂ«saj kohe, Ă«shtĂ« bĂ«rĂ« njĂ« punĂ« e madhe â dhe ja, kemi njĂ« listĂ« tĂ« pothuajse tĂ« gjitha prezentimeve. AsnjĂ« algoritĂ«m monotonic tĂ« dobĂ«t, vetĂ«m thelbi i pastĂ«r i shpĂ«rndarjes! Le tĂ« mbyllim me fjalĂ« tĂ« pĂ«rgjithshme, dhe tĂ« shohim se çfarĂ« kemi tani nĂ« duar.
Prezantimet kryesore
Prezantimet kryesore nisin dhe përfundojnë ditët e konferencës. Zakonisht, qëllimi i prezantimit të parë kryesor është të vendosë shpirtin dhe drejtimin e përgjithshëm të konferencës. Prezantimi i mbylljes përmbledh dhe shpjegon se si të jetojmë me njohuritë dhe aftësitë e fituara në ditët e konferencës. Fillimi dhe fundi: ato që do të mbahen mend më së miri, dhe në përgjithësi, kanë rëndësi të madhe.
Cliff Click â
Cliff është legjenda e botës Java. Në fund të viteve '90, për tezën e doktoratës, ai shkroi një punim të titulluar , e cila pas një kohe u bë baza për HotSpot JVM Server Compiler. Pas dy vitesh, ai tashmë punonte në Sun Microsystems mbi JVM dhe i tregoi botës se JIT ka të drejtë të ekzistojë. E gjitha kjo histori mbi atë se Java është një nga runtime-t më të shpejtë moderne me optimizime nga më të mençurat dhe më të shpejtat filloi pikërisht me Cliff Click. Në fillim mendohej se, nëse diçka është e disponueshme për një kompilator statik, nuk ka kuptim të provosh të bësh JIT. Falë punës së Cliff dhe ekipit, të gjitha gjuhët e reja filluan të krijoheshin me idenë e JIT-kompilimit si opsion default. Sigurisht, kjo ishte një punë që nuk mund të bëhej nga një njeri i vetëm, por Cliff luajti një rol shumë të rëndësishëm.
NĂ« keynote-in e hapjes, Cliff do tĂ« flasĂ« pĂ«r njĂ« tjetĂ«r nismĂ« tĂ« tij â , njĂ« platformĂ« in-memory pĂ«r mĂ«simin e makinerive tĂ« shpĂ«rndara dhe tĂ« shkallĂ«zuara pĂ«r aplikime industriale. MĂ« saktĂ« â pĂ«r magazinĂ«n e shpĂ«rndarĂ« tĂ« çiftĂ«ve "çelĂ«s-vlerĂ«" brenda saj. Ky Ă«shtĂ« njĂ« magazinĂ« shumĂ« e shpejtĂ« me njĂ« shumĂ«llojshmĂ«ri veçorish interesante (lista e saktĂ« Ă«shtĂ« nĂ« ), e cila lejon pĂ«rdorimin e zgjidhjeve tĂ« ngjashme nĂ« matematikĂ«n e rrjedhĂ«s sĂ« tĂ« dhĂ«nave tĂ« mĂ«dha.
NjĂ« tjetĂ«r referim me tĂ« cilin do tĂ« flasĂ« Cliff Ă«shtĂ« â . NjĂ« pjesĂ« tjetĂ«r e biografisĂ« sĂ« tij â dhjetĂ« vjet , ku ai pĂ«rmirĂ«soi dhe rifreskoi shumĂ« aspekte nĂ« harduer dhe stack tĂ« teknologjive Azul: JIT-kompilatorĂ«t, runtime, modeli i thread-eve, pĂ«rpunimi i gabimeve, administrimi i stack-ut, ndĂ«rprerjet harduerike, ngarkimi i klasave dhe ashtu me radhĂ« â e kuptuat.
Pjesa mĂ« interesante filloi kur ata krijuan harduer pĂ«r biznes tĂ« madh â superkompjuter pĂ«r tĂ« ekzekutuar Java. Kjo ishte njĂ« gjĂ« mjaft inovative, e projektuar pikĂ«risht pĂ«r Java, e cila ka kĂ«rkesa tĂ« veçanta â barrierat e memories pĂ«r lexim pĂ«r mbledhjen e plehrave me vonesĂ« tĂ« ulĂ«t, tabelat me verifikimin e kufijve, thirrjet virtuale⊠NjĂ« nga teknologjitĂ« mĂ« tĂ« jashtĂ«zakonshme ishte memoria tranzaksionale harduerike. E gjithĂ« L1 e çdo nga 864 bĂ«rthamave mund tĂ« merrte pjesĂ« nĂ« njĂ« shkruar tranzaksional, e cila Ă«shtĂ« veçanĂ«risht e rĂ«ndĂ«sishme pĂ«r punĂ«n me bllokimet nĂ« Java (blloqet synchronized mund tĂ« punojnĂ« paralelisht, derisa tĂ« mos ketĂ« njĂ« konflikt real pĂ«r memory-n). Por ideja e bukur u pĂ«rplas me realitetin e ashpĂ«r â dhe nĂ« kĂ«tĂ« referat, Cliff do tĂ« flasĂ« pse HTM dhe STM nuk i pĂ«rshtaten aq mirĂ« nevojave praktike tĂ« llogaritjeve multithread.
Michael Scott â
â profesor KompjuterĂ«sh nĂ« Universitetin e Rochester, me tĂ« cilin e lidh fati , dhe nĂ« universitetin e tij tĂ« lindjes WisconsinâMadison, ishte dekani pĂ«r pesĂ« vjet. Ai merret me hulumtime nĂ« fushĂ«n e programimit tĂ« paralel dhe tĂ« shpĂ«rndarĂ« dhe dizajnit tĂ« gjuhĂ«ve dhe i mĂ«son kĂ«tĂ« studentĂ«ve.
TĂ« gjithĂ« botĂ«n e njeh Michael pĂ«r shkakun e librit tĂ« tij , botimi i fundit i tĂ« cilit doli relativisht sĂ« fundmi â nĂ« vitin 2015. Vepra e tij mori si njĂ« nga veprat mĂ« tĂ« njohura nĂ« fushĂ«n e llogaritjeve tĂ« shpĂ«rndara dhe nĂ« bibliotekĂ«n online tĂ« Universitetit tĂ« Rochester. Gjithashtu, ndoshta e njihni si autorin e algoritmit tĂ« njohur Michael-Scott nga .
Sa i pĂ«rket botĂ«s sĂ« Java-s, ky Ă«shtĂ« njĂ« rast i veçantĂ«: sĂ« bashku me Doug Lea ai zhvilloi ato algoritme jo-bllokuese dhe radhĂ«t sinkronizues, mbi tĂ« cilat funksionojnĂ« bibliotekat Java. PikĂ«risht pĂ«r kĂ«tĂ« do tĂ« flasĂ« nĂ« keynote-in «Struktura tĂ« dhĂ«nash tĂ« dyfishta» â implementimi i kĂ«tyre strukturave nĂ« Java SE 6 mundĂ«soi njĂ« pĂ«rmirĂ«sim tĂ« performancĂ«s 10 herĂ« java.util.concurrent.ThreadPoolExecutor. NĂ«se jeni tĂ« interesuar paraprakisht se çfarĂ« janĂ« kĂ«to «Struktura tĂ« dhĂ«nash tĂ« dyfishta», ka njĂ« .
Maurice Herlihy â
â fitues i dy çmimeve Dijkstra. E para â pĂ«r punimin e tij mbi (Universiteti Brown), dhe e dyta, mĂ« e re â (Universiteti Virginia Tech). Ămimi Dijkstra jepet pĂ«r punime, rĂ«ndĂ«sia dhe ndikimi i tĂ« cilave janĂ« vĂ«nĂ« re pĂ«r tĂ« paktĂ«n dhjetĂ« vjet, dhe Ă«shtĂ« e qartĂ«, Maurice Ă«shtĂ« njĂ« nga specialistĂ«t mĂ« tĂ« njohur nĂ« kĂ«tĂ« fushĂ«. Aktualisht ai punon si profesor nĂ« Universitetin Brown dhe ka shumĂ« arritje qĂ« meritojnĂ« njĂ« paragraf tĂ« tĂ«rĂ«.
NĂ« kĂ«tĂ« keynote pĂ«rmbyllĂ«s, Maurice do tĂ« flasĂ« pĂ«r teorinĂ« dhe praktikĂ«n e sistemeve tĂ« shpĂ«rndara tĂ« bllokadave nga kĂ«ndvĂ«shtrimi i klasikes sĂ« llogarive tĂ« shpĂ«rndara dhe se si kjo thjeshton shumĂ« probleme tĂ« lidhura. Ky Ă«shtĂ« njĂ« ligjĂ«ratĂ« ekskluzivisht pĂ«r temĂ«n e konferencĂ«s â aspak pĂ«r hype-n e minerave, por mĂ« tepĂ«r pĂ«r atĂ« se si njohuritĂ« tona mund tĂ« pĂ«rdoren nĂ« mĂ«nyrĂ« befasuese efektive dhe relevante pĂ«r probleme tĂ« ndryshme.
Në korrik të vitit 2017, Maurice erdhi në Rusi për shkollën SPTDC, mori pjesë në mitap-in JUG.ru, dhe regjistrimi mund të shihet në YouTube:

Programi kryesor
MĂ«poshtĂ« do tĂ« jetĂ« njĂ« pĂ«rmbledhje e vogĂ«l e referateve qĂ« janĂ« pĂ«rfshirĂ« nĂ« program. Disa referate janĂ« pĂ«rshkruar me detaje, disa â mĂ« shkurt. PĂ«rshkrimet e gjata iu besuan kryesisht referateve nĂ« anglisht, qĂ« kĂ«rkojnĂ« lidhje me punime shkencore, terma nĂ« Wikipedia, etj. Lista e plotĂ« mund tĂ« . Lista nĂ« faqe do tĂ« pĂ«rditĂ«sohet dhe plotĂ«sohet.
Leslie Lamport â
Leslie Lamport është autor i punimeve thelbësore në llogaritë e shpërndara. shkurtimisht do të thotë «Lamport TeX». Ai e prezantoi për herë të parë, që në vitin 1979, konceptin , dhe artikulli i tij ka marrë çmimin Dijkstra.
Kjo është pjesa më e pazakontë e programit, sepse nuk është as një referat, por një sesion pyetjesh dhe përgjigjesh. Kur një pjesë e konsiderueshme e audiencës është tashmë e njohur (ose mund të njihet) me punime të ndryshme që janë të bazuara në «teorinë e Lamport», artikujt dhe referatet e tij, është më e rëndësishme të shpenzohet gjithë koha e disponueshme për komunikim të drejtpërdrejtë.
Ideja Ă«shtĂ« e thjeshtĂ« â ju shikoni dy referate nĂ« YouTube: dhe dhe pĂ«rgatitni tĂ« paktĂ«n njĂ« pyetje, ndĂ«rsa Leslie pĂ«rgjigjet.
E para nga këto dy video ne tashmë . Nëse nuk keni një orë kohë për të parë videon, mund ta lexoni shpejt gjithçka në formë teksti.
Në vëmendje: në YouTube ka shumë më tepër video me Leslie Lamport. Për shembull, ka një të shkëlqyer . Versioni offline i gjithë këtij kursi është në , dhe në YouTube ai e ka ngarkuar për shikim më të lehtë në pajisjet mobile.
Martin Kleppmann â
Martin Kleppmann Ă«shtĂ« njĂ« hulumtues nĂ« Universitetin e Kembrixhit, duke punuar mbi CRDT dhe verifikimin formal tĂ« algoritmeve. Libri i Martin , i botuar nĂ« vitin 2017, doli shumĂ« i suksesshĂ«m dhe pĂ«rfundoi nĂ« listat e bestsellerĂ«ve nĂ« fushĂ«n e ruajtjes dhe pĂ«rpunimit tĂ« tĂ« dhĂ«nave. Kevin Scott, CTO nĂ« Microsoft, : «Ky libĂ«r duhet tĂ« jetĂ« i detyrueshĂ«m pĂ«r inxhinierĂ«t zhvillues. ĂshtĂ« njĂ« burim i rrallĂ« qĂ« bashkon teorinĂ« dhe praktikĂ«n, duke ndihmuar zhvilluesit tĂ« dizajnojnĂ« dhe realizojnĂ« nĂ« mĂ«nyrĂ« mĂ« inteligjente infrastrukturĂ«n dhe sistemet e pĂ«rpunimit tĂ« tĂ« dhĂ«nave». Diçka tĂ« ngjashme tha edhe krijuesi i Kafka dhe CTO i Confluent, Jay Kreps.
Para se angazhuar në studime akademike, Marti punoi në industri dhe u bë bashkëthemelues i dy startupeve të suksesshme:
- Rapportive, e cila është përkushtuar në shfaqjen e profilit social të kontakteve nga emaili juaj, e cila u ble nga LinkedIn në 2012;
- Go Test It, një shërbim për kontrollin automatik të faqeve në të ndryshme shfletues, që u blerë nga RedGate në 2009.
Në përgjithësi, edhe pse Marti është më pak i njohur se folësit tanë kryesorë, ai ka bërë tashmë disa kontribute në zhvillimin e llogarive të shpërndara dhe në industri.
NĂ« kĂ«tĂ« raport, Marti do tĂ« flasĂ« pĂ«r njĂ« temĂ« qĂ« Ă«shtĂ« mĂ« e afĂ«rt me studimet e tij akademike. NĂ« Google Docs dhe nĂ« software tĂ« ngjashĂ«m pĂ«r redaktimin e dokumenteve nĂ« mĂ«nyrĂ« tĂ« pĂ«rbashkĂ«t, 'redaktimi i pĂ«rbashkĂ«t' do tĂ« thotĂ« replikim: çdo pĂ«rdorues ka njĂ« replikĂ« personale tĂ« dokumentit tĂ« pĂ«rbashkĂ«t, tĂ« cilin e ndryshon, dhe tĂ« gjitha ndryshimet shpĂ«rndahen nĂ« rrjet tek pjesĂ«marrĂ«sit e tjerĂ«. Ndryshimet e dokumenteve offline shkaktojnĂ« njĂ« pĂ«rkohshmĂ«ri tĂ« pavĂ«shtirshme tĂ« dokumentit nĂ« lidhje me pjesĂ«marrĂ«sit e tjerĂ«, dhe rinovimi kĂ«rkon trajtimin e konflikteve. PikĂ«risht pĂ«r kĂ«tĂ« ekzistojnĂ« (CRDT), nĂ« thelb â njĂ« gjĂ« mjaft e re, e cila u formuluar vetĂ«m nĂ« vitin 2011. NĂ« kĂ«tĂ« raport diskutohet se çfarĂ« ka ndodhur qĂ« atĂ«herĂ« nĂ« botĂ«n e CRDT, cilat janĂ« arritjet mĂ« tĂ« fundit, dhe diskutohet njĂ« qasje nĂ« krijimin e aplikacioneve lokale dhe pĂ«rdorimi i bibliotekĂ«s open source nĂ« veçanti.
Javën tjetër ne do të publikojmë në Habrë një intervistë të madhe me Martin, do të jetë interesante.
Pedro Ramalhete â
Pedro punon në Cisco dhe ka zhvilluar algoritme paralel për dhjetë vitet e fundit, duke përfshirë mekanizmat për sinkronizimin, struktura të dhënash pa bllokim dhe pa pritje, dhe gjithçka që mund të imagjinoni mbi këtë temë. Interesat e tij të tanishme shkencore dhe inxhinierike janë të fokusuar në Ndërtimet Universale, Memoria Transaksionale Softuerike, Memoria e Përhershme dhe teknologji të ngjashme që mundësojnë realizimin e aplikacioneve të sakta, të shkallëzuar dhe të qëndrueshëm. Dhe ai është gjithashtu autor i një blogu të njohur në qarqet e ngushta .
Të dhënat në strukturat paralele tani përfshijnë shumicën e aplikacioneve me shumë thirrje, duke filluar nga përdorimi i radhëve të mesazheve midis aktorëve dhe duke përfunduar me strukturat e dhënave të indekseve në depozitë të tipit çelësi-vlerë. Në Java JDK ato funksionojnë me sukses për shumë vite, dhe po ashtu po shtohen ngadalë edhe në C++.
Mënyra më e thjeshtë për të realizuar një strukturë të dhënash paralele është implementimi sekuestral (me një thirrje), në të cilin metodat janë të mbrojtura me mutex. Kjo është e disponueshme për çdo fillestar, por ka probleme të dukshme me shkallëzimin dhe performancën. Në të njëjtën kohë, strukturat e dhënave pa bllokim dhe pa pritje jo vetëm që përballen më mirë me gabimet, por gjithashtu kanë një profil më të favorshëm performancën - megjithatë, zhvillimi i tyre kërkon një ekspertizë të thellë dhe një përshtatje për aplikimin specifik. Një linjë e gabuar kode mjafton për të prishur gjithçka.
Si mund të bëjmë që edhe ata që nuk janë ekspertë të kenë mundësi të dizajnojnë dhe implementojnë këto struktura të dhënash? Dihet se çdo algoritëm sekuestral mund të bëhet i sigurt në shumë thirrje përmes ose , ose të memories transaksionale. Të dyja mund të ulin pragun e hyrjes për zgjidhjen e këtij problemi. Megjithatë, të dy zgjidhjet zakonisht çojnë në një implementim të pasuksesshëm. Pedro do të tregojë se si ata arritën të bëjnë këto konstrukte më efikase dhe si mund të përdoren për algoritmet e tyre.
Heidi Howard -
Heidi Howard - si Martin, është një studiues i sistemeve të shpërndara në Universitetin e Kembrixhit. Specializimi i saj është konsistenca, qëndrueshmëria, performanca dhe konsensusi i shpërndarë. Ajo është më e njohur për generalizimin e algoritmit Paxos të quajtur .
Kujtojmë se - një familje protokollesh për zgjidhjen e problemit të konsensusit në një rrjet të kalkuluesve të pasigurt, bazuar në punët e Leslie Lamport. Kështu, disa prej folësve tanë punojnë mbi probleme fillimisht të propozuara nga folës të tjerë - dhe kjo është e mrekullueshme.
MundĂ«sia pĂ«r tĂ« gjetur konsensusin midis disa hosteve â pĂ«r adresimin, zgjedhjen e liderit, bllokimin ose koordinimin â Ă«shtĂ« njĂ« çështje themelore e sistemeve tĂ« shpĂ«rndara moderne. Paxos pĂ«r momentin Ă«shtĂ« metoda kryesore pĂ«r tĂ« zgjidhur problemet e gjetjes sĂ« konsensusit, dhe rreth tij zhvillohen shumĂ« kĂ«rkime pĂ«r tĂ« zgjeruar dhe optimizuar algoritmin pĂ«r nevoja tĂ« ndryshme praktike.
Në këtë raport, ne do të rishikojmë bazën teorike të Paxos, duke lehtësuar kërkesat fillestare dhe duke generalizuar algoritmin. Do të shohim se Paxos, në thelb, është vetëm një nga variantet në një spekter të gjerë qasje për konsensusin, dhe se pikë të tjera të spektrit gjithashtu janë shumë të dobishme për ndërtimin e sistemeve të mira të shpërndara.
Alex Petrov â
Aleksi Ă«shtĂ« specialist nĂ« bazat e tĂ« dhĂ«nave dhe sistemet e ruajtjes, dhe mĂ« e rĂ«ndĂ«sishmja pĂ«r ne â komituer nĂ« . Ai aktualisht po punon me O'Reilly mbi librin Database Internals.
PĂ«r sistemet me (nĂ« terminologjinĂ« nĂ« gjuhĂ«n ruse â «konsistencĂ« nĂ« pĂ«rfundim»), pas rĂ«nies sĂ« njĂ« nyjeje ose ndarjes sĂ« rrjetit, duhet tĂ« zgjidhet dilema e mĂ«poshtme: tĂ« vazhdojmĂ« tĂ« kryejmĂ« kĂ«rkesa, duke sakrifikuar konsistencĂ«n, ose tĂ« refuzojmĂ« tĂ« kryejmĂ« ato dhe tĂ« sakrifikojmĂ« disponueshmĂ«rinĂ«. NĂ« njĂ« sistem tĂ« tillĂ«, kvorumet, nĂ«ngrupet qĂ« mbivendosen tĂ« nyjeve dhe garantojnĂ« qĂ« tĂ« paktĂ«n njĂ« nyje do tĂ« pĂ«rmbajĂ« vlerĂ«n mĂ« tĂ« fundit, mund tĂ« bĂ«hen njĂ« zgjidhje e mirĂ« kufitare. Mund tĂ« pĂ«rballojmĂ« dĂ«shtime dhe humbjen e lidhjes me disa nyje, duke vazhduar tĂ« pĂ«rgjigjemi me vlerat mĂ« tĂ« freskĂ«ta.
Megjithatë, gjithçka ka një çmim. Skema e replikimit të kvorumeve do të thotë një rritje të kostos së ruajtjes: është e nevojshme të ruhen të dhëna të tejkaluara në disa nyje njëherësh, për të garantuar numrin e mjaftueshëm të kopjeve të disponueshme në momentin e ndodhisë së problemit. Të duket se nuk është e nevojshme të ruhen të gjitha të dhënat në të gjitha replikat. Mund të ulet ngarkesa në ruajtje, duke e mbajtur të dhënat vetëm në disa nyje dhe duke përdorur nyje speciale (Replika Kalimtare) për skenarët e përpunimit të dështimeve.
Gjatë raportit ne do të shqyrtojmë , skemë replikimi e përdorur në dhe , dhe zbatimin e kësaj koncepte në Apache Cassandra me emrat .
Dmitry Vyukov â
Dmitri Ă«shtĂ« zhvillues nĂ« Google, i angazhuar me testimin dinamik tĂ« C/C++ dhe Go â Address/Memory/ThreadSanitizer, si dhe me mjete tĂ« ngjashme pĂ«r bĂ«rthamĂ«n Linux. Ka kontribuar nĂ« Go njĂ« planifikues tĂ« shkallĂ«zueshĂ«m tĂ« gorutinave, njĂ« poler rrjeti dhe njĂ« mbledhĂ«s pleh trashĂ«guese paralel. Ai Ă«shtĂ« njĂ« ekspert nĂ« shumĂ«thĂ«tarĂ«si, autori i njĂ« duzine algoritmash tĂ« rinj pa bllokime dhe Ă«shtĂ« pronar Intel.
Tani pak fjalë rreth prezantimit të vet. Në gjuhën Go ekziston mbështetje native për shumëthëtarësinë në formën e gorutinave (thrjet e lehta) dhe kanaleve (rreshtat FIFO). Falë këtyre mekanizmave, përdoruesit lehtë dhe me kënaqësi mund të shkruajnë aplikacione moderne shumëthëtërore, dhe kjo duket si magji. Siç e kuptojmë, nuk ka asnjë magji këtu. Në këtë prezantim, Dmitri do të thellojë në hollësitë e funksionimit të planifikuesit Go dhe do të tregojë sekretet e implementimit të kësaj "magjie". Fillimisht, ai do të japë një përmbledhje të komponenteve kryesore të planifikuesit, do të flasë për mënyrën se si funksionon. Pastaj, do të njihemi më afër me aspekte të veçanta si strategjitë e parkimit/ri-parking dhe përpunimi i thirrjeve sistemike bllokuese. Në fund, Dmitri do të flasë pak për përmirësimet e mundshme në planifikues.
Dmitri Bugajchenko është
Dmitri ka punuar pothuajse 9 vjet në outsourcing, duke mbajtur lidhje me universitetin dhe mjedisin shkencor. Analiza e të dhënave të mëdha në Odnoklassniki ishte për të një mundësi unike për të kombinuar përgatitjen teorike dhe themelin shkencor me zhvillimin e produkteve reale dhe të kërkuara.
Analiza e shpërndarë e grafikëve ka qenë dhe mbetet një detyrë e ndërlikuar: kur ka një nevojë për të marrë informacion rreth lidhjeve të një kulme fqinj, të dhënat shpesh duhet të kalohen midis makinave, gjë që çon në rritjen e kohës së ekzekutimit dhe ngarkesës mbi infrastrukturën rrjetërore. Në këtë prezantim do të shohim se si mund të arrijmë një përshpejtim të rëndësishëm të përpunimit duke përdorur struktura të dhënash probabiliste ose fakte si simetria e grafikëve të miqësisë në rrjetet sociale. E gjithë kjo ilustrohet me shembuj kodi në Apache Spark.
Denis Rystcov është
Denis është zhvillues , ekspert në verifikimin e modeleve të qëndrueshmërisë, në algoritmet e konsensusit dhe në transaksionet e shpërndara. Aktualisht punon në Microsoft, dhe më parë ka punuar me sisteme të shpërndara në Amazon dhe Yandex.
NĂ« kĂ«tĂ« raport do tĂ« njihemi me protokollet e transaksioneve tĂ« shpĂ«rndara, qĂ« janĂ« krijuar gjatĂ« disa viteve tĂ« fundit, tĂ« cilat mund tĂ« realizohen nga ana e klientit sipĂ«r çdo depo tĂ« dhĂ«nash qĂ« mbĂ«shtet pĂ«rditĂ«simin me kushte (compare and set). E vĂ«rteta Ă«shtĂ« se jeta nuk pĂ«rfundon me komitin me dy faza, transaksionet mund tĂ« shtohen sipĂ«r çdo baze tĂ« dhĂ«nash â nĂ« nivelin e aplikacionit, por protokollet e ndryshme (2PC, Percolator, RAMP) kanĂ« tregtishta tĂ« ndryshme dhe nuk janĂ« falas.
Aleksaj Zinovjev â
Aleksaj () â Ă«shtĂ« njĂ« nga folĂ«sit tanĂ« tĂ« njohur dhe anĂ«tar i komiteteve programore nĂ« konferenca tĂ« tjera. Trajnues praktikuese nĂ« kompaninĂ« EPAM Systems, ka qenĂ« i lidhur me Hadoop/Spark dhe tĂ« dhĂ«nat e mĂ«dha qĂ« nga viti 2012.
Në këtë raport, Aleksaj do të flasë për sfidat e adapitjes së algoritmeve klasike të mësimit të makinerive për të funksionuar në mënyrë të shpërndarë bazuar në përvojën e tij me Apache Spark ML, Apache Mahout, Apache Flink ML dhe përvojën e krijimit të Apache Ignite ML. Gjithashtu, Aleksaj do të flasë për zbatimin e algoritmeve të shpërndara të ML në këto framework-e.
Dhe pĂ«r ta pĂ«rfunduar â dy raporte nga kompania Yandex pĂ«r Yandex Database.
Vladislav Kuznetsov â
Vladislav është zhvillues në Yandex në grupin e platformës së shpërndarë. Yandex Database është një menaxher i të dhënave të shpërndara, horizontalisht të shkallëzuar dhe me qëndrueshmëri, që i mbijeton dështimit të disqeve, serverëve, raftëve dhe qendrave të të dhënave pa shkelur qëndrueshmërinë. Për sigurimin e qëndrueshmërisë përdoret algoritmi ynë për arritjen e konsensusit të shpërndarë, si dhe një sërë zgjidhjesh teknike, të cilat do të shqyrtohen në detaje në raport. Raporti mund të jetë i dobishëm për zhvilluesit e menaxherëve të të dhënave, si dhe për zhvilluesit e zgjidhjeve aplikative mbi bazën e menaxherit të të dhënave.
Semen Checherinda â
Semen është zhvillues në grupin e platformës së shpërndarë në Yandex, punon mbi mundësinë e përdorimit të shumëfishtë të instalacionit YDB.
Yandex Database është e dizajnuar për kërkesa OLTP dhe i përmbush kërkesat ACID për sistemet transaksionale. Në këtë raport, do të shqyrtojmë algoritmin e planifikimit të transaksioneve që është në thelb të sistemit transaksional YDB. Do të analizojmë se cilat entitete marrin pjesë në transaksione, kush cakton rendin global të transaksioneve, si arrihet atomikësia e transaksioneve, besueshmëria dhe niveli rigoroz i izolimit. Duke u bazuar në një problem të zakonshëm, do të shqyrtojmë implementimet e transaksioneve duke përdorur komitin me dy faza dhe transaksionet determinuese. Do të diskutojmë diferencat midis tyre.
ĂfarĂ« ndodh mĂ« tej?
Programi i konferencës vazhdon të mbushet me raporte të reja. Konkretisht, ne presim një raport nga Nikita Koval () nga JetBrains dhe Oleg Anastasyev () nga kompania Odnoklassniki. Nikita merret me algoritmet për korutina në ekipin Kotlin, ndërsa Oleg zhvillon arkitekturën dhe zgjidhjet për sisteme me ngarkesë të lartë në platformën e kompanisë Odnoklassniki. Për më tepër, ka gjithashtu 1 vend të kushtëzuar bosh, për të cilin komiteti programor aktualisht po punon me kandidatët.
Konferenca Hydra do tĂ« zhvillohet mĂ« 11-12 korrik nĂ« ShĂ«n Petersburg. Biletat mund tĂ« . VĂ«mendje e veçantĂ« duhet t'i kushtohet biletave Online â nĂ«se pĂ«r ndonjĂ« arsyĂ« nuk mund tĂ« arrini nĂ« ShĂ«n Petersburg nĂ« kĂ«to ditĂ«.
Takohuni në Hydra!
Burimi: habr.com
