19 vichwa vya hydra. Muhtasari mkubwa wa programu

Mkutano utafanyika Julai 11-12 huko St Hydra, kujitolea kwa maendeleo ya mifumo ya sambamba na kusambazwa. Ujanja wa Hydra ni kwamba inaunganisha wanasayansi wazuri (ambao kawaida wanaweza kupatikana tu kwenye mikutano ya kisayansi ya kigeni) na wahandisi maarufu wa mazoezi katika programu moja kubwa kwenye makutano ya sayansi na mazoezi.

Hydra ni mojawapo ya mikutano yetu muhimu zaidi katika miaka michache iliyopita. Ilitanguliwa na maandalizi mazito sana, uteuzi wa wazungumzaji na ripoti. Wiki iliyopita kuhusu hili mahojiano ya habro yalitoka na mkurugenzi wa JUG.ru Group, Alexey Fedorov (23 derevo).

Sisi tayari aliiambia kuhusu washiriki watatu muhimu, waanzilishi wa nadharia ya mifumo iliyosambazwa - Leslie Lamport, Maurice Herlihy na Michael Scott. Ni wakati wa kuzungumza kwa undani zaidi juu ya mpango mzima!

19 vichwa vya hydra. Muhtasari mkubwa wa programu

Motisha

Ikiwa unahusika katika programu, basi kwa njia moja au nyingine unashughulika na multithreading na kusambazwa kwa kompyuta. Wataalamu katika nyanja husika hufanya kazi nao moja kwa moja, lakini kwa uwazi, usambazaji unatuangalia kutoka kila mahali: katika kompyuta yoyote ya msingi au huduma iliyosambazwa kuna kitu ambacho hufanya mahesabu kwa sambamba.

Kuna mikutano mingi ambayo inashughulikia nyanja mbali mbali za upangaji wa programu. Kwa upande mwingine wa wigo, tuna shule maalum za kisayansi zinazofichua idadi kubwa ya nadharia changamano katika umbizo la mihadhara. Kwa mfano, sambamba na Hydra huko St. Petersburg kuna Shule ya SPTDC. Katika mkutano wa Hydra, tulijaribu kuleta pamoja mazoezi makali, sayansi, na kila kitu kwenye makutano yao.

Fikiria juu ya hili: tunaishi katika wakati mzuri sana ambapo unaweza kukutana kibinafsi na waanzilishi wa uwanja wa sayansi na uhandisi ambao tunasoma. Wanafizikia hawatakutana na Newton au Einstein - treni imeondoka. Lakini karibu na sisi bado wanaishi wale ambao waliunda misingi ya nadharia ya mifumo iliyosambazwa, waligundua lugha maarufu za programu, na kwa mara ya kwanza walijumuisha haya yote katika prototypes za kufanya kazi. Watu hawa hawakuacha kazi zao katikati, hivi sasa wanashughulikia masuala muhimu katika vyuo vikuu na makampuni mashuhuri duniani, na ndio vyanzo vikubwa zaidi vya maarifa na uzoefu leo.

Kwa upande mwingine, fursa ya kukutana nao kawaida hubaki kuwa ya kinadharia tu: wachache wetu wanaweza kufuatilia matukio ya umma kila wakati katika Chuo Kikuu fulani cha Rochester, na kisha kukimbilia USA na kurudi kwa mihadhara na Michael Scott. Kutembelea washiriki wote wa Hydra kungegharimu pesa kidogo, bila kuhesabu shimo la wakati uliopotea (ingawa inaonekana kama harakati ya kupendeza).

Kwa upande mwingine, tuna wahandisi wengi wa juu ambao wanashughulikia shida kubwa katika mifumo iliyosambazwa hivi sasa, na bila shaka wana mengi ya kusema. Lakini hapa ni tatizo - wao Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, na wakati wao ni wa thamani. Ndio, ikiwa wewe ni mfanyakazi wa Microsoft, Google au JetBrains, uwezekano wa kukutana na mmoja wa wasemaji maarufu kwenye tukio la ndani huongezeka kwa kasi, lakini kwa ujumla, hapana, hii haifanyiki kila siku.

Kwa njia hii, Mkutano wa Hydra hutimiza kazi muhimu ambayo wengi wetu hatuwezi kuifanya peke yetu - mahali pamoja na kwa wakati mmoja, huleta pamoja watu ambao mawazo yao au mwingiliano nao unaweza kubadilisha maisha yako. Nakubali kwamba si kila mtu anahitaji mifumo iliyosambazwa au mambo fulani changamano ya kimsingi. Unaweza kupanga CRUDs katika PHP kwa maisha yako yote na kubaki na furaha kabisa. Lakini yeyote anayehitaji, hii ni nafasi yako.

Muda mrefu umepita tangu kutangazwa kwa kwanza kwa mkutano wa Hydra kuhusu Habre. Wakati huu, kazi nyingi zimefanywa - na sasa tuna orodha ya karibu ripoti zote. Hakuna algoriti za uvivu zenye nyuzi moja, ngumu tu iliyosambazwa! Tumalizie kwa maneno ya jumla na tuone kile tulicho nacho mikononi mwetu sasa.

Vidokezo muhimu

Mada kuu huanza na kumalizia siku za mkutano. Kwa kawaida hoja kuu ya ufunguzi ni kuweka roho ya jumla na mwelekeo wa mkutano. Dokezo kuu la kufunga linatoa mstari na kueleza jinsi tunavyoweza kuishi na maarifa na ujuzi uliopatikana wakati wa mkutano. Mwanzo na mwisho: kile kinachokumbukwa vyema, na kwa ujumla, kimeongeza umuhimu.

Bonyeza Cliff H2O ilisambaza algoriti ya K/V

19 vichwa vya hydra. Muhtasari mkubwa wa programu Cliff ni hadithi katika ulimwengu wa Java. Mwishoni mwa miaka ya 90, kwa nadharia yake ya PhD, aliandika karatasi yenye kichwa "Kuchanganya Uchambuzi, Kuchanganya Uboreshaji", ambayo muda fulani baadaye ikawa msingi wa Mkusanyaji wa Seva ya HotSpot JVM. Miaka miwili baadaye, tayari alikuwa akifanya kazi katika Sun Microsystems kwenye JVM na alionyesha dunia nzima kwamba JIT ina haki ya kuwepo. Hadithi hii yote kuhusu jinsi Java ni mojawapo ya nyakati za kisasa za kukimbia zenye kasi zaidi na uboreshaji bora na wa haraka zaidi ilitoka kwa Cliff Click. Hapo awali, iliaminika kuwa ikiwa kitu kinapatikana kwa mkusanyaji tuli, sio lazima hata ujaribu kuifanya. Shukrani kwa kazi ya Cliff na timu, lugha zote mpya zilianza kuundwa na wazo la mkusanyiko wa JIT kwa chaguo-msingi. Kwa kweli, hii haikuwa kazi ya mtu mmoja, lakini Cliff alichukua jukumu muhimu sana ndani yake.

Katika mada ya ufunguzi, Cliff atazungumza juu ya juhudi yake nyingine - H20, jukwaa la kumbukumbu la ujifunzaji wa mashine zinazosambazwa na hatari kwa matumizi ya viwandani. Au kwa usahihi zaidi, kuhusu hifadhi iliyosambazwa ya jozi za thamani-msingi ndani yake. Huu ni uhifadhi wa haraka sana na mali nyingi za kupendeza (orodha halisi iko ndani maelezo), ambayo inaruhusu utumiaji wa suluhisho sawa katika hesabu ya utiririshaji mkubwa wa data.

Ripoti nyingine ambayo Cliff atatoa ni - Uzoefu wa Kumbukumbu ya Muamala wa Vifaa vya Azul. Sehemu nyingine ya wasifu wake - miaka kumi Hufanya kazi Azul, ambapo alisasisha na kuboresha vitu vingi kwenye safu ya vifaa vya Azul na teknolojia: wakusanyaji wa JIT, wakati wa kukimbia, muundo wa nyuzi, utunzaji wa makosa, utunzaji wa stack, usumbufu wa vifaa, upakiaji wa darasa, na kadhalika na kadhalika - vizuri, unapata wazo.

Sehemu ya kuvutia zaidi ilianza wakati walitengeneza vifaa kwa biashara kubwa - kompyuta kuu ya kuendesha Java. Ilikuwa ni jambo la ubunifu, iliyoundwa mahsusi kwa Java, ambayo ina mahitaji maalum - soma vizuizi vya kumbukumbu kwa mkusanyiko wa takataka za pause ya chini, safu zilizo na ukaguzi wa mipaka, simu za kawaida ... Moja ya teknolojia ya baridi zaidi ni kumbukumbu ya shughuli za vifaa. L1 nzima ya cores yoyote ya 864 inaweza kushiriki katika uandishi wa shughuli, ambayo ni muhimu sana kwa kufanya kazi na kufuli katika Java (vitalu vilivyosawazishwa vinaweza kufanya kazi kwa usawa mradi hakuna mgongano wa kumbukumbu halisi). Lakini wazo zuri lilipondwa na ukweli mkali - na katika mazungumzo haya Cliff atakuambia kwa nini HTM na STM hazifai sana kwa mahitaji ya vitendo ya kompyuta yenye nyuzi nyingi.

Michael Scott - Miundo ya data mbili

19 vichwa vya hydra. Muhtasari mkubwa wa programu Michael Scott - Profesa wa Sayansi ya Kompyuta katika Chuo Kikuu cha Rochester, ambaye hatima yake ilimuunganisha tayari ana miaka 34, na nyumbani kwake Chuo Kikuu cha Wisconsin–Madison, alikuwa mkuu wa chuo kwa miaka mitano. Yeye hutafiti na kuwafundisha wanafunzi kuhusu programu sambamba na kusambazwa na muundo wa lugha.

Ulimwengu wote unamjua Michael shukrani kwa kitabu cha maandishi "Pragmatiki ya Lugha ya Programu", toleo la hivi punde ambalo lilichapishwa hivi majuzi - mnamo 2015. Kazi yake "Algorithms ya ulandanishi inayoweza kusambazwa kwenye vichakataji vingi vya kumbukumbu iliyoshirikiwa" imepokelewa Tuzo la Dijkstra kama moja ya maarufu katika uwanja wa kompyuta iliyosambazwa na uongo wazi katika Maktaba ya Mtandaoni ya Chuo Kikuu cha Rochester. Unaweza pia kumjua kama mwandishi wa algoriti ya Michael-Scott kutoka "Algorithms Rahisi, Haraka, na Vitendo Visivyozuia na Kuzuia Sambamba za Foleni".

Kuhusu ulimwengu wa Java, hii ni kesi maalum: pamoja na Doug Lea, alitengeneza algorithms zisizo za kuzuia na foleni za synchronous ambazo maktaba za Java hufanya kazi. Hivi ndivyo maelezo kuu ya "Dual data miundo" yatakavyohusu - kuanzishwa kwa miundo hii katika Java SE 6 kumeboresha utendakazi kwa mara 10. java.util.concurrent.ThreadPoolExecutor. Ikiwa unashangaa mapema ni nini hizi "Miundo ya data mbili", basi kuna habari kuhusu hilo kazi inayohusiana.

Maurice Herlihy - Blockchains na mustakabali wa kompyuta iliyosambazwa

19 vichwa vya hydra. Muhtasari mkubwa wa programu Maurice Herlihy - mshindi wa Tuzo mbili za Dijkstra. Ya kwanza ni ya kufanyia kazi "Usawazishaji Usiosubiri" (Chuo Kikuu cha Brown), na ya pili, ya hivi karibuni zaidi - "Kumbukumbu ya Shughuli: Usaidizi wa Usanifu kwa Miundo ya Data Isiyofungiwa" (Virginia Tech University). Tuzo ya Dijkstra inatambua kazi ambayo umuhimu na athari zake zimeonekana kwa angalau miaka kumi, na Maurice ni wazi kuwa mmoja wa wataalam mashuhuri katika uwanja huo. Hivi sasa anafanya kazi kama profesa katika Chuo Kikuu cha Brown na ana orodha ndefu ya aya ya mafanikio.

Katika maelezo haya ya mwisho, Maurice atazungumza juu ya nadharia na mazoezi ya mifumo iliyosambazwa ya blockchain kutoka kwa mtazamo wa classics ya kompyuta iliyosambazwa na jinsi inavyorahisisha shida nyingi zinazohusiana. Hii ni ripoti mahususi juu ya mada ya mkutano huo - sio kuhusu porojo za uchimbaji madini, lakini kuhusu jinsi ujuzi wetu unavyoweza kutumiwa kwa ufanisi na ipasavyo kuhusiana na kazi mbalimbali.

Mnamo Julai 2017, Maurice tayari alikuja Urusi kuhudhuria shule ya SPTDC, alishiriki katika mkutano wa JUG.ru, na rekodi inaweza kutazamwa kwenye YouTube:

Programu kuu

Ifuatayo kutakuwa na muhtasari mfupi wa ripoti zilizojumuishwa kwenye programu. Baadhi ya ripoti zimeelezewa hapa kwa undani, zingine kwa ufupi zaidi. Maelezo marefu yalikwenda hasa kwa ripoti za lugha ya Kiingereza ambazo zilihitaji viungo vya karatasi za kisayansi, masharti kwenye Wikipedia, na kadhalika. Orodha kamili inapatikana tazama kwenye tovuti ya mkutano. Orodha kwenye tovuti itasasishwa na kuongezwa.

Leslie Lamport - Maswali na Majibu

19 vichwa vya hydra. Muhtasari mkubwa wa programu Leslie Lamport ndiye mwandishi wa kazi za semina katika kompyuta iliyosambazwa. "LaTeX" inasimama kwa "Lamport TeX". Ni yeye ambaye kwanza, nyuma mwaka wa 1979, alianzisha dhana hiyo uthabiti wa mfuatano, na makala yake "Jinsi ya kutengeneza Multiprocessor Kompyuta ambayo Inatekeleza Programu nyingi kwa Usahihi" alipokea Tuzo la Dijkstra.

Hii ni sehemu isiyo ya kawaida ya programu katika suala la umbizo, kwa sababu hata sio ripoti, lakini kipindi cha maswali na majibu. Wakati sehemu kubwa ya hadhira tayari inafahamika (au inaweza kufahamiana) na kila aina ya kazi kulingana na "nadharia ya Lamport", nakala na ripoti zake mwenyewe, ni muhimu zaidi kutumia wakati wote unaopatikana kwenye mawasiliano ya moja kwa moja.

Wazo ni rahisi - unatazama ripoti mbili kwenye YouTube: "Programu Inapaswa Kuwa Zaidi ya Kuandika" ΠΈ "Ikiwa Huandiki Programu, Usitumie Lugha ya Kupanga" na uandae angalau swali moja, na Leslie ajibu.

Video ya kwanza kati ya hizi mbili tayari tunayo ikageuka kuwa makala ya habro. Ikiwa huna saa ya muda wa kutazama video, unaweza kuisoma kwa haraka katika fomu ya maandishi.

Kumbuka: Kuna video nyingi zaidi za Leslie Lamport kwenye YouTube. Kwa mfano, kuna kubwa Kozi ya TLA+. Toleo la nje ya mtandao la kozi hii nzima linapatikana ukurasa wa nyumbani wa mwandishi, na akaipakia kwenye YouTube ili iweze kutazamwa kwa urahisi kwenye vifaa vya rununu.

Martin Kleppmann - Inasawazisha data kwenye vifaa vyote vya watumiaji kwa ushirikiano uliosambazwa

19 vichwa vya hydra. Muhtasari mkubwa wa programu Martin Kleppmann ni mtafiti katika Chuo Kikuu cha Cambridge anayefanya kazi kwenye CRDT na uthibitishaji rasmi wa algoriti. kitabu cha Martin "Kubuni Programu Zinazohitaji Data", iliyochapishwa mwaka wa 2017, imeonekana kuwa na mafanikio makubwa na kuifanya kwenye orodha zinazouzwa zaidi katika uwanja wa kuhifadhi na usindikaji wa data. Kevin Scott, CTO katika Microsoft, mara moja alisema: β€œKitabu hiki kinafaa kuwa nacho kwa wahandisi wa programu. Hii ni rasilimali adimu ambayo inachanganya nadharia na mazoezi ili kusaidia wasanidi programu kuwa nadhifu katika kubuni na kutekeleza miundomsingi na mifumo ya data. Muundaji wa Kafka na CTO ya Confluent, Jay Kreps, alisema kitu kama hicho.

Kabla ya kuhamia katika utafiti wa kitaaluma, Martin alifanya kazi katika tasnia na alianzisha uanzishaji wa mafanikio mawili:

  • Rafiki, iliyojitolea kuonyesha wasifu wa kijamii wa anwani kutoka kwa barua pepe yako, ambayo LinkedIn ilinunua mnamo 2012;
  • Go Test It, huduma ya kupima tovuti kiotomatiki katika vivinjari mbalimbali, ambayo RedGate ilinunua mwaka wa 2009.

Kwa ujumla, Martin, ingawa sio maarufu kuliko maelezo yetu kuu, tayari ameweza kutoa mchango fulani katika maendeleo ya kompyuta iliyosambazwa na kwa tasnia.

Katika mazungumzo haya, Martin atazungumza juu ya mada karibu na utafiti wake wa kitaaluma. Katika Hati za Google na sofa zinazofanana za uhariri wa hati, "kuhariri shirikishi" hurejelea kazi ya kurudia: kila mtumiaji ana nakala yake ya hati iliyoshirikiwa, ambayo huirekebisha, na mabadiliko yote hutumwa kwenye mtandao kwa sehemu zingine. washiriki. Mabadiliko ya hati nje ya mtandao husababisha kutopatana kwa muda kwa hati kuhusiana na washiriki wengine, na kusawazisha upya kunahitaji kushughulikia migogoro. Hiyo ndiyo hasa zipo Aina za Data Iliyojirudia isiyo na migogoro (CRDT), kwa kweli, ni kitu kipya kabisa, ambacho kiini chake kiliundwa mnamo 2011 tu. Mazungumzo haya yanajadili kile ambacho kimetokea tangu wakati huo katika ulimwengu wa CRDT, maendeleo ya hivi karibuni ni nini, mbinu ya kuunda programu-tumizi za kawaida kwa ujumla na matumizi ya maktaba ya chanzo huria. Otomatiki hasa.

Wiki ijayo tutachapisha mahojiano marefu na Martin kuhusu HabrΓ©, yatapendeza.

Pedro Ramalhete - Miundo ya data bila kusubiri na miamala ya bure

19 vichwa vya hydra. Muhtasari mkubwa wa programu Pedro anafanya kazi katika Cisco na amekuwa akitengeneza algoriti sawia kwa miaka kumi iliyopita au zaidi, ikijumuisha mbinu za kusawazisha, miundo ya data isiyo na kufuli na bila kusubiri na kila kitu unachoweza kufikiria kuhusu mada hii. Maslahi yake ya sasa ya utafiti na uhandisi yanazingatia Miundo ya Universal, Kumbukumbu ya Muamala wa Programu, Kumbukumbu ya Kudumu na teknolojia zinazofanana ambazo huwezesha programu sahihi, hatari na zinazostahimili hitilafu. Yeye pia ni mwandishi wa blogi inayojulikana sana katika duru finyu Concurrency Freaks.

Programu nyingi zenye nyuzi nyingi sasa zinaendeshwa kwenye miundo ya data sambamba, kutoka kwa matumizi ya foleni za ujumbe kati ya watendaji hadi miundo ya data iliyowekewa faharasa katika hifadhi za thamani kuu. Wamekuwa wakifanya kazi kwa mafanikio katika Java JDK kwa miaka mingi, na wanaongezwa polepole kwa C++.

Njia rahisi zaidi ya kutekeleza muundo wa data sambamba ni utekelezaji wa mfululizo (wenye nyuzi moja) ambayo mbinu zinalindwa na bubu. Hii inapatikana kwa Juni yoyote, lakini ina matatizo ya wazi na kuongeza na utendaji. Wakati huo huo, miundo ya data isiyo na lock na ya kusubiri sio tu kukabiliana vizuri na makosa, lakini pia kuwa na wasifu bora wa utendaji - hata hivyo, maendeleo yao yanahitaji ujuzi wa kina na kukabiliana na maombi maalum. Mstari mmoja mbaya wa nambari unatosha kuvunja kila kitu.

Je, tunawezaje kuifanya ili hata asiye mtaalam aweze kubuni na kutekeleza miundo kama hii ya data? Inajulikana kuwa algorithm yoyote ya mfuatano inaweza kufanywa kuwa salama kwa kutumia aidha muundo wa ulimwengu wote, au kumbukumbu ya muamala. Kwa jambo moja, wanaweza kupunguza kizuizi cha kuingia katika kutatua tatizo hili. Walakini, suluhisho zote mbili kawaida husababisha utekelezaji usiofaa. Pedro atazungumza kuhusu jinsi walivyoweza kufanya miundo hii kuwa na ufanisi zaidi na jinsi unavyoweza kuitumia kwa algoriti zako.

Heidi Howard - Kukomboa makubaliano yaliyosambazwa

19 vichwa vya hydra. Muhtasari mkubwa wa programu Heidi Howard ni, kama Martin, mtafiti wa mifumo iliyosambazwa katika Chuo Kikuu cha Cambridge. Utaalam wake ni uthabiti, uvumilivu wa makosa, utendaji na makubaliano yaliyosambazwa. Anajulikana zaidi kwa ujanibishaji wake wa algoriti ya Paxos inayoitwa Paxos zinazobadilika.

Kumbuka kwamba Paxos ni familia ya itifaki za kutatua tatizo la makubaliano katika mtandao wa kompyuta zisizoaminika, kulingana na kazi ya Leslie Lamport. Kwa hivyo, baadhi ya wazungumzaji wetu wanashughulikia matatizo ambayo yalipendekezwa awali na wazungumzaji wetu wengine - na hii ni nzuri.

Uwezo wa kupata maafikiano kati ya wapangishi wengiβ€”kwa kuhutubia, uchaguzi wa viongozi, kuzuia, au kuratibuβ€”ni suala la msingi katika mifumo ya kisasa inayosambazwa. Paxos sasa ndiyo njia kuu ya kutatua matatizo ya makubaliano, na kuna utafiti mwingi unaoendelea kuzunguka ili kupanua na kuboresha algorithm kwa mahitaji mbalimbali ya vitendo.

Katika mazungumzo haya, tutaangalia tena msingi wa kinadharia wa Paxos, kupumzika mahitaji ya asili na kujumlisha algorithm. Tutaona kuwa Paxos kimsingi ni chaguo moja tu kati ya anuwai kubwa ya mbinu za makubaliano, na kwamba vidokezo vingine kwenye wigo pia ni muhimu sana kwa kuunda mifumo mizuri iliyosambazwa.

Alex Petrov - Punguza gharama zako za uhifadhi kwa Kurudia kwa Muda mfupi na Akidi za Nafuu

19 vichwa vya hydra. Muhtasari mkubwa wa programu Alex ni mtaalam wa hifadhidata na mifumo ya uhifadhi, na muhimu zaidi kwetu, mshiriki katika Cassandra. Kwa sasa anafanya kazi kwenye kitabu, Database Internals, na O'Reilly.

Kwa mifumo na hatimaye uthabiti (katika istilahi ya Kirusi - "uthabiti wa mwisho"), baada ya ajali ya nodi au mgawanyiko wa mtandao, unahitaji kutatua shida ifuatayo: ama endelea kutekeleza maombi, uthabiti wa kutoa dhabihu, au ukatae kuyatekeleza na upatikanaji wa dhabihu. Katika mfumo kama huu, akidi, seti ndogo zinazopishana za nodi na kuhakikisha kwamba angalau nodi moja ina thamani ya hivi karibuni zaidi, inaweza kuwa suluhisho nzuri la makali. Unaweza kustahimili kushindwa na kupoteza muunganisho kwa baadhi ya nodi huku ukiendelea kujibu maadili ya hivi punde.

Walakini, kila kitu kina bei yake. Mpango wa urudufishaji wa akidi unamaanisha kuongezeka kwa gharama za uhifadhi: data isiyohitajika lazima ihifadhiwe kwenye nodi nyingi mara moja ili kuhakikisha kuwa kuna nakala za kutosha zinazopatikana tatizo linapotokea. Inageuka kuwa sio lazima kuhifadhi data zote kwenye nakala zote. Unaweza kupunguza mzigo kwenye hifadhi ikiwa utahifadhi data tu kwenye sehemu ya nodes, na kutumia nodes maalum (Replica ya Muda mfupi) kwa matukio ya kushughulikia kushindwa.

Wakati wa ripoti tutazingatia Replicas za Mashahidi, mpango wa urudufishaji unaotumika katika Spanner ΠΈ duka la mega, na utekelezaji wa dhana hii katika Apache Cassandra kuitwa Kurudia kwa Muda mfupi & Akidi nafuu.

Dmitry Vyukov - Goroutines wazi

19 vichwa vya hydra. Muhtasari mkubwa wa programu Dmitry ni msanidi programu katika Google anayefanya kazi katika majaribio madhubuti ya C/C++ na Go - Anwani/Kumbukumbu/ThreadSanitizer, na zana kama hizo za kinu cha Linux. Imechangiwa kwenye Go kipanga ratiba kibaya, mchaguzi wa mtandao, na mtoaji takataka sambamba. Yeye ni mtaalam wa usomaji mwingi, mwandishi wa algoriti mpya zisizo za kuzuia na ndiye mmiliki wa Mkanda mweusi Intel.

Sasa kidogo kuhusu ripoti yenyewe. Lugha ya Go ina usaidizi asilia wa usomaji mwingi kwa njia ya goroutines (nyuzi nyepesi) na chaneli (foleni za FIFO). Taratibu hizi hurahisisha na kufurahisha sana watumiaji kuandika programu za kisasa zenye nyuzi nyingi, na inaonekana kama uchawi. Kama tunavyoelewa, hakuna uchawi hapa. Katika mazungumzo haya, Dmitry atachunguza ugumu wa mpangaji wa Go na kuonyesha siri za kutekeleza "uchawi" huu. Kwanza, atatoa muhtasari wa sehemu kuu za mpangaji na kukuambia jinsi inavyofanya kazi. Kisha, tutaangalia kwa makini vipengele vya mtu binafsi kama vile mkakati wa kuegesha/kuacha kuegesha na kushughulikia simu za mfumo wa kuzuia. Mwishowe, Dmitry atazungumza kidogo juu ya maboresho yanayowezekana kwa mpangilio.

Dmitry Bugaichenko - Kuharakisha uchanganuzi wa grafu iliyosambazwa kwa michoro ya uwezekano na zaidi

19 vichwa vya hydra. Muhtasari mkubwa wa programu Dmitry alifanya kazi ya kutoa huduma kwa karibu miaka 9 bila kupoteza mawasiliano na chuo kikuu na jumuiya ya kisayansi. Uchambuzi mkubwa wa data katika Odnoklassniki ukawa kwake nafasi ya kipekee ya kuchanganya mafunzo ya kinadharia na msingi wa kisayansi na maendeleo ya bidhaa halisi, zinazohitajika.

Uchambuzi wa grafu iliyosambazwa imekuwa na inabakia kuwa kazi ngumu: wakati inakuwa muhimu kupata habari kuhusu viunganisho vya vertex ya jirani, data mara nyingi inapaswa kuhamishwa kati ya mashine, ambayo inasababisha kuongezeka kwa muda wa utekelezaji na mzigo kwenye miundombinu ya mtandao. Katika mazungumzo haya, tutaona jinsi unavyoweza kupata kasi kubwa ya uchakataji kwa kutumia miundo ya data inayowezekana au ukweli kama vile ulinganifu wa grafu ya urafiki katika mtandao wa kijamii. Haya yote yanaonyeshwa na mifano ya nambari katika Apache Spark.

Denis Rystsov - Punguza gharama zako za uhifadhi kwa Kurudia kwa Muda mfupi na Akidi za Nafuu

19 vichwa vya hydra. Muhtasari mkubwa wa programu Denis - msanidi programu Cosmos DB, mtaalamu wa kukagua miundo ya uthabiti, algoriti za makubaliano, na miamala iliyosambazwa. Hivi sasa anafanya kazi katika Microsoft, na kabla ya hapo alifanya kazi kwenye mifumo iliyosambazwa huko Amazon na Yandex.

Katika mazungumzo haya, tutaangalia itifaki za ununuzi zilizosambazwa ambazo zimevumbuliwa kwa miaka michache iliyopita, ambazo zinaweza kutekelezwa kwa upande wa mteja juu ya hifadhi yoyote ya data inayoauni usasishaji wa masharti (linganisha na uweke). Jambo la msingi ni kwamba maisha hayaishii na ahadi ya awamu mbili, shughuli zinaweza kuongezwa juu ya hifadhidata yoyote - katika kiwango cha maombi, lakini itifaki tofauti (2PC, Percolator, RAMP) zina biashara tofauti na hazijatolewa kwetu. kwa bure.

Alexey Zinoviev - Sio algoriti zote za ML zinazoweza kufikia mbinguni iliyosambazwa

19 vichwa vya hydra. Muhtasari mkubwa wa programu Alexei (zaleslaw) ni mzungumzaji wa muda mrefu na mwanachama wa kamati za programu kwenye mikutano mingine. Mkufunzi wa mazoezi katika EPAM Systems, na amekuwa rafiki na Hadoop/Spark na data nyingine kubwa tangu 2012.

Katika mazungumzo haya, Alexey atazungumza kuhusu matatizo ya kurekebisha algoriti za kujifunza za mashine kwa ajili ya utekelezaji katika hali ya kusambazwa kulingana na uzoefu wake wa kufanya kazi na Apache Spark ML, Apache Mahout, Apache Flink ML na uzoefu wa kuunda Apache Ignite ML. Alexey pia atazungumza juu ya utekelezaji wa algorithms za ML zilizosambazwa katika mifumo hii.

Na hatimaye, ripoti mbili kutoka kwa Yandex kuhusu Yandex Database.

Vladislav Kuznetsov - Hifadhidata ya Yandex - jinsi tunavyohakikisha uvumilivu wa makosa

19 vichwa vya hydra. Muhtasari mkubwa wa programu Vladislav ni msanidi programu katika Yandex katika kikundi cha jukwaa kilichosambazwa. Database ya Yandex ni DBMS inayoweza kuenea kwa usawa, iliyosambazwa kwa geo, isiyo na hitilafu ambayo inaweza kuhimili kushindwa kwa disks, seva, racks na vituo vya data bila kupoteza uthabiti. Ili kuhakikisha uvumilivu wa makosa, algorithm ya wamiliki kwa ajili ya kufikia makubaliano ya kusambazwa hutumiwa, pamoja na idadi ya ufumbuzi wa kiufundi, ambao unajadiliwa kwa undani katika ripoti hiyo. Ripoti inaweza kuwa ya manufaa kwa watengenezaji wa DBMS na watengenezaji wa ufumbuzi wa maombi kulingana na DBMS.

Semyon Checherinda - Miamala iliyosambazwa katika YDB

19 vichwa vya hydra. Muhtasari mkubwa wa programu Semyon ni msanidi programu katika kikundi cha jukwaa kilichosambazwa huko Yandex, anayeshughulikia uwezekano wa matumizi ya wapangaji wengi wa usakinishaji wa YDB.

Hifadhidata ya Yandex imeundwa kwa hoja za OLTP na inatii mahitaji ya ACID kwa mfumo wa shughuli. Katika ripoti hii, tutazingatia algoriti ya kuratibu muamala ambayo inategemea mfumo wa muamala wa YDB. Hebu tuangalie ni huluki zipi zinazoshiriki katika shughuli za malipo, ni nani hupeana utaratibu wa kimataifa kwa shughuli, jinsi atomiki ya muamala, kutegemewa, na kiwango madhubuti cha kutengwa kunapatikana. Kwa kutumia tatizo la kawaida kama mfano, hebu tuangalie utekelezaji wa shughuli kwa kutumia ahadi za awamu mbili na miamala ya kuamua. Tujadili tofauti zao.

Nini hapo?

Mpango wa mkutano unaendelea kujazwa na ripoti mpya. Hasa, tunatarajia ripoti kutoka Nikita Koval (ndkoval) kutoka JetBrains na Oleg Anastasyev (m0nstermind) kutoka kampuni ya Odnoklassniki. Nikita anafanya kazi kwenye algorithms ya coroutines katika timu ya Kotlin, na Oleg huendeleza usanifu na ufumbuzi wa mifumo ya juu ya mzigo kwenye jukwaa la Odnoklassniki. Kwa kuongeza, kuna nafasi 1 zaidi tupu kwa masharti, kamati ya programu inafanya kazi na wagombeaji kwa sasa hivi.

Mkutano wa Hydra utafanyika Julai 11-12 huko St. Tikiti zinapatikana kununua kwenye tovuti rasmi. Tafadhali makini na upatikanaji wa tiketi za Mtandaoni - ikiwa kwa sababu fulani huwezi kufika St. Petersburg siku hizi.

Tukutane Hydra!

Chanzo: mapenzi.com

Kuongeza maoni