{"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\/it\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","title":{"rendered":"19 teste dell'Idra. Ampia panoramica del programma","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>L'11-12 luglio si terr\u00e0 a San Pietroburgo una conferenza <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/?utm_source=habr&amp;utm_medium=453832\">Hydra<\/a><\/noindex>, dedicata allo sviluppo di sistemi paralleli e distribuiti. Il punto di forza di Hydra \u00e8 che riunisce grandi scienziati (che di solito si trovano solo a conferenze scientifiche internazionali) e ingegneri pratici riconosciuti, in un grande programma all'incrocio tra scienza e pratica.<\/p>\n<p><\/p>\n<p>Hydra \u00e8 una delle nostre conferenze pi\u00f9 importanti degli ultimi anni. \u00c8 stata preceduta da una preparazione molto seria, con la selezione di relatori e relazioni. La scorsa settimana a riguardo <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/453952\/\">\u00e8 stata pubblicata un'intervista su Habra<\/a><\/noindex> con il direttore dell'azienda 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>Noi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/445730\/\">ha gi\u00e0 raccontato<\/a><\/noindex> di tre importanti partecipanti, fondatori della teoria dei sistemi distribuiti \u2014 Leslie Lamport, Maurice Herlihy e Michael Scott. \u00c8 giunto il momento di parlare pi\u00f9 in dettaglio dell'intero programma!<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del 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\">Motivazione<\/h2>\n<p><\/p>\n<p>Se ti occupi di programmazione, in un modo o nell'altro hai a che fare con la programmazione concorrente e i calcoli distribuiti. Gli specialisti nei settori pertinenti lavorano direttamente con questi problemi, ma la distribuzione ci osserva da ogni angolo: in ogni computer multicore o servizio distribuito c'\u00e8 qualcosa che esegue calcoli in parallelo.<\/p>\n<p><\/p>\n<p>Ci sono molte conferenze che rivelano determinati aspetti della programmazione applicata. Dall'altra parte dello spettro ci sono le scuole scientifiche speciali, che in formato di lezioni illustrano enormi volumi di teoria complessa. Ad esempio, parallelamente a Hydra a Pietroburgo si tiene <noindex><a rel=\"nofollow\" href=\"https:\/\/sptdc.ru\/?utm_source=habr&amp;utm_medium=453832\">la scuola SPTDC<\/a><\/noindex>. <strong>Alla conferenza Hydra abbiamo cercato di riunire insieme la rigida pratica, la scienza e tutto ci\u00f2 che si colloca al loro incrocio.<\/strong> <\/p>\n<p><\/p>\n<p>Riflettiamo su questo: viviamo in un'epoca straordinaria, in cui possiamo incontrare di persona i fondatori di quell'area di scienza e ingegneria di cui ci occupiamo. I fisici non incontreranno n\u00e9 Newton n\u00e9 Einstein \u2014 il treno \u00e8 partito. Ma accanto a noi vivono ancora coloro che hanno creato le basi della teoria dei sistemi distribuiti, hanno inventato linguaggi di programmazione popolari, e hanno per la prima volta realizzato tutto questo in prototipi funzionanti. Queste persone non hanno abbandonato il loro lavoro a met\u00e0 strada, si occupano attualmente di problemi rilevanti in universit\u00e0 e aziende di fama mondiale, e sono le pi\u00f9 grandi fonti di conoscenza e esperienza oggi. <\/p>\n<p><\/p>\n<p>D'altra parte, la possibilit\u00e0 di incontrarli rimane generalmente puramente teorica: pochi di noi possono monitorare costantemente gli eventi pubblici in qualche universit\u00e0 di Rochester, per poi volare negli Stati Uniti e tornare indietro per una lezione con Michael Scott. Visitare tutti i partecipanti a Hydra costerebbe una piccola fortuna, senza contare l'abisso di tempo sprecato (anche se questo suona come una quest interessante).<\/p>\n<p><\/p>\n<p>D'altra parte, abbiamo molti ingegneri di alto livello che attualmente stanno lavorando su problemi attuali dei sistemi distribuiti, e hanno sicuramente qualcosa da raccontare. Ma qui c'\u00e8 il problema: sono <em>collabora<\/em>, e il loro tempo \u00e8 prezioso. S\u00ec, se sei un dipendente di Microsoft, Google o JetBrains, la probabilit\u00e0 di incontrare uno degli speaker noti in un evento interno aumenta bruscamente, mentre in generale \u2014 no, non capita tutti i giorni.<\/p>\n<p><\/p>\n<p>Pertanto, la conferenza Hydra svolge un compito importante che la maggior parte di noi non pu\u00f2 fare da sola: riunisce in un luogo e in un tempo le persone, le cui idee o interazioni possono cambiare la tua vita. Ammetto che non tutti hanno bisogno di sistemi distribuiti, o di alcune cose fondamentali complesse. Si pu\u00f2 programmare CRUD in PHP per tutta la vita e rimanere abbastanza felici. Ma per chi ne ha bisogno \u2014 questa \u00e8 la tua occasione.<\/p>\n<p><\/p>\n<p>Dalla prima annuncio della conferenza Hydra su Habr\u00e8 \u00e8 passato gi\u00e0 parecchio tempo. In questo tempo, \u00e8 stato fatto un enorme lavoro \u2014 ecco, abbiamo una lista quasi completa di tutte le presentazioni. Niente algoritmi a thread singolo poco entusiasti, solo puro hardcore distribuito! Terminiamo con le chiacchiere generali e vediamo cosa abbiamo ora a disposizione.<\/p>\n<p><\/p>\n<h2 id=\"keynouty\">Keynotes<\/h2>\n<p><\/p>\n<p>I keynotes iniziano e concludono i giorni della conferenza. Di solito, il significato del keynote di apertura \u00e8 di stabilire lo spirito generale e la direzione della conferenza. Il keynote di chiusura tira le somme e spiega come vivere con le conoscenze e abilit\u00e0 acquisite durante le giornate di conferenza. Inizio e fine: ci\u00f2 che rimarr\u00e0 impresso meglio, e in generale, ha un'importanza maggiore.<\/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\">L'algoritmo K\/V distribuito H2O<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/2a1b4f1e305a3c4f32dc88e84cfe504f.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Cliff \u00e8 una leggenda nel mondo Java. Alla fine degli anni '90, per la sua tesi di dottorato, ha scritto un lavoro intitolato <noindex>\u00abCombining Analyses, Combining Optimizations\u00bb<\/noindex>, che nel tempo \u00e8 diventata la base per il HotSpot JVM Server Compiler. Dopo due anni, lavorava gi\u00e0 in Sun Microsystems sulla JVM e ha dimostrato al mondo intero che il JIT ha diritto di esistere. Tutta questa storia di come Java sia uno dei runtime moderni pi\u00f9 veloci con le ottimizzazioni pi\u00f9 intelligenti e rapide nasce proprio da Cliff Click. All'inizio si pensava che, se qualcosa fosse accessibile a un compilatore statico, non valesse nemmeno la pena tentare di jitare. Grazie al lavoro di Cliff e del suo team, tutti i nuovi linguaggi hanno iniziato a essere creati con l'idea di JIT compilation per impostazione predefinita. Certamente, non \u00e8 stato il lavoro di una sola persona, ma Cliff ha avuto un ruolo molto importante in esso.<\/p>\n<p><\/p>\n<p>Nella keynote di apertura, Cliff parler\u00e0 del suo altro progetto \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/h2oai\/h2o-3\">H20<\/a><\/noindex>, una piattaforma in-memory per il machine learning distribuito e scalabile per applicazioni industriali. Pi\u00f9 precisamente \u2014 di uno storage distribuito per coppie \"chiave-valore\" al suo interno. Questo \u00e8 uno storage molto veloce con una miriade di propriet\u00e0 interessanti (l'elenco preciso \u00e8 in <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1urihjc39wzahcg3lbxbtq\/?utm_source=habr&amp;utm_medium=453832\">descrizione<\/a><\/noindex>), che consentono di utilizzare tali soluzioni nella matematica dello streaming dei big data.<\/p>\n<p><\/p>\n<p>Un altro intervento che Cliff presenter\u00e0 sar\u00e0 \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/2jix5mst7iduyp9linqhfj\/?utm_source=habr&amp;utm_medium=453832\">L'esperienza della memoria transazionale hardware Azul<\/a><\/noindex>. Un altro capitolo della sua biografia \u2014 dieci anni <noindex>di lavoro in Azul<\/noindex>, dove ha aggiornato e migliorato molte cose nell'hardware e nel stack tecnologico di Azul: compilatori JIT, runtime, modello dei thread, gestione degli errori, gestione dello stack, interruzioni hardware, caricamento delle classi e cos\u00ec via \u2014 insomma, avete capito.<\/p>\n<p><\/p>\n<p>La parte pi\u00f9 interessante \u00e8 iniziata quando hanno creato hardware per le grandi aziende \u2014 un supercomputer per eseguire Java. Era una cosa piuttosto innovativa, appositamente progettata per Java, che ha requisiti speciali \u2014 barriere di memoria per la lettura per Garbage Collection a bassa latenza, array con controllo dei confini, chiamate virtuali\u2026 Una delle tecnologie pi\u00f9 cool \u00e8 stata la memoria transazionale hardware. Tutto l'L1 di ciascuno dei 864 core poteva essere coinvolto nella scrittura transazionale, il che \u00e8 particolarmente importante per lavorare con i blocchi in Java (i blocchi synchronized possono lavorare in parallelo, finch\u00e9 non c'\u00e8 un vero conflitto di memoria). Ma la bella idea si \u00e8 scontrata con la dura realt\u00e0 \u2014 e in questa presentazione Cliff spiegher\u00e0 perch\u00e9 l'HTM e l'STM non sono molto adatti per le esigenze pratiche del calcolo multithreading.<\/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\">Strutture dati duali<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del 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\">da Michael Scott<\/a><\/noindex> \u2014 professore di Computer Science all'Universit\u00e0 di Rochester, a cui il destino lo ha legato <noindex>gi\u00e0 da 34 anni<\/noindex>, e nella sua universit\u00e0, Wisconsin\u2013Madison, \u00e8 stato decano per cinque anni. Si dedica alla ricerca nel campo della programmazione parallela e distribuita e alla progettazione di linguaggi, e insegna questo ai suoi studenti.<\/p>\n<p><\/p>\n<p>Il mondo intero conosce Michael grazie al suo libro di testo <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>, l'ultima edizione del quale \u00e8 stata pubblicata relativamente di recente \u2014 nel 2015. Il suo lavoro <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> ha ricevuto <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\">ha ricevuto il premio Dijkstra<\/a><\/noindex> come uno dei pi\u00f9 noti nel campo del calcolo distribuito e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/u\/scott\/papers\/1991_TOCS_synch.pdf\">\u00e8 liberamente disponibile<\/a><\/noindex> nella biblioteca online dell'Universit\u00e0 di Rochester. Potreste anche conoscerlo come l'autore dell'algoritmo di Michael-Scott contenuto in <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>Per quanto riguarda il mondo Java, qui il caso \u00e8 speciale: insieme a Doug Lea ha sviluppato quegli algoritmi non bloccanti e le code sincronizzate su cui si basano le librerie Java. Proprio di questo tratter\u00e0 il keynote \u00abStrutture dati duali\u00bb \u2014 l'implementazione di queste strutture in Java SE 6 ha permesso di migliorare le prestazioni di 10 volte <code>java.util.concurrent.ThreadPoolExecutor<\/code>. Se siete curiosi di sapere cosa siano queste \u00abStrutture dati duali\u00bb, c'\u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.cs.rochester.edu\/research\/synchronization\/pseudocode\/duals.html\">un lavoro corrispondente<\/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 e il futuro del calcolo distribuito<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del 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 vincitore di ben due premi Dijkstra. Il primo \u2014 per un lavoro su <noindex><a rel=\"nofollow\" href=\"https:\/\/cs.brown.edu\/~mph\/Herlihy91\/p124-herlihy.pdf\">\u00abWait-Free Synchronization\u00bb<\/a><\/noindex> (Brown University), e il secondo, pi\u00f9 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). Il premio Dijkstra viene assegnato per lavori la cui rilevanza e impatto siano stati evidenti per almeno dieci anni, e chiaramente, Maurice \u00e8 uno dei pi\u00f9 noti esperti in questo campo. Attualmente \u00e8 professore all'Universit\u00e0 di Brown e ha molteplici successi che meriterebbero un paragrafo intero.<\/p>\n<p><\/p>\n<p>In questo keynote finale, Maurice parler\u00e0 della teoria e della pratica dei sistemi distribuiti basati su blockchain dal punto di vista della classica informatica distribuita e di come ci\u00f2 semplifichi molti problemi correlati. Questa presentazione \u00e8 esclusivamente in linea con il tema della conferenza \u2014 non \u00e8 affatto riguardo al mining hype, ma piuttosto su come le nostre conoscenze possano essere sorprendentemente efficaci e pertinenti per una variet\u00e0 di problemi.<\/p>\n<p><\/p>\n<p>Nel luglio 2017, Maurice \u00e8 gi\u00e0 venuto in Russia per la scuola SPTDC, ha partecipato al meetup JUG.ru, e la registrazione pu\u00f2 essere vista su 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=\"Guarda il 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\">Programma principale<\/h2>\n<p><\/p>\n<p>Di seguito troverete una breve panoramica delle relazioni incluse nel programma. Alcune relazioni sono descritte in dettaglio, altre in modo pi\u00f9 conciso. Le descrizioni pi\u00f9 lunghe sono state assegnate principalmente ai relatori di lingua inglese, che richiedono riferimenti a lavori scientifici, termini su Wikipedia, e cos\u00ec via. L'elenco completo pu\u00f2 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/#schedule\">essere visualizzato sul sito della conferenza<\/a><\/noindex>. L'elenco sul sito verr\u00e0 aggiornato e ampliato. <\/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 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/4c6d5928be31af95cd3e2a7812e86854.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Leslie Lamport \u00e8 l'autore di opere fondamentali nel calcolo distribuito. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/LaTeX\">\u00abLaTeX\u00bb<\/a><\/noindex> \u00e8 l'acronimo di \u00abLamport TeX\u00bb. \u00c8 lui che ha introdotto per la prima volta, nel 1979, il concetto di <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/multi.pdf\">coerenza sequenziale<\/a><\/noindex>, e il suo articolo <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/pubs\/time-clocks.pdf\">\u00abHow to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs\u00bb<\/a><\/noindex> ha ricevuto il premio Dijkstra.<\/p>\n<p><\/p>\n<p>Questa \u00e8 la parte del programma pi\u00f9 insolita nel formato, perch\u00e9 non \u00e8 nemmeno una relazione, ma una sessione di domande e risposte. Quando una parte significativa del pubblico \u00e8 gi\u00e0 familiare (o pu\u00f2 familiarizzare) con vari lavori basati sulla \u00abteoria di Lamport\u00bb, le sue stesse articoli e relazioni, \u00e8 fondamentale dedicare tutto il tempo disponibile alla comunicazione diretta.<\/p>\n<p><\/p>\n<p>L'idea \u00e8 semplice: guardate su YouTube due relazioni: <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/6QsTfL-uXd8\">\u00abLa programmazione dovrebbe essere pi\u00f9 di codifica\u00bb<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.heidelberg-laureate-forum.org\/blog\/video\/lecture-monday-september-24-2018-leslie-lamport\/\">\u00abSe non stai scrivendo un programma, non usare un linguaggio di programmazione\u00bb<\/a><\/noindex> e preparate almeno una domanda, mentre Leslie risponde.<\/p>\n<p><\/p>\n<p>Il primo di questi due video lo abbiamo gi\u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/jugru\/blog\/454898\/\">trasformato in un articolo hub<\/a><\/noindex>. Se non avete un'ora di tempo per guardare il video, potete rapidamente leggere tutto questo in forma scritta.<\/p>\n<p><\/p>\n<p>Nota: su YouTube ci sono molte pi\u00f9 video con Leslie Lamport. Ad esempio, c'\u00e8 un ottimo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=p54W-XOIEF8&amp;list=PLWAv2Etpa7AOAwkreYImYt0gIpOdWQevD\">corso su TLA+<\/a><\/noindex>. La versione offline di tutto questo corso \u00e8 disponibile sulla <noindex><a rel=\"nofollow\" href=\"http:\/\/lamport.azurewebsites.net\/video\/videos.html\">pagina personale dell'autore<\/a><\/noindex>, mentre su YouTube \u00e8 stata ripubblicata per una visione pi\u00f9 comoda sui dispositivi mobili.<\/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\">Sincronizzare i dati tra i dispositivi degli utenti per una collaborazione distribuita<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/09af25ab1ce915ba13ec6ee1013878f6.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Martin Kleppmann \u00e8 un ricercatore all'Universit\u00e0 di Cambridge, dove lavora su CRDT e verifica formale degli algoritmi. Il libro di Martin <noindex>\u00abDesigning Data-Intensive Applications\u00bb<\/noindex>, pubblicato nel 2017, \u00e8 stato molto apprezzato ed \u00e8 entrato nelle liste dei bestseller nel campo della memorizzazione e del trattamento dei dati. Kevin Scott, CTO di Microsoft, <noindex><a rel=\"nofollow\" href=\"https:\/\/martin.kleppmann.com\/2017\/03\/27\/designing-data-intensive-applications.html\">ha detto una volta<\/a><\/noindex>: \u00abQuesto libro dovrebbe essere obbligatorio per gli ingegneri del software. \u00c8 una risorsa rara che unisce teoria e pratica, aiutando gli sviluppatori a progettare e implementare in modo pi\u00f9 intelligente infrastrutture e sistemi di elaborazione dati\u00bb. Qualcosa di simile \u00e8 stato detto anche dal creatore di Kafka e CTO di Confluent, Jay Kreps.<\/p>\n<p><\/p>\n<p>Prima di dedicarsi alla ricerca accademica, Martin ha lavorato nell'industria ed \u00e8 stato cofondatore di due startup di successo:<\/p>\n<p><\/p>\n<ul>\n<li>Rapportive, dedicato alla visualizzazione del profilo sociale dei contatti dalla tua email, acquisito da LinkedIn nel 2012;<\/li>\n<li>Go Test It, un servizio per il controllo automatico dei siti web su diversi browser, acquisito da RedGate nel 2009.<\/li>\n<\/ul>\n<p><\/p>\n<p>In generale, Martin, sebbene meno conosciuto dei nostri relatori principali, ha gi\u00e0 contribuito sia allo sviluppo del calcolo distribuito che all'industria.<\/p>\n<p><\/p>\n<p>In questa presentazione, Martin parler\u00e0 di un argomento pi\u00f9 vicino alle sue ricerche accademiche. In Google Docs e software simili per la modifica collaborativa dei documenti, \"modifica collaborativa\" significa una task di replicazione: ogni utente ha una propria replica del documento condiviso, che poi modifica e tutte le modifiche vengono inviate in rete agli altri partecipanti. Le modifiche ai documenti in modalit\u00e0 offline portano a una temporanea inconsistenza del documento rispetto agli altri partecipanti, e la resincronizzazione richiede la gestione dei conflitti. Per questo esistono <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Conflict-free_replicated_data_type\">Tipi di Dati Replicati Senza Conflitti<\/a><\/noindex> (CRDT), essenzialmente una cosa piuttosto nuova, la cui essenza \u00e8 stata formulata solo nel 2011. In questa presentazione si discute di cosa \u00e8 successo da allora nel mondo dei CRDT, quali sono gli ultimi progressi, si discute l'approccio alla creazione di applicazioni local-first in generale e l'uso della libreria open source <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/automerge\/automerge\">Automerge<\/a><\/noindex> in particolare.<\/p>\n<p><\/p>\n<blockquote><p>La prossima settimana pubblicheremo su Habr un'intervista approfondita con Martin, sar\u00e0 interessante.<\/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\">Strutture dati senza attesa e transazioni senza attesa<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/be9b98f5ab95d0f6646dfcb4cee38978.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Pedro lavora in Cisco e sviluppa algoritmi paralleli da circa dieci anni, inclusi meccanismi di sincronizzazione, strutture dati lock-free e wait-free e tutto ci\u00f2 che puoi immaginare su questo tema. I suoi attuali interessi accademici e ingegneristici sono focalizzati su Universal Constructions, Software Transactional Memory, Persistent Memory e tecnologie simili che consentono di realizzare applicazioni corrette, scalabili e resilienti. Inoltre, \u00e8 l'autore di un blog ampiamente conosciuto in ambienti ristretti <noindex><a rel=\"nofollow\" href=\"http:\/\/concurrencyfreaks.blogspot.com\/\">Concurrency Freaks<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Attualmente, la maggior parte delle applicazioni multithreading funziona su strutture dati parallele, che vanno dall'uso di code di messaggi tra attori all'indicizzazione delle strutture dati nei repository key-value. In Java JDK funzionano con successo da molti anni e anche in C++ vengono lentamente implementate.<\/p>\n<p><\/p>\n<p>Il modo pi\u00f9 semplice per implementare una struttura dati parallela \u00e8 una realizzazione sequenziale (monotemetica), in cui i metodi sono protetti da mutex. Questo \u00e8 accessibile a qualsiasi principiante, ma presenta evidenti problemi di scalabilit\u00e0 e prestazioni. Allo stesso tempo, le strutture dati lock-free e wait-free non solo gestiscono meglio gli errori, ma offrono anche un profilo delle prestazioni pi\u00f9 favorevole; tuttavia, la loro progettazione richiede una profonda esperienza e un adattamento al contesto applicativo specifico. Una riga di codice sbagliata basta per rompere tutto.<\/p>\n<p><\/p>\n<p>Come fare in modo che anche un non esperto possa progettare e implementare tali strutture dati? \u00c8 noto che qualsiasi algoritmo sequenziale pu\u00f2 essere reso thread-safe tramite <noindex><a rel=\"nofollow\" href=\"https:\/\/hal.inria.fr\/hal-01397265v1\/document\">una costruzione universale<\/a><\/noindex>, oppure una memoria transazionale. Entrambi possono abbassare la soglia di ingresso per risolvere questo problema. Tuttavia, entrambe le soluzioni portano generalmente a implementazioni inefficienti. Pedro parler\u00e0 di come sono riusciti a rendere queste costruzioni pi\u00f9 efficienti e come possono essere utilizzate per i propri algoritmi.<\/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\">Liberare il consenso distribuito<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/09dd05684fde1015a87818f0b6804680.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Heidi Howard, come Martin, \u00e8 un ricercatore di sistemi distribuiti all'Universit\u00e0 di Cambridge. La sua specializzazione \u00e8 la coerenza, la tolleranza agli errori, le prestazioni e il consenso distribuito. \u00c8 soprattutto conosciuta per la generalizzazione dell'algoritmo Paxos chiamata <noindex><a rel=\"nofollow\" href=\"https:\/\/fpaxos.github.io\/\">Flexible Paxos<\/a><\/noindex>. <\/p>\n<p><\/p>\n<p>Ricordiamo che <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Paxos_(computer_science)\">Paxos<\/a><\/noindex> \u2014 una famiglia di protocolli per risolvere il problema del consenso in una rete di calcolatori inaffidabili, basata sul lavoro di Leslie Lamport. Pertanto, alcuni dei nostri relatori si occupano di problemi originariamente proposti da altri nostri relatori \u2014 ed \u00e8 meraviglioso.<\/p>\n<p><\/p>\n<p>La possibilit\u00e0 di trovare un consenso tra diversi host \u2014 per indirizzamento, scelta del leader, blocco o coordinamento \u2014 \u00e8 una questione fondamentale dei moderni sistemi distribuiti. Paxos \u00e8 attualmente il principale metodo per risolvere i problemi di consenso e ci sono molti studi in corso per espandere e ottimizzare l'algoritmo per vari bisogni pratici. <\/p>\n<p><\/p>\n<p>In questa presentazione rivedremo le basi teoriche di Paxos, allentando i requisiti originali e generalizzando l'algoritmo. Vedremo che Paxos, in sostanza, \u00e8 solo una delle varianti tra un ampio spettro di approcci al consenso e che anche altre aree dello spettro possono essere molto utili per costruire buoni sistemi distribuiti.<\/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\">Riduci i tuoi costi di archiviazione con la Replica Transitoria e i Quorum Economici<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/178a1db3cf49b5ff73a0c9101ab3845c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Alex \u00e8 un esperto in database e sistemi di archiviazione e, cosa importante per noi, un committente in <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Apache_Cassandra\">Cassandra<\/a><\/noindex>. Insieme a O'Reilly, sta attualmente lavorando a un libro intitolato Database Internals.<\/p>\n<p><\/p>\n<p>Per i sistemi con <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Eventual_consistency\">coerenza finale<\/a><\/noindex> (nella terminologia russa \u2014 \"consistenza nel lungo periodo\"), dopo un guasto di un nodo o la divisione di una rete, \u00e8 necessario affrontare il seguente dilemma: continuare a eseguire richieste, sacrificando la consistenza, o rifiutare di eseguirle e sacrificare la disponibilit\u00e0. In un tale sistema, i quorum, sottoinsiemi sovrapposti di nodi che garantiscono che almeno un nodo contenga il valore pi\u00f9 recente, possono costituire una buona soluzione di compromesso. \u00c8 possibile superare guasti e perdite di connessione a determinati nodi, continuando a rispondere con i valori pi\u00f9 recenti.<\/p>\n<p><\/p>\n<p>Tuttavia, ogni cosa ha il suo prezzo. Uno schema di replicazione a quorum comporta un costo di archiviazione aumentato: \u00e8 necessario conservare dati ridondanti su pi\u00f9 nodi contemporaneamente per garantire un numero sufficiente di copie disponibili al momento del problema. Si scopre che non \u00e8 necessario memorizzare tutti i dati su tutte le repliche. \u00c8 possibile ridurre il carico dell'archiviazione mantenendo i dati solo su alcuni nodi e utilizzando nodi speciali (Replica Transitoria) per scenari di gestione dei guasti.<\/p>\n<p><\/p>\n<p>Durante la presentazione esamineremo <noindex><a rel=\"nofollow\" href=\"http:\/\/citeseerx.ist.psu.edu\/viewdoc\/download?doi=10.1.1.146.3429&amp;rep=rep1&amp;type=pdf\">Replica Testimone<\/a><\/noindex>, uno schema di replicazione utilizzato in <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Spanner_(database)\">Spanner<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2011\/Papers\/CIDR11_Paper32.pdf\">Megastore<\/a><\/noindex>, e l'implementazione di questo concetto in Apache Cassandra sotto i nomi di <noindex><a rel=\"nofollow\" href=\"https:\/\/jira.apache.org\/jira\/browse\/CASSANDRA-14404?subTaskView=all\">Replica Transitoria &amp; Quorum Economici<\/a><\/noindex>.<\/p>\n<p><\/p>\n<h3 id=\"dmitriy-vyukov---goroutines-exposedhttpshydraconfru2019talks7336ginp0kke7n4yxxjvldutm_sourcehabrutm_medium453832\">Dmitry V'yukov \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/7336ginp0kke7n4yxxjvld\/?utm_source=habr&amp;utm_medium=453832\">Goroutines esposte<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/94ce38f8cc366bbd2ee53b9636e4650d.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitry \u00e8 uno sviluppatore presso Google, che lavora su test dinamici in C\/C++ e Go - Address\/Memory\/ThreadSanitizer e su strumenti simili per il kernel di Linux. Ha contribuito a Go con uno scheduler scalabile per goroutine, un poller di rete e un garbage collector parallelo. \u00c8 un esperto di multithreading, autore di una dozzina di nuovi algoritmi non bloccanti ed \u00e8 in possesso <noindex><a rel=\"nofollow\" href=\"https:\/\/software.intel.com\/en-us\/blackbelt\">della cintura nera<\/a><\/noindex> Intel.<\/p>\n<p><\/p>\n<p>Ora un po' sulla presentazione. Il linguaggio Go ha un supporto nativo per il multithreading in forma di goroutine (thread leggeri) e canali (code FIFO). Grazie a questi meccanismi, per gli utenti \u00e8 molto facile e piacevole scrivere moderne applicazioni multithread, e sembra quasi magia. Come sappiamo, di magia qui non c'\u00e8 nulla. In questa presentazione, Dmitry approfondir\u00e0 le sottigliezze del funzionamento dello scheduler di Go e sveler\u00e0 i segreti dell'implementazione di questa \"magia\". Inizialmente, fornir\u00e0 una panoramica dei componenti principali dello scheduler e spiegher\u00e0 come funziona. Successivamente, ci addentreremo in aspetti specifici come la strategia di parcheggio\/sosta e la gestione delle chiamate di sistema bloccanti. Infine, Dmitry parler\u00e0 brevemente di possibili miglioramenti nello 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 \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/1po7b00j6m4vst3df7aqto\/?utm_source=habr&amp;utm_medium=453832\">Acceleriamo l'analisi distribuita dei grafi con l'ausilio di sketch probabilistici e non solo<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/f963ef8ac1a37011aa387016dc938b3c.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Dmitry ha lavorato per quasi 9 anni nell'outsourcing, mantenendo i contatti con l'universit\u00e0 e il mondo accademico. L'analisi dei big data in Odnoklassniki \u00e8 stata per lui un'opportunit\u00e0 unica per combinare la preparazione teorica e la base scientifica con lo sviluppo di prodotti reali e richiesti.<\/p>\n<p><\/p>\n<p>L'analisi distribuita dei grafi \u00e8 stata e rimane una sfida complessa: quando \u00e8 necessario ottenere informazioni sui legami di un nodo vicino, i dati spesso devono essere trasferiti tra macchine, il che porta a un aumento del tempo di esecuzione e del carico sulla rete. In questa presentazione vedremo come possiamo ottenere un significativo acceleramento dell'elaborazione, utilizzando strutture di dati probabilistiche o fatti come la simmetria del grafo di amicizia in una rete sociale. Tutto ci\u00f2 sar\u00e0 illustrato con esempi di codice su 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 \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/hydraconf.ru\/2019\/talks\/5e3yibth8vha0jbyoywpm6\/?utm_source=habr&amp;utm_medium=453832\">Riduci i tuoi costi di archiviazione con la Replica Transitoria e i Quorum Economici<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/700bfb1a35280932f654a9c34413e2d4.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Denis \u00e8 uno sviluppatore <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Cosmos_DB\">Cosmos DB<\/a><\/noindex>, esperto nel campo della verifica dei modelli di coerenza, negli algoritmi di consenso e nelle transazioni distribuite. Attualmente lavora in Microsoft, e in precedenza si \u00e8 occupato di sistemi distribuiti in Amazon e Yandex.<\/p>\n<p><\/p>\n<p>In questa presentazione ci familiarizzeremo con i protocolli di transazioni distribuite sviluppati negli ultimi anni, che possono essere implementati sul lato client sopra qualsiasi archiviazione dati che supporti l'aggiornamento condizionale (compare and set). Il punto \u00e8 che la vita non finisce con il commit a due fasi, si possono aggiungere transazioni sopra qualsiasi database \u2014 a livello di applicazione, ma diversi protocolli (2PC, Percolator, RAMP) hanno differenti trade-off e non sono gratuiti.<\/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\">Non tutti gli algoritmi di ML approdano nel paradiso distribuito<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del 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 \u00e8 nostro oratore di lunga data e membro dei comitati di programma di altre conferenze. Allenatore pratico presso EPAM Systems, ha familiarit\u00e0 con Hadoop\/Spark e altre tecnologie Big Data dal 2012.<\/p>\n<p><\/p>\n<p>In questa presentazione, Aleksey parler\u00e0 dei problemi di adattamento degli algoritmi classici di apprendimento automatico per essere eseguiti in modalit\u00e0 distribuita, basandosi sulla sua esperienza con Apache Spark ML, Apache Mahout, Apache Flink ML e sull'esperienza nella creazione di Apache Ignite ML. Aleksey discuter\u00e0 anche dell'implementazione di algoritmi ML distribuiti in questi framework.<\/p>\n<p><\/p>\n<p>E per finire \u2014 due presentazioni da Yandex su 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 come garantiamo l'affidabilit\u00e0<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/3bdb3bec0ec0eb71db373e85afad6260.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Vladislav \u00e8 uno sviluppatore presso Yandex nel gruppo della piattaforma distribuita. Yandex Database \u00e8 un DBMS geograficamente distribuito e scalabile orizzontalmente, in grado di tollerare guasti di dischi, server, rack e data center senza compromettere la coerenza. Per garantire l'affidabilit\u00e0 viene utilizzato un algoritmo proprietario per raggiungere il consenso distribuito, cos\u00ec come una serie di soluzioni tecniche che vengono analizzate nel dettaglio nella presentazione. La presentazione pu\u00f2 essere interessante sia per gli sviluppatori di DBMS che per quelli di soluzioni applicative basate su 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\">Transazioni distribuite in YDB<\/a><\/noindex><\/h3>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"19 teste dell&#039;Idra. Ampia panoramica del programma\" src=\"\/wp-content\/uploads\/2019\/06\/0cf2b40fcabfba1a774f00c9f245b8f1.jpeg\" style=\"display:block;margin: 0 auto;\" \/> Semyon \u00e8 uno sviluppatore nel gruppo della piattaforma distribuita di Yandex, lavora sulla possibilit\u00e0 di utilizzo multi-tenant dell'installazione YDB.<\/p>\n<p><\/p>\n<p>Il Database di Yandex \u00e8 progettato per richieste OLTP e soddisfa i requisiti ACID per i sistemi transazionali. Nel rapporto esamineremo l'algoritmo di pianificazione delle transazioni che sta alla base del sistema transazionale YDB. Analizzeremo quali entit\u00e0 partecipano alle transazioni, chi stabilisce l'ordine globale delle transazioni, come viene raggiunta l'atomicit\u00e0 delle transazioni, l'affidabilit\u00e0 e il livello di isolamento rigoroso. Utilizzando un compito comune, esamineremo le implementazioni delle transazioni attraverso l'uso del commit a due fasi e delle transazioni deterministiche. Discuteremo le loro differenze.<\/p>\n<p><\/p>\n<h2 id=\"chto-dalshe\">Cosa succede dopo?<\/h2>\n<p><\/p>\n<p>Il programma della conferenza continua a essere arricchito con nuove relazioni. In particolare, ci aspettiamo un intervento da <strong>Nikita Koval<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/ndkoval\/\" class=\"user_link\">ndkoval<\/a><\/noindex>) di JetBrains e <strong>Oleg Anastasiev<\/strong> (<noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/m0nstermind\/\" class=\"user_link\">m0nstermind<\/a><\/noindex>) della compagnia Odnoklassniki. Nikita si occupa di algoritmi per coroutine nel team di Kotlin, mentre Oleg sviluppa architetture e soluzioni per sistemi ad alta intensit\u00e0 di carico sulla piattaforma di Odnoklassniki. Inoltre, c'\u00e8 ancora 1 slot condizionatamente vuoto, con cui il comitato programmatico sta attualmente lavorando sui candidati.<\/p>\n<p><\/p>\n<p>La conferenza Hydra si svolger\u00e0 l'11-12 luglio a San Pietroburgo. I biglietti possono essere <noindex>acquistati sul sito ufficiale<\/noindex>. Si segnala la disponibilit\u00e0 di biglietti online, nel caso in cui per qualche motivo non possiate raggiungere San Pietroburgo di persona in quei giorni.<\/p>\n<p><\/p>\n<p>Ci vediamo su Hydra!<\/p>\n<p>Fonte: <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.1.1 - 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\/it\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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 teste dell'idra. Grande panoramica del programma | ProHoster","description":"L'11-12 luglio a San Pietroburgo si terr\u00e0 la conferenza Hydra, dedicata allo sviluppo di sistemi paralleli e distribuiti.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/19-golov-gidry-bolshoj-obzor-programmy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/35091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=35091"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/35091\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/26388"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=35091"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=35091"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=35091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}