{"id":35091,"date":"2019-10-31T22:02:18","date_gmt":"2019-10-31T19:02:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/19-golov-gidry-bolshoj-obzor-programmy\/"},"modified":"2019-10-31T22:02:18","modified_gmt":"2019-10-31T19:02:18","slug":"19-golov-gidry-bolshoj-obzor-programmy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","title":{"rendered":"19 huvuden av hydran. Stort \u00f6versikt av programmet","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>11-12 juli \u00e4ger konferensen rum i Sankt Petersburg <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/?utm_source=habr&amp;utm_medium=453832\">Hydra<\/a><\/noindex>, som handlar om utvecklingen av parallella och distribuerade system. Hydras styrka ligger i att den samlar fantastiska forskare (som vanligtvis endast finns p\u00e5 internationella vetenskapliga konferenser) och k\u00e4nda praktiska ingenj\u00f6rer i ett stort program som gr\u00e4nsar till vetenskap och praktik.<\/p>\n<p><\/p>\n<p>Hydra \u00e4r en av de viktigaste konferenserna vi har haft de senaste \u00e5ren. Den f\u00f6regicks av en mycket grundlig f\u00f6rberedelse, urval av talare och presentationer. F\u00f6rra veckan kom det ut ett <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/453952\/\">intervju med Habr,<\/a><\/noindex> med direkt\u00f6ren f\u00f6r JUG.ru Group, Aleksej Fedotov (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/23derevo\/\" class=\"user_link\">23derevo<\/a><\/noindex>). <\/p>\n<p><\/p>\n<p>Vi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/445730\/\">redan har diskuterat<\/a><\/noindex> , om tre viktiga deltagare, grundarna av teorin om distribuerade system \u2014 Leslie Lamport, Maurice Herlihy och Michael Scott. Det \u00e4r dags att prata mer ing\u00e5ende om hela programmet!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/55b262908f46159cbd3638f00772215c.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"motivaciya\">Motivation<\/h2>\n<p><\/p>\n<p>Om du sysslar med programmering har du p\u00e5 ett eller annat s\u00e4tt att g\u00f6ra med multitr\u00e5dning och distribuerade ber\u00e4kningar. Specialister inom motsvarande omr\u00e5den arbetar direkt med dem, men implicit ser distribuerade system p\u00e5 oss fr\u00e5n alla h\u00e5ll: i varje flerk\u00e4rnig dator eller distribuerad tj\u00e4nst finns det n\u00e5got som utf\u00f6r ber\u00e4kningar parallellt.<\/p>\n<p><\/p>\n<p>Det finns m\u00e5nga konferenser som belyser olika aspekter av till\u00e4mpad programmering. P\u00e5 andra sidan spektrumet har vi specialiserade vetenskapliga skolor, i form av f\u00f6rel\u00e4sningar som tar upp enorma m\u00e4ngder komplex teori. Till exempel p\u00e5g\u00e5r parallellt med Hydra i Petersburg <noindex><a rel=\"nofollow\" href=\"https:\/\/sptdc.ru\/?utm_source=habr&amp;utm_medium=453832\">skolan SPTDC.<\/a><\/noindex>. <strong>P\u00e5 konferensen Hydra har vi f\u00f6rs\u00f6kt sammanf\u00f6ra b\u00e5de h\u00e5rd praktik och vetenskap, och allt det som ligger i sk\u00e4rningspunkten.<\/strong> <\/p>\n<p><\/p>\n<p>T\u00e4nk p\u00e5 detta: vi lever i en fantastisk tid d\u00e5 det \u00e4r m\u00f6jligt att m\u00f6ta grundarna av det vetenskaps- och ingenj\u00f6rsomr\u00e5de vi arbetar med. Fysiker tr\u00e4ffar varken Newton eller Einstein \u2014 t\u00e5get har g\u00e5tt. Men bredvid oss lever fortfarande de som skapade grunderna f\u00f6r teorin om distribuerade system, uppfann popul\u00e4ra programmeringsspr\u00e5k, och f\u00f6rst genomf\u00f6rde allt detta i fungerande prototyper. Dessa m\u00e4nniskor har inte \u00f6vergivit sitt arbete halvv\u00e4gs, utan arbetar just nu med aktuella fr\u00e5gor p\u00e5 v\u00e4rldsk\u00e4nda universitet och f\u00f6retag, och \u00e4r idag de st\u00f6rsta k\u00e4llorna till kunskap och erfarenhet. <\/p>\n<p><\/p>\n<p>\u00c5 andra sidan \u00e4r m\u00f6jligheten att tr\u00e4ffa dem oftast rent teoretisk: f\u00e5 av oss kan st\u00e4ndigt \u00f6vervaka offentliga evenemang p\u00e5 n\u00e5got universitet i Rochester f\u00f6r att sedan snabbt resa till USA och tillbaka till en f\u00f6rel\u00e4sning med Michael Scott. Att bes\u00f6ka alla deltagare i Hydra skulle kosta en hel del, utan att r\u00e4kna med den o\u00e4ndliga m\u00e4ngden tid som skulle g\u00e5 (\u00e4ven om det l\u00e5ter som en intressant quest).<\/p>\n<p><\/p>\n<p>\u00c5 andra sidan har vi m\u00e5nga topptekniker som just nu arbetar med aktuella problem inom distribuerade system, och de har definitivt n\u00e5got att ber\u00e4tta. Men problemet \u00e4r att de <em>fungerar<\/em>, och deras tid \u00e4r dyr. Ja, om du \u00e4r anst\u00e4lld hos Microsoft, Google eller JetBrains \u00f6kar sannolikheten att tr\u00e4ffa en av de k\u00e4nda talarna p\u00e5 ett internt evenemang dramatiskt, men generellt - nej, det h\u00e4nder inte varje dag.<\/p>\n<p><\/p>\n<p>D\u00e4rf\u00f6r fyller konferensen Hydra en viktig uppgift som de flesta av oss inte kan g\u00f6ra sj\u00e4lva \u2013 i en och samma plats och vid en och samma tid samlar m\u00e4nniskor vars id\u00e9er eller kommunikation kan f\u00f6r\u00e4ndra ditt liv. Jag medger att inte alla beh\u00f6ver distribuera system eller komplexa fundamentala koncept. Man kan programmerar CRUD-applikationer i PHP hela livet och \u00e4nd\u00e5 vara helt lycklig. Men f\u00f6r de som beh\u00f6ver det \u2013 det \u00e4r din chans.<\/p>\n<p><\/p>\n<p>Sedan den f\u00f6rsta annonseringen av konferensen Hydra p\u00e5 Habr har det g\u00e5tt ganska mycket tid. Under denna tid har ett enormt arbete gjorts \u2013 och nu har vi en lista \u00f6ver n\u00e4stan alla f\u00f6redrag. Inga tr\u00e5kiga entr\u00e5diga algoritmer, bara ren distribuerad hardcore! L\u00e5t oss avsluta med allm\u00e4nna ord och se vad vi har nu.<\/p>\n<p><\/p>\n<h2 id=\"keynouty\">Keynotes<\/h2>\n<p><\/p>\n<p>Keynotes inleder och avslutar konferensdagarna. Vanligtvis \u00e4r syftet med den \u00f6ppnande keynoten att st\u00e4lla in den allm\u00e4nna tonen och riktningen f\u00f6r konferensen. Den avslutande keynoten sammanfattar och f\u00f6rklarar hur vi ska leva med de kunskaper och f\u00e4rdigheter vi f\u00e5tt under konferensens dagar. B\u00f6rjan och slutet: det som kommer att minnas b\u00e4st och som \u00f6verhuvudtaget har \u00f6kad betydelse.<\/p>\n<p><\/p>\n<h3 id=\"cliff-click--the-h2o-distributed-kv-algorithmhttpshydraconfru2019talks1urihjc39wzahcg3lbxbtqutm_sourcehabrutm_medium453832\">Cliff Click \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1urihjc39wzahcg3lbxbtq\/?utm_source=habr&amp;utm_medium=453832\">The H2O distributed K\/V algorithm<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/2a1b4f1e305a3c4f32dc88e84cfe504f.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Cliff \u00e4r en legend inom Java-v\u00e4rlden. I slutet av 90-talet skrev han en avhandling med titeln <noindex>\u00abCombining Analyses, Combining Optimizations\u00bb<\/noindex>, som efter en tid blev grundlaget for HotSpot JVM Server Compiler. Tv\u00e5 \u00e5r senere arbejdede han allerede hos Sun Microsystems med JVM og viste verden, at JIT har ret til at eksistere. Hele denne historie om, at Java er en af de hurtigste moderne runtime-milj\u00f8er med de smarteste og hurtigste optimeringer, stammer fra Cliff Click. I starten blev det anset for, at hvis noget var tilg\u00e6ngeligt for en statisk compiler, skulle man ikke engang fors\u00f8ge at JIT\u2019te det. Takket v\u00e6re Cliff og holdets arbejde begyndte alle nye sprog at blive skabt med id\u00e9en om JIT-kompilering som standard. Uden tvivl var dette et arbejde, der ikke var for \u00e9n person, men Cliff spillede en meget vigtig rolle i det.<\/p>\n<p><\/p>\n<p>I den \u00e5bnende keynote vil Cliff tale om et andet af sine projekter \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/h2oai\/h2o-3\">H20<\/a><\/noindex>, en in-memory platform til distribueret og skalerbar maskinl\u00e6ring til industriel anvendelse. Mere specifikt \u2014 om det distribuerede lagringssystem af \"n\u00f8gle-v\u00e6rdi\" par indeni. Dette er en meget hurtig lagerl\u00f8sning med masser af interessante egenskaber (den pr\u00e6cise liste findes i <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1urihjc39wzahcg3lbxbtq\/?utm_source=habr&amp;utm_medium=453832\">beskrivningen<\/a><\/noindex>), som tillader brugen af lignende l\u00f8sninger i matematik til streaming af store data.<\/p>\n<p><\/p>\n<p>En anden pr\u00e6sentation, som Cliff vil give \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/2jix5mst7iduyp9linqhfj\/?utm_source=habr&amp;utm_medium=453832\">The Azul Hardware Transactional Memory experience<\/a><\/noindex>. En anden del af hans biografi \u2014 ti \u00e5r <noindex>arbejde hos Azul<\/noindex>, hvor han opdaterede og forbedrede meget p\u00e5 h\u00e5rdvaren og teknologistakken i Azul: JIT-kompilatorer, runtime, tr\u00e5dmodel, fejlh\u00e5ndtering, arbejde med stakken, hardware-interrupter, klasseindl\u00e6sning og s\u00e5 videre \u2014 ja, du forstod.<\/p>\n<p><\/p>\n<p>Den mest interessante del begyndte, da de lavede hardware til store virksomheder \u2014 en supercomputer til k\u00f8rsel af Java. Dette var en ret innovativ l\u00f8sning, der var specifikt designet til Java, der har s\u00e6rlige krav \u2014 l\u00e6sbarhedsbariere for lav-latens affaldssamling, arrays med gr\u00e6nsekontrol, virtuelle opkald\u2026 En af de mest imponerende teknologier \u2014 hardware-transaktionel hukommelse. Hele L1 fra hver af de 864 kerner kunne deltage i transaktionel skrivning, hvilket er s\u00e6rlig vigtigt for arbejdet med l\u00e5sninger i Java (synchronized-blokke kan k\u00f8re parallelt, s\u00e5 l\u00e6nge der ikke er reelle hukommelseskonflikter). Men den smukke id\u00e9 brast mod den barske virkelighed \u2014 og i denne pr\u00e6sentation vil Cliff fort\u00e6lle, hvorfor HTM og STM ikke egner sig s\u00e6rlig godt til praktiske behov inden for multitr\u00e5dede beregninger.<\/p>\n<p><\/p>\n<h3 id=\"michael-scott--dual-data-structureshttpshydraconfru2019talkslnhqpq8cz5kzgjmhlqpicutm_sourcehabrutm_medium453832\">Michael Scott \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/lnhqpq8cz5kzgjmhlqpic\/?utm_source=habr&amp;utm_medium=453832\">Dubbla datastrukturer<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/5270050098dc1230d469e60362b6930a.jpeg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Michael_L._Scott\">Michael Scott<\/a><\/noindex> \u2014 professor i datavetenskap vid University of Rochester, d\u00e4r \u00f6det har f\u00f6renat honom <noindex>i 34 \u00e5r<\/noindex>, och vid sitt hemuniversitet Wisconsin\u2013Madison var han dekan i fem \u00e5r. Han forskar inom parallell och distribuerad programmering och programmeringsspr\u00e5k och utbildar studenter inom detta.<\/p>\n<p><\/p>\n<p>Hela v\u00e4rlden k\u00e4nner Michael tack vare l\u00e4roboken <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Programming-Language-Pragmatics-Michael-Scott\/dp\/0124104096\/ref=sr_1_1?crid=265ZYWXFSUF4&amp;keywords=programming+language+pragmatics&amp;qid=1558916067&amp;s=gateway&amp;sprefix=Programming+Language+Pragmatics%2Caps%2C324&amp;sr=8-1\">\u00abProgramming Language Pragmatics\u00bb<\/a><\/noindex>, vars senaste upplaga kom relativt nyligen \u2014 2015. Hans arbete <noindex><a rel=\"nofollow\" href=\"http:\/\/web.mit.edu\/6.173\/www\/currentsemester\/readings\/R06-scalable-synchronization-1991.pdf\">\u00abAlgorithms for scalable synchronization on shared-memory multiprocessors\u00bb<\/a><\/noindex> har f\u00e5tt <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%B5%D0%BC%D0%B8%D1%8F_%D0%94%D0%B5%D0%B9%D0%BA%D1%81%D1%82%D1%80%D1%8B\">Dijkstra-priset<\/a><\/noindex> \u00e4r en av de mest k\u00e4nda inom distribuerad databehandling och <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/u\/scott\/papers\/1991_TOCS_synch.pdf\">ligger \u00f6ppet<\/a><\/noindex> i onlinebiblioteket vid University of Rochester. Du kanske ocks\u00e5 k\u00e4nner honom som f\u00f6rfattaren till den ber\u00f6mda Michael-Scott-algoritmen fr\u00e5n <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/u\/scott\/papers\/1996_PODC_queues.pdf\">\u00abSimple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms\u00bb<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>N\u00e4r det kommer till Java-v\u00e4rlden \u00e4r detta ett s\u00e4rskilt fall: tillsammans med Doug Lea utvecklade han dessa icke-blockerande algoritmer och synkrona k\u00f6er som Java-biblioteken \u00e4r baserade p\u00e5. Det \u00e4r vad keynote-presentationen \u00abDubbla datastrukturer\u00bb handlar om \u2014 implementeringen av dessa strukturer i Java SE 6 har f\u00f6rb\u00e4ttrat prestandan med tio g\u00e5nger <code>java.util.concurrent.ThreadPoolExecutor<\/code>. Om du \u00e4r intresserad av vad dessa \u00abDubbla datastrukturer\u00bb \u00e4r, s\u00e5 finns det <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/research\/synchronization\/pseudocode\/duals.html\">en motsvarande studie<\/a><\/noindex>. <\/p>\n<p><\/p>\n<h3 id=\"maurice-herlihy--blockchains-and-the-future-of-distributed-computinghttpshydraconfru2019talks6ayncxk5m9q7g6dn80b7bcutm_sourcehabrutm_medium453832\">Maurice Herlihy \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6ayncxk5m9q7g6dn80b7bc\/?utm_source=habr&amp;utm_medium=453832\">Blockchains och framtiden f\u00f6r distribuerad databehandling<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/807a70783be0a9825a85eca0e73b6a70.jpeg\" style=\"display:block;margin: 0 auto;\" \/> <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Maurice_Herlihy\">Maurice Herlihy<\/a><\/noindex> \u2014 innehavare av hela tv\u00e5 Dijkstra-priser. Det f\u00f6rsta \u2014 f\u00f6r arbete vid <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.brown.edu\/~mph\/Herlihy91\/p124-herlihy.pdf\">\u00abWait-Free Synchronization\u00bb<\/a><\/noindex> (Brown University), och det andra, mer nyligen \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/courses.cs.vt.edu\/cs5204\/fall09-kafura\/Papers\/TransactionalMemory\/Architecture-Support.pdf\">\u00abTransactional Memory: Architectural Support for Lock-Free Data Structures\u00bb<\/a><\/noindex> (Virginia Tech University). Dijkstra-priset tilldelas f\u00f6r arbeten vars betydelse och inflytande har varit m\u00e4rkbara under minst tio \u00e5r, och det \u00e4r uppenbart att Maurice \u00e4r en av de mest k\u00e4nda experterna inom omr\u00e5det. F\u00f6r n\u00e4rvarande \u00e4r han professor vid Brown University och har m\u00e5nga prestationer som skulle fylla ett helt stycke.<\/p>\n<p><\/p>\n<p>I denna avslutande keynote kommer Maurice att tala om teorin och praktiken av blockchain-baserade distribuerade system ur ett klassiskt perspektiv av distribuerad databehandling och hur detta f\u00f6renklar m\u00e5nga relaterade problem. Detta \u00e4r en f\u00f6rel\u00e4sning som \u00e4r helt i konferensens \u00e4mne \u2014 inte om mining-hype, utan snarare om hur v\u00e5r kunskap kan anv\u00e4ndas p\u00e5 en \u00f6verraskande effektiv och relevant s\u00e4tt f\u00f6r olika uppgifter.<\/p>\n<p><\/p>\n<p>I juli 2017 bes\u00f6kte Maurice redan Ryssland f\u00f6r SPTDC-skolan, deltog vid JUG.ru-m\u00f6tet, och inspelningen kan ses p\u00e5 YouTube:<\/p>\n<p>\n<center><div class=\"youtube-placeholder\" data-id=\"S3Fx-7avfs4\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/S3Fx-7avfs4\/hqdefault.jpg\" alt=\"Spela video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<h2 id=\"osnovnaya-programma\">Huvudprogrammet<\/h2>\n<p><\/p>\n<p>H\u00e4r kommer en kort \u00f6versikt av presentationerna som ing\u00e5r i programmet. Vissa presentationer beskrivs h\u00e4r i detalj, medan andra \u00e4r mer kortfattade. L\u00e4ngre beskrivningar har mestadels tilldelats engelskspr\u00e5kiga presentationer som kr\u00e4ver h\u00e4nvisningar till vetenskapliga artiklar, termer p\u00e5 Wikipedia, och s\u00e5 vidare. Den fullst\u00e4ndiga listan kan <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/#schedule\">ses p\u00e5 konferensens webbplats<\/a><\/noindex>. Listan p\u00e5 webbplatsen kommer att uppdateras och kompletteras. <\/p>\n<p><\/p>\n<h3 id=\"leslie-lamport--q--ahttpshydraconfru2019talks6evatt1mvwvpnwfxxveivwutm_sourcehabrutm_medium453832\">Leslie Lamport \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6evatt1mvwvpnwfxxveivw\/?utm_source=habr&amp;utm_medium=453832\">Fr\u00e5gor &amp; Svar<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/4c6d5928be31af95cd3e2a7812e86854.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Leslie Lamport \u00e4r f\u00f6rfattare till grundl\u00e4ggande verk inom distribuerade ber\u00e4kningar. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/LaTeX\">\"LaTeX\"<\/a><\/noindex> st\u00e5r f\u00f6r \"Lamport TeX\". Det var han som f\u00f6rst, redan 1979, introducerade konceptet <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/multi.pdf\">sekventiell konsistens<\/a><\/noindex>, och hans artikel <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/time-clocks.pdf\">\"How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs\"<\/a><\/noindex> fick Dijkstra-priset.<\/p>\n<p><\/p>\n<p>Detta \u00e4r den mest ovanliga delen av programmet i och med att det inte ens \u00e4r en presentation, utan en fr\u00e5gestund. N\u00e4r en betydande del av publiken redan \u00e4r bekant (eller kan bli bekant) med olika verk baserade p\u00e5 \"Lamports teori\", hans egna artiklar och presentationer, \u00e4r det viktigaste att anv\u00e4nda all tillg\u00e4nglig tid f\u00f6r direkt kommunikation.<\/p>\n<p><\/p>\n<p>Id\u00e9n \u00e4r enkel \u2014 du ser p\u00e5 YouTube tv\u00e5 presentationer: <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/6QsTfL-uXd8\">\"Programming Should Be More Than Coding\"<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"https:\/\/www.heidelberg-laureate-forum.org\/blog\/video\/lecture-monday-september-24-2018-leslie-lamport\/\">\u00abIf You&#8217;re Not Writing a Program, Don&#8217;t Use a Programming Language\u00bb<\/a><\/noindex> och f\u00f6rbereder \u00e5tminstone en fr\u00e5ga, som Leslie svarar p\u00e5.<\/p>\n<p><\/p>\n<p>Den f\u00f6rsta av dessa tv\u00e5 videor har vi redan <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/454898\/\">omvandlat till en artikel<\/a><\/noindex>. Om du inte har en timme att se p\u00e5 videon kan du snabbt l\u00e4sa igenom allt detta i textformat.<\/p>\n<p><\/p>\n<p>Observera: Det finns mycket mer video med Leslie Lamport p\u00e5 YouTube. Till exempel finns det en fantastisk <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=p54W-XOIEF8&amp;list=PLWAv2Etpa7AOAwkreYImYt0gIpOdWQevD\">kurs om TLA+<\/a><\/noindex>. Offline-versionen av hela kursen finns p\u00e5 <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/video\/videos.html\">f\u00f6rfattarens hemsida<\/a><\/noindex>, och p\u00e5 YouTube har han laddat upp det f\u00f6r enklare visning p\u00e5 mobila enheter.<\/p>\n<p><\/p>\n<h3 id=\"martin-kleppmann--syncing-data-across-user-devices-for-distributed-collaborationhttpshydraconfru2019talks6i4lkw8pwjnadgff5ylr11utm_sourcehabrutm_medium453832\">Martin Kleppmann \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6i4lkw8pwjnadgff5ylr11\/?utm_source=habr&amp;utm_medium=453832\">Synkronisering av data \u00f6ver anv\u00e4ndares enheter f\u00f6r distribuerat samarbete<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/09af25ab1ce915ba13ec6ee1013878f6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Martin Kleppmann \u00e4r forskare vid Cambridge University som arbetar med CRDT och formell verifiering av algoritmer. Martins bok <noindex>\"Designing Data-Intensive Applications\"<\/noindex>, publicerad 2017, har blivit mycket framg\u00e5ngsrik och har hamnat p\u00e5 bestsellerlistor inom datalagring och bearbetning. Kevin Scott, CTO p\u00e5 Microsoft, <noindex><a rel=\"nofollow\" href=\"https:\/\/martin.kleppmann.com\/2017\/03\/27\/designing-data-intensive-applications.html\">har en g\u00e5ng sagt<\/a><\/noindex>: \"Denna bok borde vara obligatorisk f\u00f6r utvecklingsingenj\u00f6rer. Det \u00e4r en s\u00e4llsynt resurs som f\u00f6renar teori och praktik, vilket hj\u00e4lper utvecklare att b\u00e4ttre designa och implementera infrastruktur och databehandlingssystem.\" N\u00e5got liknande sa \u00e4ven skaparen av Kafka och CTO f\u00f6r Confluent, Jay Kreps.<\/p>\n<p><\/p>\n<p>Innan han b\u00f6rjade med akademiska studier arbetade Martin inom industrin och var med och grundade tv\u00e5 framg\u00e5ngsrika startups:<\/p>\n<p><\/p>\n<ul>\n<li>Rapportive, som visade sociala profiler f\u00f6r kontakter fr\u00e5n din e-post och som LinkedIn k\u00f6pte 2012;<\/li>\n<li>Go Test It, en tj\u00e4nst f\u00f6r automatisk testning av webbplatser i olika webbl\u00e4sare, som RedGate k\u00f6pte 2009.<\/li>\n<\/ul>\n<p><\/p>\n<p>Generellt sett \u00e4r Martin, \u00e4ven om han \u00e4r mindre k\u00e4nd \u00e4n v\u00e5ra huvudtalare, redan i st\u00e5nd att ha bidragit till b\u00e5de utvecklingen av distribuerad databehandling och industrin.<\/p>\n<p><\/p>\n<p>I denna presentation kommer Martin att tala om ett \u00e4mne som \u00e4r n\u00e4rmare hans akademiska forskning. I Google Docs och liknande program f\u00f6r samredigering av dokument inneb\u00e4r \"samredigering\" uppgiften att replikera: varje anv\u00e4ndare har sin egen kopia av det gemensamma dokumentet som de sedan \u00e4ndrar, och alla \u00e4ndringar skickas \u00f6ver n\u00e4tverket till \u00f6vriga deltagare. \u00c4ndringar av dokument offline kan leda till tillf\u00e4llig inkonsistens i dokumentet i f\u00f6rh\u00e5llande till de andra deltagarna, och att \u00e5ter-synkronisera kr\u00e4ver hantering av konflikter. Det \u00e4r just f\u00f6r detta som det finns <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Conflict-free_replicated_data_type\">Conflict-free Replicated Data Types<\/a><\/noindex> (CRDT), som i grunden \u00e4r en ganska ny id\u00e9, vars k\u00e4rna formulerades f\u00f6rst 2011. I denna presentation diskuteras vad som har h\u00e4nt sedan dess i CRDT-v\u00e4rlden, vilka de senaste framstegen \u00e4r, och tillv\u00e4gag\u00e5ngss\u00e4tt f\u00f6r att skapa lokal-f\u00f6rst applikationer generellt samt anv\u00e4ndningen av det \u00f6ppna biblioteket <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/automerge\/automerge\">Automerge<\/a><\/noindex> i synnerhet.<\/p>\n<p><\/p>\n<blockquote><p>N\u00e4sta vecka kommer vi att publicera en stor intervju med Martin p\u00e5 Habr\u00e9, det kommer att bli intressant.<\/p><\/blockquote>\n<p><\/p>\n<h3 id=\"pedro-ramalhete--wait-free-data-structures-and-wait-free-transactionshttpshydraconfru2019talks1jwmdzkmjcalsclwavttxkutm_sourcehabrutm_medium453832\">Pedro Ramalhete \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1jwmdzkmjcalsclwavttxk\/?utm_source=habr&amp;utm_medium=453832\">Wait-free data structures and wait-free transactions<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/be9b98f5ab95d0f6646dfcb4cee38978.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Pedro arbetar p\u00e5 Cisco och har under de senaste tio \u00e5ren utvecklat parallella algoritmer, inklusive synkroniseringsmekanismer, lock-free och wait-free datastrukturer och allt som du kan t\u00e4nka dig inom detta \u00e4mne. Hans aktuella forsknings- och ingenj\u00f6rsintressen \u00e4r inriktade p\u00e5 Universal Constructions, Software Transactional Memory, Persistent Memory och liknande teknologier som m\u00f6jligg\u00f6r utvecklingen av korrekta, skalbara och felresistenta applikationer. Dessutom \u00e4r han f\u00f6rfattare till den v\u00e4lk\u00e4nda bloggen inom nischade kretsar <noindex><a rel=\"nofollow\" href=\"http:\/\/concurrencyfreaks.blogspot.com\/\">Concurrency Freaks<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>De flesta flerl\u00e4nkade applikationer arbetar nu med parallella datastrukturer, fr\u00e5n anv\u00e4ndandet av meddelandek\u00f6er mellan akt\u00f6rer till indexerade datastrukturer i key-value lagringssystem. I Java JDK har de fungerat framg\u00e5ngsrikt i m\u00e5nga \u00e5r, och i C++ har de l\u00e5ngsamt b\u00f6rjat l\u00e4ggas till.<\/p>\n<p><\/p>\n<p>Det enklaste s\u00e4ttet att implementera en parallell datastruktur \u00e4r en sekventiell (enkelttr\u00e5dad) implementation d\u00e4r metoderna skyddas av mutexar. Detta \u00e4r tillg\u00e4ngligt f\u00f6r alla juniorer, men har uppenbara problem med skalbarhet och prestanda. Samtidigt hanterar lock-free och wait-free datastrukturer inte bara fel b\u00e4ttre, utan har \u00e4ven en mer gynnsam prestandaprofil \u2014 men f\u00f6r deras utveckling kr\u00e4vs djup expertis och anpassning till den specifika anv\u00e4ndningen. Ett enda felaktigt kodavsnitt r\u00e4cker f\u00f6r att bryta allt.<\/p>\n<p><\/p>\n<p>Hur kan vi se till att \u00e4ven icke-experter kan designa och implementera s\u00e5dana datastrukturer? Det \u00e4r k\u00e4nt att varje sekventiell algoritm kan g\u00f6ras tr\u00e5ds\u00e4ker med antingen <noindex><a rel=\"nofollow\" href=\"https:\/\/hal.inria.fr\/hal-01397265v1\/document\">en generell konstruktion<\/a><\/noindex>, eller transaktionell minne. De kan p\u00e5 ett s\u00e4tt s\u00e4nka intr\u00e4destr\u00f6skeln f\u00f6r att l\u00f6sa detta problem. Emellertid leder b\u00e5da l\u00f6sningarna generellt till ineffektiva implementationer. Pedro kommer att ber\u00e4tta om hur de lyckades g\u00f6ra dessa konstruktioner mer effektiva och hur de kan anv\u00e4ndas f\u00f6r sina algoritmer.<\/p>\n<p><\/p>\n<h3 id=\"heidi-howard---liberating-distributed-consensushttpshydraconfru2019talks5z2xknkq9mozvqzhhgfoeiutm_sourcehabrutm_medium453832\">Heidi Howard \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5z2xknkq9mozvqzhhgfoei\/?utm_source=habr&amp;utm_medium=453832\">Befria distribuerad konsensus<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/09dd05684fde1015a87818f0b6804680.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Heidi Howard \u2014 liksom Martin, en forskare inom distribuerade system vid Cambridge University. Hennes specialisering \u00e4r konsistens, felresiliens, prestanda och distribuerad konsensus. Hon \u00e4r mest k\u00e4nd f\u00f6r generaliseringen av Paxos-algoritmen kallad <noindex><a rel=\"nofollow\" href=\"https:\/\/fpaxos.github.io\/\">Flexibel Paxos<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>L\u00e5t oss p\u00e5minna om att <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Paxos_(computer_science)\">Paxos<\/a><\/noindex> \u2014 en familj av protokoll f\u00f6r att l\u00f6sa konsensusproblemet i ett n\u00e4tverk av op\u00e5litliga ber\u00e4knare, som bygger p\u00e5 arbeten av Leslie Lamport. S\u00e5ledes arbetar n\u00e5gra av v\u00e5ra talare med problem som ursprungligen f\u00f6reslagits av andra av v\u00e5ra talare \u2014 och det \u00e4r fantastiskt.<\/p>\n<p><\/p>\n<p>M\u00f6jligheten att hitta en konsensus mellan flera v\u00e4rdar\u2014f\u00f6r adressering, ledarval, blockering eller samordning\u2014\u00e4r en grundl\u00e4ggande fr\u00e5ga f\u00f6r moderna distribuerade system. Paxos \u00e4r nu den fr\u00e4msta metoden f\u00f6r att l\u00f6sa problem med konsensus, och runt den p\u00e5g\u00e5r m\u00e5nga forskningar f\u00f6r att utvidga och optimera algoritmen f\u00f6r olika praktiska behov. <\/p>\n<p><\/p>\n<p>I denna rapport kommer vi att se \u00f6ver den teoretiska grunden f\u00f6r Paxos, d\u00e4r vi mildrar de ursprungliga kraven och generaliserar algoritmen. Vi kommer att se att Paxos i grunden bara \u00e4r en av m\u00e5nga alternativ inom ett stort spektrum av konsensusmetoder, och att andra punkter i spektrumet ocks\u00e5 \u00e4r mycket anv\u00e4ndbara f\u00f6r att bygga bra distribuerade system.<\/p>\n<p><\/p>\n<h3 id=\"alex-petrov--reduce-your-storage-costs-with-transient-replication-and-cheap-quorumshttpshydraconfru2019talks6eb39udg8bxsgmimkexd6jutm_sourcehabrutm_medium453832\">Alex Petrov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6eb39udg8bxsgmimkexd6j\/?utm_source=habr&amp;utm_medium=453832\">Minska dina lagringskostnader med Transient Replication och Billiga Kvorum<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/178a1db3cf49b5ff73a0c9101ab3845c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Alex \u00e4r databas- och lagringssystemexpert, och vad som \u00e4r viktigast f\u00f6r oss\u2014kommitt\u00e9medlem i <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Cassandra\">Cassandra<\/a><\/noindex>. \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 O&#8217;Reilly \u043e\u043d \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430\u0434 \u043a\u043d\u0438\u0433\u043e\u0439 Database Internals.<\/p>\n<p><\/p>\n<p>F\u00f6r system med <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Eventual_consistency\">eventuell konsistens<\/a><\/noindex> (p\u00e5 ryska termen \u2014 'slutlig \u00f6verensst\u00e4mmelse'), efter ett knutpunktfel eller n\u00e4tverksavbrott m\u00e5ste man l\u00f6sa f\u00f6ljande dilemma: antingen forts\u00e4tta att utf\u00f6ra f\u00f6rfr\u00e5gningar, offra konsekvens, eller neka dem och offra tillg\u00e4nglighet. I ett s\u00e5dant system kan kvorum, \u00f6verlappande delm\u00e4ngder av noder som garanterar att \u00e5tminstone en nod inneh\u00e5ller det senaste v\u00e4rdet, bli en bra gr\u00e4nsl\u00f6sning. Man kan \u00f6verleva fel och f\u00f6rlust av anslutning till vissa noder och forts\u00e4tta svara med de senaste v\u00e4rdena.<\/p>\n<p><\/p>\n<p>Men allt har sitt pris. Kvorumreplikationsschemat inneb\u00e4r \u00f6kade lagringskostnader: det \u00e4r n\u00f6dv\u00e4ndigt att lagra redundanta data p\u00e5 flera noder samtidigt f\u00f6r att s\u00e4kerst\u00e4lla tillr\u00e4ckligt antal tillg\u00e4ngliga kopior vid problem. Det visar sig att man inte beh\u00f6ver lagra all data p\u00e5 alla repliker. Man kan minska belastningen p\u00e5 lagret genom att bara h\u00e5lla data p\u00e5 en del av noderna och anv\u00e4nda speciella noder f\u00f6r felhanteringsscenarier (Transient Replica).<\/p>\n<p><\/p>\n<p>I rapporten kommer vi att titta p\u00e5 <noindex><a rel=\"nofollow\" href=\"http:\/\/citeseerx.ist.psu.edu\/viewdoc\/download?doi=10.1.1.146.3429&amp;rep=rep1&amp;type=pdf\">Witness Replicas<\/a><\/noindex>, replikationsschemat som anv\u00e4nds inom <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Spanner_(database)\">Spanner<\/a><\/noindex> och <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2011\/Papers\/CIDR11_Paper32.pdf\">Megastore<\/a><\/noindex>, och implementeringen av detta koncept i Apache Cassandra under namnen <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.apache.org\/jira\/browse\/CASSANDRA-14404?subTaskView=all\">Transient Replication &amp; Billiga Kvorum<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-vyukov---goroutines-exposedhttpshydraconfru2019talks7336ginp0kke7n4yxxjvldutm_sourcehabrutm_medium453832\">Dmitry Vyukov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/7336ginp0kke7n4yxxjvld\/?utm_source=habr&amp;utm_medium=453832\">Goroutines exposed<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/94ce38f8cc366bbd2ee53b9636e4650d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitrij \u00e4r utvecklare p\u00e5 Google, som arbetar med dynamisk testning i C\/C++ och Go \u2013 Address\/Memory\/ThreadSanitizer, samt med liknande verktyg f\u00f6r Linux-k\u00e4rnan. Han har bidragit till en skalbar schemal\u00e4ggare f\u00f6r gorutiner, n\u00e4tverkspoller och parallell skr\u00e4psamling. Han \u00e4r expert p\u00e5 multitr\u00e5dade processer, f\u00f6rfattare till ett dussin nya icke-blockerande algoritmer och innehavare av <noindex><a rel=\"nofollow\" href=\"https:\/\/software.intel.com\/en-us\/blackbelt\">Svart b\u00e4lte<\/a><\/noindex> Intel.<\/p>\n<p><\/p>\n<p>Nu lite om sj\u00e4lva f\u00f6redraget. Spr\u00e5ket Go har inbyggt st\u00f6d f\u00f6r multitr\u00e5dning i form av gorutiner (l\u00e4tta tr\u00e5dar) och kanaler (FIFO-k\u00f6er). Tack vare dessa mekanismer \u00e4r det v\u00e4ldigt enkelt och trevligt f\u00f6r anv\u00e4ndarna att skriva moderna, multitr\u00e5diga applikationer, och det ser ut som magi. Som vi f\u00f6rst\u00e5r finns det ingen magi h\u00e4r. I detta f\u00f6redrag kommer Dmitrij att g\u00e5 djupare in p\u00e5 detaljerna kring Go:s schemal\u00e4ggare och avsl\u00f6ja hemligheterna bakom denna \"magi\". F\u00f6rst kommer han att ge en \u00f6versikt av de viktigaste komponenterna i schemal\u00e4ggaren, och ber\u00e4tta hur den fungerar. Vidare kommer vi att bekanta oss n\u00e4rmare med specifika aspekter som strategier f\u00f6r parkering\/uppackning och hantering av blockerande systemanrop. Slutligen kommer Dmitrij att ber\u00e4tta lite om m\u00f6jliga f\u00f6rb\u00e4ttringar i schemal\u00e4ggaren.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-bugaychenko---uskoryaem-raspredelennyy-analiz-grafov-s-pomoschyu-veroyatnostnyh-sketchey-i-ne-tolkohttpshydraconfru2019talks1po7b00j6m4vst3df7aqtoutm_sourcehabrutm_medium453832\">Dmitrij Bugaychenko \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1po7b00j6m4vst3df7aqto\/?utm_source=habr&amp;utm_medium=453832\">Accelerera distribuerad grafanalys med hj\u00e4lp av probabilistiska sketchar och mer<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/f963ef8ac1a37011aa387016dc938b3c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitrij har arbetat n\u00e4stan 9 \u00e5r inom outsourcing, utan att tappa kontakten med universitetet och forskarsamh\u00e4llet. Analys av big data p\u00e5 Odnoklassniki blev f\u00f6r honom en unik chans att kombinera teoretisk utbildning och vetenskaplig grund med utveckling av verkliga, efterfr\u00e5gade produkter.<\/p>\n<p><\/p>\n<p>Distribuerad grafanalys har varit och f\u00f6rblir en sv\u00e5r utmaning: n\u00e4r behovet uppst\u00e5r att f\u00e5 information om relationen mellan n\u00e4rliggande noder, inneb\u00e4r det ofta att data m\u00e5ste \u00f6verf\u00f6ras mellan maskiner, vilket leder till \u00f6kad exekveringstid och belastning p\u00e5 n\u00e4tverksinfrastrukturen. I detta f\u00f6redrag kommer vi att se hur man kan uppn\u00e5 betydande f\u00f6rb\u00e4ttringar i bearbetningen, genom att anv\u00e4nda probabilistiska datakonstruktioner eller fakta som symmetri i v\u00e4nskapsgrafen i sociala n\u00e4tverk. Allt detta illustreras med kodexempel p\u00e5 Apache Spark.<\/p>\n<p><\/p>\n<h3 id=\"denis-ryscov--reduce-your-storage-costs-with-transient-replication-and-cheap-quorumshttpshydraconfru2019talks5e3yibth8vha0jbyoywpm6utm_sourcehabrutm_medium453832\">Denis Ryscov \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5e3yibth8vha0jbyoywpm6\/?utm_source=habr&amp;utm_medium=453832\">Minska dina lagringskostnader med Transient Replication och Billiga Kvorum<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/700bfb1a35280932f654a9c34413e2d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Denis \u00e4r utvecklare <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Cosmos_DB\">Cosmos DB<\/a><\/noindex>, expert inom modellkonsistens, konsensusalgoritmer och distribuerade transaktioner. Han arbetar f\u00f6r n\u00e4rvarande p\u00e5 Microsoft och har tidigare arbetat med distribuerade system p\u00e5 Amazon och Yandex.<\/p>\n<p><\/p>\n<p>I den h\u00e4r presentationen kommer vi att bekanta oss med protokoll f\u00f6r distribuerade transaktioner som har utvecklats under de senaste \u00e5ren och som kan implementeras p\u00e5 klientsidan ovanf\u00f6r vilken databas som helst som st\u00f6der villkorlig uppdatering (compare and set). Po\u00e4ngen \u00e4r att livet inte slutar med en tv\u00e5fascommit, transaktioner kan l\u00e4ggas ovanf\u00f6r alla databaser \u2014 p\u00e5 applikationsniv\u00e5, men olika protokoll (2PC, Percolator, RAMP) har olika avv\u00e4gningar och \u00e4r inte gratis.<\/p>\n<p><\/p>\n<h3 id=\"aleksey-zinovev--ne-vse-ml-algoritmy-popadayut-v-raspredelennyy-rayhttpshydraconfru2019talks3jd0bgsoa0qtcijgblidjsutm_sourcehabrutm_medium453832\">Alexey Zinovyev \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/3jd0bgsoa0qtcijgblidjs\/?utm_source=habr&amp;utm_medium=453832\">Inte alla ML-algoritmer hamnar i det distribuerade paradiset<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/eb412d59dec5dcc4a04f603b32d12575.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Alexey (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/zaleslaw\/\" class=\"user_link\">zaleslaw<\/a><\/noindex>) \u2014 v\u00e5r l\u00e5ngvariga talare och medlem av programkommitt\u00e9er vid andra konferenser. Praktiserande tr\u00e4nare p\u00e5 EPAM Systems, och har arbetat med Hadoop\/Spark och annan Big Data sedan 2012.<\/p>\n<p><\/p>\n<p>I den h\u00e4r presentationen kommer Alexey att diskutera problemen med att anpassa klassiska maskininl\u00e4rningsalgoritmer f\u00f6r att k\u00f6ras i distribuerat l\u00e4ge baserat p\u00e5 sin erfarenhet av Apache Spark ML, Apache Mahout, Apache Flink ML och erfarenheten av att skapa Apache Ignite ML. Alexey kommer ocks\u00e5 att tala om implementeringen av distribuerade ML-algoritmer i dessa ramverk.<\/p>\n<p><\/p>\n<p>Och avslutningsvis \u2014 tv\u00e5 presentationer fr\u00e5n Yandex om Yandex Database.<\/p>\n<p><\/p>\n<h3 id=\"vladislav-kuznecov--yandex-database--kak-my-obespechivaem-otkazoustoychivosthttpshydraconfru2019talksmuxomfgqembsb3st7i3ciutm_sourcehabrutm_medium453832\">Vladislav Kuznetsov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/muxomfgqembsb3st7i3ci\/?utm_source=habr&amp;utm_medium=453832\">Yandex Database \u2014 hur vi s\u00e4kerst\u00e4ller redundans<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/3bdb3bec0ec0eb71db373e85afad6260.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Vladislav \u00e4r utvecklare p\u00e5 Yandex i gruppen f\u00f6r distribuerade plattformar. Yandex Database \u00e4r en horisontellt skalbar, geo-distribuerad, fail-s\u00e4ker databas som klarar av att hantera disk-, server-, rack- och datacenterfel utan att f\u00f6rlora konsistens. F\u00f6r att s\u00e4kerst\u00e4lla redundans anv\u00e4nds en egen algoritm f\u00f6r att uppn\u00e5 distribuerad konsensus, samt en rad tekniska l\u00f6sningar som detaljerat beskrivs i presentationen. Presentationen kan vara av intresse f\u00f6r s\u00e5v\u00e4l databasutvecklare som utvecklare av applikationer baserade p\u00e5 databasen.<br clear=\"all\">\n<\/p>\n<p><\/p>\n<h3 id=\"semen-checherinda--raspredelennye-tranzakcii-v-ydbhttpshydraconfru2019talks3ubxfwi4ikpxdjcdqswjihutm_sourcehabrutm_medium453832\">Semyon Checherinda \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/3ubxfwi4ikpxdjcdqswjih\/?utm_source=habr&amp;utm_medium=453832\">Distribuerade transaktioner i YDB<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 huvuden av hydran. Stort \u00f6versikt av programmet\" src=\"\/wp-content\/uploads\/2019\/06\/0cf2b40fcabfba1a774f00c9f245b8f1.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Semyon \u00e4r utvecklare i gruppen f\u00f6r distribuerade plattformar p\u00e5 Yandex, och arbetar med m\u00f6jligheten till fleranv\u00e4ndartj\u00e4nster i YDB-installationen.<\/p>\n<p><\/p>\n<p>Yandex Database \u00e4r utformad f\u00f6r OLTP-fr\u00e5gor och uppfyller ACID-kraven f\u00f6r transaktionssystem. I rapporten kommer vi att g\u00e5 igenom algoritmen f\u00f6r transaktionsplanering som ligger till grund f\u00f6r YDB:s transaktionssystem. Vi kommer att analysera vilka entiteter som deltar i transaktionerna, vem som tilldelar transaktionerna en global ordning, hur transaktionernas atomiskhet, tillf\u00f6rlitlighet och strikta isoleringsniv\u00e5er uppn\u00e5s. Genom ett vanligt exempel kommer vi att titta p\u00e5 genomf\u00f6randet av transaktioner med hj\u00e4lp av tv\u00e5fasiskt \u00e5tagande och deterministiska transaktioner. Vi kommer ocks\u00e5 att diskutera skillnaderna mellan dem.<\/p>\n<p><\/p>\n<h2 id=\"chto-dalshe\">Vad h\u00e4nder h\u00e4rn\u00e4st?<\/h2>\n<p><\/p>\n<p>Konferensens program forts\u00e4tter att fyllas p\u00e5 med nya presentationer. Specifikt f\u00f6rv\u00e4ntar vi oss en f\u00f6rel\u00e4sning fr\u00e5n <strong>Nikita Koval<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/ndkoval\/\" class=\"user_link\">ndkoval<\/a><\/noindex>) fr\u00e5n JetBrains och <strong>Oleg Anastasyev<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/m0nstermind\/\" class=\"user_link\">m0nstermind<\/a><\/noindex>) fr\u00e5n f\u00f6retaget Odnoklassniki. Nikita arbetar med algoritmer f\u00f6r koroutiner i Kotlin-teamet, medan Oleg utvecklar arkitektur och l\u00f6sningar f\u00f6r h\u00f6gbelastade system p\u00e5 plattformen Odnoklassniki. Dessutom finns det en ledig plats som programkommitt\u00e9n just nu arbetar med kandidater f\u00f6r.<\/p>\n<p><\/p>\n<p>Konferensen Hydra kommer att h\u00e5llas den 11-12 juli i Sankt Petersburg. Biljetter kan <noindex>k\u00f6pas p\u00e5 den officiella webbplatsen<\/noindex>. Vi uppm\u00e4rksammar p\u00e5 tillg\u00e5ngen av onlinebiljetter \u2014 om du av n\u00e5gon anledning inte kan komma till Petersburg under dessa dagar.<\/p>\n<p><\/p>\n<p>Vi ses p\u00e5 Hydra!<\/p>\n<p>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/453832\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0424\u0438\u0448\u043a\u0430 \u0413\u0438\u0434\u0440\u044b \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0430 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u0442 \u043a\u0440\u0443\u0442\u044b\u0445 \u0443\u0447\u0451\u043d\u044b\u0445 (\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u044b\u0447\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0437\u0430\u0440\u0443\u0431\u0435\u0436\u043d\u044b\u0445 \u043d\u0430\u0443\u0447\u043d\u044b\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f\u0445) \u0438 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0443\u044e\u0449\u0438\u0445 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u0432, \u0432 \u043e\u0434\u043d\u0443 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 \u0441\u0442\u044b\u043a\u0435 \u043d\u0430\u0443\u043a\u0438 \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438. Hydra \u2014 \u043e\u0434\u043d\u0430 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0432\u0430\u0436\u043d\u044b\u0445 \u043d\u0430\u0448\u0438\u0445 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0439 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35091","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd4719 \u0433\u043e\u043b\u043e\u0432 \u0433\u0438\u0434\u0440\u044b. \u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:02:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd4719 hydrahuvuden. Stor \u00f6versikt av programmet | ProHoster","description":"Den 11-12 juli \u00e4ger konferensen Hydra rum i Sankt Petersburg, som \u00e4r dedikerad till utvecklingen av parallella och distribuerade.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd4719 \u0433\u043e\u043b\u043e\u0432 \u0433\u0438\u0434\u0440\u044b. \u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b | ProHoster","og:description":"11-12 \u0438\u044e\u043b\u044f \u0432 \u0421\u0430\u043d\u043a\u0442-\u041f\u0435\u0442\u0435\u0440\u0431\u0443\u0440\u0433\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044f Hydra, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u0438 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445.","og:url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:02:18+00:00","article:modified_time":"2019-10-31T19:02:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35091","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 21:48:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:10:27","updated":"2026-01-21 21:48:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=35091"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/35091\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/26388"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=35091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=35091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=35091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}