ビザンチン故障と分散制御 九州大学 システム情報科学研究院...

55
ビビビビビビビビビビビビ ビビビビ ビビビビビビビビビビビ ビビビビビ ビビビビビビビビビビ 2013,02,19 1

description

ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子. 最適化ワークショップ 2013,02,19. 講演概要. 分散システムとアルゴリズム ビザンチン合意アルゴリズム 移動ビザンチン合意アルゴリズム 今後の展開. 分散システム. 通信リンクで相互接続され, 協調動作する多数の計算機(プロセス) から成るシステム インターネット, ATM 網,みどりの窓口 分子計算,膜計算,などなど 分散させて上手く計算する 並列処理 分散してしまっていても上手く計算する 分散・協調処理. 合意問題. n 人いる参加者で, 1 ビットについて合意したい - PowerPoint PPT Presentation

Transcript of ビザンチン故障と分散制御 九州大学 システム情報科学研究院...

Page 1: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

ビザンチン故障と分散制御

九州大学 システム情報科学研究院山内由紀子

最適化ワークショップ 2013,02,19

1

Page 2: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

講演概要 分散システムとアルゴリズム ビザンチン合意アルゴリズム 移動ビザンチン合意アルゴリズム 今後の展開

2

Page 3: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

分散システム 通信リンクで相互接続され,

協調動作する多数の計算機(プロセス)から成るシステム インターネット, ATM 網,みどりの窓口 分子計算,膜計算,などなど

分散させて上手く計算する 並列処理

分散してしまっていても上手く計算する 分散・協調処理

3

Page 4: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意問題 n 人いる参加者で, 1 ビットについて合意したい

各参加者は提案値∈ {0, 1} を持つ 誰かの持つ値に全員で合意する

応用:分散データベース等の一貫性維持 処理速度向上,故障耐性のための冗長化,分散配置 サーバ間の一貫性維持

4

Page 5: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意問題 n 人いる参加者で, 1 ビットについて合意したい

各参加者は提案値∈ {0, 1} を持つ 誰かの持つ値に全員で合意する

応用:分散データベース等の一貫性維持 処理速度向上,故障耐性のための冗長化,分散配置 サーバ間の一貫性維持

Q : 各参加者の計算手順を考えてください• どんな通信(情報の送信 / 受信)をするか• どんな情報を記録し,受信した情報と合わせて

何を計算するか

分散アルゴリズム

5

Page 6: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

分散システムの難しさ (1/3)

局所性 各計算機がローカルに持つデータだけをもとに計

算 通信リンクがある計算機間でのみ

計算結果を交換(送信,受信)できる

6

Page 7: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

分散システムの難しさ (2/3)

非同期性 各計算機の計算速度,通信の遅延はばらばら スケジューラ(アドバーサリ)に対する最悪時評

7

Page 8: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

分散システムの難しさ (3/3)

自律適応的運用 大規模,遠隔地に広がるシステムは管理困難 計算機が多ければ,故障も発生

故障耐性,自己組織化,自己最適化,等

8

Page 9: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意問題 n 人いる参加者で, 1 ビットについて合意し

たい 各参加者は提案値∈ {0, 1} を持つ 誰かの持つ値に全員で合意する

計算手順案 全員で ( 提案者 , 提案値 ) を交換 n 人ぶん集まったら,多数決 / 最大値 /etc.

故障

9

Page 10: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

ビザンチン合意問題

定義 [ ビザンチン合意問題 ]プロセス集合 P={P1, P2, …, Pn} の各プロセス Pi が提案値 vi {0, 1}∈ を持つ.また,合意値をただ 1 度だけ書き込める変数 wi を持つ.

以下の条件を満たす合意値を決定するアルゴリズムを設計せよ.(合意性) すべての正常なプロセスは同じ値を合意値とする(停止性) すべての正常なプロセスはいずれ合意値を決定する(妥当性) 合意値はいずれかの正常プロセスの提案値である

ビザンチン故障 アルゴリズムに従わず,任意の動作

(停止,偽メッセージの送信,等) ビザンチン故障に対する前提知識なし

10

Page 11: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

ビザンチン合意問題:ゴール 不可能性:故障プロセス数 f の上限 アルゴリズムの設計 効率性:計算時間,通信量

10 01 0ビザンチン

11

Page 12: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

ビザンチン合意の難しさ

1 10

0

1

1

1

C

1B :故障

A0 0

0

0

1

1 

11 0

0

0

1

C

01B

A :故障

合意値: 1 合意値: 0

提案値の交換による3 プロセス間でのビザンチン合意

アルゴリズムが存在すれば?

合意不可能

0

0

C :故障 B

A

12

Page 13: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

ビザンチン合意問題の不可能性

停止故障⊂ビザンチン故障

同期システム 各プロセスがラウンドごとに送信,受信,計算を繰り返す環境 通信遅延を無視

定理 1 (Fisher et al, 1985)任意の通信遅延を許す非同期システムでは1 プロセスの停止故障に対しても合意問題は解けない

定理 2 (Pease et al, 1980)n<3f のとき,同期システムにおいてもビザンチン合意問題は解けない

13

Page 14: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

M. Pease, R. Shostak, and L. Lamport, Reaching Agreement in the Presence of faults, J. of the Association for Computing Machinery, 27 (2), pp.228—234, 1980.

ビザンチン合意アルゴリズム14

Page 15: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

n>3f ならばやさしい? 例)提案値を集めて多数決

故障プロセスが別々の値を送れば多数決が覆る事も

P1

P2

P3

P4P5

P6

P7

故障

提案値 1

提案値 0

001

1

15

Page 16: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

アルゴリズムのアイデア 全プロセスの提案値について合意

正常プロセスに同じ(提案者,提案値)集合を持たせる

各プロセスの提案値を様々な経路で収集 P1 (自分)の提案値は b だ P1 の提案値は b だ,と P2 が言っている P1 の提案値は b だ,と P3 が言っている … P1 の提案値は b だ,と P2 が言っている,

と P3 が言っている …

P1

P2

P3

P4P5

P6

P7

目標:異なる (f+1) 人以下に中継された値を収集すれば,

正常プロセスでは提案値を復元できることを保証

16

Page 17: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

中継経路集合 Tf+1

今回使用する中継経路 各プロセスは高々 1回だけ出現 長さは (f+1) 以下

アルファベット S={1, 2, …, n}

S 上の同一文字が高々 1回しか出現しない長さ f+1 以下の文字列の集合Tf+1 =

P1

P2

P3

P4P5

P6

P7

17

Page 18: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

中継経路集合 Tf+1 (Contd.)

接頭辞の最長共通部分で木構造 Tf+1 レベル h の頂点の子の数は n-h

各プロセス Pi において, x T∈ f+1 について ui(x) : x の経路で伝達された値 ui(l) = vi (Pi の提案値 )

maji(x) : x の子の過半数値 l (空系列 )

1 2

12 13

3 7

14

123 124 125

17

127

レベル 1

レベル 2

レベル 3

レベル 0

18

Page 19: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

システムモデル再掲 同期システム:ラウンドごとに,送信,受信,

計算

n プロセス中, f プロセスがビザンチン故障 ただし, n>3f

P1

P2P3

P1

P2

P3

時刻第 1 ラウンド第 2 ラウンド第 3 ラウンド

19

Page 20: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

アルゴリズム ByzCons (1/2)

1. 最初の (f+1) ラウンドは Tf+1 の値を回収 (中継経路,提案値 ) を交換 例 ) 「 P1 の提案値は b だ,と P2 が言っている」を P3 が受信

((1 2), b) を受信  u3(12)=b とし, ((1 2 3), b) を送信

l (空系列 )

1 2

12 13

3 7

14

123 124 125

17

127

20

Page 21: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

アルゴリズム ByzCons (2/2)

2. Tf+1 の各頂点に中継値が入れば 葉から順番に以下の操作:

x 子の過半数を超える中継値を maji(x) に入れる( 葉では ui(x) = maji(x) )

ただし,そのような値がなければ 0 最後に maji(l) に入った値を合意値 wi とする

l (空系列 )

1 2

12 13

3 7

14

123 124 125

17

127

21

Page 22: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

アルゴリズムの正当性:合意性 正常プロセスの Tf+1 で maj(l) が一致すれば合意 レベル 1 の各頂点 x について,

任意の正常プロセス i, j で maji(x)=majj(x) を示す

定義:頂点 x T∈ f+1 が値共有すべての正常プロセス Pi, Pj で maji(x) = majj(x)

l (空系列 )

1 2 3 n

正常プロセス i

l (空系列 )

1 2 3 n

正常プロセス j

22

Page 23: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

アルゴリズムの正当性:合意性

l (空系列 )

1 2 3 n

正常プロセス i

l (空系列 )

1 2 3 n

正常プロセス i

正常プロセスの Tf+1 で maj(l) が一致すれば合意 レベル 1 の各頂点 x について,

任意の正常プロセス i, j で maji(x)=majj(x) を示す

定義:頂点 x T∈ f+1 が値共有すべての正常プロセス Pi, Pj で maji(x) = majj(x)

合意性の根拠:(1)正常プロセスで終了する x T∈ f+1 は値共有(2)故障プロセスのみから成る y T∈ f+1 は値共有

23

Page 24: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意性の根拠 (1)

Base case レベル f+1 の x = x’j において j が正常プロセスであれば, j は uj(x’) を送信

アルゴリズムより,任意の正常プロセス Pi でmaji(x) = uj(x’)

補題 1 :正常プロセスで終了する x T∈ f+1 について,ある値 b が存在し,任意の正常プロセス Pi において, ui(x) = maji(x) = b

24

Page 25: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意性の根拠 (1)

Induction: レベル h+1 以上で補題が成立と仮定

レベル h の正常プロセス Pi で ui(x) = b のとき

x= x’j

レベル h x'

xk

x= x’j

x'

x= x’j

x'

正常プロセス Pi正常プロセス Pj 正常プロセス Pk

b

b

b

補題 1 :正常プロセスで終了する x T∈ f+1 について,ある値 b が存在し,任意の正常プロセス Pi において, ui(x) = maji(x) = b

ui(xk) = b = maji(xk)

25

Page 26: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意性の根拠 (1)

x の子の数 > n-h > n-(f+1) > n-f > 2f よって, x の子の過半数以上で maji(xk) = b

したがって,任意の正常プロセス Pi で maji(x) = ui(x) = b

補題 1 :正常プロセスで終了する x T∈ f+1 について,ある値 b が存在し,任意の正常プロセス Pi において, ui(x) = maji(x) = b

x= x’j

レベル h x'

xk

x= x’j

x'

x= x’j

x'

正常プロセス Pi正常プロセス Pj 正常プロセス Pk

b

b

b

ui(xk) = b = maji(xk)

26

Page 27: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意性の根拠 (2)

故障プロセスは f 個しかないので, y の長さは高々 f

Base case: |y|=f のとき y の任意の子 yj T∈ f+1 について,

j は必ず正常プロセス よって, yj は値共有 アルゴリズムより,

任意の正常プロセス Pi, Pj でmaji(y) = majj(y)

補題 2 :故障プロセスのみから成る y T∈ f+1 は値共有

l (空系列 )

27

Page 28: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

合意性の根拠 (2)

Induction: 長さ h 以上の故障プロセスのみから成る中継路で補題が成り立つと仮定 長さ h-1 の故障プロセスのみから成る中継路 y y の子はすべて補題 1 ,補題 2 を満たす よって,アルゴリズムより y も

任意の正常プロセス Pi, Pj で maji(y) = majj(y)

補題 2 :故障プロセスのみから成る y T∈ f+1 は値共有

28

Page 29: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

妥当性の根拠

レベル 1 の各 x について x が正常プロセスならば

ui(x) = maji(x) = (x の提案値 ) x が故障プロセスでも値共有

maji(l) は値共有かつ妥当性を満たす

補題 1 :正常プロセスで終了する x T∈ f+1 について,ある値 b が存在し,任意の正常プロセス Pi において, ui(x) = maji(x) = b

補題 2 :故障プロセスのみから成る y T∈ f+1 は値共有

l (空系列 )

1 2 3 n

正常プロセス i

29

Page 30: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

アルゴリズム Byz-Cons の正当性

合意性:補題 1 ,補題 2 停止性: f+1 ラウンドで必ず終了 妥当性:合意性の議論より

定理 3アルゴリズム Byz-Cons は n>3f の時,同期システムでビザンチン合意問題を解く

30

Page 31: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

時間複雑度,通信複雑度 アルゴリズムが停止するまでに要する

時間: f+1 ラウンド 通信: O(nf+1 log n) ビット

ビザンチン合意問題の下限

プロセス数

ラウンド数

ビット数

下限 3f+1 f+1 W(f2)

31

Page 32: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

J. A. Garay, Reaching (and Maintaining) Agreement in the Presence of Mobile Faults, In Proc. of Workshop on Distributed Algorithms, pp.253–264,1994.

移動ビザンチン合意アルゴリズム32

Page 33: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン故障 ビザンチン故障プロセス集合が時々刻々と変化

メモリの内容の書き換え 送信メッセージの操作 アルゴリズムのコードの書き換え

たとえば コンピュータウィルス,ボットプログラムの活動

33

Page 34: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン故障 ビザンチン故障プロセス集合が時々刻々と変化

メモリの内容の書き換え 送信メッセージの操作 アルゴリズムのコードの書き換え

たとえば コンピュータウィルス,ボットプログラムの活動

0

0

0

0

0

0

0

0

0

34

Page 35: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン故障 ビザンチン故障プロセス集合が時々刻々と変化

メモリの内容の書き換え 送信メッセージの操作 アルゴリズムのコードの書き換え

たとえば コンピュータウィルス,ボットプログラムの活動

0

0

1

0

0

0

0

1

0

35

Page 36: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン故障 ビザンチン故障プロセス集合が時々刻々と変化

メモリの内容の書き換え 送信メッセージの操作 アルゴリズムのコードの書き換え

たとえば コンピュータウィルス,ボットプログラムの活動

0

0

1

0

1

0

0

1

1

36

Page 37: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン合意問題定義 [ 移動ビザンチン合意問題 ]

プロセス集合 P={P1, P2, …, Pn} の各プロセス Pi が提案値 vi {0, 1}∈ を持つ.また,合意値を書き込む変数 wi を持つ.

以下の条件を満たす合意値を決定するアルゴリズムを設計せよ.(合意性) すべての正常なプロセスは同じ値を合意値とする(停止性) すべての正常なプロセスはいずれ合意値を決定する(妥当性) 合意値はいずれかのプロセスの提案値である(合意維持性) 合意達成後は,正常プロセスは毎ラウンド終了          時点で合意性を満たす

37

Page 38: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

定義:移動ビザンチン故障 Fr P⊆ :ラウンド r でのビザンチン故障プロセス集合

故障数 f = maxr>0{|Fr|}

復帰プロセス ひとつ前のラウンドでの故障していた正常プロセス 例)書き換えられた合意値,コードをもつ可能性

P1

P2

P3

時刻第 1 ラウンド第 2 ラウンド第 3 ラウンド

ビザンチン

38

Page 39: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

ビザンチン合意アルゴリズム適用は困難

補題 2 のベースケースで使用した性質 ( 故障プロセスのみから成る系列 )( 正常プロセス )

という系列が作成できない 合意値の一致を保証できない

情報を大量に集めても有効ではない

l (空系列 )

補題 1 :正常プロセスで終了する x T∈ f+1 について,ある値 b が存在し,任意の正常プロセス Pi において, ui(x) = maji(x) = b

補題 2 :故障プロセスのみから成る y T∈ f+1 は値共有

39

Page 40: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

アイデア 少ない情報交換で合意値を決める

提案値の一斉送信,過半数計算を繰り返す

最終的にはリーダーに従う 各プロセスがフェーズごとに順にリーダー役 (ID で決定 ) 合意が取れていない時は,リーダーの提案値を採用補題 3 毎時間故障プロセス集合が変化する時, f>0 で合意は不可能

故障しないプロセスを 1 つだけ仮定すれば合意可能 (Garay, 1994)

40

Page 41: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン合意アルゴリズム MobileByz-Cons

第 2 ラウンド 合意性,停止性を保証 正常プロセスがリーダーとなれば,合意達成

第 1 ラウンド 合意維持性を保証 一度合意すれば,過半数計算で十分

全隣接プロセスに wi を送信;受信値の過半数以上が 1 なら,wi = 1, otherwise wi = 0;counti = (wi の出現回数 );

リーダーなら wi を送信;counti < n-2f ならばwi = ( リーダーの合意値 );

第 1 ラウンド

第 2 ラウンド

wi = (Pi の提案値 )

41

Page 42: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン合意アルゴリズム MobileByz-Cons

第 2 ラウンド 合意性,停止性を保証 正常プロセスがリーダーとなれば,合意達成

第 1 ラウンド 合意維持性を保証 一度合意すれば,過半数計算で十分

全隣接プロセスに wi を送信;受信値の過半数以上が 1 なら,wi = 1, otherwise wi = 0;counti = (wi の出現回数 );

リーダーなら wi を送信;counti < n-2f ならばwi = ( リーダーの合意値 );

第 1 ラウンド

第 2 ラウンド

wi = (Pi の提案値 )

復帰プロセスでは counti の値が正しい保証な

42

Page 43: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

復帰プロセスのカウンタ値 修復が必要

第 1 ラウンドでの値が必要 再度全プロセスから合意値

を収集

P1

P2

P3

P4P5

P6

P7

全隣接プロセスに wi を送信;受信値の過半数以上が 1 なら,wi = 1, otherwise wi = 0;counti = (wi の出現回数 );

リーダーなら wi を送信;counti < n-2f ならばwi = ( リーダーの合意値 );

第 1 ラウンド

第 2 ラウンド

wi = (Pi の提案値 )

43

Page 44: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

カウンタ値の修復 手順1. 全プロセスで第1 ラウンドで受信した合意値,送信者を交換2. 受信値からラウンド 1 での受信値を再計算

P1

P2

P3

P4P5

P6

P7

44

Page 45: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

カウンタ値の修復 手順1. 全プロセスで第1 ラウンドで受信した合意値,送信者を交換2. 受信値からラウンド 1 での受信値を再計算

P1 P2 Pk PnP1 0

P2 1

Pj 0 1 … 1 … 1

Pn 1

Pj から受信した情報

n-2f 個以上値 b があるなら, 復元値 =b, otherwise 00 1 … 1 … 0復元し

た受信値

45

Page 46: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

移動ビザンチン合意アルゴリズム MobileByz-Cons

合意性 停止性 妥当性 合意維持性

全隣接プロセスに wi を送信;受信値の過半数以上が 1 なら,wi = 1, otherwise wi = 0;counti = (wi の出現回数 );

第 1 ラウンド

wi = (Pi の提案値 )

第 1 ラウンドの受信値の復元リーダーなら wi を送信;counti < n-2f ならばwi = ( リーダーの合意値 );

第 2 ラウンド

定理 4 アルゴリズム MobileByz-Cons は n>6f ,かつ,少なくとも 1 プロセスが故障しない同期システムで移動ビザンチン合意問題を解く

46

Page 47: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

今後の展開47

Page 48: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

通信ネットワーク

完全ネットワーク 任意の 2 プロセス間で直接通信可能

一般ネットワークへ 任意の 2点間で通信可能の保証なし 複数プロセスで通信を中継

一般ネットワークでのビザンチン合意の必要十分条件( Dolev, 1982 ) 点連結度 d > 2f

48

Page 49: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

通信ネットワーク (Contd.)

移動ビザンチン合意については未解決 情報伝搬に時間がかかるほど,移動ビザンチンが悪影響

一部には光明(佐々木, 2013 ) 故障数の上界: n < 6t で合意不可能 グラフ上での移動ビザンチン合意アルゴリズム

完全 k部グラフ: n-3(n/k-1)>8t の場合 リングの d/2 冪グラフ: max{d, 4d-2n+4} > 8t の場合

49

Page 50: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

完全 k部グラフ上での移動ビザンチン合意問題

完全 k部グラフ 各頂点が直接通信可能なのは n(k-1)/k 頂点 残りの n/k 頂点との距離は 2

MobileByz-Cons を拡張 第 1 ラウンド:過半数計算 第 2 ラウンド:リーダーの合意値配布 第 3 ラウンド:過半数計算

         ( リーダーの合意値配布 )

50

Page 51: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

完全 k部グラフ上での移動ビザンチン合意問題

故障数の上界 ( n > 6f ) にはまだギャップ 一般のグラフに対してはまだ不明

定理 5通信ネットワークが完全 k部グラフであるとき,n -3(n/k-1) > 8f ,かつ,少なくとも 1 プロセスが故障しない同期システムで移動ビザンチン合意問題を解くことができる.

51

Page 52: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

その他の関連研究 乱択ビザンチン合意アルゴリズム

非同期システムでの不可能性の打破 乱数実現の手法

ローカルなコイントスグローバルなコイント

認証機能付きシステムでのビザンチン合意問題 公開鍵暗号のような認証機能付き

(中継値を書き換えられない) n>f でビザンチン合意可能

52

Page 53: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

まとめ:ビザンチン故障と分散制御

ビザンチン合意問題,移動ビザンチン合意問題 分散環境での局所性 vs ビザンチン故障

不可能性:故障プロセス数の上限 ビザンチン合意問題:提案値の相互一貫性問題 移動ビザンチン合意問題:

リーダー提案値の一斉送信,合意値の維持

未解決問題:一般ネットワーク上の移動ビザンチン合意問題

53

Page 54: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

関連文献1) J. A. Garay, Reaching (and Maintaining) Agreement in the

Presence of Mobile Faults, In Proc. of Workshop on Distributed Algorithms, pp.253–264,1994.

2) N. Banu, S. Souissi, T. Izumi, and K. Wada, An Improved Byzantine Agreement Algorithm for Synchronous System with Mobile Byzantine Faults, International Journal of Computer Applications, 43 (21), 2011.

3) M. Pease, R. Shostak, and L. Lamport, Reaching Agreement in the Presence of faults, J. of the Association for Computing Machinery, 27 (2), pp.228—234, 1980.

4) 佐々木 徹,山内 由紀子,来嶋 秀治,山下 雅史,一般のネットワーク上の移動ビザンチン合意問題について,第143回アルゴリズム研究会, 2013 , 3月(発表予定).

5) 増澤利光,山下雅史,適応的分散アルゴリズム,共立出版, 2010 .

54

Page 55: ビザンチン故障と分散制御 九州大学 システム情報科学研究院 山内由紀子

55