19 hidrkapoj. Bonega superrigardo de la programo

La 11-12-an de julio okazos konferenco en Peterburgo Hidro, dediĉita al la evoluo de paralelaj kaj distribuitaj sistemoj. La lertaĵo de Hidro estas, ke ĝi kunigas bonegajn sciencistojn (kiuj kutime troviĝas nur ĉe eksterlandaj sciencaj konferencoj) kaj famajn praktikantajn inĝenierojn en unu grandan programon ĉe la intersekco de scienco kaj praktiko.

Hidro estas unu el niaj plej gravaj konferencoj en la lastaj jaroj. Ĝi estis antaŭita de tre serioza preparado, elekto de prelegantoj kaj raportoj. La pasinta semajno pri ĉi tio habro intervjuo aperis kun la direktoro de JUG.ru Group, Alexey Fedorov (23derevo).

Ni jam rakontita ĉirkaŭ tri gravaj partoprenantoj, la fondintoj de la teorio de distribuitaj sistemoj - Leslie Lamport, Maurice Herlihy kaj Michael Scott. Estas tempo paroli pli detale pri la tuta programo!

19 hidrkapoj. Bonega superrigardo de la programo

Motivacio

Se vi okupiĝas pri programado, tiam iel aŭ alian vi traktas multfadenan kaj distribuitan komputadon. Fakuloj en koncernaj kampoj laboras kun ili rekte, sed implicite, distribuo rigardas nin de ĉie: en iu plurkerna komputilo aŭ distribuita servo estas io, kiu faras kalkulojn paralele.

Estas multaj konferencoj kiuj kovras diversajn aspektojn de aplika programado. Aliflanke de la spektro, ni havas specialiĝintajn sciencajn lernejojn, kiuj malkaŝas vastajn kvantojn da kompleksa teorio en prelegformato. Ekzemple, paralele kun Hidro en Peterburgo ekzistas SPTDC-lernejo. Ĉe la Hydra konferenco, ni provis kunigi severan praktikon, sciencon, kaj ĉion ĉe ilia intersekco.

Pensu pri ĉi tio: ni vivas en mirinda tempo, kiam vi povas renkonti persone la fondintojn de la kampo de scienco kaj inĝenierado, kiun ni studas. Fizikistoj ne renkontos nek Neŭtonon nek Einstein - la trajno foriris. Sed apud ni ankoraŭ vivas tiuj, kiuj kreis la fundamentojn de la teorio de distribuitaj sistemoj, elpensis popularajn programlingvojn kaj unuafoje enkorpigis ĉion ĉi en funkciaj prototipoj. Ĉi tiuj homoj ne forlasis sian laboron duonvoje, ili nun laboras pri urĝaj aferoj en mondfamaj universitatoj kaj kompanioj, kaj estas la plej grandaj fontoj de scio kaj sperto hodiaŭ.

Aliflanke, la ŝanco renkonti ilin kutime restas pure teoria: malmultaj el ni povas konstante monitori publikajn eventojn en iu Universitato de Roĉestro, kaj poste rapidi al Usono kaj reen por prelego kun Michael Scott. Viziti ĉiujn Hydra-membrojn kostus malgrandan riĉaĵon, sen kalkuli la abismon de malŝparita tempo (kvankam ĝi sonas kiel interesa serĉo).

Aliflanke, ni havas multajn ĉefajn inĝenierojn, kiuj nun laboras pri urĝaj problemoj en distribuitaj sistemoj, kaj ili certe havas multon por rakonti. Sed jen la problemo - ili laboras, kaj ilia tempo estas valora. Jes, se vi estas dungito de Microsoft, Google aŭ JetBrains, la probableco renkonti unu el la famaj parolantoj ĉe interna evento ege pliiĝas, sed ĝenerale, ne, ĉi tio ne okazas ĉiutage.

Tiel, la Hydra Konferenco plenumas gravan taskon, kiun la plimulto el ni ne povas fari memstare - en unu loko kaj samtempe, ĝi kunigas homojn, kies ideoj aŭ interagoj kun kiuj povas ŝanĝi vian vivon. Mi konfesas, ke ne ĉiuj bezonas distribuitajn sistemojn aŭ kelkajn kompleksajn fundamentajn aferojn. Vi povas programi CRUD-ojn en PHP por la resto de via vivo kaj resti tute feliĉa. Sed kiu ajn bezonas ĝin, ĉi tiu estas via ŝanco.

Pasis sufiĉe longa tempo ekde la unua anonco de la Hydra-konferenco pri Habré. Dum ĉi tiu tempo, multe da laboro estis farita – kaj nun ni havas liston de preskaŭ ĉiuj raportoj. Neniuj malviglaj unufadenaj algoritmoj, nur pura distribuita hardcore! Ni finu per ĝeneralaj vortoj kaj vidu kion ni havas nun sur niaj manoj.

Keynotes

Ĉefprelegoj komenciĝas kaj finas la tagojn de la konferenco. Kutime la celo de malferma ĉefprelego estas starigi la ĝeneralan spiriton kaj direkton de la konferenco. La fina konferenco desegnas linion kaj klarigas kiel ni povas vivi kun la scio kaj kapabloj akiritaj dum la konferenco. La komenco kaj la fino: kio estas memorita plej bone, kaj ĝenerale, pligrandigis signifon.

Klifo Klako La H2O distribuita K/V-algoritmo

19 hidrkapoj. Bonega superrigardo de la programo Klifo estas legendo en la Java mondo. Fine de la 90-aj jaroj, por sia doktora disertaĵo, li verkis artikolon titolitan "Kombinante Analizojn, Kombinante Optimumigojn", kiu iom da tempo poste iĝis la bazo por HotSpot JVM Server Compiler. Du jarojn poste, li jam laboris ĉe Sun Microsystems pri la JVM kaj montris al la tuta mondo, ke JIT havas rajton ekzisti. Ĉi tiu tuta rakonto pri kiel Java estas unu el la plej rapidaj modernaj rultempoj kun la plej inteligentaj kaj plej rapidaj optimumigoj venis de Cliff Click. En la komenco, oni kredis, ke se io estas alirebla por senmova kompililo, oni eĉ ne devas provi ĝin. Danke al la laboro de Cliff kaj teamo, ĉiuj novaj lingvoj komencis esti kreitaj defaŭlte kun la ideo de kompilo JIT. Kompreneble, ĉi tio ne estis unuhoma laboro, sed Cliff ludis tre gravan rolon en ĝi.

En la malferma konferenco, Cliff parolos pri sia alia klopodo - H20, en-memora platformo por distribuita kaj skalebla maŝinlernado por industriaj aplikoj. Aŭ pli precize, pri la distribuita stokado de ŝlosil-valoraj paroj en ĝi. Ĉi tio estas tre rapida stokado kun multaj interesaj propraĵoj (la ĝusta listo estas en Priskribo), kiuj ebligas la uzon de similaj solvoj en la matematiko de grandaj datumoj streaming.

Alia raporto kiun Cliff donos estas - La Azul Hardware Transactional Memory-sperto. Alia parto de lia biografio - dek jaroj laboru ĉe Azul, kie li ĝisdatigis kaj plibonigis multajn aferojn en la Blua aparataro kaj teknologia stako: JIT-kompililoj, rultempo, fadena modelo, erartraktado, staktraktado, aparataj interrompoj, klasa ŝarĝo, kaj tiel plu - nu, vi ricevas la ideo.

La plej interesa parto komenciĝis kiam ili faris aparataron por granda komerco - superkomputilo por ruli Javan. Ĝi estis sufiĉe pionira afero, tajlorita specife por Java, kiu havas specialajn postulojn - lego-memorbarieroj por malalt-paŭza rubkolekto, tabeloj kun limkontrolado, virtualaj vokoj... Unu el la plej bonegaj teknologioj estas hardvara transakcia memoro. La tuta L1 de iu ajn el la 864 kernoj povus partopreni en transakcia skribo, kiu estas precipe grava por labori kun seruroj en Java (sinkronigitaj blokoj povas funkcii paralele, kondiĉe ke ne ekzistas vera memorkonflikto). Sed la bela ideo estis disbatita de severa realeco - kaj en ĉi tiu prelego Cliff diros al vi kial HTM kaj STM ne tre bone taŭgas por la praktikaj bezonoj de plurfadena komputado.

Michael Scott - Duoblaj datumstrukturoj

19 hidrkapoj. Bonega superrigardo de la programo Michael Scott - Profesoro pri Komputado ĉe la Universitato de Roĉestro, kun kiu la sorto ligis lin jam 34 jarojn aĝa, kaj en lia hejma Universitato de Wisconsin-Madison, li estis dekano dum kvin jaroj. Li esploras kaj instruas studentojn pri paralela kaj distribuita programado kaj lingvodezajno.

La tuta mondo konas Mikaelo'n dank'al la lernolibro "Programlingvo-Pragmatiko", kies lasta eldono estis publikigita relative lastatempe - en 2015. Lia laboro "Algoritmoj por skalebla sinkronigo sur komunaj memoraj multiprocesoroj" ricevita Premio Dijkstra kiel unu el la plej famaj en la kampo de distribuita komputado kaj mensoge malkaŝe ĉe la Reta Biblioteko de la Universitato de Roĉestro. Vi eble ankaŭ konas lin kiel la aŭtoro de la tre Michael-Scott-algoritmo de "Simplaj, Rapidaj, kaj Praktikaj Ne-Blokaj kaj Blokantaj Samtempaj Vidovico-Algoritmoj".

Koncerne la Java-mondo, tio estas speciala kazo: kune kun Doug Lea, li evoluigis la neblokantajn algoritmojn kaj sinkronajn atendovicojn sur kiuj funkcias Java bibliotekoj. Ĝuste pri tio temas la ĉefkoncepto "Dualaj datumstrukturoj" - la enkonduko de ĉi tiuj strukturoj en Java SE 6 plibonigis rendimenton je 10 fojojn. java.util.concurrent.ThreadPoolExecutor. Se vi anticipe scivolas, kio estas ĉi tiuj "Dualaj datumstrukturoj", tiam ekzistas informoj pri ĝi rilata laboro.

Maurice Herlihy - Blokoĉenoj kaj la estonteco de distribuita komputado

19 hidrkapoj. Bonega superrigardo de la programo Maurice Herlihy - gajninto de du Dijkstra Premioj. La unua estas por laboro "Atendado-Libera Sinkronigo" (Bruna Universitato), kaj la dua, pli lastatempa - "Transakcia Memoro: Arkitektura Subteno por Lock-Free Data Structures" (Virginia Teknika Universitato). La Premio Dijkstra rekonas laboron, kies signifo kaj efiko estas videblaj dum almenaŭ dek jaroj, kaj Maurice estas klare unu el la plej famaj fakuloj en la fako. Li nuntempe laboras kiel profesoro en Brown University kaj havas paragrafo-longan liston de plenumoj.

En ĉi tiu fina konferenco, Maurice parolos pri la teorio kaj praktiko de blokĉenaj distribuitaj sistemoj el la vidpunkto de la klasikaĵoj de distribuita komputado kaj kiel ĝi simpligas multajn rilatajn problemojn. Ĉi tio estas raporto ekskluzive pri la temo de la konferenco - tute ne pri minada hype, sed prefere pri kiel nia scio povas esti uzata mirinde efike kaj taŭge rilate al diversaj taskoj.

En julio 2017, Maurice jam venis al Rusio por ĉeesti la lernejon SPTDC, partoprenis en la renkontiĝo JUG.ru, kaj la registrado estas spektebla en Jutubo:

Ĉefa programo

Poste estos mallonga superrigardo de la raportoj inkluzivitaj en la programo. Kelkaj el la raportoj estas priskribitaj ĉi tie detale, aliaj pli mallonge. Longaj priskriboj iris ĉefe al anglalingvaj raportoj, kiuj postulis ligilojn al sciencaj artikoloj, terminoj en Vikipedio, ktp. La plena listo disponeblas vidu en la retejo de la konferenco. La listo en la retejo estos ĝisdatigita kaj kompletigita.

Leslie Lampport - Demandoj

19 hidrkapoj. Bonega superrigardo de la programo Leslie Lamport estas la verkinto de pioniraj verkoj en distribuita komputiko. "LaTeX" signifas "Lamport TeX". Estis li kiu unue, reen en 1979, enkondukis la koncepton konsekvenca konsistenco, kaj lia artikolo "Kiel Fari Multiprocesoran Komputilon Kiu Ĝuste Efektivigas Plurprocezajn Programojn" ricevis la Dijkstra Premion.

Ĉi tio estas la plej nekutima parto de la programo laŭ formato, ĉar ĝi eĉ ne estas raporto, sed demando-responda sesio. Kiam signifa parto de la publiko jam konas (aŭ povas familiariĝi) kun ĉiaj verkoj bazitaj sur “Lamport-teorio”, siaj propraj artikoloj kaj raportoj, estas pli grave pasigi la tutan disponeblan tempon por rekta komunikado.

La ideo estas simpla - vi spektas du raportojn en Jutubo: "Programado Devus Esti Pli ol Kodigado" и "Se Vi Ne Skribas Programon, Ne Uzu Programlingvon" kaj preparu almenaŭ unu demandon, kaj Leslie respondas.

La unua el ĉi tiuj du filmetoj ni jam havas turnita en habro artikolo. Se vi ne havas horon da tempo por spekti la videon, vi povas rapide legi ĉion en tekstformo.

Notu: Estas multaj pli da Leslie Lampport-videoj sur Jutubo. Ekzemple, estas bonega TLA+ kurso. Senreta versio de ĉi tiu tuta kurso haveblas ĉe la ĉefpaĝo de aŭtoro, kaj li alŝutis ĝin al Jutubo por pli facila spektado sur porteblaj aparatoj.

Martin Kleppmann - Sinkronigi datumojn tra uzantaj aparatoj por distribuita kunlaboro

19 hidrkapoj. Bonega superrigardo de la programo Martin Kleppmann estas esploristo ĉe la Universitato de Kembriĝo laboranta pri CRDT kaj formala konfirmo de algoritmoj. la libro de Martin "Dezajnante Daten-intensajn Aplikojn", publikigita en 2017, pruvis esti tre sukcesa kaj faris ĝin en furorlistojn en la kampo de datumstokado kaj prilaborado. Kevin Scott, CTO ĉe Mikrosofto, iam diris: “Ĉi tiu libro devus esti nepre necesa por softvarinĝenieroj. Ĉi tio estas malofta rimedo, kiu kombinas teorion kaj praktikon por helpi programistojn pli inteligentajn en desegnado kaj efektivigo de infrastrukturo kaj datumsistemoj." La kreinto de Kafka kaj CTO de Confluent, Jay Kreps, diris ion similan.

Antaŭ moviĝado en akademian esploradon, Martin laboris en industrio kaj ko-fondis du sukcesajn noventreprenojn:

  • Relativa, dediĉita al montri la socian profilon de kontaktoj de via retpoŝto, kiun LinkedIn aĉetis en 2012;
  • Go Test It, servo por aŭtomate testi retejojn en diversaj retumiloj, kiun RedGate aĉetis en 2009.

Ĝenerale, Martin, kvankam malpli fama ol niaj ĉefpreskriboj, jam povis fari iom da kontribuo al la evoluo de distribuita komputado kaj al la industrio.

En ĉi tiu prelego, Martin parolos pri temo pli proksima al sia akademia esplorado. En Google Docs kaj similaj dokumentaj kunredaktaj sofoj, "kunlabora redaktado" rilatas al reprodukta tasko: ĉiu uzanto havas sian propran kopion de la komuna dokumento, kiun ili poste modifas, kaj ĉiuj ŝanĝoj estas senditaj tra la reto al la resto de la dokumento. partoprenantoj. Ŝanĝoj al dokumentoj eksterrete kondukas al provizora malkongruo de la dokumento rilate al aliaj partoprenantoj, kaj re-sinkronigo postulas konflikttraktadon. Ĝuste por tio ili ekzistas Senkonfliktaj Reproduktitaj Datumoj (CRDT), fakte, estas sufiĉe nova afero, kies esenco estis formulita nur en 2011. Ĉi tiu prelego diskutas, kio okazis ekde tiam en la mondo de CRDT, kio estas la plej lastatempaj progresoj, la aliro al kreado de lokaj unuaj aplikaĵoj ĝenerale kaj la uzo de malfermkoda biblioteko. Aŭtomatigo precipe.

Venontsemajne ni publikigos longan intervjuon kun Martin ĉe Habré, ĝi estos interesa.

Pedro Ramalhete - Senpagaj datumstrukturoj kaj senpagaj transakcioj

19 hidrkapoj. Bonega superrigardo de la programo Pedro laboras ĉe Cisco kaj disvolvas paralelajn algoritmojn dum la lastaj dek jaroj proksimume, inkluzive de sinkronigaj mekanismoj, senŝlosaj kaj atendaj datumstrukturoj kaj ĉio, kion vi povas imagi pri ĉi tiu temo. Liaj nunaj esplor- kaj inĝenieristikinteresoj temigas Universalajn Konstruojn, Software Transactional Memory, Persistent Memory kaj similajn teknologiojn, kiuj ebligas ĝustajn, skaleblajn kaj mistolerajn aplikojn. Li ankaŭ estas aŭtoro de blogo vaste konata en mallarĝaj rondoj Samtempaj Freaks.

La plej multaj plurfadenaj aplikoj nun funkcias per paralelaj datumstrukturoj, de la uzo de mesaĝvicoj inter aktoroj ĝis indeksitaj datumstrukturoj en ŝlosilvaloraj butikoj. Ili laboras sukcese en la Java JDK dum multaj jaroj, kaj ili estas malrapide aldonitaj al C++.

La plej simpla maniero efektivigi paralelan datumstrukturon estas sinsekva (unu-fadena) efektivigo en kiu metodoj estas protektitaj per muteksoj. Ĉi tio estas alirebla por iu ajn junio, sed havas evidentajn problemojn kun skalo kaj rendimento. Samtempe, senŝlosaj kaj atendaj datumstrukturoj ne nur pli bone eltenas erarojn, sed ankaŭ havas pli bonan rendimentan profilon - tamen ilia evoluo postulas profundan kompetentecon kaj adaptiĝon al specifa aplikaĵo. Unu malĝusta linio de kodo sufiĉas por rompi ĉion.

Kiel ni povas fari ĝin tiel ke eĉ ne-fakulo povas desegni kaj efektivigi tiajn datumstrukturojn? Estas konata ke ajna sinsekva algoritmo povas esti igita fadeno sekura uzante ambaŭ universala dezajno, aŭ transakcia memoro. Unue, ili povas malaltigi la baron al eniro al solvi ĉi tiun problemon. Tamen, ambaŭ solvoj tipe kondukas al neefika efektivigo. Pedro parolos pri kiel ili sukcesis fari ĉi tiujn dezajnojn pli efikaj kaj kiel vi povas uzi ilin por viaj algoritmoj.

Heidi Howard - Liberiga distribuita konsento

19 hidrkapoj. Bonega superrigardo de la programo Heidi Howard estas, kiel Martin, distribua sistema esploristo ĉe la Universitato de Kembriĝo. Ŝiaj specialaĵoj estas konsistenco, faŭltoleremo, efikeco kaj distribuita konsento. Ŝi estas plej konata pro sia ĝeneraligo de la Paxos-algoritmo nomita Fleksebla Paxos.

Memoru tion Paxos estas familio de protokoloj por solvi la problemon de konsento en reto de nefidindaj komputiloj, bazitaj sur la laboro de Leslie Lamport. Tiel, kelkaj el niaj parolantoj laboras pri problemoj kiuj estis origine proponitaj de niaj aliaj parolantoj - kaj tio estas mirinda.

La kapablo trovi konsenton inter multoblaj gastigantoj - por alparolado, gvidanto-elekto, blokado aŭ kunordigo - estas fundamenta afero en modernaj distribuitaj sistemoj. Paxos nun estas la ĉefa maniero solvi konsentajn problemojn, kaj estas multe da esplorado ĉirkaŭ ĝi por vastigi kaj optimumigi la algoritmon por diversaj praktikaj bezonoj.

En ĉi tiu prelego, ni revizitos la teorian bazon de Paxos, malstreĉante la originalajn postulojn kaj ĝeneraligante la algoritmon. Ni vidos, ke Paxos estas esence nur unu opcio inter vasta gamo de konsentaj aliroj, kaj ke aliaj punktoj sur la spektro ankaŭ estas tre utilaj por konstrui bonajn distribuitajn sistemojn.

Alex Petrov - Reduktu viajn stokajn kostojn per Transimaj Reproduktado kaj Malmultekostaj Kvorumoj

19 hidrkapoj. Bonega superrigardo de la programo Alex estas specialisto pri datumbazoj kaj stokaj sistemoj, kaj pli grave por ni, komisiisto en Cassandra. Li nuntempe laboras pri libro, Database Internals, kun O'Reilly.

Por sistemoj kun eventuala konsistenco (en rusa terminologio - "finfina konsistenco"), post kraŝo de nodo aŭ disiĝo de reto, vi devas solvi la sekvan dilemon: aŭ daŭre plenumi petojn, oferante konsistencon, aŭ rifuzi plenumi ilin kaj oferi haveblecon. En tia sistemo, kvorumoj, interkovrantaj subaroj de nodoj kaj certigante ke almenaŭ unu nodo enhavas la plej lastatempan valoron, povas esti bona randsolvo. Vi povas postvivi malsukcesojn kaj perdon de konektebleco al iuj nodoj dum vi ankoraŭ respondas per la plej novaj valoroj.

Tamen ĉio havas sian prezon. Kvoruma reproduktadskemo signifas pliigitajn stokadkostojn: redundaj datenoj devas esti stokitaj sur pluraj nodoj samtempe por certigi ke ekzistas sufiĉe daj kopioj haveblaj kiam problemo okazas. Rezultas, ke vi ne devas konservi ĉiujn datumojn sur ĉiuj kopioj. Vi povas redukti la ŝarĝon sur la stokado se vi stokas datumojn nur sur parto de la nodoj, kaj uzas specialajn nodojn (Transient Replica) por malsukcesaj traktado de scenaroj.

Dum la daŭro de la raporto ni konsideros Atestantaj Kopioj, la reproduktadskemo uzita en Skanilo и Megabutiko, kaj la efektivigo de ĉi tiu koncepto en Apache Cassandra vokis Pasema Reproduktado kaj Malmultekosta Kvorumoj.

Dmitrij Vjukov - Goroutines elmontrita

19 hidrkapoj. Bonega superrigardo de la programo Dmitry estas programisto ĉe Google laboranta pri dinamika testado por C/C++ kaj Go - Address/Memory/ThreadSanitizer, kaj similaj iloj por la Linukso-kerno. Kontribuis al Go skalebla goroutine-planilo, reto-enketilo kaj paralela rubkolektanto. Li estas fakulo pri multifadenado, la aŭtoro de dekduo da novaj neblokaj algoritmoj kaj estas la posedanto de Nigra Zono Intel.

Nun iom pri la raporto mem. La Go-lingvo havas denaskan subtenon por multfadenado en formo de gorutinoj (malpezaj fadenoj) kaj kanaloj (FIFO-vicoj). Ĉi tiuj mekanismoj faras ĝin tre facila kaj ĝuebla por uzantoj verki modernajn plurfadenajn aplikojn, kaj ĝi aspektas kiel magio. Kiel ni komprenas, ĉi tie ne ekzistas magio. En ĉi tiu parolado, Dmitry enprofundiĝos en la komplikaĵojn de la Go-planisto kaj montros la sekretojn por efektivigi ĉi tiun "magion". Unue, li donos superrigardon pri la ĉefaj komponantoj de la planilo kaj diros al vi kiel ĝi funkcias. Poste, ni rigardos pli detale individuajn aspektojn kiel ekzemple la parkado/malparkiga strategio kaj pritraktado de blokado de sistemaj vokoj. Fine, Dmitry iom parolos pri eblaj plibonigoj al la planilo.

Dmitrij Bugaiĉenko - Plirapidigi distribuan grafikan analizon per probabilismaj skizoj kaj pli

19 hidrkapoj. Bonega superrigardo de la programo Dmitry laboris en subkontraktado dum preskaŭ 9 jaroj sen perdi kontakton kun la universitato kaj la scienca komunumo. Analizo de grandaj datumoj en Odnoklassniki fariĝis por li unika ŝanco kombini teorian trejnadon kaj sciencan fundamenton kun la disvolviĝo de realaj, postulataj produktoj.

Distribuita grafika analizo estis kaj restas malfacila tasko: kiam necesas akiri informojn pri la ligoj de najbara vertico, la datumoj ofte devas esti transdonitaj inter maŝinoj, kio kondukas al pliigita ekzekuttempo kaj ŝarĝo sur la reta infrastrukturo. En ĉi tiu parolado, ni vidos kiel vi povas akiri signifajn pretigajn rapidojn uzante probabilistikajn datumstrukturojn aŭ faktojn kiel la simetrio de la amikeca grafeo en socia reto. Ĉio ĉi estas ilustrita per kodaj ekzemploj en Apache Spark.

Denis Rystsov - Reduktu viajn stokajn kostojn per Transimaj Reproduktado kaj Malmultekostaj Kvorumoj

19 hidrkapoj. Bonega superrigardo de la programo Denis - programisto Cosmos DB, eksperto en kontrolado de konsekvencaj modeloj, konsentaj algoritmoj kaj distribuitaj transakcioj. Li nuntempe laboras ĉe Microsoft, kaj antaŭ tio li laboris pri distribuitaj sistemoj ĉe Amazon kaj Yandex.

En ĉi tiu parolado, ni rigardos la distribuitajn transakciajn protokolojn, kiuj estis inventitaj dum la lastaj jaroj, kiuj povas esti efektivigitaj ĉe la klienta flanko aldone al iu ajn datumvendejo, kiu subtenas kondiĉan ĝisdatigon (komparu kaj agordi). La fundo estas, ke la vivo ne finiĝas per dufaza kompromiso, transakcioj povas esti aldonitaj aldone al iuj datumbazoj - je la aplika nivelo, sed malsamaj protokoloj (2PC, Percolator, RAMP) havas malsamajn kompromigojn kaj ne estas donitaj al ni. senpage.

Aleksej Zinovjev - Ne ĉiuj ML-algoritmoj faras ĝin al distribuita ĉielo

19 hidrkapoj. Bonega superrigardo de la programo Aleksej (zaleslaw) estas longtempa preleganto kaj membro de programkomitatoj ĉe aliaj konferencoj. Trejnisto ĉe EPAM Systems, kaj amikiĝis kun Hadoop/Spark kaj aliaj grandaj datumoj ekde 2012.

En ĉi tiu parolado, Alexey parolos pri la problemoj de adapto de klasikaj maŝinlernado-algoritmoj por ekzekuto en distribuita reĝimo surbaze de sia sperto laboranta kun Apache Spark ML, Apache Mahout, Apache Flink ML kaj la sperto krei Apache Ignite ML. Alexey ankaŭ parolos pri la efektivigo de distribuitaj ML-algoritmoj en ĉi tiuj kadroj.

Kaj fine, du raportoj de Yandex pri Yandex Database.

Vladislav Kuznetsov - Yandex Database - kiel ni certigas misfunkciadon

19 hidrkapoj. Bonega superrigardo de la programo Vladislav estas programisto ĉe Yandex en la distribuita platforma grupo. Yandex Database estas horizontale skalebla, geo-distribuita, misfunkcia DBMS, kiu povas elteni la fiaskon de diskoj, serviloj, rakoj kaj datumcentroj sen perdi konsistencon. Por certigi misfunkciadon, estas uzata proprieta algoritmo por atingi distribuitan konsenton, kaj ankaŭ kelkajn teknikajn solvojn, kiuj estas detale diskutitaj en la raporto. La raporto povas interesi kaj DBMS-programistojn kaj programistojn de aplikaĵsolvoj bazitaj sur DBMS.

Semyon Checherinda - Distribuitaj transakcioj en YDB

19 hidrkapoj. Bonega superrigardo de la programo Semyon estas programisto en la distribuita platforma grupo ĉe Yandex, laborante pri la ebleco de plur-luanto de la instalaĵo YDB.

Yandex Database estas desegnita por OLTP-demandoj kaj konformas al ACID-postuloj por transakcia sistemo. En ĉi tiu raporto, ni konsideros la transakcian programan algoritmon, kiu subestas la YDB-transakcian sistemon. Ni rigardu, kiuj entoj partoprenas en transakcioj, kiu asignas tutmondan ordon al transakcioj, kiel transakcia atomeco, fidindeco kaj strikta izoliteco estas atingitaj. Uzante oftan problemon kiel ekzemplon, ni rigardu transakciajn efektivigojn uzante dufazajn transakciojn kaj determinismajn transakciojn. Ni diskutu iliajn diferencojn.

Kio sekvas?

La konferenca programo daŭre estas plena de novaj raportoj. Precipe ni atendas raporton de Nikita Koval (ndkoval) de JetBrains kaj Oleg Anastasyev (m0nsmind) de la kompanio Odnoklassniki. Nikita laboras pri algoritmoj por korutinoj en la Kotlin-teamo, kaj Oleg disvolvas arkitekturon kaj solvojn por altŝarĝaj sistemoj en la Odnoklassniki-platformo. Krome, estas 1 pli kondiĉe malplena fendo, la programa komitato laboras kun kandidatoj por ĝi nun.

La Hydra-konferenco okazos la 11-12-an de julio en Sankt-Peterburgo. Biletoj haveblas aĉeto en la oficiala retejo. Bonvolu atenti pri la havebleco de Retaj biletoj - se ial vi ne povas atingi Sankt-Peterburgon ĉi-tage.

Ĝis revido ĉe Hydra!

fonto: www.habr.com

Aldoni komenton