19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam

Lub rooj sib tham yuav muaj nyob rau lub Xya Hli 11-12 hauv St Hydra, mob siab rau txoj kev loj hlob ntawm parallel thiab faib tshuab. Qhov ua kom yuam kev ntawm Hydra yog tias nws sib sau ua ke cov kws tshawb fawb txias (uas feem ntau tuaj yeem pom tsuas yog hauv cov rooj sib tham txog kev tshawb fawb txawv teb chaws) thiab cov kws tshaj lij kws tshaj lij ua haujlwm rau hauv ib qho haujlwm loj ntawm kev sib tshuam ntawm kev tshawb fawb thiab kev xyaum.

Hydra yog ib qho ntawm peb lub rooj sib tham tseem ceeb tshaj plaws hauv ob peb xyoos dhau los. Nws tau ua ntej los ntawm kev npaj loj heev, xaiv cov neeg hais lus thiab cov lus ceeb toom. Lub lim tiam dhau los txog qhov no habro kev xam phaj tawm tuaj nrog tus thawj coj ntawm JUG.ru Group, Alexey Fedorov (23 deev).

Peb xa hais txog peb tus neeg tseem ceeb, tus tsim ntawm txoj kev xav ntawm kev faib tshuab - Leslie Lamport, Maurice Herlihy thiab Michael Scott. Nws yog lub sij hawm los tham kom meej ntxiv txog tag nrho cov kev pab cuam!

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam

Kev Txhawb

Yog tias koj koom nrog hauv programming, ces ib txoj hauv kev los yog lwm qhov koj tab tom cuam tshuam nrog multithreading thiab faib xam. Cov kws tshaj lij hauv cov haujlwm tseem ceeb ua haujlwm nrog lawv ncaj qha, tab sis implicitly, kev faib tawm yog saib peb los ntawm txhua qhov chaw: hauv txhua lub khoos phis tawj lossis cov kev pabcuam xa tawm muaj qee yam uas ua rau kev suav ua ke.

Muaj ntau lub rooj sib tham uas hais txog ntau yam ntawm kev thov kev pab cuam. Nyob rau lwm sab ntawm lub spectrum, peb muaj cov tsev kawm ntawv tshwj xeeb scientific uas qhia ntau npaum li cas txoj kev xav nyob rau hauv cov lus qhuab qhia. Piv txwv li, nyob rau hauv parallel nrog Hydra nyob rau hauv St. Petersburg muaj SPTDC tsev kawm ntawv. Ntawm Hydra lub rooj sib tham, peb tau sim coj ua ke kev xyaum hnyav, kev tshawb fawb, thiab txhua yam ntawm lawv qhov kev sib tshuam.

Xav txog qhov no: peb nyob hauv lub sijhawm zoo kawg nkaus thaum koj tuaj yeem ntsib tus neeg tsim ntawm kev tshawb fawb thiab engineering uas peb kawm. Physicists yuav tsis ntsib Newton lossis Einstein - lub tsheb ciav hlau tau tawm mus. Tab sis nyob ib sab ntawm peb tseem nyob cov neeg uas tsim lub hauv paus ntawm txoj kev xav ntawm kev faib tshuab, tsim cov lus programming nrov, thiab thawj zaug embodied tag nrho cov no hauv kev ua haujlwm prototypes. Cov neeg no tsis tau tso lawv txoj haujlwm ib nrab, lawv tam sim no ua haujlwm rau cov teeb meem hauv ntiaj teb muaj npe nrov hauv cov tsev kawm qib siab thiab cov tuam txhab, thiab yog cov peev txheej loj tshaj plaws ntawm kev paub thiab kev paub niaj hnub no.

Ntawm qhov tod tes, lub sijhawm los ntsib lawv feem ntau tseem nyob hauv kev xav: ob peb ntawm peb tuaj yeem saib xyuas cov xwm txheej pej xeem ntawm qee lub Tsev Kawm Ntawv Qib Siab Rochester, thiab tom qab ntawd maj mus rau Tebchaws Meskas thiab rov qab mus rau kev qhuab qhia nrog Michael Scott. Kev mus ntsib txhua tus tswv cuab Hydra yuav raug nqi me me, tsis suav lub abyss ntawm lub sij hawm nkim sij hawm (txawm hais tias nws zoo li ib qho kev tshawb nrhiav nthuav).

Ntawm qhov tod tes, peb muaj ntau tus kws tshaj lij sab saum toj uas ua haujlwm ntawm cov teeb meem hauv kev faib tawm tam sim no, thiab lawv yeej muaj ntau yam qhia. Tab sis ntawm no yog qhov teeb meem - lawv Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, thiab lawv lub sijhawm tseem ceeb heev. Yog lawm, yog tias koj yog ib tus neeg ua haujlwm ntawm Microsoft, Google lossis JetBrains, qhov tshwm sim ntawm kev sib ntsib ib tus neeg hais lus nto moo ntawm qhov kev tshwm sim sab hauv nce siab, tab sis feem ntau, tsis yog, qhov no tsis tshwm sim txhua hnub.

Ua li no, Hydra Conference ua tiav ib txoj hauj lwm tseem ceeb uas peb feem ntau ua tsis tau ntawm peb tus kheej - nyob rau hauv ib qho chaw thiab nyob rau hauv ib lub sij hawm, nws coj los ua ke cov neeg uas nws lub tswv yim los yog kev sib tham nrog leej twg tuaj yeem hloov koj lub neej. Kuv lees tias tsis yog txhua tus xav tau kev faib tawm lossis qee yam tseem ceeb. Koj tuaj yeem tsim CRUDs hauv PHP rau tag nrho koj lub neej thiab nyob twj ywm zoo siab. Tab sis leej twg xav tau nws, qhov no yog koj lub caij nyoog.

Tau ntev heev tau dhau los txij li thawj zaug tshaj tawm ntawm Hydra lub rooj sib tham ntawm Habre. Lub sijhawm no, ntau txoj haujlwm tau ua tiav - thiab tam sim no peb muaj cov npe ntawm yuav luag tag nrho cov lus ceeb toom. Tsis muaj qhov qeeb qeeb ib leeg-xov algorithms, tsuas yog muab faib ua nyuaj! Cia peb ua tiav nrog cov lus dav dav thiab saib seb peb muaj dab tsi ntawm peb txhais tes tam sim no.

Cov ntsiab lus tseem ceeb

Cov lus tseem ceeb pib thiab xaus rau hnub ntawm lub rooj sab laj. Feem ntau lub ntsiab lus ntawm lub ntsiab lus qhib yog los teeb tsa lub siab dav thiab kev coj ntawm lub rooj sab laj. Lub ntsiab lus tseem ceeb kaw tau kos ib kab thiab piav qhia seb peb yuav ua li cas nrog kev paub thiab kev txawj ntse tau txais thaum lub rooj sib tham. Qhov pib thiab qhov kawg: qhov tseem ceeb tshaj plaws, thiab feem ntau, tau nce qhov tseem ceeb.

Cliff Nyem H2O faib K/V algorithm

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Cliff yog ib zaj dab neeg hauv Java ntiaj teb. Nyob rau hauv lub lig 90s, rau nws PhD thesis, nws sau ib daim ntawv muaj cai "Combining Analyzes, Combining Optimizations", uas qee lub sijhawm tom qab dhau los ua lub hauv paus rau HotSpot JVM Server Compiler. Ob xyoos tom qab, nws twb tau ua haujlwm ntawm Sun Microsystems ntawm JVM thiab qhia tag nrho lub ntiaj teb tias JIT muaj txoj cai muaj nyob. Tag nrho zaj dab neeg no hais txog yuav ua li cas Java yog ib qho ntawm cov neeg ua haujlwm nrawm tshaj plaws niaj hnub nrog kev ua kom zoo tshaj plaws thiab nrawm tshaj plaws los ntawm Cliff Click. Thaum pib, nws tau ntseeg tias yog tias ib yam dab tsi nkag tau mus rau qhov zoo li qub compiler, koj tsis tas yuav sim jit nws. Ua tsaug rau kev ua haujlwm ntawm Cliff thiab pab neeg, txhua yam lus tshiab pib tsim nrog lub tswv yim ntawm JIT muab tso ua ke los ntawm lub neej ntawd. Tau kawg, qhov no tsis yog ib txoj haujlwm ib tug txiv neej, tab sis Cliff ua lub luag haujlwm tseem ceeb hauv nws.

Nyob rau hauv lub ntsiab lus qhib, Cliff yuav tham txog nws lwm qhov kev sim siab - H20, ib qho hauv-nco platform rau kev faib thiab scalable tshuab kawm rau kev siv tshuab. Los yog ntau precisely, hais txog kev faib cia ntawm tus yuam sij-tus nqi khub hauv nws. Qhov no yog qhov ceev ceev cia nrog ntau cov khoom nthuav (cov npe tseeb yog nyob rau hauv piav qhia), uas tso cai rau siv cov kev daws teeb meem zoo sib xws hauv kev ua lej ntawm cov ntaub ntawv loj streaming.

Lwm tsab ntawv ceeb toom uas Cliff yuav muab yog - Azul Hardware Transactional Memory kev paub. Lwm qhov ntawm nws phau ntawv keeb kwm - kaum xyoo ua haujlwm ntawm Azul, qhov twg nws hloov kho thiab txhim kho ntau yam hauv Azul hardware thiab technology pawg: JIT compilers, runtime, xov qauv, yuam kev tuav, pawg tuav, kho vajtse cuam tshuam, chaw thau khoom, thiab lwm yam - zoo, koj tau txais tswv yim.

Qhov nthuav tshaj plaws tau pib thaum lawv tsim kho vajtse rau kev lag luam loj - lub supercomputer los khiav Java. Nws yog ib qho tshiab tshaj plaws, tsim tshwj xeeb rau Java, uas muaj cov kev cai tshwj xeeb - nyeem cov cim xeeb rau cov khib nyiab qis qis, cov arrays nrog kev kuaj xyuas, hu virtual ... Ib qho ntawm cov thev naus laus zis zoo tshaj plaws yog kho vajtse hloov pauv kev nco. Tag nrho L1 ntawm ib qho ntawm 864 cores tuaj yeem koom nrog hauv kev sau ntawv, uas yog qhov tseem ceeb tshwj xeeb rau kev ua haujlwm nrog cov xauv hauv Java (synchronized blocks tuaj yeem ua haujlwm nyob rau tib lub sijhawm ntev npaum li tsis muaj qhov tsis sib haum xeeb tiag tiag). Tab sis lub tswv yim zoo nkauj tau tsoo los ntawm qhov tseeb hnyav - thiab hauv qhov kev hais lus no Cliff yuav qhia koj tias vim li cas HTM thiab STM tsis haum rau cov kev xav tau ntawm ntau txoj xov tooj.

Michael Scott - Dual cov ntaub ntawv qauv

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Michael Scott - Xib fwb ntawm Computer Science ntawm University of Rochester, uas txoj hmoo tau txuas nrog nws xa 34y, thiab ntawm nws lub tsev University of Wisconsin-Madison, nws tau ua tus thawj saib xyuas tau tsib xyoos. Nws tshawb fawb thiab qhia cov tub ntxhais kawm txog kev sib luag thiab faib cov programming thiab tsim hom lus.

Tag nrho lub ntiaj teb no paub Michael ua tsaug rau phau ntawv "Programming lus Pragmatics", qhov tseeb tsab ntawm uas tau luam tawm kuj tsis ntev los no - hauv 2015. Nws txoj hauj lwm "Algorithms rau scalable synchronization ntawm sib koom-nco multiprocessors" tau txais Dijkstra nqi zog raws li ib tug ntawm cov nto moo tshaj plaws nyob rau hauv lub teb ntawm faib xam thiab dag openly ntawm University of Rochester Online Library. Koj kuj tseem paub nws ua tus sau ntawm Michael-Scott algorithm los ntawm "Yuav yooj yim, ceev, thiab tswv yim tsis thaiv thiab thaiv kev sib txuas lus Queue algorithms".

Raws li rau lub ntiaj teb Java, qhov no yog ib qho tshwj xeeb: ua ke nrog Doug Lea, nws tau tsim cov txheej txheem tsis thaiv cov txheej txheem thiab synchronous queues uas Java cov tsev qiv ntawv ua haujlwm. Qhov no yog qhov "Dual data structures" keynote yuav hais txog - kev qhia txog cov qauv no hauv Java SE 6 tau txhim kho kev ua tau zoo los ntawm 10 zaug java.util.concurrent.ThreadPoolExecutor. Yog tias koj xav paub ua ntej tias cov "Dual data structures" no yog dab tsi, ces muaj cov ntaub ntawv hais txog nws cov hauj lwm cuam tshuam.

Maurice Herlihy - Blockchains thiab yav tom ntej ntawm kev faib xam

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Maurice Herlihy - tus yeej ntawm ob qhov khoom plig Dijkstra. Thawj qhov yog rau kev ua haujlwm "Tos-Free Synchronization" (Brown University), thiab qhov thib ob, tsis ntev los no - "Transactional Memory: Architectural Support for Lock-Free Data Structures" (Virginia Tech University). Qhov khoom plig Dijkstra lees paub txog kev ua haujlwm uas nws qhov tseem ceeb thiab qhov cuam tshuam tau pom tsawg kawg kaum xyoo, thiab Maurice yog ib tus kws tshaj lij tshaj plaws hauv kev ua haujlwm. Tam sim no nws ua hauj lwm ua ib tug xib fwb ntawm Brown University thiab muaj cov kab lus ntev ntawm cov kev ua tiav.

Hauv cov lus tseem ceeb kaw no, Maurice yuav tham txog txoj kev xav thiab kev coj ua ntawm blockchain faib tshuab los ntawm qhov pom ntawm cov classics ntawm kev faib xam thiab yuav ua li cas nws yooj yim rau ntau yam teeb meem. Qhov no yog ib daim ntawv qhia tshwj xeeb rau lub ntsiab lus ntawm lub rooj sib tham - tsis yog txhua yam hais txog mining hype, tab sis hais txog yuav ua li cas peb cov kev paub yuav siv tau zoo heev thiab tsim nyog nyob rau hauv kev sib raug zoo nrog ntau yam dej num.

Thaum Lub Xya Hli 2017, Maurice twb tuaj rau tebchaws Russia mus kawm SPTDC lub tsev kawm ntawv, koom nrog JUG.ru kev sib ntsib, thiab cov ntaub ntawv kaw tseg tuaj yeem pom hauv YouTube:

Txoj haujlwm tseem ceeb

Tom ntej no yuav muaj cov ntsiab lus luv luv ntawm cov ntawv ceeb toom suav nrog hauv qhov program. Qee cov ntawv ceeb toom tau piav qhia ntawm no kom ntxaws, lwm qhov luv luv. Cov lus piav qhia ntev mus feem ntau yog cov ntaub ntawv hais lus Askiv uas yuav tsum tau txuas mus rau cov ntaub ntawv tshawb fawb, cov ntsiab lus ntawm Wikipedia, thiab lwm yam. Daim ntawv teev tag nrho muaj saib ntawm lub rooj sib tham lub vev xaib. Cov npe ntawm lub vev xaib yuav raug hloov kho thiab ntxiv.

Leslie Lamport - Q&A

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Leslie Lamport yog tus sau cov lus qhuab qhia hauv kev faib xam. "LaTeX" stands rau "Lamport TeX". Nws yog nws thawj zaug, rov qab rau xyoo 1979, qhia txog lub tswvyim zoo ib yam, thiab nws tsab xov xwm "Yuav ua li cas thiaj ua tau ib lub khoos phis tawj multiprocessor uas ua tau zoo rau kev ua haujlwm multiprocess" tau txais Dijkstra nqi zog.

Qhov no yog qhov txawv tshaj plaws ntawm qhov kev pab cuam nyob rau hauv cov nqe lus ntawm hom, vim hais tias nws tsis yog ib daim ntawv qhia, tab sis ib lo lus nug thiab teb kev sib tham. Thaum ib feem tseem ceeb ntawm cov neeg tuaj saib twb paub lawm (lossis tuaj yeem paub) nrog txhua yam kev ua haujlwm raws li "Lamport txoj kev xav", nws cov ntawv thiab cov lus ceeb toom, nws tseem ceeb dua los siv txhua lub sijhawm ntawm kev sib txuas lus ncaj qha.

Lub tswv yim yog yooj yim - koj saib ob daim ntawv qhia hauv YouTube: "Programming yuav tsum ntau tshaj li coding" ΠΈ "Yog tias koj tsis sau qhov program, tsis txhob siv cov lus programming" thiab npaj tsawg kawg ib lo lus nug, thiab Leslie teb.

Thawj ntawm ob cov yeeb yaj kiab no peb twb muaj lawm tig mus rau hauv ib tsab xov xwm habro. Yog tias koj tsis muaj sijhawm los saib cov vis dis aus, koj tuaj yeem nyeem nws tag nrho hauv daim ntawv.

Nco tseg: Muaj ntau ntau cov yeeb yaj kiab Leslie Lamport hauv YouTube. Piv txwv li, muaj ib qho zoo heev TLA+ course. Ib qho offline version ntawm tag nrho cov chav kawm no muaj nyob ntawm tus sau lub home page, thiab nws tau muab nws tso rau YouTube kom yooj yim saib ntawm cov khoom siv mobile.

Martin Kleppmann: XNUMX Lab tus kiv cua tos koj rau Webtalk! Syncing cov ntaub ntawv hla cov neeg siv khoom siv rau kev sib koom ua ke

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Martin Kleppmann yog tus kws tshawb fawb ntawm University of Cambridge ua haujlwm ntawm CRDT thiab kev txheeb xyuas qhov tseeb ntawm cov txheej txheem. Martin phau ntawv "Designing Data-Intensive Applications", luam tawm xyoo 2017, ua pov thawj tias ua tau zoo heev thiab ua rau nws mus rau cov npe muag khoom zoo tshaj plaws hauv kev khaws cov ntaub ntawv thiab kev ua haujlwm. Kevin Scott, CTO ntawm Microsoft, ib zaug hais: β€œCov phau ntawv no yuav tsum yog ib qho yuav tsum muaj rau software engineers. Qhov no yog qhov tsis tshua muaj peev txheej uas suav nrog kev xav thiab kev coj ua los pab cov neeg tsim khoom ntse dua hauv kev tsim thiab siv cov txheej txheem thiab cov ntaub ntawv. " Tus tsim ntawm Kafka thiab CTO ntawm Confluent, Jay Kreps, hais ib yam dab tsi zoo sib xws.

Ua ntej tsiv mus rau hauv kev tshawb fawb kev kawm, Martin tau ua haujlwm hauv kev lag luam thiab koom tes tsim ob qhov kev pib ua tiav:

  • Kev nthuav qhia, mob siab rau kev nthuav qhia kev sib raug zoo ntawm kev sib cuag los ntawm koj tus email, uas LinkedIn yuav xyoo 2012;
  • Mus Test Nws, ib qho kev pabcuam rau kev kuaj xyuas cov vev xaib hauv ntau lub browsers, uas RedGate yuav hauv 2009.

Feem ntau, Martin, txawm hais tias tsis tshua muaj npe nrov tshaj peb cov lus tseem ceeb, twb tau ua qee qhov kev pab cuam rau kev txhim kho kev faib xam thiab kev lag luam.

Hauv kev hais lus no, Martin yuav tham txog ib lub ntsiab lus ze rau nws txoj kev tshawb fawb. Hauv Google Docs thiab cov ntaub ntawv zoo sib xws co-editing sofas, "kev sib koom ua ke" yog hais txog kev ua haujlwm rov ua dua: txhua tus neeg siv muaj lawv tus kheej replica ntawm cov ntaub ntawv sib koom, uas lawv hloov kho, thiab tag nrho cov kev hloov pauv raug xa mus thoob plaws lub network mus rau lwm qhov. cov neeg koom. Cov kev hloov pauv rau cov ntaub ntawv offline ua rau muaj qhov tsis sib xws ntawm cov ntaub ntawv ib ntus hauv kev sib raug zoo nrog lwm tus neeg koom, thiab rov ua kom sib koom ua ke yuav tsum muaj kev daws teeb meem. Qhov ntawd yog qhov lawv muaj nyob rau Kev tsis sib haum xeeb-dawb Replicated Data Types (CRDT), qhov tseeb, yog ib yam tshiab, cov ntsiab lus uas tau tsim nyob rau hauv 2011 nkaus xwb. Qhov kev sib tham no tham txog dab tsi tau tshwm sim txij thaum ntawd los hauv ntiaj teb ntawm CRDT, qhov kev nce qib tshiab tshaj plaws yog dab tsi, txoj hauv kev los tsim cov ntawv thov hauv zos thawj feem ntau thiab kev siv lub tsev qiv ntawv qhib. Automerge tshwj xeeb.

Lub lim tiam tom ntej peb yuav tshaj tawm kev sib tham ntev nrog Martin ntawm HabrΓ©, nws yuav nthuav.

Pedro Ramalhete - Lub ib hlis ntuj XNUMX, XNUMX Tos-dawb cov ntaub ntawv qauv thiab tos-dawb muas

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Pedro ua haujlwm ntawm Cisco thiab tau tsim cov txheej txheem sib npaug rau kaum xyoo dhau los lossis yog li ntawd, suav nrog cov txheej txheem synchronization, kaw-dawb thiab tos-dawb cov ntaub ntawv qauv thiab txhua yam koj tuaj yeem xav txog ntawm lub ncauj lus no. Nws txoj kev tshawb fawb tam sim no thiab engineering nyiam tsom mus rau Universal Constructions, Software Transactional Memory, Persistent Memory thiab cov thev naus laus zis zoo sib xws uas ua kom muaj tseeb, scalable thiab ua txhaum kev zam. Nws kuj yog tus sau ntawm blog uas paub dav hauv cov voj voog nqaim Concurrency Freaks.

Feem ntau cov ntawv thov kev sib txuas tam sim no khiav ntawm cov ntaub ntawv sib luag, los ntawm kev siv cov kab lus sib txuas ntawm cov neeg ua yeeb yam mus rau cov ntaub ntawv teev cov qauv hauv cov khw muag khoom tseem ceeb. Lawv tau ua haujlwm tiav hauv Java JDK tau ntau xyoo, thiab lawv tau maj mam ntxiv rau C ++.

Txoj hauv kev yooj yim tshaj plaws los siv cov ntaub ntawv sib luag yog ib qho kev ua tiav (ib leeg-xov) uas siv cov txheej txheem tiv thaiv los ntawm mutexes. Qhov no siv tau rau txhua lub Rau Hli, tab sis muaj teeb meem pom tseeb nrog kev ntsuas thiab kev ua haujlwm. Nyob rau tib lub sijhawm, cov ntaub ntawv kaw-dawb thiab tos-dawb cov ntaub ntawv tsis tsuas yog tiv thaiv tau zoo dua nrog cov kev ua yuam kev, tab sis kuj muaj qhov kev ua tau zoo dua - txawm li cas los xij, lawv txoj kev loj hlob yuav tsum muaj kev txawj ntse tob thiab hloov mus rau ib daim ntawv thov tshwj xeeb. Ib txoj kab tsis raug cai yog txaus los rhuav tshem txhua yam.

Peb yuav ua li cas thiaj ua tau kom txawm tias ib tus neeg tsis muaj kev txawj ntse tuaj yeem tsim thiab siv cov ntaub ntawv zoo li no? Nws yog lub npe hu hais tias ib tug sequential algorithm yuav ua tau xov zoo siv los yog universal tsim, los yog kev hloov pauv kev nco. Rau ib yam, lawv tuaj yeem txo qhov cuam tshuam rau kev nkag mus rau kev daws qhov teeb meem no. Txawm li cas los xij, ob qho kev daws teeb meem feem ntau ua rau kev siv tsis zoo. Pedro yuav tham txog yuav ua li cas lawv tswj kom ua cov qauv no zoo dua thiab koj tuaj yeem siv lawv li cas rau koj cov algorithms.

Heidi Howard - Liberating faib kev pom zoo

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Heidi Howard yog, zoo li Martin, tus kws tshawb fawb txog kev faib tawm ntawm University of Cambridge. Nws qhov tshwj xeeb yog qhov sib xws, kev ua txhaum cai, kev ua tau zoo thiab kev pom zoo sib faib. Nws paub zoo tshaj plaws rau nws qhov kev nthuav dav ntawm Paxos algorithm hu ua Hloov Paxos.

rov qab hais tias Paxos yog tsev neeg ntawm cov txheej txheem rau kev daws qhov teeb meem ntawm kev pom zoo hauv lub network ntawm cov khoos phis tawj tsis muaj kev ntseeg siab, raws li kev ua haujlwm ntawm Leslie Lamport. Yog li, qee tus ntawm peb cov neeg hais lus tab tom ua haujlwm ntawm cov teeb meem uas tau hais los ntawm peb cov neeg hais lus - thiab qhov no zoo heev.

Lub peev xwm los nrhiav kev pom zoo ntawm ntau tus tswv tsev - rau kev hais lus, kev xaiv tsa thawj coj, thaiv, lossis kev sib koom tes - yog qhov teeb meem tseem ceeb hauv cov txheej txheem niaj hnub no. Paxos tam sim no yog txoj hauv kev tseem ceeb los daws cov teeb meem kev pom zoo, thiab muaj ntau txoj kev tshawb fawb mus ncig nws los nthuav thiab ua kom zoo dua cov algorithm rau ntau yam kev xav tau.

Hauv kev hais lus no, peb yuav rov mus saib lub hauv paus theoretical ntawm Paxos, so cov kev cai qub thiab nthuav dav cov algorithm. Peb yuav pom tias Paxos yog qhov tseem ceeb tsuas yog ib qho kev xaiv ntawm ntau qhov kev pom zoo, thiab lwm cov ntsiab lus ntawm cov spectrum kuj tseem muaj txiaj ntsig zoo rau kev tsim cov tshuab xa tawm zoo.

Alex Petrov - Txo koj cov nqi cia nrog Transient Replication thiab Cheap Quorums

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Alex yog tus kws tshaj lij database thiab khaws cia, thiab tseem ceeb tshaj rau peb, tus neeg ua haujlwm hauv Cassandra. Tam sim no nws tab tom ua haujlwm ntawm phau ntawv, Database Internals, nrog O'Reilly.

Rau systems nrog kev sib raug zoo (nyob rau hauv Lavxias teb sab terminology - "qhov kawg sib xws"), tom qab lub node crashes los yog ib tug network sib cais, koj yuav tsum tau daws cov teeb meem nram qab no: los yog txuas ntxiv mus ua raws li kev thov, txi raws li, los yog tsis kam coj lawv thiab txi muaj. Nyob rau hauv xws li ib tug system, pawg pawg, sib tshooj subsets ntawm nodes thiab xyuas kom meej tias tsawg kawg ib node muaj tus nqi tsis ntev los no, yuav yog ib tug zoo ntug daws. Koj tuaj yeem muaj sia nyob tsis ua haujlwm thiab poob ntawm kev sib txuas rau qee qhov nodes thaum tseem teb nrog cov txiaj ntsig tshiab kawg.

Txawm li cas los xij, txhua yam muaj nws tus nqi. Cov txheej txheem rov ua dua pawg pawg txhais tau hais tias muaj cov nqi khaws cia ntau ntxiv: cov ntaub ntawv rov ua dua yuav tsum tau muab khaws cia ntawm ntau lub nodes ib zaug kom ntseeg tau tias muaj cov ntawv luam txaus thaum muaj teeb meem tshwm sim. Nws hloov tawm hais tias koj tsis tas yuav khaws tag nrho cov ntaub ntawv ntawm tag nrho cov replicas. Koj tuaj yeem txo qhov load ntawm qhov chaw cia yog tias koj khaws cov ntaub ntawv tsuas yog ntawm ib feem ntawm cov nodes, thiab siv cov nodes tshwj xeeb (Transient Replica) rau kev ua haujlwm tsis ua haujlwm.

Thaum lub sij hawm ntawm tsab ntawv ceeb toom peb yuav xav txog Timkhawv Replicas, replication scheme siv nyob rau hauv Spanner ΠΈ mega khw, thiab kev siv lub tswv yim no hauv Apache Cassandra hu ua Transient Replication & Cheap Quorums.

Dmitry Vyukov - tus tshaj tawm Goroutines nthuav tawm

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Dmitry yog tus tsim tawm ntawm Google ua haujlwm ntawm kev ntsuas dynamic rau C / C ++ thiab Mus - Chaw Nyob / Memory / ThreadSanitizer, thiab cov cuab yeej zoo sib xws rau Linux kernel. Pab txhawb rau Mus rau lub sijhawm teem sijhawm goroutine, tus neeg pov npav hauv lub network, thiab tus neeg khaws khib nyiab sib npaug. Nws yog tus kws tshaj lij hauv multithreading, tus sau ntawm lub kaum os tshiab uas tsis yog thaiv cov algorithms thiab yog tus tswv ntawm Black Belt Intel.

Tam sim no me ntsis txog daim ntawv qhia nws tus kheej. Cov lus Go muaj kev txhawb nqa ib txwm muaj rau kev sib txuas lus hauv daim ntawv goroutines (lub teeb threads) thiab raws (FIFO queues). Cov txheej txheem no ua rau nws yooj yim heev thiab txaus siab rau cov neeg siv los sau cov ntawv thov niaj hnub ntau txoj xov, thiab nws zoo li khawv koob. Raws li peb nkag siab, tsis muaj khawv koob ntawm no. Nyob rau hauv no hais lus, Dmitry yuav delve rau hauv intricacies ntawm lub Go teem sij hawm thiab qhia cov secrets ntawm kev siv no "magic". Ua ntej, nws yuav muab cov ntsiab lus ntawm cov khoom tseem ceeb ntawm tus teem sijhawm thiab qhia koj seb nws ua haujlwm li cas. Tom ntej no, peb yuav ua tib zoo saib ntawm tus kheej yam xws li lub tswv yim nres tsheb / unparking thiab tuav thaiv kev hu xov tooj. Thaum kawg, Dmitry yuav tham me ntsis txog kev txhim kho tuaj yeem ua rau tus teem sijhawm.

Dmitry Bugaichenko - Lub ib hlis ntuj XNUMX, XNUMX Ua kom nrawm nrawm faib cov duab tsom xam nrog cov duab kos thiab lwm yam

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Dmitry tau ua haujlwm nyob rau hauv outsourcing yuav luag 9 xyoo yam tsis tau poob kev sib cuag nrog lub tsev kawm ntawv thiab lub zej zog kev tshawb fawb. Kev tsom xam cov ntaub ntawv loj hauv Odnoklassniki tau los ua rau nws lub sijhawm tshwj xeeb los ua ke kev cob qhia theoretical thiab kev tshawb fawb lub hauv paus nrog kev txhim kho cov khoom tiag tiag, hauv kev xav tau.

Kev txheeb xyuas cov duab faib tau thiab tseem yog ib txoj haujlwm nyuaj: thaum nws tsim nyog kom tau txais cov ntaub ntawv hais txog kev sib txuas ntawm cov vertex nyob sib ze, cov ntaub ntawv feem ntau yuav tsum tau xa mus rau ntawm cov tshuab, uas ua rau kom muaj sijhawm ua tiav thiab thauj khoom ntawm lub network infrastructure. Hauv kev hais lus no, peb yuav pom tias koj tuaj yeem tau txais kev ua haujlwm tseem ceeb los ntawm kev siv cov ntaub ntawv muaj txiaj ntsig lossis qhov tseeb zoo li qhov sib luag ntawm cov duab phooj ywg hauv kev sib raug zoo. Tag nrho cov no tau piav qhia nrog cov qauv code hauv Apache Spark.

Denis Rystsov - Txo koj cov nqi cia nrog Transient Replication thiab Cheap Quorums

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Denis - tus tsim tawm Cosmos IB, tus kws tshaj lij hauv kev tshuaj xyuas cov qauv sib xws, kev pom zoo algorithms, thiab kev faib khoom lag luam. Tam sim no nws ua haujlwm ntawm Microsoft, thiab ua ntej nws tau ua haujlwm ntawm kev faib khoom ntawm Amazon thiab Yandex.

Hauv kev hais lus no, peb yuav ua tib zoo saib cov txheej txheem kev sib pauv pauv uas tau tsim nyob rau ob peb xyoos dhau los, uas tuaj yeem siv rau ntawm tus neeg siv khoom sab saum toj ntawm txhua lub khw muag khoom uas txhawb kev hloov kho tshiab (piv thiab teeb tsa). Cov kab hauv qab yog tias lub neej tsis xaus nrog ob-theem kev cog lus, kev hloov pauv tuaj yeem ntxiv rau saum cov ntaub ntawv khaws cia - ntawm qib kev thov, tab sis cov txheej txheem sib txawv (2PC, Percolator, RAMP) muaj qhov sib txawv thiab tsis muab rau peb. dawb.

Alexey Zinoviev - Tsis yog tag nrho ML algorithms ua rau nws faib saum ntuj ceeb tsheej

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Alexei (zaleslaw) yog ib tug neeg hais lus ntev ntev thiab cov tswv cuab ntawm pawg neeg ua haujlwm hauv lwm lub rooj sib tham. Xyaum tus kws qhia ntawm EPAM Systems, thiab tau ua phooj ywg nrog Hadoop / Spark thiab lwm cov ntaub ntawv loj txij li xyoo 2012.

Hauv kev hais lus no, Alexey yuav tham txog cov teeb meem ntawm kev hloov kho lub tshuab kev kawm classical rau kev ua tiav hauv kev faib tawm raws li nws qhov kev paub ua haujlwm nrog Apache Spark ML, Apache Mahout, Apache Flink ML thiab kev paub ntawm kev tsim Apache Ignite ML. Alexey tseem yuav tham txog kev siv cov kev faib ML algorithms hauv cov qauv no.

Thiab thaum kawg, ob tsab ntawv ceeb toom los ntawm Yandex txog Yandex Database.

Vladislav Kuznetsov - tus tshaj tawm Yandex Database - yuav ua li cas peb ua kom muaj kev zam txim txhaum

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Vladislav yog tus tsim tawm ntawm Yandex hauv pawg platform faib. Yandex Database yog kab rov tav scalable, geo-distributed, fault-tolerant DBMS uas tuaj yeem tiv taus qhov tsis ua haujlwm ntawm disks, servers, racks thiab cov chaw khaws ntaub ntawv yam tsis tau poob qhov sib xws. Txhawm rau kom ntseeg tau tias muaj kev zam txim txhaum cai, siv cov txheej txheem ua tswv cuab rau kev ua tiav cov kev pom zoo sib faib, nrog rau ntau cov kev daws teeb meem, uas tau tham txog ntau yam hauv daim ntawv tshaj tawm. Daim ntawv tshaj tawm tej zaum yuav muaj kev txaus siab rau ob tus neeg tsim khoom DBMS thiab cov neeg tsim tawm ntawm cov kev daws teeb meem raws li DBMS.

Semyon Checherinda - Kev Kev faib khoom lag luam hauv YDB

19 hydra taub. Cov ntsiab lus zoo ntawm qhov kev zov me nyuam Semyon yog tus tsim tawm hauv pawg faib platform ntawm Yandex, ua haujlwm ntawm qhov muaj peev xwm siv ntau tus neeg xauj tsev ntawm YDB kev teeb tsa.

Yandex Database yog tsim los rau OLTP cov lus nug thiab ua raws li ACID cov cai rau kev hloov pauv. Hauv tsab ntawv tshaj tawm no, peb yuav txiav txim siab txog kev teem sijhawm sib pauv hloov pauv uas cuam tshuam txog YDB kev hloov pauv. Cia peb saib seb cov koom haum twg koom nrog hauv kev lag luam, leej twg muab kev txiav txim thoob ntiaj teb rau kev lag luam, yuav ua li cas kev hloov pauv atomicity, kev ntseeg siab, thiab qib nruj ntawm kev sib cais ua tiav. Siv ib qho teeb meem ua piv txwv, cia peb saib kev ua lag luam siv ob-theem commits thiab txiav txim siab muas. Cia peb tham txog lawv qhov sib txawv.

Yuav ua li cas yog tom ntej no?

Qhov kev pab cuam lub rooj sab laj tseem muaj cov ntaub ntawv tshiab. Tshwj xeeb, peb cia siab tias yuav muaj tsab ntawv ceeb toom los ntawm Nikita Koob (ndkoval ua) los ntawm JetBrains thiab Oleg Anastasyev (m0n xav) los ntawm lub tuam txhab Odnoklassniki. Nikita ua hauj lwm ntawm algorithms rau coroutines nyob rau hauv pab neeg Kotlin, thiab Oleg tsim architecture thiab kev daws teeb meem rau high-load systems nyob rau hauv lub Odnoklassniki platform. Tsis tas li ntawd, muaj 1 qhov chaw khoob ntxiv, pawg neeg ua haujlwm tau ua haujlwm nrog cov neeg sib tw rau nws tam sim no.

Lub rooj sib tham Hydra yuav muaj nyob rau lub Xya Hli 11-12 hauv St. Daim pib muaj yuav ntawm lub vev xaib official. Thov xyuam xim rau qhov muaj daim pib Online - yog vim li cas koj tsis tuaj yeem mus rau St. Petersburg hnub no.

Pom koj ntawm Hydra!

Tau qhov twg los: www.hab.com

Ntxiv ib saib