19 ka ulo sa hydra. Nindot nga overview sa programa

Usa ka komperensya ang mahitabo sa Hulyo 11-12 sa St. Petersburg Hydra, gipahinungod sa pagpalambo sa parallel ug distributed nga mga sistema. Ang lansis sa Hydra mao nga kini naghiusa sa mga cool nga siyentista (nga kasagaran makit-an lamang sa mga langyaw nga siyentipikong komperensya) ug bantog nga mga inhenyero nga nagpraktis sa usa ka dako nga programa sa intersection sa syensya ug praktis.

Ang Hydra usa sa among labing hinungdanon nga mga komperensya sa miaging pipila ka tuig. Giunhan kini sa seryoso kaayong pagpangandam, pagpili sa mga mamumulong ug mga taho. Sa miaging semana bahin niini nigawas ang habro interview kauban ang direktor sa JUG.ru Group, Alexey Fedorov (23 derevo).

Kita gisulti na mahitungod sa tulo ka importante nga mga partisipante, ang mga magtutukod sa teorya sa gipang-apod-apod nga mga sistema - Leslie Lamport, Maurice Herlihy ug Michael Scott. Panahon na aron hisgutan ang mas detalyado bahin sa tibuuk nga programa!

19 ka ulo sa hydra. Nindot nga overview sa programa

Pag-awhag

Kung nalambigit ka sa pagprograma, nan usa ka paagi o lain nga imong giatubang ang multithreading ug giapod-apod nga kompyuter. Ang mga eksperto sa may kalabutan nga mga natad nagtrabaho uban kanila direkta, apan sa walay duhaduha, ang pag-apod-apod nagtan-aw kanamo gikan sa bisan diin: sa bisan unsang multi-core nga kompyuter o gipang-apod-apod nga serbisyo adunay usa ka butang nga naghimo sa mga kalkulasyon nga managsama.

Adunay daghang mga komperensya nga naglangkob sa lainlaing mga aspeto sa pagprograma sa aplikasyon. Sa pikas bahin sa spectrum, kami adunay espesyal nga mga eskwelahan sa siyensya nga nagpadayag sa daghang mga komplikado nga teorya sa format sa lecture. Pananglitan, sa susama sa Hydra sa St. Petersburg adunay eskwelahan sa SPTDC. Sa komperensya sa Hydra, gisulayan namon nga mahiusa ang mapintas nga praktis, siyensya, ug tanan sa ilang intersection.

Hunahunaa kini: nagpuyo kita sa usa ka talagsaon nga panahon diin imong mahimamat sa personal ang mga magtutukod sa natad sa syensya ug inhenyeriya nga atong gitun-an. Dili mahimamat sa mga pisiko si Newton o Einstein - ang tren mibiya na. Apan sunod kanamo nagpuyo gihapon kadtong nagmugna sa mga pundasyon sa teorya sa gipang-apod-apod nga mga sistema, nag-imbento sa mga sikat nga programming language, ug sa unang higayon gilangkob kining tanan sa pagtrabaho nga mga prototype. Kini nga mga tawo wala moundang sa ilang mga trabaho sa tunga-tunga, sila karon nagtrabaho sa dinalian nga mga isyu sa bantog nga mga unibersidad ug kompanya sa kalibutan, ug mao ang labing dako nga gigikanan sa kahibalo ug kasinatian karon.

Sa laing bahin, ang oportunidad nga mahimamat sila kasagaran nagpabilin nga puro teoretikal: pipila kanato ang kanunay nga makamonitor sa mga publikong panghitabo sa pipila ka Unibersidad sa Rochester, ug dayon magdali sa USA ug balik alang sa usa ka lecture uban ni Michael Scott. Ang pagbisita sa tanan nga mga miyembro sa Hydra mogasto ug gamay nga kantidad, dili maihap ang kahiladman sa nausik nga oras (bisan kung kini ingon usa ka makapaikag nga pagpangita).

Sa laing bahin, kami adunay daghang mga nanguna nga mga inhenyero nga nagtrabaho sa mga dinalian nga mga problema sa mga gipang-apod-apod nga sistema karon, ug siguradong daghan sila nga isulti. Apan ania ang problema - sila Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, ug ang ilang panahon bililhon. Oo, kung ikaw usa ka empleyado sa Microsoft, Google o JetBrains, ang posibilidad nga mahimamat ang usa sa mga bantog nga mamumulong sa usa ka internal nga kalihokan motaas pag-ayo, apan sa kinatibuk-an, dili, kini dili mahitabo matag adlaw.

Niining paagiha, ang Komperensya sa Hydra nakahimo og usa ka importante nga buluhaton nga kadaghanan kanato dili makahimo sa atong kaugalingon - sa usa ka dapit ug sa usa ka higayon, kini naghiusa sa mga tawo kansang mga ideya o interaksyon nga makausab sa imong kinabuhi. Giangkon nako nga dili tanan ang nanginahanglan sa giapod-apod nga mga sistema o pipila ka komplikado nga sukaranan nga mga butang. Mahimo nimong iprograma ang mga CRUD sa PHP sa nahabilin sa imong kinabuhi ug magpabilin nga hingpit nga malipayon. Apan kung kinsa ang nanginahanglan niini, kini ang imong higayon.

Dugay na nga panahon ang milabay sukad sa unang pagpahibalo sa komperensya sa Hydra sa HabrΓ©. Niini nga panahon, daghang trabaho ang nahimo - ug karon kami adunay usa ka lista sa hapit tanan nga mga taho. Wala’y hinay nga single-threaded nga mga algorithm, puro nga giapod-apod nga hardcore! Tapuson nato sa kinatibuk-ang mga pulong ug tan-awon kung unsa ang anaa sa atong mga kamot karon.

Keynotes

Ang mga keynote magsugod ug motapos sa mga adlaw sa komperensya. Kasagaran ang punto sa pangbukas nga keynote mao ang pagbutang sa kinatibuk-ang espiritu ug direksyon sa komperensya. Ang panapos nga keynote nagdrowing ug linya ug nagpatin-aw kon unsaon nato pagkinabuhi uban ang kahibalo ug kahanas nga naangkon atol sa komperensya. Ang sinugdanan ug ang katapusan: kung unsa ang labing maayo nga nahinumduman, ug sa kinatibuk-an, nagdugang ang kamahinungdanon.

Cliff Click Ang H2O-apod-apod K/V algorithm

19 ka ulo sa hydra. Nindot nga overview sa programa Ang Cliff usa ka leyenda sa kalibutan sa Java. Sa ulahing bahin sa 90s, alang sa iyang PhD thesis, misulat siya og papel nga nag-ulohang "Paghiusa sa mga Pag-analisar, Paghiusa sa mga Pag-optimize", nga sa wala madugay nahimong basehan sa HotSpot JVM Server Compiler. Paglabay sa duha ka tuig, nagtrabaho na siya sa Sun Microsystems sa JVM ug gipakita sa tibuok kalibutan nga ang JIT adunay katungod nga maglungtad. Kini nga tibuuk nga istorya bahin sa kung giunsa ang Java usa sa labing paspas nga modernong runtime nga adunay labing maalamon ug labing paspas nga pag-optimize gikan sa Cliff Click. Sa sinugdanan, gituohan nga kung adunay usa ka butang nga ma-access sa usa ka static compiler, dili nimo kinahanglan nga sulayan kini. Salamat sa buhat ni Cliff ug team, ang tanan nga bag-ong mga sinultian nagsugod sa paghimo sa ideya sa JIT compilation nga default. Siyempre, kini dili usa ka tawo nga trabaho, apan si Cliff adunay hinungdanon nga papel niini.

Sa pangbukas nga keynote, si Cliff maghisgot bahin sa lain niyang paningkamot - H20, usa ka in-memory nga plataporma alang sa gipang-apod-apod ug scalable nga pagkat-on sa makina alang sa mga aplikasyon sa industriya. O mas tukma, bahin sa giapod-apod nga pagtipig sa mga pares nga kantidad sa yawe sa sulod niini. Kini usa ka paspas kaayo nga pagtipig nga adunay daghang makapaikag nga mga kabtangan (ang eksaktong lista naa sa paghulagway), nga nagtugot sa paggamit sa susama nga mga solusyon sa matematika sa dagkong data streaming.

Ang laing taho nga ihatag ni Cliff mao ang - Ang kasinatian sa Azul Hardware Transactional Memory. Laing bahin sa iyang biography - napulo ka tuig Nagtrabaho sa Azul, diin iyang gi-update ug gipauswag ang daghang mga butang sa Azul hardware ug teknolohiya nga stack: JIT compiler, runtime, thread model, error handling, stack handling, hardware interrupts, class loading, ug uban pa ug uban pa - maayo, makuha nimo ang ideya.

Ang labing makapaikag nga bahin nagsugod sa dihang naghimo sila og hardware alang sa usa ka dako nga negosyo - usa ka supercomputer nga modagan sa Java. Kini usa ka bag-o nga butang, nga gipahaum ilabi na alang sa Java, nga adunay espesyal nga mga kinahanglanon - basaha ang mga babag sa panumduman alang sa ubos nga paghunong sa pagkolekta sa basura, mga arrays nga adunay mga utlanan nga pagsusi, mga virtual nga tawag ... Usa sa pinakabugnaw nga mga teknolohiya mao ang hardware transactional memory. Ang tibuok L1 sa bisan unsa sa 864 nga mga cores mahimong moapil sa transactional nga pagsulat, nga ilabinang importante alang sa pagtrabaho uban sa mga kandado sa Java (ang gi-synchronize nga mga bloke mahimong magtrabaho nga managsama basta walay tinuod nga panagbangi sa memorya). Apan ang matahum nga ideya gidugmok sa mapintas nga kamatuoran - ug sa kini nga pakigpulong si Cliff isulti kanimo kung ngano nga ang HTM ug STM dili kaayo angay alang sa praktikal nga mga panginahanglanon sa multi-threaded computing.

Michael Scott - Doble nga istruktura sa datos

19 ka ulo sa hydra. Nindot nga overview sa programa Michael Scott - Propesor sa Computer Science sa Unibersidad sa Rochester, diin ang kapalaran nagkonektar kaniya 34 anyos na, ug sa iyang balay nga Unibersidad sa Wisconsin–Madison, dean siya sulod sa lima ka tuig. Siya nagsiksik ug nagtudlo sa mga estudyante mahitungod sa parallel ug distributed nga programming ug language design.

Ang tibuok kalibutan nakaila kang Michael salamat sa libro "Programming Language Pragmatics", ang pinakabag-o nga edisyon nga gipatik medyo bag-o lang - sa 2015. Iyang trabaho "Mga algorithm alang sa scalable nga pag-synchronize sa shared-memory multiprocessors" nadawat Dijkstra Prize isip usa sa labing inila sa natad sa distributed computing ug namakak sa dayag sa University of Rochester Online Library. Mahimo ka usab makaila kaniya isip ang tagsulat sa Michael-Scott algorithm gikan sa "Simple, Paspas, ug Praktikal nga Dili Pag-block ug Pag-block sa Kadungan nga Queue Algorithm".

Sama sa alang sa kalibutan sa Java, kini usa ka espesyal nga kaso: kauban si Doug Lea, gipalambo niya ang mga non-blocking algorithm ug mga dungan nga pila kung diin nagtrabaho ang mga librarya sa Java. Mao gyud kini ang bahin sa keynote nga "Dual data structures" - ang pagpaila sa kini nga mga istruktura sa Java SE 6 nagpauswag sa pasundayag sa 10 ka beses java.util.concurrent.ThreadPoolExecutor. Kung nahibulong ka daan kung unsa kini nga "Dual nga mga istruktura sa datos", nan adunay kasayuran bahin niini may kalabutan nga trabaho.

Maurice Herlihy - Ang mga blockchain ug ang kaugmaon sa gipang-apod-apod nga computing

19 ka ulo sa hydra. Nindot nga overview sa programa Maurice Herlihy - mananaog sa duha ka Dijkstra Prizes. Ang una alang sa pagtrabaho "Wait-Free Synchronization" (Brown University), ug ang ikaduha, mas bag-o - "Panumduman sa Transaksyon: Suporta sa Arkitektural alang sa Mga Structure sa Data nga Wala’y Lock" (Virginia Tech University). Giila sa Dijkstra Prize ang trabaho kansang kahinungdanon ug epekto makita sa labing menos napulo ka tuig, ug si Maurice klaro nga usa sa labing inila nga mga eksperto sa natad. Siya karon nagtrabaho isip propesor sa Brown University ug adunay taas nga paragraph nga listahan sa mga kalampusan.

Niini nga panapos nga keynote, si Maurice maghisgot mahitungod sa teorya ug praktis sa mga sistema nga gipang-apod-apod sa blockchain gikan sa punto sa panglantaw sa mga classics sa distributed computing ug kung giunsa kini pagpayano sa daghang may kalabutan nga mga problema. Kini usa ka taho nga eksklusibo sa hilisgutan sa komperensya - dili sa tanan bahin sa pagmina sa hype, apan kung giunsa ang atong kahibalo magamit nga katingad-an nga epektibo ug tukma nga may kalabotan sa lainlaing mga buluhaton.

Niadtong Hulyo 2017, si Maurice miadto na sa Russia aron motambong sa eskwelahan sa SPTDC, miapil sa JUG.ru meetup, ug ang rekording matan-aw sa YouTube:

Panguna nga programa

Sunod adunay usa ka mubo nga pagtan-aw sa mga taho nga gilakip sa programa. Ang pipila sa mga taho gihulagway dinhi sa detalye, ang uban mas mubo. Ang tag-as nga mga deskripsyon nag-una sa mga report sa English-language nga nanginahanglan mga link sa mga siyentipikong papel, termino sa Wikipedia, ug uban pa. Ang tibuok listahan anaa tan-awa sa website sa komperensya. Ang lista sa website ma-update ug madugangan.

Leslie Laport - Q & A

19 ka ulo sa hydra. Nindot nga overview sa programa Si Leslie Lamport mao ang tagsulat sa seminal nga mga buhat sa gipang-apod-apod nga kompyuter. "LaTeX" nagpasabot sa "Lamport TeX". Siya ang una, kaniadtong 1979, nagpaila sa konsepto sunodsunod nga pagkamakanunayon, ug ang iyang artikulo "Unsaon Paghimo sa usa ka Multiprocessor Computer Nga Husto nga Nagpatuman sa Multiprocess Programs" nakadawat sa Dijkstra Prize.

Kini ang labing talagsaon nga bahin sa programa sa mga termino sa format, tungod kay dili kini usa ka taho, apan usa ka sesyon sa pangutana ug tubag. Kung ang usa ka hinungdanon nga bahin sa mamiminaw pamilyar na (o mahimong pamilyar) sa tanan nga mga lahi sa mga buhat nga gibase sa "teorya ni Lamport", iyang kaugalingon nga mga artikulo ug mga taho, mas hinungdanon nga igugol ang tanan nga magamit nga oras sa direkta nga komunikasyon.

Simple ra ang ideya - motan-aw ka ug duha ka report sa YouTube: "Ang Pagprograma Kinahanglan nga Labaw pa sa Coding" ΠΈ "Kung Dili Ka Magsulat og Programa, Ayaw Paggamit og Programming Language" ug pag-andam bisan usa ka pangutana, ug si Leslie ang motubag.

Ang una niining duha ka mga video naa na namo nahimong habro nga artikulo. Kung wala ka usa ka oras nga oras sa pagtan-aw sa video, dali nimo kini mabasa sa tanan sa porma sa teksto.

Hinumdomi: Adunay daghan pang mga Leslie Lamport nga mga video sa YouTube. Pananglitan, adunay usa ka maayo kaayo TLA+ nga kurso. Usa ka offline nga bersyon niining tibuok nga kurso anaa sa home page sa tagsulat, ug iya kining gi-upload sa YouTube para mas sayon ​​nga tan-awon sa mga mobile device.

Martin Kleppmann - Pag-sync sa datos sa mga aparato sa tiggamit alang sa giapod-apod nga kolaborasyon

19 ka ulo sa hydra. Nindot nga overview sa programa Si Martin Kleppmann usa ka tigdukiduki sa Unibersidad sa Cambridge nga nagtrabaho sa CRDT ug pormal nga pag-verify sa mga algorithm. Ang libro ni Martin "Pagdesinyo sa Data-Intensive nga mga Aplikasyon", nga gipatik sa 2017, napamatud-an nga malampuson kaayo ug nahimo kini sa mga lista sa bestseller sa natad sa pagtipig ug pagproseso sa datos. Kevin Scott, CTO sa Microsoft, kausa miingon: "Kini nga libro kinahanglan nga kinahanglan nga adunay alang sa mga software engineer. Kini usa ka talagsaon nga kapanguhaan nga naghiusa sa teorya ug praktis aron matabangan ang mga nag-develop nga mas maalamon sa pagdesinyo ug pagpatuman sa imprastraktura ug mga sistema sa datos. Ang tiglalang sa Kafka ug CTO sa Confluent, Jay Kreps, nagsulti og susama.

Sa wala pa mobalhin sa akademikong panukiduki, nagtrabaho si Martin sa industriya ug nagtukod og duha ka malampuson nga pagsugod:

  • Rapportive, gipahinungod sa pagpakita sa sosyal nga profile sa mga kontak gikan sa imong email, nga gipalit sa LinkedIn kaniadtong 2012;
  • Go Test It, usa ka serbisyo alang sa awtomatikong pagsulay sa mga website sa lainlaing mga browser, nga gipalit sa RedGate kaniadtong 2009.

Sa kinatibuk-an, si Martin, bisan og dili kaayo sikat kay sa atong mga keynotes, nakahimo na og pipila ka kontribusyon sa pagpalambo sa distributed computing ug sa industriya.

Niini nga pakigpulong, si Martin maghisgot mahitungod sa usa ka hilisgutan nga mas duol sa iyang akademikong panukiduki. Sa Google Docs ug susama nga mga sofa nga nag-co-edit sa mga dokumento, ang "pagtinabangay nga pag-edit" nagtumong sa usa ka buluhaton sa pagkopya: ang matag tiggamit adunay ilang kaugalingon nga kopya sa gipaambit nga dokumento, nga ilang giusab, ug ang tanan nga mga pagbag-o gipadala sa tibuuk nga network sa ubang bahin sa mga partisipante. Ang mga pagbag-o sa mga dokumento sa offline mosangput sa temporaryo nga pagkasumpaki sa dokumento kalabot sa ubang mga partisipante, ug ang pag-synchronize pag-usab nanginahanglan pagdumala sa panagbangi. Mao gyud na sila naglungtad Wala'y panagsumpaki nga Gi-replicated nga mga Type sa Data (CRDT), sa tinuud, usa ka bag-o nga butang, ang esensya niini naporma lamang kaniadtong 2011. Kini nga pakigpulong naghisgot kung unsa ang nahitabo sukad niadto sa kalibutan sa CRDT, kung unsa ang labing bag-o nga mga pag-uswag, ang pamaagi sa paghimo sa mga lokal nga una nga aplikasyon sa kinatibuk-an ug ang paggamit sa usa ka bukas nga gigikanan nga librarya. Automerge ilabina.

Sa sunod semana magpatik kami og taas nga interbyu uban ni Martin sa HabrΓ©, kini makapainteres.

Pedro Ramalhete - Mga istruktura sa datos nga wala’y paghulat ug mga transaksyon nga wala’y paghulat

19 ka ulo sa hydra. Nindot nga overview sa programa Nagtrabaho si Pedro sa Cisco ug nagpalambo sa parallel algorithm sa miaging napulo ka tuig o labaw pa, lakip ang mga mekanismo sa pag-synchronize, wala’y lock ug wala’y paghulat nga istruktura sa datos ug tanan nga imong mahunahuna bahin niini nga hilisgutan. Ang iyang kasamtangang panukiduki ug mga interes sa inhenyero naka-focus sa Universal Constructions, Software Transactional Memory, Persistent Memory ug susamang mga teknolohiya nga makahimo sa husto, scalable ug fault-tolerant nga mga aplikasyon. Siya usab ang tagsulat sa usa ka blog nga kaylap nga nailhan sa pig-ot nga mga bilog Concurrency Freaks.

Kadaghanan sa mga multithreaded nga aplikasyon karon nagdagan sa parallel data structures, gikan sa paggamit sa message queues tali sa mga aktor ngadto sa indexed data structures sa key-value stores. Sila malampuson nga nagtrabaho sa Java JDK sulod sa daghang mga tuig, ug sila hinayhinay nga gidugang sa C++.

Ang pinakasimple nga paagi sa pagpatuman sa parallel data structure mao ang sequential (single-threaded) nga pagpatuman diin ang mga pamaagi giprotektahan sa mutexes. Ma-access kini sa bisan unsang Hunyo, apan adunay klaro nga mga problema sa scaling ug performance. Sa parehas nga oras, ang mga istruktura sa datos nga wala’y kandado ug wala maghulat nga wala’y paghulat dili lamang mas maayo nga makasagubang sa mga sayup, apan adunay usab usa ka labi ka maayo nga profile sa pasundayag - bisan pa, ang ilang pag-uswag nanginahanglan lawom nga kahanas ug pagpahiangay sa usa ka piho nga aplikasyon. Ang usa ka sayup nga linya sa code igo na aron mabungkag ang tanan.

Sa unsa nga paagi kita makahimo niini nga bisan ang usa ka dili eksperto makahimo sa pagdesinyo ug pagpatuman sa maong mga istruktura sa datos? Nahibal-an nga ang bisan unsang sunud-sunod nga algorithm mahimong himuon nga luwas nga hilo gamit ang bisan hain unibersal nga disenyo, o transactional memory. Sa usa ka butang, mahimo nilang ipaubos ang babag sa pagsulod sa pagsulbad niini nga problema. Bisan pa, ang duha nga mga solusyon kasagarang mosangpot sa dili epektibo nga pagpatuman. Si Pedro maghisgot kung giunsa nila nahimo kini nga mga disenyo nga mas episyente ug kung giunsa nimo kini magamit alang sa imong mga algorithm.

Heidi Howard - Pagpalingkawas sa gipang-apod-apod nga consensus

19 ka ulo sa hydra. Nindot nga overview sa programa Si Heidi Howard, sama ni Martin, usa ka tigdukiduki nga giapod-apod nga sistema sa Unibersidad sa Cambridge. Ang iyang mga espesyalidad mao ang pagkamakanunayon, pagtugot sa sayup, pasundayag ug giapod-apod nga consensus. Nailhan siya sa iyang pag-generalize sa Paxos algorithm nga gitawag Flexible nga Paxos.

Hinumdomi kana Paxos usa ka pamilya sa mga protocol alang sa pagsulbad sa problema sa consensus sa usa ka network sa dili kasaligan nga mga kompyuter, base sa buhat ni Leslie Lamport. Busa, ang pipila sa among mga mamumulong nagtrabaho sa mga problema nga orihinal nga gisugyot sa among uban nga mga mamumulong - ug kini talagsaon.

Ang abilidad sa pagpangita og consensus taliwala sa daghang mga host-alang sa pagtubag, pagpili sa lider, pagbabag, o koordinasyon-usa ka sukaranan nga isyu sa modernong gipang-apod-apod nga mga sistema. Ang Paxos karon ang nag-unang paagi sa pagsulbad sa mga problema sa konsensus, ug adunay daghang panukiduki nga nagpadayon sa palibot niini aron mapalapad ug ma-optimize ang algorithm alang sa lainlaing praktikal nga mga panginahanglanon.

Niini nga pakigpulong, atong balikon ang teoretikal nga basehan sa Paxos, pagpahayahay sa orihinal nga mga kinahanglanon ug pag-generalize sa algorithm. Atong makita nga ang Paxos usa ra ka kapilian taliwala sa daghang mga pamaagi sa konsensus, ug nga ang ubang mga punto sa spectrum mapuslanon usab alang sa pagtukod og maayong mga sistema nga gipang-apod-apod.

Alex Petrov - Bawasan ang imong gasto sa pagtipig gamit ang Transient Replication ug Barato nga mga Korum

19 ka ulo sa hydra. Nindot nga overview sa programa Si Alex usa ka espesyalista sa database ug mga sistema sa pagtipig, ug labi ka hinungdanon alang kanamo, usa ka committer sa Cassandra. Siya karon nagtrabaho sa usa ka libro, Database Internals, kauban si O'Reilly.

Alang sa mga sistema nga adunay sa katapusan pagkamakanunayon (sa terminolohiya sa Ruso - "ultimate consistency"), pagkahuman sa usa ka node nahagsa o ​​usa ka network split, kinahanglan nimo nga sulbaron ang mosunud nga problema: magpadayon sa pagpatuman sa mga hangyo, pagsakripisyo sa pagkamakanunayon, o pagdumili sa pagpatuman niini ug pagsakripisyo sa pagkaanaa. Sa ingon nga sistema, ang mga korum, nagsapaw-sapaw nga mga subset sa mga node ug ang pagsiguro nga labing menos usa ka node ang adunay labing bag-o nga kantidad, mahimo nga usa ka maayong solusyon. Mahimo nimong maluwas ang mga kapakyasan ug pagkawala sa koneksyon sa pipila ka mga node samtang nagtubag sa labing bag-ong mga kantidad.

Bisan pa, ang tanan adunay iyang presyo. Ang iskema sa pagkopya sa korum nagpasabut nga dugang nga gasto sa pagtipig: ang sobra nga datos kinahanglan nga tipigan sa daghang mga node sa usa ka higayon aron masiguro nga adunay igo nga mga kopya nga magamit kung adunay problema. Kini nahimo nga dili nimo kinahanglan nga tipigan ang tanan nga datos sa tanan nga mga replika. Mahimo nimong pakunhuran ang load sa storage kung magtipig ka ug data sa bahin lang sa mga node, ug mogamit ug espesyal nga mga node (Transient Replica) para sa mga senaryo sa pagdumala sa kapakyasan.

Atol sa dagan sa taho atong hisgotan Mga Replika sa Saksi, ang pamaagi sa pagkopya nga gigamit sa Spanner ΠΈ mega tindahan, ug ang pagpatuman niini nga konsepto sa Apache Cassandra nga gitawag Lumalabay nga Replikasyon ug Barato nga mga Korum.

Dmitry Vyukov - Gibutyag ang mga Goroutine

19 ka ulo sa hydra. Nindot nga overview sa programa Si Dmitry usa ka developer sa Google nga nagtrabaho sa dinamikong pagsulay alang sa C/C++ ug Go - Address/Memory/ThreadSanitizer, ug susamang mga himan para sa Linux kernel. Gitampo sa Go usa ka scalable goroutine scheduler, usa ka network poller, ug usa ka parallel garbage collector. Siya usa ka eksperto sa multithreading, ang tagsulat sa usa ka dosena nga bag-ong non-blocking algorithms ug mao ang tag-iya sa Itom nga Belt Intel.

Karon usa ka gamay bahin sa taho mismo. Ang Go nga pinulongan adunay lumad nga suporta alang sa multithreading sa porma sa goroutine (light threads) ug channels (FIFO queues). Kini nga mga mekanismo naghimo niini nga sayon ​​kaayo ug makalingaw alang sa mga tiggamit sa pagsulat sa modernong multi-threaded nga mga aplikasyon, ug kini morag salamangka. Sa atong nasabtan, walay salamangka dinhi. Niini nga pakigpulong, si Dmitry mag-usisa sa mga intricacies sa Go scheduler ug ipakita ang mga sekreto sa pagpatuman niini nga "magic". Una, maghatag siya usa ka kinatibuk-ang ideya sa mga nag-unang sangkap sa scheduler ug isulti kanimo kung giunsa kini molihok. Sunod, atong tan-awon pag-ayo ang tagsa-tagsa nga mga aspeto sama sa estratehiya sa parking/unparking ug pagdumala sa blocking system calls. Sa katapusan, si Dmitry maghisgot gamay bahin sa posible nga pag-uswag sa scheduler.

Dmitry Bugaichenko - Pagpadali sa gipang-apod-apod nga pagtuki sa graph nga adunay probabilistic sketch ug uban pa

19 ka ulo sa hydra. Nindot nga overview sa programa Si Dmitry nagtrabaho sa outsourcing sa hapit 9 ka tuig nga wala mawala ang kontak sa unibersidad ug sa siyentipikong komunidad. Ang dako nga pag-analisar sa datos sa Odnoklassniki nahimong usa ka talagsaon nga kahigayonan alang kaniya sa paghiusa sa teoretikal nga pagbansay ug siyentipikong pundasyon uban sa pagpalambo sa tinuod, in-demand nga mga produkto.

Ang giapod-apod nga pag-analisar sa graph nahimo ug nagpabilin nga usa ka lisud nga buluhaton: kung kinahanglan nga makakuha og kasayuran bahin sa mga koneksyon sa usa ka kasikbit nga vertex, ang datos kanunay kinahanglan ibalhin taliwala sa mga makina, nga mosangput sa dugang nga oras sa pagpatuman ug pagkarga sa imprastraktura sa network. Sa kini nga pakigpulong, atong tan-awon kung giunsa nimo makuha ang hinungdanon nga mga katulin sa pagproseso pinaagi sa paggamit sa probabilistic data structures o mga kamatuoran sama sa simetriya sa graph sa panaghigalaay sa usa ka social network. Kining tanan gihulagway sa mga pananglitan sa code sa Apache Spark.

Denis Rystsov - Bawasan ang imong gasto sa pagtipig gamit ang Transient Replication ug Barato nga mga Korum

19 ka ulo sa hydra. Nindot nga overview sa programa Denis - developer Cosmos DB, usa ka eksperto sa pagsusi sa mga modelo sa pagkamakanunayon, consensus algorithm, ug gipang-apod-apod nga mga transaksyon. Siya karon nagtrabaho sa Microsoft, ug sa wala pa siya nagtrabaho sa mga gipang-apod-apod nga mga sistema sa Amazon ug Yandex.

Niini nga pakigpulong, atong tan-awon ang gipang-apod-apod nga mga protocol sa transaksyon nga naimbento sa milabay nga pipila ka tuig, nga mahimong ipatuman sa kilid sa kliyente sa ibabaw sa bisan unsang data store nga nagsuporta sa conditional update (itandi ug itakda). Ang hinungdan mao nga ang kinabuhi dili matapos sa usa ka duha ka hugna nga pasalig, ang mga transaksyon mahimong idugang sa ibabaw sa bisan unsang mga database - sa lebel sa aplikasyon, apan ang lainlaing mga protocol (2PC, Percolator, RAMP) adunay lainlaing mga tradeoff ug wala gihatag kanamo. kay libre.

Alexey Zinoviev - Dili tanan nga mga algorithm sa ML naghimo niini sa giapod-apod nga langit

19 ka ulo sa hydra. Nindot nga overview sa programa Alexei (zaleslaw) kay dugay nang mamumulong ug membro sa mga komite sa programa sa ubang mga komperensya. Nagpraktis sa tigbansay sa EPAM Systems, ug nakighigala sa Hadoop/Spark ug uban pang dagkong datos sukad 2012.

Sa kini nga pakigpulong, si Alexey maghisgot bahin sa mga problema sa pagpahiangay sa klasikal nga mga algorithm sa pagkat-on sa makina alang sa pagpatuman sa giapod-apod nga mode base sa iyang kasinatian nga nagtrabaho kauban ang Apache Spark ML, Apache Mahout, Apache Flink ML ug ang kasinatian sa paghimo sa Apache Ignite ML. Maghisgot usab si Alexey bahin sa pagpatuman sa gipang-apod-apod nga mga algorithm sa ML sa kini nga mga balangkas.

Ug sa katapusan, duha ka mga taho gikan sa Yandex bahin sa Yandex Database.

Vladislav Kuznetsov - Yandex Database - kung giunsa naton masiguro ang pagtugot sa sayup

19 ka ulo sa hydra. Nindot nga overview sa programa Si Vladislav usa ka developer sa Yandex sa gipang-apod-apod nga grupo sa plataporma. Ang Yandex Database kay usa ka horizontally scalable, geo-distributed, fault-tolerant nga DBMS nga makasugakod sa kapakyasan sa mga disk, server, racks ug data center nga dili mawala ang pagkamakanunayon. Aron masiguro ang pagtugot sa sayup, gigamit ang usa ka proprietary algorithm alang sa pagkab-ot sa giapod-apod nga consensus, ingon man usa ka gidaghanon sa mga teknikal nga solusyon, nga gihisgutan sa detalye sa taho. Mahimong interesado ang taho sa mga developer sa DBMS ug mga developer sa mga solusyon sa aplikasyon base sa DBMS.

Semyon Checherinda - Giapod-apod nga mga transaksyon sa YDB

19 ka ulo sa hydra. Nindot nga overview sa programa Si Semyon usa ka developer sa gipang-apod-apod nga grupo sa plataporma sa Yandex, nga nagtrabaho sa posibilidad sa multi-tenant nga paggamit sa pag-instalar sa YDB.

Ang Yandex Database gidisenyo alang sa OLTP nga mga pangutana ug nagsunod sa mga kinahanglanon sa ACID alang sa usa ka transactional system. Niini nga taho, atong hisgotan ang algorithm sa pag-iskedyul sa transaksyon nga nagpahipi sa sistema sa transaksyon sa YDB. Atong tan-awon kung unsang mga entidad ang moapil sa mga transaksyon, kinsa nag-assign sa global nga order sa mga transaksyon, kung giunsa ang atomicity sa transaksyon, kasaligan, ug usa ka estrikto nga lebel sa pagkahimulag makab-ot. Gamit ang usa ka komon nga problema isip usa ka pananglitan, atong tan-awon ang mga pagpatuman sa transaksyon gamit ang duha ka hugna nga commit ug deterministic nga mga transaksyon. Atong hisgotan ang ilang mga kalainan.

Unsay sunod?

Ang programa sa komperensya nagpadayon nga napuno sa bag-ong mga taho. Sa partikular, gipaabut namon ang usa ka taho gikan sa Nikita Koval (ndkoval) gikan sa JetBrains ug Oleg Anastasyev (m0nstermind) gikan sa Odnoklassniki nga kompanya. Si Nikita nagtrabaho sa mga algorithm alang sa mga coroutine sa Kotlin team, ug si Oleg nagpalambo sa arkitektura ug mga solusyon alang sa mga high-load nga sistema sa Odnoklassniki platform. Dugang pa, adunay usa pa nga adunay kondisyon nga walay sulod nga slot, ang komite sa programa nagtrabaho kauban ang mga kandidato alang niini karon.

Ang komperensya sa Hydra mahitabo sa Hulyo 11-12 sa St. Ang mga tiket anaa pagpalit sa opisyal nga website. Palihug pagtagad sa pagkaanaa sa Online nga mga tiket - kung sa pipila ka rason dili ka makaadto sa St. Petersburg niining mga adlawa.

Magkita ta sa Hydra!

Source: www.habr.com

Idugang sa usa ka comment