{"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\/nl\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","title":{"rendered":"19 koppen van de hydra. Een uitgebreide review van het programma","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Op 11-12 juli vindt er een conferentie plaats in Sint-Petersburg <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/?utm_source=habr&amp;utm_medium=453832\">Hydra<\/a><\/noindex>, gewijd aan de ontwikkeling van parallelle en gedistribueerde systemen. De unieke aantrekkingskracht van Hydra is dat het geweldige wetenschappers (die je normaal gesproken alleen op buitenlandse wetenschappelijke conferenties tegenkomt) en bekende praktische ingenieurs samenbrengt in \u00e9\u00e9n groot programma op het snijvlak van wetenschap en praktijk.<\/p>\n<p><\/p>\n<p>Hydra is een van de belangrijkste conferenties die we de afgelopen jaren hebben gehad. Aan deze conferentie ging een serieuze voorbereiding vooraf, inclusief de selectie van sprekers en presentaties. Vorige week verscheen hierover <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/453952\/\">een interview op Habrahabr<\/a><\/noindex> met de directeur van JUG.ru Group, Alexey Fedorov (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/23derevo\/\" class=\"user_link\">23derevo<\/a><\/noindex>). <\/p>\n<p><\/p>\n<p>Wij <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/445730\/\">al eerder over hebben gesproken<\/a><\/noindex> ) over drie belangrijke deelnemers, grondleggers van de theorie van gedistribueerde systemen \u2014 Leslie Lamport, Maurice Herlihy en Michael Scott. Het is tijd om meer in detail te praten over het hele programma!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" 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\">Motivatie<\/h2>\n<p><\/p>\n<p>Als je met programmeren bezig bent, heb je op de een of andere manier te maken met multithreading en gedistribueerde berekeningen. Professionals in de betreffende gebieden werken er direct mee, maar de impliciet gedistribueerde natuur is overal om ons heen: in elke multicore computer of gedistribueerde service is er altijd iets dat berekeningen parallel uitvoert.<\/p>\n<p><\/p>\n<p>Er zijn talloze conferenties die verschillende aspecten van toegepast programmeren belichten. Aan de andere kant van het spectrum hebben we speciale wetenschappelijke scholen die in de vorm van lezingen enorme hoeveelheden complexe theorie\u00ebn onthullen. Bijvoorbeeld, gelijktijdig met Hydra vindt in Petersburg de <noindex><a rel=\"nofollow\" href=\"https:\/\/sptdc.ru\/?utm_source=habr&amp;utm_medium=453832\">SPTDC school<\/a><\/noindex>. <strong>plaats. Tijdens de Hydra-conferentie hebben we geprobeerd om zowel de harde praktijk als de wetenschap samen te brengen, en alles wat op het snijvlak daarvan ligt.<\/strong> <\/p>\n<p><\/p>\n<p>Denk hier eens over na: we leven in een verbazingwekkende tijd, waarin je persoonlijk de oprichters kunt ontmoeten van het wetenschappelijk en technische gebied waarin we ons bevinden. Fysici zullen geen Newton of Einstein ontmoeten \u2014 die trein is vertrokken. Maar er leven nog steeds mensen naast ons die de basis hebben gelegd voor de theorie van gedistribueerde systemen, populaire programmeertalen hebben bedacht en dit voor het eerst in werkende prototypes hebben omgezet. Deze mensen hebben hun werk niet halverwege opgegeven; ze werken momenteel aan actuele vraagstukken aan wereldberoemde universiteiten en bedrijven, en zijn vandaag de dag de grootste bronnen van kennis en ervaring. <\/p>\n<p><\/p>\n<p>Aan de andere kant blijft de mogelijkheid om hen te ontmoeten meestal louter theoretisch: weinigen van ons kunnen continu de publieke evenementen aan een Rochester-universiteit volgen om dan snel naar de VS te gaan en weer terug voor een lezing van Michael Scott. Het zou een flink bedrag kosten om alle deelnemers van Hydra te bezoeken, ongeacht de enorme hoeveelheid tijd die je zou verliezen (hoewel dat klinkt als een interessante quest).<\/p>\n<p><\/p>\n<p>Aan de andere kant hebben we veel topingenieurs die momenteel werken aan actuele problemen van gedistribueerde systemen, en zij hebben zeker iets te vertellen. Maar het probleem is \u2014 zij, <em>samen<\/em>, en hun tijd is duur. Ja, als je medewerker bent van Microsoft, Google of JetBrains, neemt de kans om een van de bekende sprekers te ontmoeten tijdens een intern evenement drastisch toe, maar \u00fcberhaupt \u2014 dat gebeurt niet elke dag.<\/p>\n<p><\/p>\n<p>Zo vervult de Hydra-conferentie een belangrijke taak die de meesten van ons zelf niet kunnen doen \u2014 op een plek en op een tijd mensen samenbrengen wiens idee\u00ebn of communicatie je leven kunnen veranderen. Ik geef toe dat niet iedereen gedistribueerde systemen nodig heeft, bepaalde complexe fundamentele dingen. Je kunt je hele leven CRUD's in PHP programmeren en behoorlijk gelukkig zijn. Maar voor degenen die dat wel nodig hebben \u2014 dit is jouw kans.<\/p>\n<p><\/p>\n<p>Het is al een tijdje geleden sinds de eerste aankondiging van de Hydra-conferentie op Habr\u00e9. In die tijd is er enorm veel werk verzet \u2014 en kijk, we hebben een lijst van bijna alle lezingen. Geen slappe, eendelige algoritmen, alleen pure gedistribueerde hardcore! Laten we eindigen met de algemene uitspraken en kijken wat we nu in handen hebben.<\/p>\n<p><\/p>\n<h2 id=\"keynouty\">Keynotes<\/h2>\n<p><\/p>\n<p>Keynotes beginnen en eindigen de dagen van de conferentie. Gewoonlijk is de bedoeling van de openingskeynote om de algemene sfeer en richting van de conferentie vast te leggen. De afsluitende keynote trekt een conclusie en legt uit hoe we moeten leven met de kennis en vaardigheden die we tijdens de conferentiedagen hebben opgedaan. Begin en einde: datgene wat het best blijft hangen en over het algemeen van verhoogd belang is.<\/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\">Het H2O gedistribueerde K\/V-algoritme<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/2a1b4f1e305a3c4f32dc88e84cfe504f.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Cliff is een legende in de Java-wereld. Eind jaren '90 schreef hij voor zijn PhD-thesis een paper met de titel <noindex>\u00abCombining Analyses, Combining Optimizations\u00bb<\/noindex>, dat na verloop van tijd de basis werd voor de HotSpot JVM Server Compiler. Twee jaar later werkte hij al bij Sun Microsystems aan de JVM en toonde hij de wereld aan dat JIT bestaansrecht heeft. Het hele verhaal dat Java een van de snelste moderne runtimes met de slimste en snelste optimalisaties is, begint bij Cliff Click. In het begin werd aangenomen dat als iets beschikbaar was voor een statische compiler, het niet eens de moeite waard was om te JITten. Dankzij het werk van Cliff en zijn team zijn alle nieuwe talen begonnen te worden ontwikkeld met het idee van JIT-compilatie als standaard. Dit was ongetwijfeld niet het werk van \u00e9\u00e9n persoon, maar Cliff speelde een zeer belangrijke rol.<\/p>\n<p><\/p>\n<p>In de openingskeynote zal Cliff vertellen over een ander van zijn initiatieven \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/h2oai\/h2o-3\">H20<\/a><\/noindex>, een in-memory platform voor gedistribueerd en schaalbaar machine leren voor industri\u00eble toepassingen. En preciezer \u2014 over de gedistribueerde opslag van paren 'sleutel-waarde' binnenin. Dit is een zeer snelle opslag met een schat aan interessante eigenschappen (de exacte lijst staat in <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1urihjc39wzahcg3lbxbtq\/?utm_source=habr&amp;utm_medium=453832\">de beschrijving<\/a><\/noindex>), die dergelijke oplossingen mogelijk maken in de stroomwiskunde van big data.<\/p>\n<p><\/p>\n<p>Een andere presentatie die Cliff zal geven is \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/2jix5mst7iduyp9linqhfj\/?utm_source=habr&amp;utm_medium=453832\">De Azul Hardware Transactional Memory ervaring<\/a><\/noindex>. Een ander deel van zijn biografie \u2014 tien jaar <noindex>werk bij Azul<\/noindex>, waar hij veel heeft bijgewerkt en verbeterd aan de hardware en technologie-stack van Azul: JIT-compilers, runtime, threadmodel, foutafhandeling, stackverwerking, hardware-interrupts, klasse-loading, enzovoorts \u2014 je snapt het.<\/p>\n<p><\/p>\n<p>Het spannendste deel begon toen zij hardware maakten voor grote bedrijven \u2014 een supercomputer voor het draaien van Java. Dit was een behoorlijk innovatieve oplossing, specifiek gericht op Java, dat speciale eisen heeft \u2014 geheugensperren voor lage-pauze garbage collection, arrays met grenscontrole, virtuele aanroepen\u2026 Een van de coolste technologie\u00ebn is hardware transactionele geheugen. De hele L1 van een van de 864 kernen kon deelnemen aan transactionele schrijven, wat vooral belangrijk is voor het omgaan met locks in Java (synchronized-blocks kunnen parallel werken, zolang er geen echt geheugenconflict is). Maar het mooie idee botste op de harde realiteit \u2014 en in deze presentatie zal Cliff vertellen waarom HTM en STM niet zo goed passen bij de praktische behoeften van multithreaded berekeningen.<\/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\">Dubbele datastructuren<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" 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 Computer Science aan de Universiteit van Rochester, met wie het lot hem heeft verbonden <noindex>al 34 jaar<\/noindex>, en aan zijn alma mater Wisconsin\u2013Madison was hij vijf jaar decaan. Hij onderzoekt parallel en gedistribueerd programmeren en ontwerpt talen en leert dit aan studenten.<\/p>\n<p><\/p>\n<p>De hele wereld kent Michael dankzij het handboek <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>, waarvan de laatste editie relatief recent is uitgekomen \u2014 in 2015. Zijn werk <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> een <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\">ontving de Dijkstra-prijs<\/a><\/noindex> als een van de bekendste bijdragen op het gebied van gedistribueerde berekeningen en <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/u\/scott\/papers\/1991_TOCS_synch.pdf\">ligt open<\/a><\/noindex> in de online bibliotheek van de Universiteit van Rochester. U kent hem misschien ook als de auteur van dat ene algoritme van Michael-Scott uit <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>Wat betreft de wereld van Java, dat is een bijzonder geval: samen met Doug Lea ontwikkelde hij de niet-blokkerende algoritmen en synchronisatiequeues waarop Java-bibliotheken draaien. Dit zal het onderwerp zijn van de keynote \u00abDubbele datastructuren\u00bb \u2014 de implementatie van deze structuren in Java SE 6 heeft de prestaties met tien keer verbeterd <code>java.util.concurrent.ThreadPoolExecutor<\/code>. Als u benieuwd bent wat deze zogenaamde \u00abDubbele datastructuren\u00bb zijn, dan is er een <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/research\/synchronization\/pseudocode\/duals.html\">bijbehorende paper<\/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 en de toekomst van gedistribueerde computing<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" 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 de houder van maar liefst twee Dijkstra-prijzen. De eerste \u2014 voor zijn werk aan <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.brown.edu\/~mph\/Herlihy91\/p124-herlihy.pdf\">\u00abWait-Free Synchronization\u00bb<\/a><\/noindex> (Brown University), en de tweede, meer recente \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). De Dijkstra-prijs wordt uitgereikt voor werken waarvan de betekenis en impact minimaal tien jaar zichtbaar zijn geweest, en het is duidelijk dat Maurice een van de meest vooraanstaande specialisten op dit gebied is. Momenteel werkt hij als professor aan de Brown University en heeft hij genoeg prestaties om een hele alinea te vullen.<\/p>\n<p><\/p>\n<p>In deze afsluitende keynote zal Maurice spreken over de theorie en praktijk van blockchain-gedistribueerde systemen vanuit het perspectief van de klassiekers in gedistribueerd rekenen en hoe dit veel gerelateerde problemen vereenvoudigt. Dit is een presentatie die volledig aansluit bij het onderwerp van de conferentie \u2014 helemaal niet over mining hype, maar eerder over hoe onze kennis opmerkelijk effici\u00ebnt en relevant kan worden toegepast op een breed scala aan taken.<\/p>\n<p><\/p>\n<p>In juli 2017 kwam Maurice al naar Rusland voor de SPTDC-school, nam hij deel aan de JUG.ru meetup, en de opname is te bekijken op 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=\"Video afspelen\" 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\">Hoofdprogramma<\/h2>\n<p><\/p>\n<p>Hier volgt een korte overzicht van de lezingen die in het programma zijn opgenomen. Sommige lezingen worden hier uitgebreid beschreven, terwijl andere beknopter zijn. De lange beschrijvingen zijn voornamelijk voor Engelstalige presentaties, die verwijzingen naar wetenschappelijke artikelen en termen op Wikipedia vereisen, enzovoort. De volledige lijst kan <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/#schedule\">gezien worden op de website van de conferentie<\/a><\/noindex>. De lijst op de website wordt bijgewerkt en aangevuld. <\/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 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/4c6d5928be31af95cd3e2a7812e86854.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Leslie Lamport is de auteur van fundamentele werken in verspreide berekeningen. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/LaTeX\">\u00abLaTeX\u00bb<\/a><\/noindex> staat voor \u00abLamport TeX\u00bb. Hij introduceerde het concept voor het eerst in 1979, <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/multi.pdf\">sequential consistency<\/a><\/noindex>, and his paper <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/time-clocks.pdf\">\u201cHow to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs\u201d<\/a><\/noindex> ontving de Dijkstra-prijs.<\/p>\n<p><\/p>\n<p>Dit is het meest ongebruikelijke deel van het programma in termen van formaat, omdat het niet eens een lezing is, maar een vraag-en-antwoordsessie. Wanneer een aanzienlijk deel van het publiek al bekend is (of kan zijn) met allerlei werken gebaseerd op de \u00abtheorie van Lamport\u00bb, zijn zijn eigen artikelen en presentaties, is het belangrijk om alle beschikbare tijd te wijden aan directe communicatie.<\/p>\n<p><\/p>\n<p>Het idee is simpel: je kijkt op YouTube naar twee lezingen: <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/6QsTfL-uXd8\">\u00abProgramming Should Be More Than Coding\u00bb<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"https:\/\/www.heidelberg-laureate-forum.org\/blog\/video\/lecture-monday-september-24-2018-leslie-lamport\/\">\u00abAls Je Geen Programma Schrijft, Gebruik Geen Programmeertaal\u00bb<\/a><\/noindex> en bereid minstens \u00e9\u00e9n vraag voor, terwijl Leslie antwoordt.<\/p>\n<p><\/p>\n<p>We hebben de eerste van deze twee video\u2019s al <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/454898\/\">omgevormd tot een blogartikel<\/a><\/noindex>. Als je geen uur hebt om de video te bekijken, kun je dit snel lezen in tekstvorm.<\/p>\n<p><\/p>\n<p>Ter informatie: er zijn veel meer video's met Leslie Lamport op YouTube. Bijvoorbeeld, er is een uitstekende <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=p54W-XOIEF8&amp;list=PLWAv2Etpa7AOAwkreYImYt0gIpOdWQevD\">(officieel gedupliceerd<\/a><\/noindex>. De offline versie van deze cursus is beschikbaar op <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/video\/videos.html\">de homepage van de auteur<\/a><\/noindex>, en op YouTube heeft hij het ge\u00fcpload voor een gemakkelijker bekijken op mobiele apparaten.<\/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\">Data synchroniseren tussen gebruikersapparaten voor samenwerking op afstand<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/09af25ab1ce915ba13ec6ee1013878f6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Martin Kleppmann is een onderzoeker aan de Universiteit van Cambridge, die werkt aan CRDT en formele verificatie van algoritmen. Martins boek <noindex>\u00abDesigning Data-Intensive Applications\u00bb<\/noindex>, gepubliceerd in 2017, bleek zeer succesvol en belandde op de bestsellerlijsten voor gegevensopslag en -verwerking. Kevin Scott, CTO bij Microsoft, <noindex><a rel=\"nofollow\" href=\"https:\/\/martin.kleppmann.com\/2017\/03\/27\/designing-data-intensive-applications.html\">zei ooit<\/a><\/noindex>: \u00abDit boek moet verplicht leesmateriaal zijn voor software-engineers. Het is een zeldzame bron die theorie en praktijk verenigt, en helpt ontwikkelaars om slimmer te ontwerpen en datainfrastructuur en verwerkingssystemen te implementeren.\u00bb Iets soortgelijks zei ook de maker van Kafka en CTO van Confluent, Jay Kreps.<\/p>\n<p><\/p>\n<p>Voordat Martin zich bezighield met academisch onderzoek, werkte hij in de industrie en was hij medeoprichter van twee succesvolle startups:<\/p>\n<p><\/p>\n<ul>\n<li>Rapportive, dat sociale profielen van contacten uit je e-mail weergeeft, welke in 2012 door LinkedIn werd overgenomen;<\/li>\n<li>Go Test It, een service voor het automatisch testen van websites in verschillende browsers, welke in 2009 door RedGate werd overgenomen.<\/li>\n<\/ul>\n<p><\/p>\n<p>Over het algemeen is Martin, hoewel minder bekend dan onze sprekers, in staat geweest om bij te dragen aan zowel de ontwikkeling van gedistribueerde computing als aan de industrie.<\/p>\n<p><\/p>\n<p>In deze presentatie zal Martin spreken over een onderwerp dat dichter bij zijn academische onderzoeken staat. In Google Docs en soortgelijke software voor gezamenlijke documentbewerking, betekent 'gezamenlijke bewerking' de taak van replicatie: elke gebruiker heeft zijn eigen replicatie van het gezamenlijke document, die ze vervolgens bewerken, en alle wijzigingen worden over het netwerk naar de andere deelnemers verzonden. Wijzigingen aan documenten in offline modus leiden tot tijdelijke inconsistentie van het document ten opzichte van de andere deelnemers, en opnieuw synchroniseren vereist het afhandelen van conflicten. Juist hiervoor bestaan de <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Conflict-free_replicated_data_type\">Conflict-free Replicated Data Types<\/a><\/noindex> (CRDT), in wezen een vrij nieuw concept, waarvan de essentie pas in 2011 is geformuleerd. In deze presentatie wordt besproken wat er sindsdien in de wereld van CRDTs is gebeurd, wat de meest recente ontwikkelingen zijn, en wordt het idee van het cre\u00ebren van local-first applicaties in het algemeen besproken, evenals het gebruik van de open-source bibliotheek <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/automerge\/automerge\">Automerge<\/a><\/noindex> in het bijzonder.<\/p>\n<p><\/p>\n<blockquote><p>Volgende week publiceren we op Habr\u00e9 een groot interview met Martin; het zal interessant zijn.<\/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 datastructuren en wait-free transacties<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/be9b98f5ab95d0f6646dfcb4cee38978.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Pedro werkt bij Cisco en ontwikkelt al ongeveer tien jaar parallelle algoritmen, inclusief synchronisatiemechanismen, lock-free en wait-free datastructuren en alles wat je je op dit gebied kunt voorstellen. Zijn huidige onderzoeks- en engineeringinteresses zijn gericht op Universele Constructies, Software Transactional Memory, Persisteerbaar Geheugen en soortgelijke technologie\u00ebn die het mogelijk maken om correcte, schaalbare en fouttolerante applicaties te realiseren. Daarnaast is hij de auteur van een blog die in bepaalde kringen zeer bekend is, <noindex><a rel=\"nofollow\" href=\"http:\/\/concurrencyfreaks.blogspot.com\/\">Concurrency Freaks<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>De meeste multithread-applicaties werken nu met parallelle datastructuren, van het gebruik van berichtenwachtrijen tussen actoren tot ge\u00efndexeerde datastructuren in key-value-opslag. In de Java JDK functioneren ze al vele jaren succesvol, en ook in C++ worden ze geleidelijk toegevoegd.<\/p>\n<p><\/p>\n<p>De eenvoudigste manier om een parallelle datastructuur te implementeren, is door een sequenti\u00eble (single-thread) implementatie waarbij de methoden worden beschermd door mutexen. Dit is toegankelijk voor elke junior, maar heeft duidelijke problemen met schaling en prestaties. Tegelijkertijd kunnen lock-free en wait-free datastructuren niet alleen beter omgaan met fouten, maar hebben ze ook een gunstiger prestatieprofiel\u2014maar voor hun ontwikkeling is diepgaande expertise nodig en aanpassing aan de specifieke toepassing. E\u00e9n verkeerde regel code kan genoeg zijn om alles te breken.<\/p>\n<p><\/p>\n<p>Hoe zorg je ervoor dat zelfs niet-experts zulke datastructuren kunnen ontwerpen en implementeren? Het is bekend dat elk sequentieel algoritme thread-safe kan worden gemaakt met behulp van <noindex><a rel=\"nofollow\" href=\"https:\/\/hal.inria.fr\/hal-01397265v1\/document\">een universele constructie<\/a><\/noindex>, of transactionele geheugen. Beide kunnen de instapdrempel verlagen voor het oplossen van deze taak. Echter, beide oplossingen leiden meestal tot een ineffici\u00ebnte implementatie. Pedro zal vertellen hoe ze erin zijn geslaagd om deze constructies effici\u00ebnter te maken en hoe ze in hun algoritmes kunnen worden gebruikt.<\/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\">De bevrijding van gedistribueerde consensus<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/09dd05684fde1015a87818f0b6804680.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Heidi Howard is, net als Martin, een onderzoeker in gedistribueerde systemen aan de Universiteit van Cambridge. Haar specialiteit is consistentie, foutbestendigheid, prestaties en gedistribueerde consensus. Ze is het meest bekend vanwege de generalisatie van het Paxos-algoritme genaamd <noindex><a rel=\"nofollow\" href=\"https:\/\/fpaxos.github.io\/\">Flexibel Paxos<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>de belangrijkste <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Paxos_(computer_science)\">Paxos<\/a><\/noindex> \u2014 een familie van protocollen voor het oplossen van het consensusprobleem in een netwerk van onbetrouwbare rekenmachines, gebaseerd op het werk van Leslie Lamport. Op deze manier werken sommige van onze sprekers aan problemen die oorspronkelijk door andere sprekers zijn voorgesteld \u2014 en dat is geweldig.<\/p>\n<p><\/p>\n<p>De mogelijkheid om consensus te vinden tussen meerdere hosts \u2014 voor adressering, leiderschapselectie, blokkering of co\u00f6rdinatie \u2014 is een fundamentale vraag in moderne gedistribueerde systemen. Paxos is momenteel de belangrijkste manier om consensusproblemen op te lossen, en er wordt veel onderzoek naar gedaan om het algoritme in te passen en te optimaliseren voor verschillende praktische behoeften. <\/p>\n<p><\/p>\n<p>In dit rapport zullen we de theoretische basis van Paxos herzien, waarbij we de oorspronkelijke vereisten versoepelen en het algoritme generaliseren. We zullen zien dat Paxos in wezen slechts \u00e9\u00e9n van de vele benaderingen tot consensus is, en dat andere punten in het spectrum ook zeer nuttig zijn voor het opbouwen van goede gedistribueerde systemen.<\/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\">Verlaag uw opslagkosten met Transient Replication en Cheap Quorums<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/178a1db3cf49b5ff73a0c9101ab3845c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Alex is een specialist in databases en opslagsystemen, en wat voor ons belangrijk is \u2014 een committer bij <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Cassandra\">Cassandra<\/a><\/noindex>. Hij werkt momenteel samen met O'Reilly aan het boek Database Internals.<\/p>\n<p><\/p>\n<p>Voor systemen met <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Eventual_consistency\">eventual consistency<\/a><\/noindex> (in de Nederlandstalige terminologie \u2014 'eindige consistentie'), na een knoopstoring of netwerksplitsing, moet de volgende dilemma worden opgelost: ofwel blijven verzoeken uitvoeren, ten koste van consistentie, ofwel verzoeken weigeren en beschikbaarheid opofferen. In zo'n systeem kunnen quorums, overlappende subsets van knopen die garanderen dat ten minste \u00e9\u00e9n knoop de laatste waarde bevat, een goede grensoplossing vormen. Men kan storingen en het verlies van verbinding met sommige knopen doorstaan, terwijl men blijft antwoorden met de meest actuele waarden.<\/p>\n<p><\/p>\n<p>Het heeft echter wel zijn prijs. Een quorum-replicatieschema betekent hogere opslagkosten: er moeten overbodige gegevens op meerdere knopen tegelijk worden opgeslagen om een voldoende aantal beschikbare kopie\u00ebn te garanderen op het moment dat er een probleem optreedt. Het blijkt dat het niet nodig is om alle gegevens op alle replica's op te slaan. De opslaglast kan worden verminderd door de gegevens slechts op een deel van de knopen te bewaren en voor scenario's met storingen speciale knopen te gebruiken (Transient Replica).<\/p>\n<p><\/p>\n<p>Tijdens de presentatie zullen we kijken naar <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>, het replicatieschema dat wordt gebruikt in <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Spanner_(database)\">Spanner<\/a><\/noindex> en <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2011\/Papers\/CIDR11_Paper32.pdf\">Megastore<\/a><\/noindex>, en de implementatie van dit concept in Apache Cassandra onder de namen <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.apache.org\/jira\/browse\/CASSANDRA-14404?subTaskView=all\">Transient Replication &amp; Cheap Quorums<\/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 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/94ce38f8cc366bbd2ee53b9636e4650d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitry is a developer at Google, working on dynamic testing of C\/C++ and Go \u2014 Address\/Memory\/ThreadSanitizer, and similar tools for the Linux kernel. He contributed a scalable goroutine scheduler, network poller, and parallel garbage collector to Go. He is an expert in multithreading, the author of a dozen new non-blocking algorithms, and holds <noindex><a rel=\"nofollow\" href=\"https:\/\/software.intel.com\/en-us\/blackbelt\">a Black Belt<\/a><\/noindex> Intel.<\/p>\n<p><\/p>\n<p>Now, a bit about the presentation itself. The Go language has built-in support for multithreading in the form of goroutines (light threads) and channels (FIFO queues). Thanks to these mechanisms, users can easily and enjoyably write modern multithreaded applications, making it feel like magic. As we understand, there is no magic here. In this presentation, Dmitry will delve into the nuances of the Go scheduler and unveil the secrets behind this 'magic'. He will start with an overview of the main components of the scheduler and explain how it works. Then, we will explore specific aspects such as parking\/unparking strategies and handling blocking system calls. Finally, Dmitry will briefly discuss possible improvements in the scheduler.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-bugaychenko---uskoryaem-raspredelennyy-analiz-grafov-s-pomoschyu-veroyatnostnyh-sketchey-i-ne-tolkohttpshydraconfru2019talks1po7b00j6m4vst3df7aqtoutm_sourcehabrutm_medium453832\">Dmitry Bugaychenko \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1po7b00j6m4vst3df7aqto\/?utm_source=habr&amp;utm_medium=453832\">Accelerating Distributed Graph Analysis Using Probabilistic Sketches and More<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/f963ef8ac1a37011aa387016dc938b3c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitry has worked in outsourcing for almost 9 years, staying in touch with the university and academic environment. Analyzing big data at Odnoklassniki became a unique opportunity for him to combine theoretical training and scientific foundation with the development of real, in-demand products.<\/p>\n<p><\/p>\n<p>Distributed graph analysis has been and remains a challenging task: when there is a need to obtain information about the connections of a neighboring vertex, data often has to be transferred between machines, leading to an increase in execution time and strain on the network infrastructure. In this presentation, we will see how significant processing acceleration can be achieved by using probabilistic data structures or facts like the symmetry of friendship graphs in social networks. All this is illustrated with code examples on 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 \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5e3yibth8vha0jbyoywpm6\/?utm_source=habr&amp;utm_medium=453832\">Verlaag uw opslagkosten met Transient Replication en Cheap Quorums<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/700bfb1a35280932f654a9c34413e2d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Denis is a developer <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Cosmos_DB\">Cosmos DB<\/a><\/noindex>, expert op het gebied van consistentiemodelcontrole, consensusalgoritmen en gedistribueerde transacties. Momenteel werkt hij bij Microsoft en daarvoor was hij betrokken bij gedistribueerde systemen bij Amazon en Yandex.<\/p>\n<p><\/p>\n<p>In deze presentatie maken we kennis met de protocollen voor gedistribueerde transacties die de afgelopen jaren zijn ontwikkeld en die op de klantzijde kunnen worden ge\u00efmplementeerd bovenop elke data-opslag die voorwaardelijke updates (compare and set) ondersteunt. Het idee is dat het leven niet eindigt bij een two-phase commit; transacties kunnen bovenop elke database worden toegevoegd \u2013 op het applicatieniveau, maar verschillende protocollen (2PC, Percolator, RAMP) hebben verschillende trade-offs en zijn niet 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\">Niet alle ML-algoritmen komen in het gedistribueerde paradijs terecht<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" 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 onze langdurige spreker en lid van programmacommissies op andere conferenties. Praktiserend trainer bij EPAM Systems, en heeft sinds 2012 ervaring met Hadoop\/Spark en andere big data.<\/p>\n<p><\/p>\n<p>In deze presentatie zal Aleksey het hebben over de problemen bij het aanpassen van klassieke machine learning-algoritmen voor uitvoering in gedistribueerde modus op basis van zijn ervaring met Apache Spark ML, Apache Mahout, Apache Flink ML en zijn ervaring met het cre\u00ebren van Apache Ignite ML. Ook zal Aleksey uitleggen hoe gedistribueerde ML-algoritmen in deze frameworks worden ge\u00efmplementeerd.<\/p>\n<p><\/p>\n<p>En ter afsluiting \u2014 twee presentaties van Yandex over 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 hoe waarborgen we de fouttolerantie<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/3bdb3bec0ec0eb71db373e85afad6260.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Vladislav is ontwikkelaar bij Yandex in de gedistribueerde platformgroep. Yandex Database is een horizontaal schaalbare, geografisch gedistribueerde, fouttolerante RDBMS die bestand is tegen uitval van schijven, servers, racks en datacenters zonder inbreuk op de consistentie. Voor het waarborgen van fouttolerantie wordt gebruikgemaakt van een eigen algoritme voor het bereiken van gedistribueerde consensus, evenals een aantal technische oplossingen die in detail in de presentatie worden besproken. De presentatie kan interessant zijn voor zowel RDBMS-ontwikkelaars als ontwikkelaars van applicaties op basis van RDBMS.<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\">Gedistribueerde transacties in YDB<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 koppen van de hydra. Een uitgebreide review van het programma\" src=\"\/wp-content\/uploads\/2019\/06\/0cf2b40fcabfba1a774f00c9f245b8f1.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Semyon is ontwikkelaar in de gedistribueerde platformgroep bij Yandex en werkt aan de mogelijkheid voor multi-tenant gebruik van de installatie van YDB.<\/p>\n<p><\/p>\n<p>Yandex Database is designed for OLTP queries and meets ACID requirements for transactional systems. In this report, we will discuss the transaction scheduling algorithm that underpins the YDB transactional system. We will analyze which entities participate in transactions, who assigns the global order to transactions, how transaction atomicity, reliability, and strict isolation levels are achieved. Using a common problem as an example, we will review transaction implementations using two-phase commit and deterministic transactions. We will discuss their differences.<\/p>\n<p><\/p>\n<h2 id=\"chto-dalshe\">Wat nu?<\/h2>\n<p><\/p>\n<p>The conference program continues to be enriched with new reports. In particular, we expect a presentation from <strong>Nikita Koval<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/ndkoval\/\" class=\"user_link\">ndkoval<\/a><\/noindex>) from JetBrains and <strong>Oleg Anastasyev<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/m0nstermind\/\" class=\"user_link\">m0nstermind<\/a><\/noindex>) from the company Odnoklassniki. Nikita is involved in coroutine algorithms in the Kotlin team, while Oleg develops architecture and solutions for high-load systems on the Odnoklassniki platform. Additionally, there is one more provisional empty slot, with candidates currently being considered by the program committee.<\/p>\n<p><\/p>\n<p>The Hydra conference will take place on July 11-12 in St. Petersburg. Tickets can be <noindex>purchased on the official website<\/noindex>. Please note the availability of Online tickets \u2014 if for some reason you cannot get to St. Petersburg in person on those days.<\/p>\n<p><\/p>\n<p>Laten we elkaar ontmoeten op Hydra!<\/p>\n<p>Bron: <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\/nl\/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=\"nl_NL\" \/>\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\/nl\/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 Hydra heads. A comprehensive overview of the program | ProHoster","description":"The Hydra conference will be held on July 11-12 in St. Petersburg, dedicated to the development of parallel and distributed systems.","canonical_url":"https:\/\/prohoster.info\/nl\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/35091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=35091"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/35091\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/26388"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=35091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=35091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=35091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}