Skip to content

Instantly share code, notes, and snippets.

@shu-yusa
Last active December 28, 2020 04:53
Show Gist options
  • Save shu-yusa/f778587b07dc9a2688657f03ec2cd5fb to your computer and use it in GitHub Desktop.
Save shu-yusa/f778587b07dc9a2688657f03ec2cd5fb to your computer and use it in GitHub Desktop.

Software Engineering Radio Episode #377

Episode 377: Heidi Howard on Distributed Consensus

Flexbile Paxosの考案者がゲスト。分散合意についてトーク。

  • 分散システムとは?
  • 合意とは?
    • 分散システムで決定を行うこと。
  • どの場面で必要になるか?
    • 強い一貫性が必要となる場面
  • 一貫性と合意の違い
    • 合意は強い一貫性を達成する手段
  • リーダー選出について
    • 決定者を決めるプロセス。投票を行う。
  • Paxosについて
    • Lamportの発表した最初の分散合意
  • 分散合意が実装されているプロダクトの例
  • Paxos, Raft, ZABの関係について
  • 分散合意を学ぶには
  • Paxosのバリエーション
    • Multi-Paxos
    • Generalized (Egalitarian) Paxos
      • Latencyが必要な場面で有効。データセンター間のLatencyなど。
    • Flexible Paxos
      • Quorumの数を調整できる。トレードオフを選択できる。
    • Fast Paxos
      • リーダーをなくし、もっと大きいQuorum(2/3)を使う。
  • どのように分散合意アルゴリズムをテストするか
    • TLA+というツールを使う
  • FLP impossibility
    • 決まった時間のうちに合意することは保証できない。
  • なぜ合意アルゴリズムに興味を持ったのか
    • 学部の頃にRaftの論文を読んで、実装して最適化をして議論した
  • なぜFlexible Paxosを思い立ったのか
  • ビザンチン合意とブロックチェーンについて
  • 分散合意の将来
  • 現在取り組んでいる仕事について
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment