Paxos アルゴリズム (1)
【「Paxos アルゴリズム (1)」を公開しました 】
1/29 マルレク「分散合意アルゴリズム (1) — Paxos」にむけ、ショートムービー「Paxos アルゴリズム (1)」を公開しました。ご利用ください。
https://youtu.be/83RRijzzesI?list=PLQIrJ0f9gMcOTqmza5742zyEYjkApl_fF
今回からは、古代Paxosのたとえ話ではなく、現代の分散ネットワークのもとでのPaxosアルゴリズムの紹介です。
Paxosでは、登場人物は、異なる三つの役割をもちます。
・Proposers(提案者)-- 合意すべき値の提案者
・Acceptors(受容者)-- 合意の形成に関わる人たち
・Learners (学習者)-- 形成された合意を学ぶ人たち
物理ノードは、一つ以上の役割を持つことができます。実際、実装的には、一つの物理ノードが、上記3つの論理的役割を同時に果たすのは、よくみられることです。
Paxosのアルゴリズムは、つぎの三つの phaseを持ちます。
・phase 1 (prepare) : 提案者による提案に対する投票の準備。
・phase 2 (accept) : accepter による投票と合意の受容。
・phase 3 (commit) : acceptorが受け入れた合意の学習。
phase 1とphase 2 では、一つの提案とその提案の一つの投票に紐づけられた「投票番号」が、大きな役割を果たします。
スライドの pdf はこちらです。
https://drive.google.com/file/d/1LuQzbq3a7B0jM5-12pXdbgXQjs_JuCQQ/view?usp=sharing
このPaxosシリーズのショートムービー・参考資料はこちらからアクセスできます。https://www.marulabo.net/docs/paxos/
コメント
コメントを投稿