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!
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.
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.
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 - 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.
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 - 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.
Å Ä« 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.
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.
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 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, 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 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).
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 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 - 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 (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 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 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Ä.