19 huvuden av hydran. Stort översikt av programmet

11-12 juli Àger konferensen rum i Sankt Petersburg Hydra, som handlar om utvecklingen av parallella och distribuerade system. Hydras styrka ligger i att den samlar fantastiska forskare (som vanligtvis endast finns pÄ internationella vetenskapliga konferenser) och kÀnda praktiska ingenjörer i ett stort program som grÀnsar till vetenskap och praktik.

Hydra Àr en av de viktigaste konferenserna vi har haft de senaste Ären. Den föregicks av en mycket grundlig förberedelse, urval av talare och presentationer. Förra veckan kom det ut ett intervju med Habr, med direktören för JUG.ru Group, Aleksej Fedotov (23derevo).

Vi redan har diskuterat , om tre viktiga deltagare, grundarna av teorin om distribuerade system — Leslie Lamport, Maurice Herlihy och Michael Scott. Det Ă€r dags att prata mer ingĂ„ende om hela programmet!

19 huvuden av hydran. Stort översikt av programmet

Motivation

Om du sysslar med programmering har du pÄ ett eller annat sÀtt att göra med multitrÄdning och distribuerade berÀkningar. Specialister inom motsvarande omrÄden arbetar direkt med dem, men implicit ser distribuerade system pÄ oss frÄn alla hÄll: i varje flerkÀrnig dator eller distribuerad tjÀnst finns det nÄgot som utför berÀkningar parallellt.

Det finns mÄnga konferenser som belyser olika aspekter av tillÀmpad programmering. PÄ andra sidan spektrumet har vi specialiserade vetenskapliga skolor, i form av förelÀsningar som tar upp enorma mÀngder komplex teori. Till exempel pÄgÄr parallellt med Hydra i Petersburg skolan SPTDC.. PÄ konferensen Hydra har vi försökt sammanföra bÄde hÄrd praktik och vetenskap, och allt det som ligger i skÀrningspunkten.

TĂ€nk pĂ„ detta: vi lever i en fantastisk tid dĂ„ det Ă€r möjligt att möta grundarna av det vetenskaps- och ingenjörsomrĂ„de vi arbetar med. Fysiker trĂ€ffar varken Newton eller Einstein — tĂ„get har gĂ„tt. Men bredvid oss lever fortfarande de som skapade grunderna för teorin om distribuerade system, uppfann populĂ€ra programmeringssprĂ„k, och först genomförde allt detta i fungerande prototyper. Dessa mĂ€nniskor har inte övergivit sitt arbete halvvĂ€gs, utan arbetar just nu med aktuella frĂ„gor pĂ„ vĂ€rldskĂ€nda universitet och företag, och Ă€r idag de största kĂ€llorna till kunskap och erfarenhet.

Å andra sidan Ă€r möjligheten att trĂ€ffa dem oftast rent teoretisk: fĂ„ av oss kan stĂ€ndigt övervaka offentliga evenemang pĂ„ nĂ„got universitet i Rochester för att sedan snabbt resa till USA och tillbaka till en förelĂ€sning med Michael Scott. Att besöka alla deltagare i Hydra skulle kosta en hel del, utan att rĂ€kna med den oĂ€ndliga mĂ€ngden tid som skulle gĂ„ (Ă€ven om det lĂ„ter som en intressant quest).

Å andra sidan har vi mĂ„nga topptekniker som just nu arbetar med aktuella problem inom distribuerade system, och de har definitivt nĂ„got att berĂ€tta. Men problemet Ă€r att de fungerar, och deras tid Ă€r dyr. Ja, om du Ă€r anstĂ€lld hos Microsoft, Google eller JetBrains ökar sannolikheten att trĂ€ffa en av de kĂ€nda talarna pĂ„ ett internt evenemang dramatiskt, men generellt - nej, det hĂ€nder inte varje dag.

DĂ€rför fyller konferensen Hydra en viktig uppgift som de flesta av oss inte kan göra sjĂ€lva – i en och samma plats och vid en och samma tid samlar mĂ€nniskor vars idĂ©er eller kommunikation kan förĂ€ndra ditt liv. Jag medger att inte alla behöver distribuera system eller komplexa fundamentala koncept. Man kan programmerar CRUD-applikationer i PHP hela livet och Ă€ndĂ„ vara helt lycklig. Men för de som behöver det – det Ă€r din chans.

Sedan den första annonseringen av konferensen Hydra pĂ„ Habr har det gĂ„tt ganska mycket tid. Under denna tid har ett enormt arbete gjorts – och nu har vi en lista över nĂ€stan alla föredrag. Inga trĂ„kiga entrĂ„diga algoritmer, bara ren distribuerad hardcore! LĂ„t oss avsluta med allmĂ€nna ord och se vad vi har nu.

Keynotes

Keynotes inleder och avslutar konferensdagarna. Vanligtvis Àr syftet med den öppnande keynoten att stÀlla in den allmÀnna tonen och riktningen för konferensen. Den avslutande keynoten sammanfattar och förklarar hur vi ska leva med de kunskaper och fÀrdigheter vi fÄtt under konferensens dagar. Början och slutet: det som kommer att minnas bÀst och som överhuvudtaget har ökad betydelse.

Cliff Click – The H2O distributed K/V algorithm

19 huvuden av hydran. Stort översikt av programmet Cliff Ă€r en legend inom Java-vĂ€rlden. I slutet av 90-talet skrev han en avhandling med titeln «Combining Analyses, Combining Optimizations», som efter en tid blev grundlaget for HotSpot JVM Server Compiler. TvĂ„ Ă„r senere arbejdede han allerede hos Sun Microsystems med JVM og viste verden, at JIT har ret til at eksistere. Hele denne historie om, at Java er en af de hurtigste moderne runtime-miljĂžer med de smarteste og hurtigste optimeringer, stammer fra Cliff Click. I starten blev det anset for, at hvis noget var tilgĂŠngeligt for en statisk compiler, skulle man ikke engang forsĂžge at JIT’te det. Takket vĂŠre Cliff og holdets arbejde begyndte alle nye sprog at blive skabt med idĂ©en om JIT-kompilering som standard. Uden tvivl var dette et arbejde, der ikke var for Ă©n person, men Cliff spillede en meget vigtig rolle i det.

I den Ă„bnende keynote vil Cliff tale om et andet af sine projekter — H20, en in-memory platform til distribueret og skalerbar maskinlĂŠring til industriel anvendelse. Mere specifikt — om det distribuerede lagringssystem af "nĂžgle-vĂŠrdi" par indeni. Dette er en meget hurtig lagerlĂžsning med masser af interessante egenskaber (den prĂŠcise liste findes i beskrivningen), som tillader brugen af lignende lĂžsninger i matematik til streaming af store data.

En anden prĂŠsentation, som Cliff vil give — The Azul Hardware Transactional Memory experience. En anden del af hans biografi — ti Ă„r arbejde hos Azul, hvor han opdaterede og forbedrede meget pĂ„ hĂ„rdvaren og teknologistakken i Azul: JIT-kompilatorer, runtime, trĂ„dmodel, fejlhĂ„ndtering, arbejde med stakken, hardware-interrupter, klasseindlĂŠsning og sĂ„ videre — ja, du forstod.

Den mest interessante del begyndte, da de lavede hardware til store virksomheder — en supercomputer til kĂžrsel af Java. Dette var en ret innovativ lĂžsning, der var specifikt designet til Java, der har sĂŠrlige krav — lĂŠsbarhedsbariere for lav-latens affaldssamling, arrays med grĂŠnsekontrol, virtuelle opkald
 En af de mest imponerende teknologier — hardware-transaktionel hukommelse. Hele L1 fra hver af de 864 kerner kunne deltage i transaktionel skrivning, hvilket er sĂŠrlig vigtigt for arbejdet med lĂ„sninger i Java (synchronized-blokke kan kĂžre parallelt, sĂ„ lĂŠnge der ikke er reelle hukommelseskonflikter). Men den smukke idĂ© brast mod den barske virkelighed — og i denne prĂŠsentation vil Cliff fortĂŠlle, hvorfor HTM og STM ikke egner sig sĂŠrlig godt til praktiske behov inden for multitrĂ„dede beregninger.

Michael Scott — Dubbla datastrukturer

19 huvuden av hydran. Stort översikt av programmet Michael Scott — professor i datavetenskap vid University of Rochester, dĂ€r ödet har förenat honom i 34 Ă„r, och vid sitt hemuniversitet Wisconsin–Madison var han dekan i fem Ă„r. Han forskar inom parallell och distribuerad programmering och programmeringssprĂ„k och utbildar studenter inom detta.

Hela vĂ€rlden kĂ€nner Michael tack vare lĂ€roboken «Programming Language Pragmatics», vars senaste upplaga kom relativt nyligen — 2015. Hans arbete «Algorithms for scalable synchronization on shared-memory multiprocessors» har fĂ„tt Dijkstra-priset Ă€r en av de mest kĂ€nda inom distribuerad databehandling och ligger öppet i onlinebiblioteket vid University of Rochester. Du kanske ocksĂ„ kĂ€nner honom som författaren till den berömda Michael-Scott-algoritmen frĂ„n «Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms».

NĂ€r det kommer till Java-vĂ€rlden Ă€r detta ett sĂ€rskilt fall: tillsammans med Doug Lea utvecklade han dessa icke-blockerande algoritmer och synkrona köer som Java-biblioteken Ă€r baserade pĂ„. Det Ă€r vad keynote-presentationen «Dubbla datastrukturer» handlar om — implementeringen av dessa strukturer i Java SE 6 har förbĂ€ttrat prestandan med tio gĂ„nger java.util.concurrent.ThreadPoolExecutor. Om du Ă€r intresserad av vad dessa «Dubbla datastrukturer» Ă€r, sĂ„ finns det en motsvarande studie.

Maurice Herlihy — Blockchains och framtiden för distribuerad databehandling

19 huvuden av hydran. Stort översikt av programmet Maurice Herlihy — innehavare av hela tvĂ„ Dijkstra-priser. Det första — för arbete vid «Wait-Free Synchronization» (Brown University), och det andra, mer nyligen — «Transactional Memory: Architectural Support for Lock-Free Data Structures» (Virginia Tech University). Dijkstra-priset tilldelas för arbeten vars betydelse och inflytande har varit mĂ€rkbara under minst tio Ă„r, och det Ă€r uppenbart att Maurice Ă€r en av de mest kĂ€nda experterna inom omrĂ„det. För nĂ€rvarande Ă€r han professor vid Brown University och har mĂ„nga prestationer som skulle fylla ett helt stycke.

I denna avslutande keynote kommer Maurice att tala om teorin och praktiken av blockchain-baserade distribuerade system ur ett klassiskt perspektiv av distribuerad databehandling och hur detta förenklar mĂ„nga relaterade problem. Detta Ă€r en förelĂ€sning som Ă€r helt i konferensens Ă€mne — inte om mining-hype, utan snarare om hur vĂ„r kunskap kan anvĂ€ndas pĂ„ en överraskande effektiv och relevant sĂ€tt för olika uppgifter.

I juli 2017 besökte Maurice redan Ryssland för SPTDC-skolan, deltog vid JUG.ru-mötet, och inspelningen kan ses pÄ YouTube:

Spela video

Huvudprogrammet

HÀr kommer en kort översikt av presentationerna som ingÄr i programmet. Vissa presentationer beskrivs hÀr i detalj, medan andra Àr mer kortfattade. LÀngre beskrivningar har mestadels tilldelats engelsksprÄkiga presentationer som krÀver hÀnvisningar till vetenskapliga artiklar, termer pÄ Wikipedia, och sÄ vidare. Den fullstÀndiga listan kan ses pÄ konferensens webbplats. Listan pÄ webbplatsen kommer att uppdateras och kompletteras.

Leslie Lamport — FrĂ„gor & Svar

19 huvuden av hydran. Stort översikt av programmet Leslie Lamport Àr författare till grundlÀggande verk inom distribuerade berÀkningar. "LaTeX" stÄr för "Lamport TeX". Det var han som först, redan 1979, introducerade konceptet sekventiell konsistens, och hans artikel "How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs" fick Dijkstra-priset.

Detta Àr den mest ovanliga delen av programmet i och med att det inte ens Àr en presentation, utan en frÄgestund. NÀr en betydande del av publiken redan Àr bekant (eller kan bli bekant) med olika verk baserade pÄ "Lamports teori", hans egna artiklar och presentationer, Àr det viktigaste att anvÀnda all tillgÀnglig tid för direkt kommunikation.

IdĂ©n Ă€r enkel — du ser pĂ„ YouTube tvĂ„ presentationer: "Programming Should Be More Than Coding" och "If You’re Not Writing a Program, Don’t Use a Programming Language" och förbereder Ă„tminstone en frĂ„ga, som Leslie svarar pĂ„.

Den första av dessa tvÄ videor har vi redan omvandlat till en artikel. Om du inte har en timme att se pÄ videon kan du snabbt lÀsa igenom allt detta i textformat.

Observera: Det finns mycket mer video med Leslie Lamport pÄ YouTube. Till exempel finns det en fantastisk kurs om TLA+. Offline-versionen av hela kursen finns pÄ författarens hemsida, och pÄ YouTube har han laddat upp det för enklare visning pÄ mobila enheter.

Martin Kleppmann — Synkronisering av data över anvĂ€ndares enheter för distribuerat samarbete

19 huvuden av hydran. Stort översikt av programmet Martin Kleppmann Àr forskare vid Cambridge University som arbetar med CRDT och formell verifiering av algoritmer. Martins bok "Designing Data-Intensive Applications", publicerad 2017, har blivit mycket framgÄngsrik och har hamnat pÄ bestsellerlistor inom datalagring och bearbetning. Kevin Scott, CTO pÄ Microsoft, har en gÄng sagt: "Denna bok borde vara obligatorisk för utvecklingsingenjörer. Det Àr en sÀllsynt resurs som förenar teori och praktik, vilket hjÀlper utvecklare att bÀttre designa och implementera infrastruktur och databehandlingssystem." NÄgot liknande sa Àven skaparen av Kafka och CTO för Confluent, Jay Kreps.

Innan han började med akademiska studier arbetade Martin inom industrin och var med och grundade tvÄ framgÄngsrika startups:

  • Rapportive, som visade sociala profiler för kontakter frĂ„n din e-post och som LinkedIn köpte 2012;
  • Go Test It, en tjĂ€nst för automatisk testning av webbplatser i olika webblĂ€sare, som RedGate köpte 2009.

Generellt sett Àr Martin, Àven om han Àr mindre kÀnd Àn vÄra huvudtalare, redan i stÄnd att ha bidragit till bÄde utvecklingen av distribuerad databehandling och industrin.

I denna presentation kommer Martin att tala om ett Ă€mne som Ă€r nĂ€rmare hans akademiska forskning. I Google Docs och liknande program för samredigering av dokument innebĂ€r "samredigering" uppgiften att replikera: varje anvĂ€ndare har sin egen kopia av det gemensamma dokumentet som de sedan Ă€ndrar, och alla Ă€ndringar skickas över nĂ€tverket till övriga deltagare. Ändringar av dokument offline kan leda till tillfĂ€llig inkonsistens i dokumentet i förhĂ„llande till de andra deltagarna, och att Ă„ter-synkronisera krĂ€ver hantering av konflikter. Det Ă€r just för detta som det finns Conflict-free Replicated Data Types (CRDT), som i grunden Ă€r en ganska ny idĂ©, vars kĂ€rna formulerades först 2011. I denna presentation diskuteras vad som har hĂ€nt sedan dess i CRDT-vĂ€rlden, vilka de senaste framstegen Ă€r, och tillvĂ€gagĂ„ngssĂ€tt för att skapa lokal-först applikationer generellt samt anvĂ€ndningen av det öppna biblioteket Automerge i synnerhet.

NÀsta vecka kommer vi att publicera en stor intervju med Martin pÄ Habré, det kommer att bli intressant.

Pedro Ramalhete — Wait-free data structures and wait-free transactions

19 huvuden av hydran. Stort översikt av programmet Pedro arbetar pÄ Cisco och har under de senaste tio Ären utvecklat parallella algoritmer, inklusive synkroniseringsmekanismer, lock-free och wait-free datastrukturer och allt som du kan tÀnka dig inom detta Àmne. Hans aktuella forsknings- och ingenjörsintressen Àr inriktade pÄ Universal Constructions, Software Transactional Memory, Persistent Memory och liknande teknologier som möjliggör utvecklingen av korrekta, skalbara och felresistenta applikationer. Dessutom Àr han författare till den vÀlkÀnda bloggen inom nischade kretsar Concurrency Freaks.

De flesta flerlÀnkade applikationer arbetar nu med parallella datastrukturer, frÄn anvÀndandet av meddelandeköer mellan aktörer till indexerade datastrukturer i key-value lagringssystem. I Java JDK har de fungerat framgÄngsrikt i mÄnga Är, och i C++ har de lÄngsamt börjat lÀggas till.

Det enklaste sĂ€ttet att implementera en parallell datastruktur Ă€r en sekventiell (enkelttrĂ„dad) implementation dĂ€r metoderna skyddas av mutexar. Detta Ă€r tillgĂ€ngligt för alla juniorer, men har uppenbara problem med skalbarhet och prestanda. Samtidigt hanterar lock-free och wait-free datastrukturer inte bara fel bĂ€ttre, utan har Ă€ven en mer gynnsam prestandaprofil — men för deras utveckling krĂ€vs djup expertis och anpassning till den specifika anvĂ€ndningen. Ett enda felaktigt kodavsnitt rĂ€cker för att bryta allt.

Hur kan vi se till att Àven icke-experter kan designa och implementera sÄdana datastrukturer? Det Àr kÀnt att varje sekventiell algoritm kan göras trÄdsÀker med antingen en generell konstruktion, eller transaktionell minne. De kan pÄ ett sÀtt sÀnka intrÀdeströskeln för att lösa detta problem. Emellertid leder bÄda lösningarna generellt till ineffektiva implementationer. Pedro kommer att berÀtta om hur de lyckades göra dessa konstruktioner mer effektiva och hur de kan anvÀndas för sina algoritmer.

Heidi Howard — Befria distribuerad konsensus

19 huvuden av hydran. Stort översikt av programmet Heidi Howard — liksom Martin, en forskare inom distribuerade system vid Cambridge University. Hennes specialisering Ă€r konsistens, felresiliens, prestanda och distribuerad konsensus. Hon Ă€r mest kĂ€nd för generaliseringen av Paxos-algoritmen kallad Flexibel Paxos.

LĂ„t oss pĂ„minna om att Paxos — en familj av protokoll för att lösa konsensusproblemet i ett nĂ€tverk av opĂ„litliga berĂ€knare, som bygger pĂ„ arbeten av Leslie Lamport. SĂ„ledes arbetar nĂ„gra av vĂ„ra talare med problem som ursprungligen föreslagits av andra av vĂ„ra talare — och det Ă€r fantastiskt.

Möjligheten att hitta en konsensus mellan flera vĂ€rdar—för adressering, ledarval, blockering eller samordning—Àr en grundlĂ€ggande frĂ„ga för moderna distribuerade system. Paxos Ă€r nu den frĂ€msta metoden för att lösa problem med konsensus, och runt den pĂ„gĂ„r mĂ„nga forskningar för att utvidga och optimera algoritmen för olika praktiska behov.

I denna rapport kommer vi att se över den teoretiska grunden för Paxos, dÀr vi mildrar de ursprungliga kraven och generaliserar algoritmen. Vi kommer att se att Paxos i grunden bara Àr en av mÄnga alternativ inom ett stort spektrum av konsensusmetoder, och att andra punkter i spektrumet ocksÄ Àr mycket anvÀndbara för att bygga bra distribuerade system.

Alex Petrov — Minska dina lagringskostnader med Transient Replication och Billiga Kvorum

19 huvuden av hydran. Stort översikt av programmet Alex Ă€r databas- och lagringssystemexpert, och vad som Ă€r viktigast för oss—kommittĂ©medlem i Cassandra. Tillsammans med O'Reilly arbetar han just nu pĂ„ boken Database Internals.

För system med eventuell konsistens (pĂ„ ryska termen — 'slutlig överensstĂ€mmelse'), efter ett knutpunktfel eller nĂ€tverksavbrott mĂ„ste man lösa följande dilemma: antingen fortsĂ€tta att utföra förfrĂ„gningar, offra konsekvens, eller neka dem och offra tillgĂ€nglighet. I ett sĂ„dant system kan kvorum, överlappande delmĂ€ngder av noder som garanterar att Ă„tminstone en nod innehĂ„ller det senaste vĂ€rdet, bli en bra grĂ€nslösning. Man kan överleva fel och förlust av anslutning till vissa noder och fortsĂ€tta svara med de senaste vĂ€rdena.

Men allt har sitt pris. Kvorumreplikationsschemat innebÀr ökade lagringskostnader: det Àr nödvÀndigt att lagra redundanta data pÄ flera noder samtidigt för att sÀkerstÀlla tillrÀckligt antal tillgÀngliga kopior vid problem. Det visar sig att man inte behöver lagra all data pÄ alla repliker. Man kan minska belastningen pÄ lagret genom att bara hÄlla data pÄ en del av noderna och anvÀnda speciella noder för felhanteringsscenarier (Transient Replica).

I rapporten kommer vi att titta pÄ Witness Replicas, replikationsschemat som anvÀnds inom Spanner och Megastore, och implementeringen av detta koncept i Apache Cassandra under namnen Transient Replication & Billiga Kvorum.

Dmitry Vyukov — Goroutines exposed

19 huvuden av hydran. Stort översikt av programmet Dmitrij Ă€r utvecklare pĂ„ Google, som arbetar med dynamisk testning i C/C++ och Go – Address/Memory/ThreadSanitizer, samt med liknande verktyg för Linux-kĂ€rnan. Han har bidragit till en skalbar schemalĂ€ggare för gorutiner, nĂ€tverkspoller och parallell skrĂ€psamling. Han Ă€r expert pĂ„ multitrĂ„dade processer, författare till ett dussin nya icke-blockerande algoritmer och innehavare av Svart bĂ€lte Intel.

Nu lite om sjÀlva föredraget. SprÄket Go har inbyggt stöd för multitrÄdning i form av gorutiner (lÀtta trÄdar) och kanaler (FIFO-köer). Tack vare dessa mekanismer Àr det vÀldigt enkelt och trevligt för anvÀndarna att skriva moderna, multitrÄdiga applikationer, och det ser ut som magi. Som vi förstÄr finns det ingen magi hÀr. I detta föredrag kommer Dmitrij att gÄ djupare in pÄ detaljerna kring Go:s schemalÀggare och avslöja hemligheterna bakom denna "magi". Först kommer han att ge en översikt av de viktigaste komponenterna i schemalÀggaren, och berÀtta hur den fungerar. Vidare kommer vi att bekanta oss nÀrmare med specifika aspekter som strategier för parkering/uppackning och hantering av blockerande systemanrop. Slutligen kommer Dmitrij att berÀtta lite om möjliga förbÀttringar i schemalÀggaren.

Dmitrij Bugaychenko – Accelerera distribuerad grafanalys med hjĂ€lp av probabilistiska sketchar och mer

19 huvuden av hydran. Stort översikt av programmet Dmitrij har arbetat nÀstan 9 Är inom outsourcing, utan att tappa kontakten med universitetet och forskarsamhÀllet. Analys av big data pÄ Odnoklassniki blev för honom en unik chans att kombinera teoretisk utbildning och vetenskaplig grund med utveckling av verkliga, efterfrÄgade produkter.

Distribuerad grafanalys har varit och förblir en svÄr utmaning: nÀr behovet uppstÄr att fÄ information om relationen mellan nÀrliggande noder, innebÀr det ofta att data mÄste överföras mellan maskiner, vilket leder till ökad exekveringstid och belastning pÄ nÀtverksinfrastrukturen. I detta föredrag kommer vi att se hur man kan uppnÄ betydande förbÀttringar i bearbetningen, genom att anvÀnda probabilistiska datakonstruktioner eller fakta som symmetri i vÀnskapsgrafen i sociala nÀtverk. Allt detta illustreras med kodexempel pÄ Apache Spark.

Denis Ryscov – Minska dina lagringskostnader med Transient Replication och Billiga Kvorum

19 huvuden av hydran. Stort översikt av programmet Denis Àr utvecklare Cosmos DB, expert inom modellkonsistens, konsensusalgoritmer och distribuerade transaktioner. Han arbetar för nÀrvarande pÄ Microsoft och har tidigare arbetat med distribuerade system pÄ Amazon och Yandex.

I den hĂ€r presentationen kommer vi att bekanta oss med protokoll för distribuerade transaktioner som har utvecklats under de senaste Ă„ren och som kan implementeras pĂ„ klientsidan ovanför vilken databas som helst som stöder villkorlig uppdatering (compare and set). PoĂ€ngen Ă€r att livet inte slutar med en tvĂ„fascommit, transaktioner kan lĂ€ggas ovanför alla databaser — pĂ„ applikationsnivĂ„, men olika protokoll (2PC, Percolator, RAMP) har olika avvĂ€gningar och Ă€r inte gratis.

Alexey Zinovyev — Inte alla ML-algoritmer hamnar i det distribuerade paradiset

19 huvuden av hydran. Stort översikt av programmet Alexey (zaleslaw) — vĂ„r lĂ„ngvariga talare och medlem av programkommittĂ©er vid andra konferenser. Praktiserande trĂ€nare pĂ„ EPAM Systems, och har arbetat med Hadoop/Spark och annan Big Data sedan 2012.

I den hÀr presentationen kommer Alexey att diskutera problemen med att anpassa klassiska maskininlÀrningsalgoritmer för att köras i distribuerat lÀge baserat pÄ sin erfarenhet av Apache Spark ML, Apache Mahout, Apache Flink ML och erfarenheten av att skapa Apache Ignite ML. Alexey kommer ocksÄ att tala om implementeringen av distribuerade ML-algoritmer i dessa ramverk.

Och avslutningsvis — tvĂ„ presentationer frĂ„n Yandex om Yandex Database.

Vladislav Kuznetsov — Yandex Database — hur vi sĂ€kerstĂ€ller redundans

19 huvuden av hydran. Stort översikt av programmet Vladislav Àr utvecklare pÄ Yandex i gruppen för distribuerade plattformar. Yandex Database Àr en horisontellt skalbar, geo-distribuerad, fail-sÀker databas som klarar av att hantera disk-, server-, rack- och datacenterfel utan att förlora konsistens. För att sÀkerstÀlla redundans anvÀnds en egen algoritm för att uppnÄ distribuerad konsensus, samt en rad tekniska lösningar som detaljerat beskrivs i presentationen. Presentationen kan vara av intresse för sÄvÀl databasutvecklare som utvecklare av applikationer baserade pÄ databasen.

Semyon Checherinda — Distribuerade transaktioner i YDB

19 huvuden av hydran. Stort översikt av programmet Semyon Àr utvecklare i gruppen för distribuerade plattformar pÄ Yandex, och arbetar med möjligheten till fleranvÀndartjÀnster i YDB-installationen.

Yandex Database Àr utformad för OLTP-frÄgor och uppfyller ACID-kraven för transaktionssystem. I rapporten kommer vi att gÄ igenom algoritmen för transaktionsplanering som ligger till grund för YDB:s transaktionssystem. Vi kommer att analysera vilka entiteter som deltar i transaktionerna, vem som tilldelar transaktionerna en global ordning, hur transaktionernas atomiskhet, tillförlitlighet och strikta isoleringsnivÄer uppnÄs. Genom ett vanligt exempel kommer vi att titta pÄ genomförandet av transaktioner med hjÀlp av tvÄfasiskt Ätagande och deterministiska transaktioner. Vi kommer ocksÄ att diskutera skillnaderna mellan dem.

Vad hÀnder hÀrnÀst?

Konferensens program fortsÀtter att fyllas pÄ med nya presentationer. Specifikt förvÀntar vi oss en förelÀsning frÄn Nikita Koval (ndkoval) frÄn JetBrains och Oleg Anastasyev (m0nstermind) frÄn företaget Odnoklassniki. Nikita arbetar med algoritmer för koroutiner i Kotlin-teamet, medan Oleg utvecklar arkitektur och lösningar för högbelastade system pÄ plattformen Odnoklassniki. Dessutom finns det en ledig plats som programkommittén just nu arbetar med kandidater för.

Konferensen Hydra kommer att hĂ„llas den 11-12 juli i Sankt Petersburg. Biljetter kan köpas pĂ„ den officiella webbplatsen. Vi uppmĂ€rksammar pĂ„ tillgĂ„ngen av onlinebiljetter — om du av nĂ„gon anledning inte kan komma till Petersburg under dessa dagar.

Vi ses pÄ Hydra!

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster