https://en.wikipedia.org/wiki/Bully_algorithm

  • 個のプロセスが存在
  • プロセスID:
  • いずれのプロセスも、コーディネーターがリクエストに応答しなくなったことに気づくと選挙を開始する
    • は、自身より大きなを持つプロセスにELECTIONメッセージを送信
    • 誰も応答しないなら、自身がコーディネーターとなり、VICTORYメッセージを全体に送る
    • から応答があれば、選挙はに引き継がれ、自分の仕事は終わり
  • 生きている中で最も大きなのプロセスがコーディネーターになる
    • なんかガキ大将っぽいから、Bullyという名前なんだろうか(kekeho)
  • Safety: 障害のない全てのプロセスがプロセスを選出するか、全く選出しないかどちらか。Bully algorithmはこれを満たす
    • 複数のプロセスがコーディネータになっていると仮定したら、それぞれがVICTORYメッセージを送っているはずだが、それ以前に上位者にELECTIONを送っているはずだから
  • Liveness: 同期システムCrash-recovery modelの元で、Livenessも保証される