ヒドラヘッド19個。 プログラムの抂芁

䌚議は11月12日ずXNUMX日にサンクトペテルブルクで開催される ハむドラ、䞊列および分散システムの開発に特化しおいたす。 Hydra のトリックは、クヌルな科孊者 (通垞は海倖の科孊䌚議でしか芋られない) ず有名な珟圹゚ンゞニアを科孊ず実践が亀わる XNUMX ぀の倧きなプログラムに結び付けるこずです。

Hydra は、ここ数幎で最も重芁なカンファレンスの XNUMX ぀です。 それに先立っお、非垞に真剣な準備、講挔者の遞択、報告が行われたした。 先週はこれに぀いお ハブロのむンタビュヌが出た JUG.ruグルヌプのディレクタヌ、アレクセむ・フェドロフ氏ず23デレボ).

我々 すでに蚀った 分散システム理論の創始者であるレスリヌ ランポヌト、モヌリス ハヌリヒヌ、マむケル スコットずいう XNUMX 人の重芁な参加者に぀いお話したす。 今床はプログラム党䜓に぀いお詳しく説明したす。

ヒドラヘッド19個。 プログラムの抂芁

動機

プログラミングに携わっおいる堎合は、䜕らかの圢でマルチスレッドず分散コンピュヌティングを扱っおいるこずになりたす。 関連分野の専門家はそれらず盎接協力したすが、暗黙のうちに、分散はあらゆる堎所から私たちに泚目しおいたす。どのマルチコア コンピュヌタヌや分散サヌビスにも、䞊列蚈算を実行するものが存圚したす。

アプリケヌション プログラミングのさたざたな偎面をカバヌするカンファレンスが倚数ありたす。 その反察偎には、膚倧な量の耇雑な理論を講矩圢匏で明らかにする専門の科孊孊校がありたす。 たずえば、サンクトペテルブルクのヒドラず䞊行しお、 SPTDCå­Šæ ¡. ヒドラ䌚議では、私たちは過酷な実践、科孊、そしおそれらの亀差点ですべおを結集しようずしたした。

考えおみおください。私たちは、私たちが研究しおいる科孊ず工孊の分野の創始者に盎接䌚うこずができる玠晎らしい時代に生きおいたす。 物理孊者はニュヌトンにもアむンシュタむンにも䌚わないでしょう - 列車は出発したした。 しかし、私たちの隣には、分散システム理論の基瀎を築き、人気のあるプログラミング蚀語を発明し、これらすべおを初めお実甚的なプロトタむプで具䜓化した人々が今も生きおいたす。 これらの人々は途䞭で仕事を蟞めたわけではなく、珟圚䞖界的に有名な倧孊や䌁業で差し迫った課題に取り組んでおり、今日の最倧の知識ず経隓の源ずなっおいたす。

その䞀方で、圌らに䌚う機䌚は通垞、玔粋に理論的なものにずどたりたす。ロチェスタヌ倧孊の公開むベントを垞に監芖し、その埌すぐに米囜に行き、マむケル・スコットの講矩を受けるために戻っおくるこずができる人はほずんどいたせん。 ヒドラのメンバヌ党員を蚪ねるず、膚倧な時間の無駄を陀けば、少額の費甚がかかるでしょう (興味深いク゚ストのように思えたすが)。

䞀方で、珟圚、分散システムにおける差し迫った問題に取り組んでいるトップ゚ンゞニアがたくさんおり、圌らは間違いなく䌝えたいこずがたくさんありたす。 しかし、ここに問題がありたす - 圌らは 働くそしお圌らの時間は貎重です。 はい、あなたが Microsoft、Google、たたは JetBrains の埓業員であれば、瀟内むベントで有名な講挔者の䞀人に䌚う可胜性は急激に高たりたすが、䞀般的には、いいえ、これが毎日起こるわけではありたせん。

このようにしお、ヒドラ䌚議は、私たちのほずんどが自分たちだけでは実行できない重芁な任務を達成したす。それは、あなたのアむデアや亀流があなたの人生を倉える可胜性のある人々を䞀床に䞀か所に集めたす。 誰もが分散システムや耇雑な基本的なものを必芁ずしおいるわけではないこずは認めたす。 PHP で CRUD をプログラミングすれば、䞀生幞せであり続けるこずができたす。 しかし、それを必芁ずしおいる人には、これがチャンスです。

ハブレでのヒドラ䌚議の最初の発衚からかなり長い時間が経過したした。 この間に倚くの䜜業が行われ、珟圚ではほがすべおのレポヌトのリストが完成したした。 遅いシングルスレッド アルゎリズムはなく、玔粋な分散ハヌドコアだけです。 䞀般的な蚀葉で終えお、今私たちが手にしおいるものを芋おみたしょう。

基調講挔

基調講挔はカンファレンスの䞀日の始たりず終わりです。 通垞、開䌚基調講挔の目的は、カンファレンスの党䜓的な粟神ず方向性を蚭定するこずです。 閉䌚の基調講挔では、これたでずは䞀線を画し、カンファレンス䞭に獲埗した知識ずスキルをどのように掻甚しお生きおいくかに぀いお説明したす。 始たりず終わり: 最もよく蚘憶され、䞀般に重芁性が増したもの。

クリフクリック H2O 分散 K/V アルゎリズム

ヒドラヘッド19個。 プログラムの抂芁 Cliff は Java 界のレゞェンドです。 90 幎代埌半、博士論文ずしお圌は次のタむトルの論文を曞きたした。 「分析の組み合わせ、最適化の組み合わせ」、これはしばらくしお HotSpot JVM Server Compiler の基瀎ずなりたした。 XNUMX 幎埌、圌はすでに Sun Microsystems で JVM に取り組んでおり、JIT には存圚する暩利があるこずを党䞖界に瀺したした。 Java が最も賢明で最速の最適化を備えた最も高速な最新ランタむムの XNUMX ぀であるこずに関するこの党文は、Cliff Click から提䟛されたした。 圓初は、静的コンパむラヌがアクセスできるものであれば、jit する必芁さえないず考えられおいたした。 Cliff ずチヌムの働きのおかげで、すべおの新しい蚀語はデフォルトで JIT コンパむルの考えに基づいお䜜成され始めたした。 もちろん、これは䞀人の仕事ではありたせんでしたが、クリフはその䞭で非垞に重芁な圹割を果たしたした。

冒頭の基調講挔で、クリフは圌のもう䞀぀の取り組みに぀いお語りたす。 H20、産業アプリケヌション向けの分散型でスケヌラブルな機械孊習のためのむンメモリ プラットフォヌムです。 より正確には、その内郚のキヌず倀のペアの分散ストレヌゞに぀いおです。 これは、倚くの興味深いプロパティを備えた非垞に高速なストレヌゞです (正確なリストは次のずおりです)。 説明)、ビッグ デヌタ ストリヌミングの数孊で同様の゜リュヌションを䜿甚できるようになりたす。

クリフが䞎えるもう䞀぀の報告は - Azul ハヌドりェア トランザクション メモリ ゚クスペリ゚ンス。 圌の䌝蚘のもう䞀぀の郚分 - XNUMX幎 アズヌルで働くそこで圌は、JIT コンパむラヌ、ランタむム、スレッド モデル、゚ラヌ凊理、スタック凊理、ハヌドりェア割り蟌み、クラス読み蟌みなど、Azul ハヌドりェアずテクノロゞ スタックの倚くのこずを曎新および改善したした。アむデア。

最も興味深い郚分は、倧䌁業向けのハヌドりェア、぀たり Java を実行するスヌパヌコンピュヌタを䜜成したずきに始たりたした。 これはかなり革新的なもので、特別な芁件を持぀ Java に特化しお調敎されたした。䜎䞀時停止ガベヌゞ コレクションのための読み取りメモリ バリア、境界チェックのある配列、仮想呌び出しなどです。最も優れたテクノロゞの 1 ぀は、ハヌドりェア トランザクション メモリです。 864 コアのいずれかの LXNUMX 党䜓がトランザクション曞き蟌みに参加できたす。これは、Java でロックを操䜜する堎合に特に重芁です (実際のメモリの競合がない限り、同期されたブロックは䞊行しお動䜜できたす)。 しかし、その矎しいアむデアは厳しい珟実によっお打ち砕かれたした。そしおこの講挔で、クリフは、HTM ず STM がマルチスレッド コンピュヌティングの実際のニヌズにあたり適しおいない理由を説明したす。

マむケル・スコット - 二重デヌタ構造

ヒドラヘッド19個。 プログラムの抂芁 マむケル・スコット - ロチェスタヌ倧孊のコンピュヌタヌサむ゚ンス教授、運呜が圌ず぀ながった もう34歳、そしお自宅のりィスコンシン倧孊マディ゜ン校ではXNUMX幎間孊郚長を務めたした。 圌は、䞊列および分散プログラミングず蚀語蚭蚈に぀いお研究し、孊生に教えおいたす。

教科曞のおかげで䞖界䞭がマむケルを知っおいたす 「プログラミング蚀語のプラグマティクス」、最新版は比范的最近、2015 幎に出版されたした。 圌の仕事 「共有メモリマルチプロセッサでのスケヌラブルな同期のためのアルゎリズム」 受け取った ディクストラ賞 分散コンピュヌティングの分野で最も有名なものの XNUMX ぀ずしお、 公然ず嘘を぀く ロチェスタヌ倧孊のオンラむン図曞通にありたす。 たた、圌はたさに Michael-Scott アルゎリズムの䜜者ずしお知られおいるかもしれたせん。 「シンプル、高速、実甚的なノンブロッキングおよびブロッキング同時キュヌ アルゎリズム」.

Java の䞖界に関しおは、これは特殊なケヌスです。圌は Doug Lea ずずもに、Java ラむブラリが動䜜するノンブロッキング アルゎリズムず同期キュヌを開発したした。 これはたさに「二重デヌタ構造」基調講挔の内容です。Java SE 6 でのこれらの構造の導入により、パフォヌマンスが 10 倍向䞊したした。 java.util.concurrent.ThreadPoolExecutor。 これらの「二重デヌタ構造」が䜕であるかに぀いお事前に知りたい堎合は、それに関する情報がありたす。 関連䜜業.

モヌリス・ハヌリヒヌ - ブロックチェヌンず分散コンピュヌティングの未来

ヒドラヘッド19個。 プログラムの抂芁 モヌリス・ハヌリヒヌ - ダむクストラ賞をXNUMX回受賞。 XNUMX぀目は䜜業甚です 「埅ち時間なしの同期」 (ブラりン倧孊)、そしお XNUMX ぀目は、より最近のものです - 「トランザクション メモリ: ロックフリヌ デヌタ構造のアヌキテクチャ サポヌト」 (バヌゞニア工科倧孊)。 ダむクストラ賞は、少なくずも XNUMX 幎間にわたっお重芁性ず圱響が目に芋えお珟れおいる研究を衚地するもので、モヌリスは明らかにこの分野で最も有名な専門家の XNUMX 人です。 圌は珟圚ブラりン倧孊の教授ずしお働いおおり、段萜に及ぶ業瞟リストを持っおいたす。

この締めくくりの基調講挔では、モヌリス氏が分散コンピュヌティングの叀兞の芳点からブロックチェヌン分散システムの理論ず実践、そしおそれが倚くの関連問題をどのように単玔化するかに぀いお話したす。 これはカンファレンスのテヌマのみを取り䞊げたレポヌトです。マむニングの誇倧宣䌝に関するものではなく、さたざたなタスクに関連しお私たちの知識がどのように驚くほど効果的か぀適切に䜿甚できるかに぀いおのものです。

2017 幎 XNUMX 月、モヌリスさんは SPTDC の孊校に通うためにすでにロシアを蚪れ、JUG.ru のミヌトアップに参加しおおり、その録画は YouTube で芋るこずができたす。

メむンプログラム

次に、プログラムに含たれるレポヌトの抂芁を説明したす。 レポヌトの䞀郚はここで詳现に説明され、その他はより簡単に説明されたす。 長い説明は䞻に英語のレポヌトで、科孊論文やりィキペディアの甚語などぞのリンクが必芁でした。 完党なリストが利甚可胜です カンファレンスのりェブサむトで芋る。 りェブサむト䞊のリストは曎新され、远加されたす。

レスリヌ・ランポヌト - QA

ヒドラヘッド19個。 プログラムの抂芁 Leslie Lamport は、分散コンピュヌティングにおける独創的な著䜜の著者です。 "ラテックス" 「Lamport TeX」の略です。 1979 幎にこの抂念を最初に導入したのは圌でした。 逐次䞀貫性、そしお圌の蚘事 「マルチプロセス プログラムを正しく実行するマルチプロセッサ コンピュヌタの䜜り方」 ダむクストラ賞を受賞。

これは、プログラムの圢匏の点で最も珍しい郚分であり、レポヌトですらなく、質疑応答です。 聎衆のかなりの郚分が「ランポヌトの理論」に基づいたあらゆる皮類の䜜品、圌自身の論文やレポヌトにすでに粟通しおいるたたは粟通する可胜性がある堎合、利甚可胜なすべおの時間を盎接コミュニケヌションに費やすこずがより重芁です。

アむデアはシンプルです。YouTube で XNUMX ぀のレポヌトを芖聎したす。 「プログラミングは単なるコヌディング以䞊のものでなければならない」 О 「プログラムを曞いおいない堎合は、プログラミング蚀語を䜿甚しないでください」 少なくずも XNUMX ぀の質問を甚意するず、レスリヌが答えたす。

すでに公開されおいる XNUMX ぀のビデオのうちの XNUMX ぀目は、 ハブロ蚘事になりたした。 ビデオを芋る時間が XNUMX 時間もない堎合は、テキスト圢匏ですべおをすぐに読むこずができたす。

泚: YouTube には他にもレスリヌ ランポヌトのビデオがたくさんありたす。 たずえば、玠晎らしいものがありたす TLA+コヌス。 このコヌス党䜓のオフラむン バヌゞョンは、次の堎所から入手できたす。 著者のホヌムペヌゞそしお、モバむルデバむスで簡単に芖聎できるように、それを YouTube にアップロヌドしたした。

マルティン・クレップマン - 分散コラボレヌションのためのナヌザヌデバむス間でのデヌタの同期

ヒドラヘッド19個。 プログラムの抂芁 Martin Kleppmann は、ケンブリッゞ倧孊の研究者で、CRDT ずアルゎリズムの圢匏的怜蚌に取り組んでいたす。 マヌティンの本 「デヌタ集玄型アプリケヌションの蚭蚈」は 2017 幎に出版され、非垞に成功したこずが蚌明され、デヌタ ストレヌゞず凊理の分野でベストセラヌ リストにランクむンしたした。 マむクロ゜フト瀟 CTO のケビン・スコット氏は、 か぀お蚀いたした: 「この本は゜フトりェア ゚ンゞニアにずっお必需品です。 これは、開発者がむンフラストラクチャずデヌタ システムをより賢く蚭蚈および実装できるよう、理論ず実践を組み合わせた貎重なリ゜ヌスです。」 Kafka の䜜成者であり、Confluent の CTO である Jay Kreps も同様のこずを述べおいたす。

孊術研究に移る前、マヌティンは産業界で働き、成功を収めた XNUMX ぀の新興䌁業を共同蚭立したした。

  • Rapportive は、電子メヌルから連絡先の゜ヌシャル プロフィヌルを衚瀺するこずに特化しおおり、LinkedIn が 2012 幎に買収したした。
  • Go Test It は、さたざたなブラりザで Web サむトを自動的にテストするサヌビスで、RedGate が 2009 幎に買収したした。

䞀般に、Martin は基調講挔ほど有名ではありたせんが、すでに分散コンピュヌティングの発展ず業界にある皋床の貢献を果たしおいたす。

この講挔では、マヌティンは孊術研究に近いトピックに぀いお話したす。 Google ドキュメントや同様のドキュメント共同線集機胜では、「共同線集」ずは耇補タスクを指したす。各ナヌザヌは共有ドキュメントの独自のレプリカを持ち、それを倉曎し、すべおの倉曎がネットワヌクを介しお残りのナヌザヌに送信されたす。参加者。 オフラむンでドキュメントを倉曎するず、他の参加者ずの関係でドキュメントに䞀時的な䞍敎合が生じ、再同期には競合凊理が必芁になりたす。 たさにそれが圌らの存圚目的です 競合のないレプリケヌトされたデヌタ型 (CRDT) は実際、かなり新しいものであり、その本質は 2011 幎にのみ策定されたした。 この講挔では、CRDT の䞖界でそれ以来䜕が起こったのか、最新の進歩ずは䜕か、ロヌカルファヌストのアプリケヌション党般を䜜成するアプロヌチずオヌプン゜ヌス ラむブラリの䜿甚に぀いお説明したす。 自動マヌゞ 特に。

来週、ハブレに関するマヌティンのロングむンタビュヌを掲茉する予定ですが、興味深いものになるでしょう。

ペドロ・ラマルヘテ - 埅機なしのデヌタ構造ず埅機なしのトランザクション

ヒドラヘッド19個。 プログラムの抂芁 Pedro は Cisco で働いおおり、過去 XNUMX 幎ほどにわたっお、同期メカニズム、ロックフリヌおよびりェむトフリヌのデヌタ構造、およびこのトピックに関しお想像できるすべおのものを含む䞊列アルゎリズムを開発しおきたした。 圌の珟圚の研究ず゚ンゞニアリングの関心は、正確でスケヌラブルでフォヌルトトレラントなアプリケヌションを可胜にするナニバヌサル構造、゜フトりェア トランザクション メモリ、氞続メモリ、および同様のテクノロゞに焊点を圓おおいたす。 圌は狭い範囲で広く知られおいるブログの著者でもありたす 同時実行フリヌク.

珟圚、ほずんどのマルチスレッド アプリケヌションは、アクタヌ間のメッセヌゞ キュヌの䜿甚から、キヌ/倀ストアのむンデックス付きデヌタ構造に至るたで、䞊列デヌタ構造䞊で実行されたす。 これらは Java JDK で長幎にわたっお正垞に動䜜しおおり、埐々に C++ にも远加されおいたす。

䞊列デヌタ構造を実装する最も簡単な方法は、メ゜ッドがミュヌテックスによっお保護されるシヌケンシャル (シングルスレッド) 実装です。 これは、どの XNUMX 月でもアクセスできたすが、スケヌリングずパフォヌマンスに明らかな問題がありたす。 同時に、ロックフリヌおよびりェむトフリヌのデヌタ構造は、゚ラヌぞの察凊が優れおいるだけでなく、パフォヌマンス プロファむルも優れおいたす。ただし、その開発には深い専門知識ず特定のアプリケヌションぞの適応が必芁です。 コヌドを XNUMX 行間違えるだけで、すべおが壊れおしたいたす。

専門家でなくおもこのようなデヌタ構造を蚭蚈および実装できるようにするにはどうすればよいでしょうか? シヌケンシャル アルゎリズムは、次のいずれかを䜿甚しおスレッド セヌフにするこずができるこずが知られおいたす。 ナニバヌサルデザむン、たたはトランザクションメモリ。 たず、この問題を解決するための障壁を䞋げるこずができたす。 ただし、どちらの゜リュヌションも通垞は非効率的な実装になりたす。 Pedro は、これらの蚭蚈をどのようにしお効率化するこずができたのか、たたそれらをアルゎリズムにどのように䜿甚できるのかに぀いお話したす。

ハむゞ・ハワヌド - 分散型コンセンサスを解攟する

ヒドラヘッド19個。 プログラムの抂芁 ハむディ・ハワヌドは、マヌティンず同様、ケンブリッゞ倧孊の分散システム研究者です。 圌女の専門分野は、䞀貫性、耐障害性、パフォヌマンス、分散型コンセンサスです。 圌女は、Paxos アルゎリズムを䞀般化したこずで最もよく知られおいたす。 柔軟なパク゜ス.

それを思い出しお パクシ は、レスリヌ ランポヌトの研究に基づく、信頌性の䜎いコンピュヌタヌのネットワヌクにおけるコンセンサスの問題を解決するためのプロトコル ファミリです。 したがっお、私たちの講挔者の䞭には、他の講挔者が最初に提案した問題に取り組んでいる人もいたす。これは玠晎らしいこずです。

アドレス指定、リヌダヌの遞出、ブロック、たたは調敎に぀いお、耇数のホスト間で合意を芋぀ける胜力は、最新の分散システムにおける基本的な問題です。 Paxos は珟圚、コンセンサス問題を解決するための䞻な方法であり、さたざたな実際のニヌズに合わせおアルゎリズムを拡匵および最適化するために、Paxos を䞭心ずした倚くの研究が行われおいたす。

この講挔では、Paxos の理論的基瀎を再怜蚎し、元の芁件を緩和し、アルゎリズムを䞀般化したす。 Paxos は本質的に、膚倧な範囲のコンセンサス アプロヌチの䞭の XNUMX ぀の遞択肢にすぎず、スペクトル䞊の他の点も優れた分散システムを構築するのに非垞に圹立぀こずがわかりたす。

アレックス・ペトロフ — 䞀時的なレプリケヌションず安䟡なクォヌラムでストレヌゞ コストを削枛

ヒドラヘッド19個。 プログラムの抂芁 Alex はデヌタベヌスずストレヌゞ システムのスペシャリストであり、私たちにずっおさらに重芁なこずに、 カサンドラ。 圌は珟圚、オラむリヌず協力しお曞籍『Database Internals』を執筆䞭です。

を備えたシステムの堎合 最終的な䞀貫性 (ロシア語で「究極の䞀貫性」)、ノヌドがクラッシュしたりネットワヌクが分裂した埌は、䞀貫性を犠牲にしおリク゚ストの実行を続けるか、リク゚ストの実行を拒吊しお可甚性を犠牲にするかずいうゞレンマを解決する必芁がありたす。 このようなシステムでは、クォヌラム、ノヌドのサブセットの重耇、および少なくずも XNUMX ぀のノヌドに最新の倀が含たれおいるこずを保蚌するこずが、優れた゚ッゞ ゜リュヌションずなる可胜性がありたす。 障害が発生したり、䞀郚のノヌドぞの接続が倱われた堎合でも、最新の倀で応答しながら生き残るこずができたす。

ただし、䜕事にも代償は぀きものです。 クォヌラム レプリケヌション スキヌムはストレヌゞ コストの増加を意味したす。問題が発生したずきに䜿甚できる十分なコピヌを確保するために、冗長デヌタを耇数のノヌドに䞀床に保存する必芁がありたす。 すべおのデヌタをすべおのレプリカに保存する必芁はないこずがわかりたした。 䞀郚のノヌドにのみデヌタを保存し、障害凊理シナリオに特別なノヌド (䞀時レプリカ) を䜿甚するず、ストレヌゞの負荷を軜枛できたす。

レポヌトの過皋で怜蚎したす 蚌人のレプリカ、で䜿甚されるレプリケヌション スキヌム スパナ О メガストア、そしおこの抂念を Apache Cassandra に実装するず、 䞀時的なレプリケヌションず安䟡なクォヌラム.

ドミトリヌ・ノュコフ - ゎルヌチンが公開される

ヒドラヘッド19個。 プログラムの抂芁 Dmitry は Google の開発者で、C/C++ ず Go (Address/Memory/ThreadSanitizer) の動的テスト、および Linux カヌネル甚の同様のツヌルに取り組んでいたす。 スケヌラブルな goroutine スケゞュヌラヌ、ネットワヌク ポヌラヌ、䞊列ガベヌゞ コレクタヌずしお Go に貢献したした。 圌はマルチスレッドの専門家であり、XNUMX 個の新しいノンブロッキング アルゎリズムの䜜成者であり、 黒垯 むンテル。

次に、レポヌト自䜓に぀いお少し説明したす。 Go 蚀語は、ゎルヌチン (ラむト スレッド) およびチャネル (FIFO キュヌ) の圢匏でマルチスレッドをネむティブ サポヌトしおいたす。 これらのメカニズムにより、ナヌザヌは最新のマルチスレッド アプリケヌションを非垞に簡単か぀楜しく䜜成できるようになり、たるで魔法のように芋えたす。 私たちが理解しおいるように、ここには魔法はありたせん。 この講挔では、Dmitry が Go スケゞュヌラの耇雑さを掘り䞋げ、この「魔法」を実装する秘密を瀺したす。 たず、スケゞュヌラの䞻芁コンポヌネントの抂芁を説明し、それがどのように機胜するかを説明したす。 次に、駐車/駐車解陀戊略やブロック システム コヌルの凊理などの個別の偎面を詳しく芋おいきたす。 最埌に、Dmitry がスケゞュヌラヌの改善の可胜性に぀いお少し話したす。

ドミトリヌ・ブガむチェンコ - 確率的スケッチなどによる分散グラフ分析の高速化

ヒドラヘッド19個。 プログラムの抂芁 ドミトリヌは、倧孊や科孊コミュニティずの぀ながりを倱うこずなく、ほが 9 幎間アりト゜ヌシングで働きたした。 オドノクラスニキにおけるビッグデヌタ分析は、圌にずっお、理論的トレヌニングず科孊的基瀎を実際の需芁の高い補品の開発ず組み合わせるナニヌクな機䌚ずなりたした。

分散グラフ分析は、これたでも、そしお今も難しい䜜業です。隣接する頂点の接続に関する情報を取埗する必芁がある堎合、倚くの堎合、デヌタをマシン間で転送する必芁があり、これが実行時間の増加ずネットワヌク むンフラストラクチャぞの負荷の増加に぀ながりたす。 この講挔では、確率的なデヌタ構造や、゜ヌシャル ネットワヌクにおける友人関係グラフの察称性などの事実を䜿甚しお、倧幅な凊理速床を実珟する方法を説明したす。 これらすべおを、Apache Spark のコヌド䟋で説明したす。

デニス・リストツォフ - 䞀時的なレプリケヌションず安䟡なクォヌラムでストレヌゞ コストを削枛

ヒドラヘッド19個。 プログラムの抂芁 デニス - 開発者 コスモスDB、䞀貫性モデル、コンセンサスアルゎリズム、分散トランザクションをチェックする専門家です。 圌は珟圚 Microsoft で働いおおり、その前は Amazon ず Yandex で分散システムの開発に携わっおいたした。

この講挔では、過去数幎間に発明された分散トランザクション プロトコルに぀いお芋おいきたす。分散トランザクション プロトコルは、条件付き曎新 (比范ず蚭定) をサポヌトするデヌタ ストア䞊でクラむアント偎に実装できたす。 肝心なのは、人生は 2 フェヌズ コミットで終わるわけではなく、トランザクションはアプリケヌション レベルであらゆるデヌタベヌスに远加できたすが、異なるプロトコル (XNUMXPC、パヌコレヌタヌ、RAMP) には異なるトレヌドオフがあり、私たちには䞎えられないずいうこずです。無料で。

アレクセむ・ゞノノィ゚フ - すべおの ML アルゎリズムが分散倩囜に到達できるわけではありたせん

ヒドラヘッド19個。 プログラムの抂芁 アレクセむ (ザレスワフ) は、他のカンファレンスで長幎講挔者およびプログラム委員䌚のメンバヌを務めおいたす。 EPAM Systems でトレヌナヌを務めおおり、2012 幎から Hadoop/Spark やその他のビッグデヌタに粟通しおいたす。

この講挔では、Alexey が、Apache Spark ML、Apache Mahout、Apache Flink ML を䜿甚した経隓、および Apache Ignite ML を䜜成した経隓に基づいお、分散モヌドでの実行に叀兞的な機械孊習アルゎリズムを適応させる際の問題に぀いお話したす。 Alexey は、これらのフレヌムワヌクでの分散 ML アルゎリズムの実装に぀いおも話したす。

最埌に、Yandex デヌタベヌスに関する Yandex からのレポヌトが XNUMX ぀ありたす。

りラゞスラフ・クズネツォフ - Yandex デヌタベヌス - 耐障害性を確保する方法

ヒドラヘッド19個。 プログラムの抂芁 Vladislav は、分散プラットフォヌム グルヌプの Yandex の開発者です。 Yandex Database は、氎平スケヌラブルで地理的に分散されたフォヌルトトレラントな DBMS であり、䞀貫性を倱うこずなくディスク、サヌバヌ、ラック、デヌタセンタヌの障害に耐えるこずができたす。 耐障害性を確保するために、分散型コンセンサスを達成するための独自のアルゎリズムず、レポヌトで詳しく説明されおいる倚くの技術的゜リュヌションが䜿甚されおいたす。 このレポヌトは、DBMS 開発者ず DBMS に基づくアプリケヌション ゜リュヌションの開発者の䞡方にずっお興味深いものずなるでしょう。

セミョン・チェチェリンダ - YDBの分散トランザクション

ヒドラヘッド19個。 プログラムの抂芁 Semyon は、Yandex の分散プラットフォヌム グルヌプの開発者で、YDB むンストヌルのマルチテナント䜿甚の可胜性に取り組んでいたす。

Yandex デヌタベヌスは OLTP ク゚リ甚に蚭蚈されおおり、トランザクション システムの ACID 芁件に準拠しおいたす。 このレポヌトでは、YDB トランザクション システムの基瀎ずなるトランザクション スケゞュヌリング アルゎリズムに぀いお考察したす。 どの゚ンティティがトランザクションに参加するのか、誰がトランザクションにグロヌバルな順序を割り圓おるのか、トランザクションの原子性、信頌性、および厳栌なレベルの分離がどのように達成されるかを芋おみたしょう。 䞀般的な問題を䟋ずしお、XNUMX フェヌズ コミットず確定的トランザクションを䜿甚したトランザクションの実装を芋おみたしょう。 それらの違いに぀いお話し合いたしょう。

次は䜕ですか

カンファレンスのプログラムには匕き続き新しいレポヌトが満茉です。 特に、私たちはからの報告を期埅しおいたす。 ニキヌタ・コノァル (ンドコノァル) JetBrains および オレグ・アナスタシ゚フ (マスタヌマむンドOdnoklassniki瀟から。 Nikita は Kotlin チヌムでコルヌチンのアルゎリズムに取り組んでおり、Oleg は Odnoklassniki プラットフォヌムで高負荷システム甚のアヌキテクチャず゜リュヌションを開発しおいたす。 さらに、条件付きの空き枠があず 1 ぀あり、プログラム委員䌚は珟圚その候補者ず協力しおいたす。

ヒドラ䌚議は11月12日ずXNUMX日にサンクトペテルブルクで開催される。 チケットは入手可胜です 公匏サむトで賌入する。 最近䜕らかの理由でサンクトペテルブルクに行けない堎合は、オンラむンチケットの入手可胜状況にご泚意ください。

ヒドラでお䌚いしたしょう

出所 habr.com

コメントを远加したす