19 hidra galvas. Lielisks programmas pārskats

11.-12.jÅ«lijā Sanktpēterburgā notiks konference hidraveltÄ«ta paralēlu un sadalÄ«tu sistēmu izstrādei. Ar Hydra ir tā, ka tā apvieno vadoÅ”os zinātniekus (kurus parasti var atrast tikai ārzemju zinātniskajās konferencēs) un pazÄ«stamus praktizējoÅ”us inženierus vienā lielā programmā zinātnes un prakses krustpunktā.

Hidra ir viena no mÅ«su svarÄ«gākajām konferencēm pēdējos gados. Pirms tam notika ļoti nopietna sagatavoÅ”anās, runātāju un referātu atlase. par to pagājuÅ”ajā nedēļā iznāca habrointervija ar JUG.ru grupas direktoru Alekseju Fjodorovu (23derevo).

Mēs jau stāstÄ«ts par trim nozÄ«mÄ«giem dalÄ«bniekiem, sadalÄ«to sistēmu teorijas pamatlicējiem ā€“ Lesliju Lamportu, Morisu Herlihiju un Maiklu Skotu. Ir pienācis laiks runāt vairāk par visu programmu!

19 hidra galvas. Lielisks programmas pārskats

Motivācija

Ja jÅ«s programmējat, tad vienā vai otrā veidā jums ir darÄ«Å”ana ar daudzpavedienu un izkliedētu skaitļoÅ”anu. Ar viņiem tieÅ”i strādā attiecÄ«go jomu speciālisti, bet netieÅ”i uz mums skatās no jebkuras vietas: jebkurā daudzkodolu datorā vai izkliedētajā servisā ir kaut kas, kas paralēli veic aprēķinus.

Ir daudzas konferences, kas aptver noteiktus lietojumprogrammu plānoÅ”anas aspektus. Spektra otrā pusē mums ir speciālas zinātniskās skolas lekciju formātā, kas atklāj milzÄ«gu daudzumu sarežģītas teorijas. Piemēram, paralēli Hidrai Sanktpēterburgā, SPTDC skola. Hidras konferencē mēs centāmies savest kopā skarbo praksi, zinātni un visu, kas atrodas to krustpunktā.

Padomājiet par to: mēs dzÄ«vojam pārsteidzoŔā laikā, kad jÅ«s varat tieÅ”raidē satikt zinātnes un inženierzinātņu jomas dibinātājus, ar kuriem mēs nodarbojamies. FiziÄ·i nesatiks ne Ņūtonu, ne EinÅ”teinu ā€“ vilciens aizgājis. Bet tie, kas radÄ«ja sadalÄ«to sistēmu teorijas pamatus, izgudroja populāras programmÄ“Å”anas valodas un pirmo reizi to visu iemiesoja darbojoÅ”os prototipos, joprojām dzÄ«vo mums lÄ«dzās. Å ie cilvēki nav pametuÅ”i darbu pusceļā, Å”obrÄ«d veic reālus uzdevumus pasaulslavenās augstskolās un uzņēmumos un ir mÅ«sdienu lielākie zināŔanu un pieredzes avoti.

No otras puses, iespēja viņus satikt parasti paliek tīri teorētiska: daži no mums var pastāvīgi uzraudzīt publiskos notikumus kādā Ročesteras universitātē, lai pēc tam steigtos uz ASV un atpakaļ uz Maikla Skota lekciju. Apmeklēt visus Hydra dalībniekus kopumā būtu neliela bagātība, ja neskaita pavadītā laika bezdibeni (lai gan tas izklausās pēc interesantiem meklējumiem).

No otras puses, mums ir daudz izcilu inženieru, kas Å”obrÄ«d strādā pie aktuālajām izplatÄ«to sistēmu problēmām, un viņiem noteikti ir ko pastāstÄ«t. Bet Å”eit ir problēma - viņi strādāun viņu laiks ir dārgs. Jā, ja esi Microsoft, Google vai JetBrains darbinieks, iespēja iekŔējā pasākumā satikt kādu no pazÄ«stamajiem runātājiem krasi palielinās, bet kopumā ā€“ nē, tas nenotiek katru dienu.

Tādā veidā Hydra konference paveic svarÄ«gu uzdevumu, ko vairums no mums nevar paveikt paÅ”i ā€“ vienuviet un vienā reizē, pulcē cilvēkus, kuru idejas vai komunikācija ar kuriem var mainÄ«t tavu dzÄ«vi. Pieļauju, ka ne visiem ir vajadzÄ«gas dalÄ«tās sistēmas, kaut kādas sarežģītas fundamentālas lietas. JÅ«s varat programmēt CRUD PHP visu atlikuÅ”o mūžu un bÅ«t pilnÄ«gi laimÄ«gs. Bet kam tas vajadzÄ«gs - Ŕī ir jÅ«su iespēja.

Diezgan daudz laika ir pagājis kopÅ” pirmā paziņojuma par Hydra konferenci par HabrĆ©. Å ajā laikā ir paveikts liels darbs, un tagad mums ir gandrÄ«z visu ziņojumu saraksts. Nav gausu viena pavediena algoritmu, tikai tÄ«rs izplatÄ«ts hardcore! Beigsim ar vispārÄ«giem vārdiem un paskatÄ«simies, kas mums tagad ir pa rokai.

Galvenās piezīmes

Galvenās piezÄ«mes sākas un beidzas konferences dienas. Parasti atklāŔanas pamatnostādnes mērÄ·is ir noteikt konferences vispārējo garu un virzienu. Noslēguma pamatnostādne novelk svÄ«tru un skaidro, kā varam dzÄ«vot ar konferences dienās iegÅ«tajām zināŔanām un prasmēm. Sākums un beigas: tam, kas vislabāk palicis atmiņā un vispār, ir paaugstināta vērtÄ«ba.

KlikŔķis - H2O sadalītais K/V algoritms

19 hidra galvas. Lielisks programmas pārskats Klints ir leÄ£enda Java pasaulē. Deviņdesmito gadu beigās doktora disertācijas izstrādē viņŔ uzrakstÄ«ja darbu ar nosaukumu "Analīžu apvienoÅ”ana, optimizāciju apvienoÅ”ana", kas pēc kāda laika kļuva par HotSpot JVM servera kompilatora pamatu. Divus gadus vēlāk viņŔ jau strādāja uzņēmumā Sun Microsystems pie JVM un parādÄ«ja visai pasaulei, ka JIT ir tiesÄ«bas pastāvēt. Å is viss stāsts par to, ka Java ir viens no ātrākajiem mÅ«sdienu izpildlaikiem ar visgudrākajām un ātrākajām optimizācijām, nāca no Cliff Click. PaŔā sākumā tika uzskatÄ«ts, ka, ja kaut kas ir pieejams statiskajam kompilatoram, jÅ«s pat nevarat mēģināt to izjaukt. Pateicoties Klifa un komandas darbam, visas jaunās valodas sāka veidot ar ideju par JIT kompilāciju pēc noklusējuma. Protams, tas nebija viena cilvēka darbs, bet Klifam tajā bija ļoti liela loma.

AtklāŔanas pamatnostādnē Klifs runās par savu citu uzņēmumu - H20, atmiņas platforma izplatÄ«tai un mērogojamai maŔīnmācÄ«bai rÅ«pnieciskiem lietojumiem. PrecÄ«zāk, par atslēgu-vērtÄ«bu pāru izplatÄ«to glabāŔanu tajā. Å Ä« ir ļoti ātra krātuve ar daudzām interesantām Ä«paŔībām (precÄ«zs saraksts ir atrodams apraksts), kas ļauj izmantot lÄ«dzÄ«gus risinājumus lielo datu straumÄ“Å”anas matemātikā.

Vēl viena runa, ko Klifs teiks, ir Azul aparatÅ«ras transakciju atmiņas pieredze. Vēl viena viņa biogrāfijas daļa - desmit gadi strādā Azulā, kur viņŔ atjaunināja un uzlaboja daudzas lietas Azul aparatÅ«ras un tehnoloÄ£iju kaudzē: JIT kompilatorus, izpildlaiku, pavedienu modeli, kļūdu apstrādi, steka manipulācijas, aparatÅ«ras pārtraukumus, klases ielādi un tā tālāk, un tā tālāk. ideja.

Interesantākā daļa sākās, kad viņi izgatavoja aparatÅ«ru lielajam biznesam ā€“ superdatoru Java palaiÅ”anai. Tā bija diezgan inovatÄ«va lieta, pielāgota tieÅ”i Java, kurai ir Ä«paÅ”as prasÄ«bas - atmiņas barjeras lasÄ«Å”anai zemas pauzes atkritumu savākÅ”anai, masÄ«vi ar robežu pārbaudi, virtuālie zvani... Viena no stilÄ«gākajām tehnoloÄ£ijām ir aparatÅ«ras transakciju atmiņa. Viss L1 no jebkura no 864 kodoliem varētu piedalÄ«ties transakciju rakstÄ«Å”anā, kas ir Ä«paÅ”i svarÄ«gi darbam ar Java slēdzenēm (sinhronizēti bloki var darboties paralēli, ja vien nav reāla atmiņas konflikta). Taču skaistā ideja saskārās ar skarbo realitāti ā€“ un Å”ajā ziņojumā Klifs pastāstÄ«s, kāpēc HTM un STM nav labi piemēroti daudzpavedienu skaitļoÅ”anas praktiskām vajadzÄ«bām.

Maikls Skots - Dubultās datu struktūras

19 hidra galvas. Lielisks programmas pārskats Maikls Skots - Ročesteras universitātes datorzinātņu profesors, ar kuru liktenis viņu saistÄ«ja jau 34 gadus, un savā dzimtajā Viskonsinas universitātē Medisonā piecus gadus bija dekāns. ViņŔ nodarbojas ar pētÄ«jumiem paralēlās un dalÄ«tās programmÄ“Å”anas un valodu dizaina jomā un māca to studentiem.

Visa pasaule Maiklu pazÄ«st, pateicoties mācÄ«bu grāmatai "ProgrammÄ“Å”anas valodas pragmatika", kura jaunākais izdevums iznāca salÄ«dzinoÅ”i nesen ā€“ 2015. gadā. Viņa darbs "Algoritmi mērogojamai sinhronizācijai dalÄ«tās atmiņas daudzprocesoros" saņemts Dijkstra balva kā viens no slavenākajiem izplatÄ«tās skaitļoÅ”anas jomā un melo atklāti Ročesteras Universitātes tieÅ”saistes bibliotēkā. JÅ«s varat arÄ« zināt viņu kā autoru tā paÅ”a Michael-Scott algoritmam no "VienkārÅ”i, ātri un praktiski nebloķējoÅ”i un bloķējoÅ”i vienlaicÄ«gu rindu algoritmi".

Kas attiecas uz Java pasauli, Å”is ir Ä«paÅ”s gadÄ«jums: kopā ar Dagu Lea viņŔ izstrādāja tos nebloķējoÅ”os algoritmus un sinhronās rindas, kurās darbojas Java bibliotēkas. Par to bÅ«s galvenā tēma ā€œDuālās datu struktÅ«rasā€ ā€” Å”o struktÅ«ru ievieÅ”ana Java SE 6 ļāva mums 10 reizes uzlabot veiktspēju. java.util.concurrent.ThreadPoolExecutor. Ja jÅ«s jau iepriekÅ” interesē, kas ir Ŕīs ā€œduālās datu struktÅ«rasā€, tad tas ir saistÄ«ts darbs.

Moriss Herlihijs- Blokķēdes un izkliedētās skaitļoÅ”anas nākotne

19 hidra galvas. Lielisks programmas pārskats Moriss Herlihijs - Divu Dijkstra balvu ieguvējs. Pirmais ir paredzēts darbam "Sinhronizācija bez gaidÄ«Å”anas" (Brauna universitāte), un otrā, jaunākā - "Transakciju atmiņa: arhitektÅ«ras atbalsts bezbloķētām datu struktÅ«rām" (Virdžinijas TehnoloÄ£iju universitāte). Dijkstras balva tiek pieŔķirta par darbiem, kuru nozÄ«me un ietekme ir manāma jau vismaz desmit gadus, un ir skaidrs, ka Moriss ir viens no slavenākajiem nozares speciālistiem. PaÅ”laik viņŔ ir Brauna universitātes profesors, un viņam ir rindkopu gari sasniegumi.

Å ajā noslēguma pamatnostādnē Moriss runās par blokķēdes sadalÄ«to sistēmu teoriju un praksi no sadalÄ«tās skaitļoÅ”anas klasikas skatupunkta un to, kā tā vienkārÅ”o daudzas ar to saistÄ«tas problēmas. Å is ziņojums ir tikai par konferences tēmu ā€“ nepavisam ne par kalnrÅ«pniecÄ«bas ažiotāžu, bet gan par to, kā mÅ«su zināŔanas var apbrÄ«nojami efektÄ«vi un atbilstoÅ”i izmantot saistÄ«bā ar dažādiem uzdevumiem.

2017. gada jūlijā Moriss jau ieradās Krievijā SPTDC skolā, piedalījās JUG.ru meetup, un ierakstu var noskatīties vietnē YouTube:

Galvenā programma

Pēc tam bÅ«s neliels atskats uz programmā iekļautajiem pārskatiem. Daži ziņojumi ir detalizēti aprakstÄ«ti Å”eit, daži Ä«sāk. Garie apraksti galvenokārt bija angļu valodas ziņojumos, kuros nepiecieÅ”amas saites uz zinātniskiem rakstiem, termini Vikipēdijā utt. Pilns saraksts var bÅ«t skatÄ«t konferences mājaslapā. Vietnē esoÅ”ais saraksts tiks atjaunināts un papildināts.

Leslija Lamporta - Jautājumi un atbildes

19 hidra galvas. Lielisks programmas pārskats Leslija Lamporta ir celmlauzis izplatÄ«tās skaitļoÅ”anas jomā. LaTeX apzÄ«mē "Lamport TeX". Tas bija viņŔ, kurÅ” pirmo reizi tālajā 1979. gadā ieviesa Å”o koncepciju konsekventa konsekvence, un viņa raksts "Kā izveidot daudzprocesoru datoru, kas pareizi izpilda daudzprocesu programmas" gadā saņēma Dijkstras balvu.

Å Ä« ir formāta neparastākā programmas daļa, jo tā pat nav reportāža, bet gan jautājumu un atbilžu sesija. Kad ievērojama auditorijas daļa jau ir pazÄ«stama (vai var iepazÄ«ties) ar visdažādākajiem darbiem, kas balstÄ«ti uz Lamporta teoriju, viņa paÅ”a rakstiem un referātiem, svarÄ«gāk ir visu pieejamo laiku veltÄ«t tieÅ”ai komunikācijai.

Ideja ir vienkārÅ”a ā€” jÅ«s skatāties divus pārskatus pakalpojumā YouTube: "ProgrammÄ“Å”anai vajadzētu bÅ«t vairāk nekā kodÄ“Å”anai" Šø "Ja nerakstāt programmu, neizmantojiet programmÄ“Å”anas valodu" un sagatavo vismaz vienu jautājumu, un Leslija atbild.

Pirmais no Å”iem diviem videoklipiem mums jau ir pārvērtās par muļķībām. Ja jums nav stundas laika, lai noskatÄ«tos video, varat ātri to visu izlasÄ«t teksta formā.

PiezÄ«me. Vietnē YouTube ir daudz vairāk videoklipu ar Lesliju Lamportu. Piemēram, ir izcils TLA+ kurss. Visa Ŕī kursa bezsaistes versija ir pieejama vietnē autora mājas lapa, un pakalpojumā YouTube viņŔ to ielēja ērtākai skatÄ«Å”anai mobilajās ierÄ«cēs.

MārtiņŔ Kleppmans - Datu sinhronizÄ“Å”ana starp lietotāju ierÄ«cēm izplatÄ«tai sadarbÄ«bai

19 hidra galvas. Lielisks programmas pārskats Martins Kleppmans ir Kembridžas universitātes pētnieks, kurÅ” strādā pie CRDT un formālā algoritma verifikācijas. Mārtiņa grāmata "Datu ietilpÄ«gu lietojumprogrammu projektÄ“Å”ana", kas publicēts 2017. gadā, izrādÄ«jās ļoti veiksmÄ«gs un iekļuva bestselleru sarakstos datu uzglabāŔanas un apstrādes jomā. Kevins Skots, Microsoft CTO reiz teica: ā€œÅ ai grāmatai jābÅ«t obligātai projektÄ“Å”anas inženieriem. Å is ir rets resurss, kas savieno teoriju un praksi, lai palÄ«dzētu izstrādātājiem gudrāk izstrādāt un ieviest datu infrastruktÅ«ru un sistēmas. Kaut ko lÄ«dzÄ«gu teica Kafkas un CTO Confluent radÄ«tājs Džejs Kreps.

Pirms pārejas uz akadēmisko pētniecÄ«bu, Martin strādāja Å”ajā nozarē un bija divu veiksmÄ«gu jaunuzņēmumu lÄ«dzdibinātājs:

  • Rapportive, kas veltÄ«ta jÅ«su e-pasta kontaktpersonu sociālā profila parādÄ«Å”anai, ko LinkedIn iegādājās 2012. gadā;
  • Go Test It ā€” vairāku pārlÅ«kprogrammu automatizēta vietņu pārbaudÄ«tāja, kuru RedGate iegādājās 2009. gadā.

Kopumā, lai gan Martins ir mazāk pazÄ«stams nekā mÅ«su galvenie dalÄ«bnieki, viņŔ jau ir spējis dot zināmu ieguldÄ«jumu izplatÄ«tās skaitļoÅ”anas attÄ«stÄ«bā un nozarē.

Å ajā runā Mārtins runās par tēmu, kas ir tuvāka viņa akadēmiskajam pētÄ«jumam. Pakalpojumā Google dokumenti un lÄ«dzÄ«gā dÄ«vānā, kas paredzēts dokumentu lÄ«dzautorÄ“Å”anai, "lÄ«dzautorÄ“Å”ana" nozÄ«mē replikācijas uzdevumu: katram lietotājam ir sava koplietota dokumenta kopija, kuru viņŔ pēc tam modificē, un visas izmaiņas tiek nosÅ«tÄ«tas tÄ«klā pārējiem. no dalÄ«bniekiem. Bezsaistes izmaiņas dokumentos rada Ä«slaicÄ«gu dokumentu nekonsekvenci attiecÄ«bā pret citiem dalÄ«bniekiem, un atkārtotai sinhronizācijai ir nepiecieÅ”ama konfliktu apstrāde. Tikai Å”im nolÅ«kam ir Replicēti datu tipi bez konfliktiem (CRDT), patiesÄ«bā, ir diezgan jauna lieta, kuras bÅ«tÄ«ba tika formulēta tikai 2011. gadā. Å ajā runā tiek apspriests, kas kopÅ” tā laika ir noticis CRDT pasaulē, kādi ir jaunākie sasniegumi, tiek apspriesta pieeja vietējo lietojumprogrammu izveidei kopumā un atvērtā pirmkoda bibliotēkas izmantoÅ”ana. Apvienot it Ä«paÅ”i.

Nākamnedēļ Habrē publicēsim lielu interviju ar Martinu, būs interesanti.

Pedro Ramalhete - Datu struktūras bez gaidīŔanas un darījumi bez gaidīŔanas

19 hidra galvas. Lielisks programmas pārskats Pedro strādā Cisco un pēdējos desmit gadus ir izstrādājis paralēlus algoritmus, tostarp sinhronizācijas mehānismus, datu struktÅ«ras bez bloÄ·Ä“Å”anas un gaidÄ«Å”anas, kā arÄ« visu, ko varat iedomāties par Å”o tēmu. Viņa paÅ”reizējās pētniecÄ«bas un inženierzinātņu intereses ir vērstas uz universālajām konstrukcijām, programmatÅ«ras transakciju atmiņu, pastāvÄ«go atmiņu un lÄ«dzÄ«gām tehnoloÄ£ijām, lai nodroÅ”inātu pareizas, mērogojamas un pret defektiem izturÄ«gas lietojumprogrammas. Un viņŔ ir arÄ« Å”aurās aprindās plaÅ”i pazÄ«stama emuāra autors VienlaicÄ«bas frÄ«ki.

Lielākā daļa daudzpavedienu lietojumprogrammu tagad darbojas paralēlās datu struktÅ«rās, sākot no ziņojumu rindu izmantoÅ”anas starp dalÄ«bniekiem lÄ«dz indeksētām datu struktÅ«rām atslēgu vērtÄ«bu krātuvēs. Viņi jau daudzus gadus ir veiksmÄ«gi strādājuÅ”i Java JDK, un tie lēnām tiek pievienoti C ++.

VienkārŔākais veids, kā ieviest paralēlu datu struktÅ«ru, ir seriālā (vienpavedienu) implementācija, kurā metodes ir aizsargātas ar muteksiem. Tas ir pieejams jebkuram jun, taču tai ir acÄ«mredzamas mērogoÅ”anas un veiktspējas problēmas. Tajā paŔā laikā datu struktÅ«ras bez bloÄ·Ä“Å”anas un gaidÄ«Å”anas ne tikai labāk apstrādā kļūdas, bet tām ir arÄ« labāks veiktspējas profils ā€“ tomēr to izstrādei ir nepiecieÅ”amas dziļas zināŔanas un pielāgoÅ”anās konkrētam lietoÅ”anas gadÄ«jumam. Pietiek ar vienu nepareizu koda rindiņu, lai visu izjauktu.

Kā pārliecināties, ka pat nespeciālists var izstrādāt un ieviest Ŕādas datu struktÅ«ras? Ir zināms, ka jebkuru secÄ«gu algoritmu var padarÄ«t droÅ”u pavedienu universāls dizains, vai darÄ«jumu atmiņa. Pirmkārt, viņi var pazemināt ieejas slieksni Ŕīs problēmas risināŔanai. Tomēr abi risinājumi mēdz novest pie neefektÄ«vas ievieÅ”anas. Pedro pastāstÄ«s par to, kā viņiem izdevās padarÄ«t Ŕīs konstrukcijas efektÄ«vākas un kā tās var izmantot saviem algoritmiem.

Heidija Hovarda - Izdalītas vienprātības atbrīvoŔana

19 hidra galvas. Lielisks programmas pārskats Heidija Hovarda, tāpat kā Mārtins, ir sadalīto sistēmu pētniece Kembridžas Universitātē. Viņas specializācija ir konsekvence, kļūdu tolerance, veiktspēja un dalīta vienprātība. Viņa ir vislabāk pazīstama ar savu Paxos algoritma vispārinājumu Elastīgie Paxos.

Atgādināt, ka paxos - protokolu saime konsensa problēmas risināŔanai neuzticamu datoru tÄ«klā, kuru pamatā bija Leslijas Lamportas darbs. Tādējādi daži no mÅ«su runātājiem strādā pie uzdevumiem, kurus sākotnēji ierosināja citi mÅ«su runātāji ā€” un tas ir lieliski.

Spēja atrast vienprātÄ«bu starp vairākiem resursdatoriem ā€” adresÄ“Å”anai, lÄ«deru atlasei, bloÄ·Ä“Å”anai vai koordinÄ“Å”anai ā€” mÅ«sdienu izplatÄ«tajās sistēmās ir bÅ«tiska problēma. Paxos tagad ir galvenais veids, kā atrisināt vienprātÄ«bas problēmas, un ap to ir daudz pētÄ«jumu, lai paplaÅ”inātu un optimizētu algoritmu dažādām praktiskām vajadzÄ«bām.

Å ajā ziņojumā mēs vēlreiz apskatÄ«sim Paxos teorētisko bāzi, atvieglojot sākotnējās prasÄ«bas un vispārinot algoritmu. Mēs redzēsim, ka Paxos faktiski ir tikai viena no iespējām starp milzÄ«gām pieejām vienprātÄ«bas panākÅ”anai un ka arÄ« citi spektra punkti ir diezgan noderÄ«gi, lai izveidotu labas sadalÄ«tās sistēmas.

Alekss Petrovs - Samaziniet uzglabāŔanas izmaksas, izmantojot Ä«slaicÄ«gu replikāciju un lētus kvorumus

19 hidra galvas. Lielisks programmas pārskats Alekss ir datu bāzu un krātuves speciālists un, kas ir vēl svarÄ«gāk, apņemas Cassandra. PaÅ”laik viņŔ strādā kopā ar O'Reiliju pie grāmatas Database Internals.

Sistēmām ar iespējamā konsekvence (krievu terminoloÄ£ijā - ā€œkonsekvence beigāsā€), pēc mezgla kriÅ”anas vai tÄ«kla sadalÄ«Å”anas ir jāatrisina Ŕāda dilemma: vai nu turpināt izpildÄ«t pieprasÄ«jumus, upurējot konsekvenci, vai arÄ« atteikties tos izpildÄ«t un upurēt pieejamÄ«bu. Šādā sistēmā kvorumi, mezglu apakÅ”kopu pārklāŔanās un nodroÅ”ināŔana, ka vismaz viens mezgls satur jaunāko vērtÄ«bu, var bÅ«t labs malas risinājums. Ir iespējams pārdzÄ«vot kļūmes un savienojuma zudumu ar dažiem mezgliem, turpinot reaģēt ar jaunākajām vērtÄ«bām.

Tomēr visam ir sava cena. Kvoruma replikācijas shēma nozÄ«mē paaugstinātas krātuves izmaksas: lieki dati ir jāsaglabā vairākos mezglos vienlaikus, lai nodroÅ”inātu, ka problēmas gadÄ«jumā ir pieejams pietiekami daudz kopiju. Izrādās, ka nevar saglabāt visus datus par visām replikām. Varat samazināt krātuves slodzi, ja glabājat datus tikai daļā mezglu un kļūmju apstrādes scenārijiem izmantojat Ä«paÅ”us mezglus (pārejas kopija).

Ziņojuma gaitā mēs apsvērsim Liecinieku kopijas, izmantotā replikācijas shēma Savilcējs Šø mega veikals, un Ŕīs koncepcijas ievieÅ”ana Apache Cassandra ar nosaukumiem ÄŖslaicÄ«ga replikācija un lēti kvorumi.

Dmitrijs Vjukovs - Atklātas Gorutines

19 hidra galvas. Lielisks programmas pārskats Dmitrijs ir Google izstrādātājs, kas strādā ar C/C++ un Go dinamisko testÄ“Å”anu ā€” Address/Memory/ThreadSanitizer un lÄ«dzÄ«giem rÄ«kiem Linux kodolam. ViņŔ ir pievienojis mērogojamu gorutÄ«nas plānotāju, tÄ«kla aptauju un paralēlu atkritumu savācēju Go. ViņŔ ir daudzpavedienu eksperts, duci jaunu nebloķējoÅ”u algoritmu autors un Ä«paÅ”nieks Melnā josta Intel.

Tagad nedaudz par paÅ”u ziņojumu. Go valodai ir vietējais atbalsts vairāku pavedienu veidoÅ”anai gorutÄ«nu (vieglu pavedienu) un kanālu (FIFO rindas) veidā. Pateicoties Å”iem mehānismiem, lietotājiem ir ļoti viegli un patÄ«kami rakstÄ«t modernas daudzpavedienu lietojumprogrammas, un tas izskatās kā maÄ£ija. Kā mēs saprotam, Å”eit nav maÄ£ijas. Å ajā ziņojumā Dmitrijs iedziļinās Go plānotāja sarežģītÄ«bā un parādÄ«s Ŕīs ā€œmaÄ£ijasā€ ievieÅ”anas noslēpumus. Pirmkārt, viņŔ sniegs pārskatu par plānotāja galvenajām sastāvdaļām, kā tas darbojas. Tālāk mēs sÄ«kāk aplÅ«kosim noteiktus aspektus, piemēram, novietoÅ”anas / atlaiÅ”anas stratēģiju un bloÄ·Ä“Å”anas sistēmas zvanu apstrādi. Visbeidzot Dmitrijs nedaudz pastāstÄ«s par iespējamiem plānotāja uzlabojumiem.

Dmitrijs Bugaičenko - Paātriniet sadalīto grafiku analīzi, izmantojot varbūtības skices un citus

19 hidra galvas. Lielisks programmas pārskats Dmitrijs ir strādājis ārpakalpojumu jomā gandrīz 9 gadus, nezaudējot saikni ar universitāti un zinātnieku aprindām. Lielo datu analīze Odnoklassniki bija unikāla iespēja viņam apvienot teorētisko apmācību un zinātnisko pamatojumu ar reālu, pieprasītu produktu izstrādi.

Izkliedētā grafu analÄ«ze ir bijis un paliek sarežģīts uzdevums: kad rodas nepiecieÅ”amÄ«ba iegÅ«t informāciju par blakus esoŔās virsotnes savienojumiem, dati bieži vien ir jāpārsÅ«ta starp maŔīnām, kas noved pie izpildes laika palielināŔanās un tÄ«kla noslodzes. infrastruktÅ«ra. Å ajā sarunā mēs redzēsim, kā jÅ«s varat ievērojami paātrināt apstrādi, izmantojot varbÅ«tÄ«bas datu struktÅ«ras vai faktus, piemēram, draudzÄ«bas grafika simetriju sociālajā tÄ«klā. Tas viss ir ilustrēts ar Apache Spark koda piemēriem.

Deniss Rystsovs - Samaziniet uzglabāŔanas izmaksas, izmantojot Ä«slaicÄ«gu replikāciju un lētus kvorumus

19 hidra galvas. Lielisks programmas pārskats Deniss - izstrādātājs Cosmos DB, eksperts konsekvences modeļu validācijā, konsensa algoritmos un izplatÄ«tajās transakcijās. Tagad viņŔ strādā Microsoft, un pirms tam viņŔ nodarbojās ar izplatÄ«tajām sistēmām Amazon un Yandex.

Å ajā pārskatā mēs iepazÄ«simies ar pēdējo gadu laikā izgudrotajiem izplatÄ«tajiem darÄ«jumu protokoliem, kurus klienta pusē var ieviest virs jebkura datu krātuves, kas atbalsta nosacÄ«jumu atjaunināŔanu (salÄ«dzināt un iestatÄ«t). Secinājums ir tāds, ka dzÄ«ve nebeidzas ar divu fāžu apņemÅ”anos, transakcijas var pievienot jebkurai datubāzei - lietojumprogrammu lÄ«menÄ«, bet dažādiem protokoliem (2PC, Percolator, RAMP) ir dažādi kompromisi un tie mums netiek doti. par brÄ«vu.

Aleksejs Zinovjevs - Ne visi ML algoritmi nonāk izplatītajā paradīzē

19 hidra galvas. Lielisks programmas pārskats Aleksejs (zaleslavs) ir mÅ«su ilggadējais lektors un programmu komiteju loceklis citās konferencēs. PraktizējoÅ”s treneris uzņēmumā EPAM Systems, un kopÅ” 2012. gada ir draugs ar Hadoop / Spark un citiem bigdata.

Å ajā sarunā Aleksejs runās par klasisko maŔīnmācÄ«Å”anās algoritmu pielāgoÅ”anas problēmām izplatÄ«tai izpildei, pamatojoties uz savu pieredzi ar Apache Spark ML, Apache Mahout, Apache Flink ML un Apache Ignite ML izveides pieredzi. Aleksejs runās arÄ« par sadalÄ«to ML algoritmu ievieÅ”anu Å”ajos ietvaros.

Un noslēgumā divi ziņojumi no Yandex par Yandex datu bāzi.

Vladislavs Kuzņecovs ā€” Yandex datu bāze - kā mēs nodroÅ”inām kļūdu toleranci

19 hidra galvas. Lielisks programmas pārskats Vladislavs ir Yandex izstrādātājs izplatÄ«to platformu grupā. Yandex datu bāze ir horizontāli mērogojama, Ä£eogrāfiski sadalÄ«ta, defektu izturÄ«ga DBVS, kas var izturēt disku, serveru, statÄ«vu un datu centru atteices, neapdraudot konsekvenci. Lai nodroÅ”inātu kļūdu toleranci, tiek izmantots patentēts izplatÄ«ts konsensa algoritms, kā arÄ« vairāki tehniski risinājumi, kas detalizēti apskatÄ«ti ziņojumā. Pārskats var interesēt gan DBVS izstrādātājus, gan uz DBVS balstÄ«tu lietiŔķo risinājumu izstrādātājus.

Semjons Čečerinda - Sadalītie darījumi YDB

19 hidra galvas. Lielisks programmas pārskats Semjons ir Yandex izplatÄ«to platformu grupas izstrādātājs, kurÅ” strādā pie iespējas izmantot YDB instalāciju vairākiem nomniekiem.

Yandex datu bāze ir paredzēta OLTP vaicājumiem un atbilst transakciju sistēmas ACID prasÄ«bām. Pārskatā mēs apskatÄ«sim darÄ«jumu plānoÅ”anas algoritmu, kas ir YDB darÄ«jumu sistēmas pamatā. Analizēsim, kuras entÄ«tijas piedalās darÄ«jumos, kurÅ” transakcijām pieŔķir globālu secÄ«bu, kā tiek sasniegts darÄ«jumu atomiskums, uzticamÄ«ba un stingrais izolācijas lÄ«menis. Izmantojot izplatÄ«ta uzdevuma piemēru, aplÅ«kosim transakciju ievieÅ”anu, izmantojot divfāžu apņemÅ”anos un deterministiskas transakcijas. ApspriedÄ«sim viņu atŔķirÄ«bas.

Ko tālāk?

Konferences programma joprojām tiek papildināta ar jauniem ziņojumiem. Jo Ä«paÅ”i mēs sagaidām ziņojumu no Ņikita Kovals (ndkoval) no JetBrains un Oļegs Anastasijevs (m0nstermind) no Odnoklassniki. Ņikita strādā pie korutÄ«nu algoritmiem Kotlin komandā, bet Oļegs izstrādā arhitektÅ«ru un risinājumus augstas slodzes sistēmām Odnoklassniki platformā. Turklāt ir vēl 1 nosacÄ«ti tukÅ”a vieta, ar kandidātiem, par kuriem Å”obrÄ«d strādā programmas komiteja.

Hidras konference notiks 11.-12.jÅ«lijā Sanktpēterburgā. Biļetes var bÅ«t iegādāties oficiālajā vietnē. Pievērsiet uzmanÄ«bu Online biļeÅ”u pieejamÄ«bai ā€“ ja kādu iemeslu dēļ Å”ajās dienās nevarat nokļūt Sanktpēterburgā tieÅ”raidē.

Tiekamies Hydra!

Avots: www.habr.com

Pievieno komentāru