{"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\/da\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","title":{"rendered":"19 hoveder af hydra. Stor gennemgang af programmet","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Den 11.-12. juli finder konferencen sted i Sankt Petersborg <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/?utm_source=habr&amp;utm_medium=453832\">Hydra<\/a><\/noindex>, der omhandler udviklingen af parallelle og distribuerede systemer. Hydra's styrke ligger i at samle dygtige forskere (som man normalt kun finder p\u00e5 internationale videnskabelige konferencer) og anerkendte praktiserende ingeni\u00f8rer i et stort program p\u00e5 gr\u00e6nsen mellem videnskab og praksis.<\/p>\n<p><\/p>\n<p>Hydra er en af de vigtigste konferencer, vi har haft de seneste \u00e5r. Forud for den var der en meget grundig forberedelse, udv\u00e6lgelse af talere og pr\u00e6sentationer. I sidste uge blev der <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/453952\/\">udgivet et interview p\u00e5 Habr<\/a><\/noindex> med direkt\u00f8ren for JUG.ru Group, Aleksej Fedorov (<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\/\">allerede fortalt<\/a><\/noindex> ) om tre vigtige personer, grundl\u00e6ggerne af teorien om distribuerede systemer \u2014 Leslie Lamport, Maurice Herlihy og Michael Scott. Det er tid til at tale mere detaljeret om hele programmet!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af 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>Hvis du arbejder med programmering, s\u00e5 har du p\u00e5 en eller anden m\u00e5de med multitr\u00e5dning og distribuerede beregninger at g\u00f8re. Specialister inden for de relevante omr\u00e5der arbejder direkte med dem, men implicit ser vi distributionen overalt: i enhver multicore-computer eller distribueret service vil der v\u00e6re noget, der udf\u00f8rer beregninger parallelt.<\/p>\n<p><\/p>\n<p>Der findes mange konferencer, der d\u00e6kker forskellige aspekter af anvendt programmering. P\u00e5 den anden side har vi specialiserede videnskabelige skoler, der i form af forel\u00e6sninger afsl\u00f8rer enorme m\u00e6ngder kompleks teori. For eksempel finder der parallelt med Hydra i Skt. Petersborg <noindex><a rel=\"nofollow\" href=\"https:\/\/sptdc.ru\/?utm_source=habr&amp;utm_medium=453832\">en SPTDC-skole sted<\/a><\/noindex>. <strong>P\u00e5 Hydra-konferencen har vi fors\u00f8gt at samle b\u00e5de h\u00e5rd praksis og videnskab samt alt det, der ligger p\u00e5 deres gr\u00e6nse.<\/strong> <\/p>\n<p><\/p>\n<p>T\u00e6nk over dette: vi lever i en bem\u00e6rkelsesv\u00e6rdig tid, hvor det er muligt at m\u00f8de grundl\u00e6ggerne inden for det omr\u00e5de af videnskab og ingeni\u00f8rkunst, som vi arbejder med. Fysikere vil ikke m\u00f8de hverken Newton eller Einstein \u2014 det tog afsted. Men blandt os lever der stadig mennesker, der har skabt grundlag for teorien om distribuerede systemer, opfundet popul\u00e6re programmeringssprog og f\u00f8rste gang realiseret alt dette i fungerende prototyper. Disse mennesker har ikke forladt deres arbejde halvm\u00e5dig, de besk\u00e6ftiger sig stadig med aktuelle opgaver p\u00e5 verdensber\u00f8mte universiteter og virksomheder og er de st\u00f8rste kilder til viden og erfaring den dag i dag. <\/p>\n<p><\/p>\n<p>P\u00e5 den anden side forbliver muligheden for at m\u00f8des med dem ofte ren teori: f\u00e5 af os kan konstant overv\u00e5ge offentlige arrangementer p\u00e5 et universitet i Rochester for derefter at skynde os til USA og tilbage til en forel\u00e6sning med Michael Scott. At bes\u00f8ge alle deltagerne i Hydra ville koste en mindre formue, uden at n\u00e6vne det enorme tidsspilde (selvom det lyder som en interessant quest).<\/p>\n<p><\/p>\n<p>P\u00e5 den anden side har vi mange fremragende ingeni\u00f8rer, der lige nu arbejder p\u00e5 relevante problemer inden for distribuerede systemer, og de har bestemt noget at fort\u00e6lle. Men problemet er \u2014 de <em>arbejder<\/em>, og deres tid er kostbar. Ja, hvis du er medarbejder i Microsoft, Google eller JetBrains, stiger chancen for at m\u00f8de en af de kendte talere til et internt arrangement drastisk, men generelt \u2014 nej, det sker ikke hver dag.<\/p>\n<p><\/p>\n<p>Dermed udf\u00f8rer konferencen Hydra en vigtig opgave, som de fleste af os ikke kan g\u00f8re selv \u2014 at samle mennesker p\u00e5 \u00e9t sted og p\u00e5 \u00e9t tidspunkt, hvis ideer eller interaktion kan \u00e6ndre dit liv. Jeg indr\u00f8mmer, at ikke alle beh\u00f8ver distribuerede systemer, eller nogle komplekse fundamentale emner. Man kan programmere CRUD'er i PHP hele livet og v\u00e6re ganske glad. Men for dem der har brug for det \u2014 det er jeres chance.<\/p>\n<p><\/p>\n<p>Det er allerede g\u00e5et en hel del tid siden den f\u00f8rste annoncering af konferencen Hydra p\u00e5 Habr\u00e9. I mellemtiden er der gjort et k\u00e6mpe stykke arbejde \u2014 og nu har vi en liste over n\u00e6sten alle pr\u00e6sentationer. Ingen sl\u00f8ve en-tr\u00e5dede algoritmer, kun ren distribueret hardcore! Lad os afslutte med de generelle ord og se, hvad vi nu har i h\u00e6nderne.<\/p>\n<p><\/p>\n<h2 id=\"keynouty\">Keynotes<\/h2>\n<p><\/p>\n<p>Keynotes indleder og afslutter konferencedagene. Normalt er meningen med den \u00e5bne keynote at s\u00e6tte den overordnede stemning og retning for konferencen. Den afsluttende keynote opsummerer og forklarer, hvordan vi skal leve med de viden og f\u00e6rdigheder, vi har erhvervet i l\u00f8bet af konferencedagene. Start og slutning: det, der huskes bedst, og generelt har h\u00f8jere betydning.<\/p>\n<p><\/p>\n<h3 id=\"cliff-click--the-h2o-distributed-kv-algorithmhttpshydraconfru2019talks1urihjc39wzahcg3lbxbtqutm_sourcehabrutm_medium453832\">Cliff Click \u2014 <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 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/2a1b4f1e305a3c4f32dc88e84cfe504f.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Cliff er en legende i Java-verdenen. I slutningen af 90'erne skrev han en afhandling til sin PhD med titlen <noindex>\u00abCombining Analyses, Combining Optimizations\u00bb<\/noindex>, som efter noget tid blev grundlaget for HotSpot JVM Server Compiler. To \u00e5r senere arbejdede han allerede hos Sun Microsystems med JVM og viste verden, at JIT havde ret til at eksistere. Hele denne historie om, at Java er en af de hurtigste moderne runtime-systemer med de smarteste og hurtigste optimeringer stammer faktisk fra Cliff Click. I starten blev det anset for, at hvis noget kunne g\u00f8res af en statisk compiler, kunne det i hvert fald ikke fors\u00f8ges at JIT'e. Takket v\u00e6re Cliff og teamets arbejde, begyndte nye sprog at blive skabt med ideen om JIT-kompilering som standard. Det var uden tvivl ikke et job for \u00e9n person, men Cliff spillede en meget vigtig rolle i det.<\/p>\n<p><\/p>\n<p>I den \u00e5bning keynote vil Cliff tale om sit andet projekt \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 brug. Mere pr\u00e6cist \u2014 om det distribuerede n\u00f8gle-v\u00e6rdi lager inden i den. Det er et meget hurtigt lager med mange 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\">beskrivelsen<\/a><\/noindex>), som g\u00f8r det muligt at anvende s\u00e5danne l\u00f8sninger i matematik for 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 i hardwaren og Azul's teknologistak: JIT-compilere, runtime, tr\u00e5dmodel, fejlbehandling, h\u00e5ndtering af stakken, hardware interrupts, klassel\u00e6sning osv. \u2014 ja, du forst\u00e5r.<\/p>\n<p><\/p>\n<p>Den mest interessante del begyndte, da de lavede hardware til store virksomheder \u2014 en supercomputer til at k\u00f8re Java. Det var en rimeligt innovativ ting, specifikt designet til Java, som har s\u00e6rlige krav \u2014 hukommelsesbarrierer for l\u00e6sning til lav-pause garbage collection, arrays med gr\u00e6nsekontrol, virtuelle opkald\u2026 En af de mest interessante teknologier var hardware transaktionel hukommelse. Hele L1 af hver af de 864 kerner kunne deltage i en transaktionel optegnelse, hvilket s\u00e6rligt er vigtigt for arbejdet med l\u00e5se i Java (synchronized blokke kan k\u00f8re parallelt, s\u00e5 l\u00e6nge der ikke er en reel hukommelseskonflikt). Men den smukke id\u00e9 br\u00f8d sammen under den h\u00e5rde virkelighed \u2014 og i denne pr\u00e6sentation vil Cliff fort\u00e6lle, hvorfor HTM og STM ikke passer s\u00e6rlig godt til de praktiske behov 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\">Dobbelt datakonstruktioner<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af 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 datalogi ved University of Rochester, hvor sk\u00e6bnen har bragt ham <noindex>i 34 \u00e5r<\/noindex>, og ved sit alma mater University of Wisconsin\u2013Madison var han dekan i fem \u00e5r. Han forsker inden for parallel og distribueret programmering samt designsprog og underviser i dette.<\/p>\n<p><\/p>\n<p>Hele verden kender Michael fra l\u00e6rebogen <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>, den seneste udgave af hvilken kom relativt for nylig \u2014 i 2015. Hans arbejde <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 modtaget <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-prisen<\/a><\/noindex> betegnes som et af de mest kendte inden for distribuerede beregninger og <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/u\/scott\/papers\/1991_TOCS_synch.pdf\">ligger frit tilg\u00e6ngelig<\/a><\/noindex> i universitetets online-bibliotek i Rochester. Du kender m\u00e5ske ogs\u00e5 ham som forfatteren bag den ber\u00f8mte Michael-Scott-algoritme fra <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\u00e5r det g\u00e6lder Java-verdenen, er situationen s\u00e6rlig: sammen med Doug Lea udviklede han de ikke-blokerende algoritmer og synkroniserede k\u00f8er, som Java-bibliotekerne anvender. Dette vil v\u00e6re emnet for keynote-pr\u00e6sentationen \u00abDobbelt datakonstruktioner\u00bb \u2014 implementeringen af disse strukturer i Java SE 6 har givet 10 gange bedre ydeevne <code>java.util.concurrent.ThreadPoolExecutor<\/code>. Hvis du er nysgerrig p\u00e5, hvad disse \u00abDobbelt datakonstruktioner\u00bb er, findes der <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/research\/synchronization\/pseudocode\/duals.html\">et tilsvarende arbejde<\/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 and the future of distributed computing<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af 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 indehaver af hele to Dijkstra-priser. Den f\u00f8rste \u2014 for arbejdet om <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.brown.edu\/~mph\/Herlihy91\/p124-herlihy.pdf\">\u00abWait-Free Synchronization\u00bb<\/a><\/noindex> (Brown University), og den anden, mere nylige \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-prisen gives for arbejder, hvis betydning og indflydelse har v\u00e6ret m\u00e6rkbar i mindst ti \u00e5r, og det er klart, at Maurice er en af de mest anerkendte eksperter inden for omr\u00e5det. I \u00f8jeblikket arbejder han som professor ved Brown University og har en r\u00e6kke pr\u00e6stationer, der fylder et helt afsnit.<\/p>\n<p><\/p>\n<p>I denne afsluttende keynote vil Maurice tale om teorien og praksis inden for blokchain-distriberede systemer set fra klassisk distribueret beregning, og hvordan det forenkler mange relaterede problemer. Dette er et foredrag, der udelukkende omhandler konferencens tema \u2014 ikke om mining-hype, men i stedet hvordan vi kan anvende vores viden overraskende effektivt og relevant p\u00e5 de mest forskellige opgaver.<\/p>\n<p><\/p>\n<p>I juli 2017 bes\u00f8gte Maurice allerede Rusland til SPTDC-skolen, deltog i JUG.ru-m\u00f8det, og optagelsen 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=\"Afspil 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\">Hovedprogram<\/h2>\n<p><\/p>\n<p>Here is a brief overview of the presentations included in the program. Some presentations are described in detail, while others are shorter. The longer descriptions are primarily for English-language presentations that require citations of scientific papers, terms on Wikipedia, and so on. You can find the complete list <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/#schedule\">on the conference website.<\/a><\/noindex>The list on the website will be updated and supplemented. <\/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\">Q &amp; A<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/4c6d5928be31af95cd3e2a7812e86854.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Leslie Lamport is the author of foundational works in distributed computing. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/LaTeX\">\u00abLaTeX\u00bb<\/a><\/noindex> stands for \u00abLamport TeX\u00bb. He first introduced the concept back in 1979, <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/multi.pdf\">sekventiel konsistens<\/a><\/noindex>, og 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> was awarded the Dijkstra Prize.<\/p>\n<p><\/p>\n<p>This is the most unusual part of the program in format because it is not even a lecture, but a Q&amp;A session. When a significant portion of the audience is already familiar with (or can get acquainted with) all sorts of works based on 'Lamport's theory', his own articles and lectures, it is essential to spend all available time on direct communication.<\/p>\n<p><\/p>\n<p>The idea is simple \u2014 you watch two lectures on YouTube: <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/6QsTfL-uXd8\">\u00abProgramming Should Be More Than Coding\u00bb<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"https:\/\/www.heidelberg-laureate-forum.org\/blog\/video\/lecture-monday-september-24-2018-leslie-lamport\/\">\u00abHvis du ikke skriver et program, s\u00e5 brug ikke et programmeringssprog\u00bb<\/a><\/noindex> and prepare at least one question, which Leslie will answer.<\/p>\n<p><\/p>\n<p>We have already turned the first of these two videos into a hub article. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/454898\/\">If you don't have an hour to watch the video, you can quickly read all this in text form.<\/a><\/noindex>Note: there are many more videos featuring Leslie Lamport on YouTube. For example, there is an excellent<\/p>\n<p><\/p>\n<p>. The offline version of this entire course is available on <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=p54W-XOIEF8&amp;list=PLWAv2Etpa7AOAwkreYImYt0gIpOdWQevD\">kursus i TLA+<\/a><\/noindex>the author's homepage <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/video\/videos.html\">, and on YouTube, he uploaded it for more convenient viewing on mobile devices.<\/a><\/noindex>Martin Kleppmann \u2014<\/p>\n<p><\/p>\n<h3 id=\"martin-kleppmann--syncing-data-across-user-devices-for-distributed-collaborationhttpshydraconfru2019talks6i4lkw8pwjnadgff5ylr11utm_sourcehabrutm_medium453832\">Syncing data across user devices for distributed collaboration <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/6i4lkw8pwjnadgff5ylr11\/?utm_source=habr&amp;utm_medium=453832\">Martin Kleppmann is a researcher at the University of Cambridge working on CRDT and formal verification of algorithms. His book<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/09af25ab1ce915ba13ec6ee1013878f6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> \u00abDesigning Data-Intensive Applications\u00bb <noindex>, published in 2017, became very successful and made it to the bestseller lists in the field of data storage and processing. Kevin Scott, CTO at Microsoft,<\/noindex>once said <noindex><a rel=\"nofollow\" href=\"https:\/\/martin.kleppmann.com\/2017\/03\/27\/designing-data-intensive-applications.html\">: \u00abThis book is a must-read for software engineers. It is a rare resource that combines theory and practice, helping developers design and implement data processing infrastructure and systems more intelligently\u00bb. Something similar was said by the creator of Kafka and CTO of Confluent, Jay Kreps.<\/a><\/noindex>: \u00abDenne bog b\u00f8r v\u00e6re obligatorisk for ingeni\u00f8rer og udviklere. Det er en sj\u00e6lden ressource, der kombinerer teori og praksis, og hj\u00e6lper udviklere med at designe og implementere infrastruktur og databehandlingssystemer smartere\u00bb. Noget lignende sagde ogs\u00e5 skaberen af Kafka og CTO for Confluent, Jay Kreps.<\/p>\n<p><\/p>\n<p>F\u00f8r han begyndte med akademisk forskning, arbejdede Martin i industrien og blev medstifter af to succesrige startups:<\/p>\n<p><\/p>\n<ul>\n<li>Rapportive, der er dedikeret til at vise sociale profiler af kontakter fra din e-mail, som LinkedIn k\u00f8bte i 2012;<\/li>\n<li>Go Test It, en service til automatisk at teste websider i forskellige browsere, som RedGate k\u00f8bte i 2009.<\/li>\n<\/ul>\n<p><\/p>\n<p>Generelt set er Martin, selvom han er mindre kendt end vores keynote-talere, allerede i stand til at bidrage til b\u00e5de udviklingen af distribuerede computationer og industrien.<\/p>\n<p><\/p>\n<p>I dette foredrag vil Martin tale om et emne, der ligger t\u00e6ttere p\u00e5 hans akademiske forskning. I Google Docs og lignende software til samtidig redigering af dokumenter betyder \"samtidig redigering\" opgaven med replikation: hver bruger har sin egen kopi af det f\u00e6lles dokument, som de derefter \u00e6ndrer, og alle \u00e6ndringer sendes over netv\u00e6rket til de andre deltagere. \u00c6ndringer i dokumenter offline f\u00f8rer til midlertidig inkonsistens i dokumentet i forhold til de andre deltagere, og gen-synkronisering kr\u00e6ver konfliktbehandling. Det er netop til dette form\u00e5l, at der findes <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Conflict-free_replicated_data_type\">Conflict-free Replicated Data Types<\/a><\/noindex> (CRDT), som grundl\u00e6ggende er en ret ny st\u00f8rrelse, hvis essens f\u00f8rst blev formuleret i 2011. I dette foredrag diskuteres, hvad der er sket siden da i CRDT-verdenen, hvad de nyeste fremskridt er, og der diskuteres tilgangen til at skabe local-first applikationer generelt og brugen af det open source bibliotek <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/automerge\/automerge\">Automerge<\/a><\/noindex> specifikt.<\/p>\n<p><\/p>\n<blockquote><p>I n\u00e6ste uge offentligg\u00f8r vi et stort interview med Martin p\u00e5 Habr, det bliver sp\u00e6ndende.<\/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 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/be9b98f5ab95d0f6646dfcb4cee38978.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Pedro arbejder hos Cisco og har udviklet parallelle algoritmer de sidste ti \u00e5r, inklusive synkroniseringsmekanismer, lock-free og wait-free datastrukturer og alt, hvad du kan forestille dig om emnet. Hans nuv\u00e6rende forsknings- og ingeni\u00f8rinteresser er fokuseret p\u00e5 Universal Constructions, Software Transactional Memory, Persistent Memory og lignende teknologier, der g\u00f8r det muligt at implementere korrekte, skalerbare og fejltolerante applikationer. Han er desuden forfatter til den bredt kendte blog i specialiserede kredse <noindex><a rel=\"nofollow\" href=\"http:\/\/concurrencyfreaks.blogspot.com\/\">Concurrency Freaks<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>De fleste multitr\u00e5dede applikationer arbejder nu med parallelle datastrukturer, lige fra brugen af meldingsk\u00f8er mellem akt\u00f8rer til indekserede datastrukturer i key-value lagre. I Java JDK har de fungeret effektivt i mange \u00e5r, og i C++ bliver de gradvist tilf\u00f8jet.<\/p>\n<p><\/p>\n<p>Den enkleste m\u00e5de at implementere en parallell datastruktur p\u00e5 er gennem en sekventiel (enkelttr\u00e5det) implementering, hvor metoderne er beskyttet af mutexer. Dette er tilg\u00e6ngeligt for enhver junior udvikler, men har \u00e5benlyse problemer med skalerbarhed og ydeevne. Samtidig h\u00e5ndterer lock-free og wait-free datastrukturer ikke kun fejl bedre, men har ogs\u00e5 en mere gunstig ydeevneprofil - dog kr\u00e6ver deres udvikling en dyb ekspertise og tilpasning til den specifikke anvendelse. En forkert kodezeile kan v\u00e6re nok til at bryde det hele.<\/p>\n<p><\/p>\n<p>Hvordan kan man sikre, at selv ikke-eksperter kan designe og implementere s\u00e5danne datastrukturer? Det er kendt, at enhver sekventiel algoritme kan g\u00f8res tr\u00e5dsikker gennem enten <noindex><a rel=\"nofollow\" href=\"https:\/\/hal.inria.fr\/hal-01397265v1\/document\">en universel konstruktion<\/a><\/noindex>, eller transaktionelt hukommelse. Begge kan s\u00e6nke adgangsbarrieren for at l\u00f8se dette problem. Men begge l\u00f8sninger f\u00f8rer ofte til ineffektiv implementering. Pedro vil fort\u00e6lle om, hvordan de har form\u00e5et at g\u00f8re disse konstruktioner mere effektive og hvordan de kan anvendes i ens algoritmer.<\/p>\n<p><\/p>\n<h3 id=\"heidi-howard---liberating-distributed-consensushttpshydraconfru2019talks5z2xknkq9mozvqzhhgfoeiutm_sourcehabrutm_medium453832\">Heidi Howard - <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5z2xknkq9mozvqzhhgfoei\/?utm_source=habr&amp;utm_medium=453832\">Liberating distributed consensus<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/09dd05684fde1015a87818f0b6804680.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Heidi Howard - ligesom Martin, en forsker inden for distribuerede systemer ved Cambridge Universitet. Hendes speciale er konsistens, fejltolerance, ydeevne og distribueret konsensus. Hun er mest kendt for generaliseringen af Paxos-algoritmen kaldet <noindex><a rel=\"nofollow\" href=\"https:\/\/fpaxos.github.io\/\">Flexible Paxos<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>Lad os minde om, at <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Paxos_(computer_science)\">Paxos<\/a><\/noindex> - et s\u00e6t protokoller til at l\u00f8se konsensusproblemet i nettv\u00e6rk af up\u00e5lidelige computere, baseret p\u00e5 arbejdet af Leslie Lamport. P\u00e5 den m\u00e5de arbejder nogle af vores foredragsholdere med problemer, der oprindeligt er foresl\u00e5et af andre af vores foredragsholdere - og det er vidunderligt.<\/p>\n<p><\/p>\n<p>Muligheden for at finde en konsensus blandt flere v\u00e6rter \u2014 hvad ang\u00e5r adressering, valg af leder, blokering eller koordination \u2014 er et fundamentalt sp\u00f8rgsm\u00e5l i moderne distribuerede systemer. Paxos er i \u00f8jeblikket den prim\u00e6re metode til at l\u00f8se konsensusproblemer, og der udf\u00f8res mange unders\u00f8gelser for at udvide og optimere algoritmen til forskellige praktiske behov. <\/p>\n<p><\/p>\n<p>I denne rapport vil vi gennemg\u00e5 den teoretiske grundlag for Paxos, hvor vi sv\u00e6kker de oprindelige krav og generaliserer algoritmen. Vi vil se, at Paxos i bund og grund blot er \u00e9n mulighed blandt et v\u00e6ld af tilgange til konsensus, og at andre punkter p\u00e5 spektret ogs\u00e5 er yderst nyttige til at bygge gode distribuerede systemer.<\/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\">Reducer dine lageromkostninger med Transient Replication og Billige Kvorum<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/178a1db3cf49b5ff73a0c9101ab3845c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Alex er specialist i databaser og opbevaringssystemer, og hvad der er vigtigst for os \u2014 en committer i <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Cassandra\">Cassandra<\/a><\/noindex>. Sammen med O'Reilly arbejder han lige nu p\u00e5 bogen Database Internals.<\/p>\n<p><\/p>\n<p>For systemer med <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Eventual_consistency\">eventuel konsistens<\/a><\/noindex> (p\u00e5 russisk kaldet \u00absammens\u00e6tning i sidste ende\u00bb), efter et nodesvigt eller netv\u00e6rksadskillelse, skal f\u00f8lgende dilemma l\u00f8ses: enten forts\u00e6tte med at udf\u00f8re anmodninger og ofre konsistens eller n\u00e6gte at udf\u00f8re dem og ofre tilg\u00e6ngelighed. I s\u00e5dan et system kan kvorumer, overlappende delm\u00e6ngder af noder, der garanterer, at mindst \u00e9n node vil indeholde den seneste v\u00e6rdi, blive en god gr\u00e6nsel\u00f8sning. Man kan overleve fejl og tab af forbindelse til visse noder, mens man forts\u00e6tter med at svare med de nyeste v\u00e6rdier.<\/p>\n<p><\/p>\n<p>Men alt har sin pris. Kvorum-replikationsskemaet betyder h\u00f8jere opbevaringsomkostninger: det er n\u00f8dvendigt at opbevare overfl\u00f8dige data p\u00e5 flere noder samtidigt for at sikre et tilstr\u00e6kkeligt antal tilg\u00e6ngelige kopier i tilf\u00e6lde af problemer. Det viser sig, at man ikke beh\u00f8ver at opbevare alle data p\u00e5 alle replikater. Man kan reducere belastningen p\u00e5 lageret ved kun at holde data p\u00e5 en del af noderne og bruge specielle noder (Transient Replica) til fejlh\u00e5ndteringsscenarier.<\/p>\n<p><\/p>\n<p>Undervejs i rapporten vil vi se 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>, replikationsskemaet anvendt i <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Spanner_(database)\">Spanner<\/a><\/noindex> og <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2011\/Papers\/CIDR11_Paper32.pdf\">Megastore<\/a><\/noindex>, og implementeringen af dette koncept i Apache Cassandra under navnene <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.apache.org\/jira\/browse\/CASSANDRA-14404?subTaskView=all\">Transient Replication &amp; Billige Kvorumer<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-vyukov---goroutines-exposedhttpshydraconfru2019talks7336ginp0kke7n4yxxjvldutm_sourcehabrutm_medium453832\">Dmitry Vjukhov \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 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/94ce38f8cc366bbd2ee53b9636e4650d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitrij er udvikler hos Google og arbejder med dynamisk testning af C\/C++ og Go - Address\/Memory\/ThreadSanitizer samt lignende v\u00e6rkt\u00f8jer til Linux-kernen. Han har bidraget til Go med en skalerbar goroutine-planl\u00e6gger, network poller og en parallel garbage collector. Han er ekspert i multitr\u00e5dning, forfatter til et dusin nye non-blocking algoritmer og indehaver <noindex><a rel=\"nofollow\" href=\"https:\/\/software.intel.com\/en-us\/blackbelt\">af det Sorte B\u00e6lte<\/a><\/noindex> Intel.<\/p>\n<p><\/p>\n<p>Lad os nu tale lidt om selve opl\u00e6gget. I Go-sproget er der indbygget support til multitr\u00e5dning i form af goroutines (lette tr\u00e5de) og kanaler (FIFO-k\u00f8er). Disse mekanismer g\u00f8r det meget nemt og behageligt for brugerne at skrive moderne multitr\u00e5dede applikationer, og det ser n\u00e6sten ud som magi. Som vi forst\u00e5r, er der ingen magi involveret. I dette opl\u00e6g vil Dmitrij dykke ned i detaljerne omkring Go's scheduler og vise hemmelighederne bag denne 'magi'. F\u00f8rst vil han give en oversigt over hovedkomponenterne i scheduler, og forklare hvordan den fungerer. Derefter vil vi n\u00e6rmere kigge p\u00e5 forskellige aspekter som parkering\/dep\u00e5 parkering strategi og h\u00e5ndtering af blokerende systemopkald. Til slut vil Dmitrij kort fort\u00e6lle om mulige forbedringer i scheduler.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-bugaychenko---uskoryaem-raspredelennyy-analiz-grafov-s-pomoschyu-veroyatnostnyh-sketchey-i-ne-tolkohttpshydraconfru2019talks1po7b00j6m4vst3df7aqtoutm_sourcehabrutm_medium453832\">Dmitrij Bugaichenko - <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1po7b00j6m4vst3df7aqto\/?utm_source=habr&amp;utm_medium=453832\">Accelerating distributed graph analysis with probabilistic sketches and more<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/f963ef8ac1a37011aa387016dc938b3c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitrij har n\u00e6sten 9 \u00e5rs erfaring i outsourcing, samtidig med at han har holdt kontakten med universitetet og det akademiske milj\u00f8. Analyzing af store data hos Odnoklassniki gav ham en unik mulighed for at kombinere teoretisk tr\u00e6ning og videnskabeligt fundament med udviklingen af reelle, efterspurgte produkter.<\/p>\n<p><\/p>\n<p>Distribution graph analysis har v\u00e6ret og forbliver en kompleks opgave: n\u00e5r der opst\u00e5r behov for at f\u00e5 information om forbindelserne til en n\u00e6rliggende node, skal data ofte overf\u00f8res mellem maskiner, hvilket f\u00f8rer til \u00f8get udf\u00f8relsestid og belastning p\u00e5 netv\u00e6rksinfrastrukturen. I dette opl\u00e6g vil vi se, hvordan man kan opn\u00e5 betydelig hastighedsforbedring ved at bruge probabilistiske datakonstruktioner eller fakta som symmetri i venskabsgrafen p\u00e5 sociale netv\u00e6rk. Dette illustreres med kodeeksempler i 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 - <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5e3yibth8vha0jbyoywpm6\/?utm_source=habr&amp;utm_medium=453832\">Reducer dine lageromkostninger med Transient Replication og Billige Kvorum<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/700bfb1a35280932f654a9c34413e2d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Denis er udvikler <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Cosmos_DB\">Cosmos DB<\/a><\/noindex>, ekspert inden for verifikation af konsistensmodeller, konsensusalgoritmer og distribuerede transaktioner. Han arbejder nu i Microsoft og har tidligere arbejdet med distribuerede systemer i Amazon og Yandex.<\/p>\n<p><\/p>\n<p>I dette foredrag vil vi f\u00e5 indblik i protokoller for distribuerede transaktioner, der er udviklet i de seneste par \u00e5r, som kan implementeres klient-side oven p\u00e5 enhver datalager, der underst\u00f8tter betinget opdatering (compare and set). Essensen er, at livet ikke slutter med to-fase commit; transaktioner kan tilf\u00f8jes oven p\u00e5 enhver database \u2014 p\u00e5 applikationsniveau, men forskellige protokoller (2PC, Percolator, RAMP) har forskellige trade-offs og kommer ikke gratis.<\/p>\n<p><\/p>\n<h3 id=\"aleksey-zinovev--ne-vse-ml-algoritmy-popadayut-v-raspredelennyy-rayhttpshydraconfru2019talks3jd0bgsoa0qtcijgblidjsutm_sourcehabrutm_medium453832\">Aleksey Zinovyev \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/3jd0bgsoa0qtcijgblidjs\/?utm_source=habr&amp;utm_medium=453832\">Ikke alle ML-algoritmer n\u00e5r til det distribuerede paradis<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/eb412d59dec5dcc4a04f603b32d12575.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Aleksey (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/zaleslaw\/\" class=\"user_link\">zaleslaw<\/a><\/noindex>) \u2014 vores langvarige taler og medlem af programudvalg ved andre konferencer. Praktiserende tr\u00e6ner hos EPAM Systems, og han har arbejdet med Hadoop\/Spark og anden big data siden 2012.<\/p>\n<p><\/p>\n<p>I dette foredrag vil Aleksey diskutere problemerne med at tilpasse klassiske maskinl\u00e6ringsalgoritmer til udf\u00f8relse i distribueret tilstand baseret p\u00e5 sin erfaring med Apache Spark ML, Apache Mahout, Apache Flink ML og sin erfaring med at udvikle Apache Ignite ML. Aleksey vil ogs\u00e5 tale om implementeringen af distribuerede ML-algoritmer i disse rammer.<\/p>\n<p><\/p>\n<p>Og til sidst \u2014 to foredrag fra 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 hvordan vi sikrer fejltilgivelse<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/3bdb3bec0ec0eb71db373e85afad6260.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Vladislav er udvikler i Yandex i gruppen for distribuerede platforme. Yandex Database er en horisontalt skalerbar, georegeret fejltilgivende DBMS, der kan modst\u00e5 fejlfunktioner fra diske, servere, racks og datacentre uden at kompromittere konsistensen. For at sikre fejltilgivelse anvendes en egen algoritme til opn\u00e5else af distribueret konsensus samt en r\u00e6kke tekniske l\u00f8sninger, der vil blive gennemg\u00e5et i foredraget. Foredraget kan v\u00e6re interessant for b\u00e5de DBMS-udviklere og udviklere af applikationsl\u00f8sninger baseret p\u00e5 DBMS.<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\">Distribuerede transaktioner i YDB<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 hoveder af hydra. Stor gennemgang af programmet\" src=\"\/wp-content\/uploads\/2019\/06\/0cf2b40fcabfba1a774f00c9f245b8f1.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Semyon er udvikler i gruppen for distribuerede platforme i Yandex og arbejder p\u00e5 muligheden for at opn\u00e5 multi-tenancy i YDB-installationen.<\/p>\n<p><\/p>\n<p>Yandex Database er designet til OLTP-foresp\u00f8rgsler og opfylder ACID-kravene til transaktionssystemer. I denne pr\u00e6sentation vil vi gennemg\u00e5 algoritmen til transaktionsplanl\u00e6gning, der ligger til grund for YDB-transaktionssystemet. Vi vil se p\u00e5, hvilke enheder der deltager i transaktioner, hvem der tildeler transaktioner en global r\u00e6kkef\u00f8lge, hvordan atomaritet, p\u00e5lidelighed og et strengt isolationsniveau opn\u00e5s. Ved hj\u00e6lp af et almindeligt problem vil vi se p\u00e5 implementeringen af transaktioner med brug af to-faset commit og deterministiske transaktioner. Vi vil diskutere deres forskelle.<\/p>\n<p><\/p>\n<h2 id=\"chto-dalshe\">Hvad nu?<\/h2>\n<p><\/p>\n<p>Konferenceprogrammet forts\u00e6tter med at blive beriget med nye pr\u00e6sentationer. Is\u00e6r forventer vi et foredrag fra <strong>Nikita Kovalyov<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/ndkoval\/\" class=\"user_link\">ndkoval<\/a><\/noindex>) fra JetBrains og <strong>Oleg Anastasiev<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/m0nstermind\/\" class=\"user_link\">m0nstermind<\/a><\/noindex>) fra virksomheden Odnoklassniki. Nikita arbejder med algoritmer til coroutines i Kotlin-teamet, mens Oleg udvikler arkitektur og l\u00f8sninger til h\u00f8jtydende systemer p\u00e5 platformen Odnoklassniki. Derudover er der endnu 1 betinget ledig plads, som det programkomit\u00e9en lige nu arbejder med kandidater til.<\/p>\n<p><\/p>\n<p>Konferencen Hydra finder sted den 11.-12. juli i Sankt Petersborg. Billetter kan <noindex>k\u00f8bes p\u00e5 den officielle hjemmeside<\/noindex>. Vi henleder opm\u00e6rksomheden p\u00e5, at der er Online-billetter til r\u00e5dighed \u2014 hvis du af en eller anden grund ikke kan v\u00e6re til stede i Sankt Petersborg p\u00e5 disse dage.<\/p>\n<p><\/p>\n<p>Vi ses p\u00e5 Hydra!<\/p>\n<p>Kilde: <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.3 - 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\/da\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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 hoveder p\u00e5 hydra. Stor gennemgang af programmet | ProHoster","description":"Den 11.-12. juli finder konferencen Hydra sted i Sankt Petersborg, som er dedikeret til udvikling af parallelle og distribuerede systemer.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/35091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=35091"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/35091\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/26388"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=35091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=35091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=35091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}