耐故障アルゴリズム.

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

効率的に計算可能な 加法的誤りの訂正可能性 安永 憲司 九州先端科学技術研究所 SITA 2012 @ 別府湾ロイヤルホテル
OWL-Sを用いたWebアプリケーションの検査と生成
Timeout と再送 往復時間 予知が困難 他のトラフィックに依存 適応再送アルゴリズム データの採取.
「わかりやすいパターン認識」 第1章:パターン認識とは
確率と統計 平成23年12月8日 (徐々に統計へ戻ります).
黒澤 馨 (茨城大学) 情報セキュリティ特論(4) 黒澤 馨 (茨城大学) 2017/3/4 confidential.
Shimatterシステムの 初期モデルの正規化
ソフトウェア基礎科学 授業資料: 論理関係(logical relations)のお話
ブロック運びゲーム.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
5.チューリングマシンと計算.
5.チューリングマシンと計算.
アルゴリズムイントロダクション第5章( ) 確率論的解析
授業展開#11 コンピュータは 何ができるか、できないか.
「データ学習アルゴリズム」 第3章 複雑な学習モデル 3.1 関数近似モデル ….. … 3層パーセプトロン
第6章 トランザクション管理 6.1 トランザクションの概念 6.2 同時実行制御 6.3 障害回復.
Semantics with Applications
Ibaraki Univ. Dept of Electrical & Electronic Eng.
並列分散プログラミング.
Hybrid ccにおけるアニメーションが破綻しないための処理系の改良
データ構造と アルゴリズム 知能情報学部 新田直也.
3.2 合意問題 agreement problems
最尤推定によるロジスティック回帰 対数尤度関数の最大化.
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
プロトコル検証器SPINの紹介 並列分散プログラミング講義 田浦.
新ゲーム理論 第Ⅰ部 非協力ゲームの理論 第1章 非協力ゲームの戦略形
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
チューリング機械 状態の有限集合 ヘッドの方向を表す。 L:1コマ左へ R:1コマ右へ テープ記号の有限集合 入力記号の有限集合 動作関数
Ibaraki Univ. Dept of Electrical & Electronic Eng.
6. 順序回路の基礎 五島 正裕.
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
決定木とランダムフォレスト 和田 俊和.
ウイルス対策 ウイルスから他人と自分を守る 玉川医師会 (医)小倉病院 縄 嘉津記
耐故障処理 Fault Tolerance 「分散計算の基礎」 12章 発表者 : 高橋 慧.
プログラミング入門 電卓を作ろう・パートIV!!.
7.4 Two General Settings D3 杉原堅也.
独立成分分析 5 アルゴリズムの安定性と効率 2007/10/24   名雪 勲.
MSET使用方法  一時中断したい場合には、マウスの右クリックをしてください(小ウインドウが開き一時停止します)。続行する場合には、開いた小ウインドウ以外の適当な場所を右クリックしてください。
醜いアヒルの子の定理 平成15年6月6日(金) 発表者 藤井 丈明.
Introduction to Soft Computing (第11回目)
並行プログラミング concurrent programming
Extractor D3 川原 純.
2009年12月4日 ○ 前田康成(北見工業大学) 吉田秀樹(北見工業大学) 鈴木正清(北見工業大学) 松嶋敏泰(早稲田大学)
Structural operational semantics
プログラミング基礎a 第8回 プログラムの設計 アルゴリズムとデータ構造
計算の理論 II 前期の復習 -有限オートマトン-
Distributed Algorithm 輪講 13 章
生物情報ソフトウェア特論 (2)たたみ込みとハッシュに 基づくマッチング
チューリングマシン 0n1nを受理するチューリングマシン 入力テープ b b b b 状態遷移機械.
計算の理論 I 決定性有限オートマトン(DFA) と 非決定性有限オートマトン(NFA)
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
経営学研究科 M1年 学籍番号 speedster
5.3, 5.4 D2 岡本 和也.
計算の理論 I 非決定性有限オートマトン(NFA)
5.チューリングマシンと計算.
第13回(通算29回) 福祉対象者への相談援助 合意形成
Compensated Demand Function ・ ・
Compensated Demand Function ・ ・ と置く。 =
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
Cilk-NOW 米澤研究室 金田憲二 “Adaptive and Reliable Parallel Computing on Networks of Workstations” Robert D. Blumofe (Univ. of Texas) Philip A. Lisiecki (MIT)
非決定性有限オートマトン 状態の有限集合 入力記号の有限集合 注意 動作関数 初期状態 受理状態の有限集合.
参考:大きい要素の処理.
情報数理Ⅱ 第10章 オートマトン 平成28年12月21日.
3 分散システムのフォールトトレランス 分散システム Distributed Systems
クイズ 非同期システムにおいて,1プロセスがクラッシュ故障する可能性がある場合,次のアルゴリズムで非ブロッキング原子コミットが解けないことを示せ アルゴリズム V(=Yes or No)を高信頼ブロードキャスト 全プロセスから値を受信した場合 すべてYesならコミットを決定 そうでなければアボートを決定.
情報生命科学特別講義III (3)たたみ込みとハッシュに 基づくマッチング
確率的フィルタリングを用いた アンサンブル学習の統計力学 三好 誠司 岡田 真人 神 戸 高 専 東 大, 理 研
アルゴリズム ~すべてのプログラムの基礎~.
教師がコミティマシンの場合のアンサンブル学習 三好 誠司(神戸高専) 原 一之(都立高専) 岡田 真人(東大,理研,さきがけ)
Presentation transcript:

耐故障アルゴリズム

故障 Initially dead (最初から動いてない) Crash (あるところから動かなくなる) Byzantine (めちゃくちゃな動きをする) Initially dead < Crash < Byzantine

耐故障: 基本アイデア 冗長性 多数決(合意) やり直し checkpointing, logging self stabilization

アルゴリズムの基準 t-XXX-robust t個のXXXなプロセスの存在下で正しく動く 有限ステップで終了

Crashのモデル化 プロセスPがcrash : Pのイベントが最初/途中から実行されない(神様によって選択されない) cf. fairness 実行可能なイベント(e.g., メッセージ受信)はいつか選択される (意地悪な)神様の選択の余地が広がったことに対応する

頭の体操 そもそも正確な“Crash Detector”は存在するか? プロセスP (正常), Q (may crash). 初期値 v = 0 有限ステップ以内に終了し, vP = vQ = 1 またはvP = 0, vQ = 0 non-trivial (常に同じ答えを返すアルゴリズムではない)

不可能の証明 (0, 0) (1, 1)

注 0-decided (vP, vQ) = (0, 0)にのみ到達可能 以後,以下の記号で表す

次のような場所が存在 適当な0-decidedと1-decidedをとる decided …

ケース1 e by Pとe’ by Qは合流する(非同期システムの性質) e by P e’ by Q OOPS! e by P

ケース2 以下の黄色と青から最初に可能なPの遷移がないとすると,白は最終状態でもある.そこでvPは???という話になる.よってそのようなPの遷移があるが,以下の図により矛盾 e by Q e’’ by P OOPS! e’ by Q

ケース3 Qのcrashにrobustより, vQ = ? vQ = 1 e by P vQ = OOPS! e’ by P

合意問題 Nプロセス 要請 変数 v (初期値不明) 有限ステップ以内に停止 停止状態で正常なプロセスはvをひとつの値に合意 non-trivial (あるひとつの値に常に合意するアルゴリズムは排除)

合意問題の重要性 「冗長な計算」の基礎 commit-abort : 全員commitまたは全員abort 多数決: 正しいプロセス間で値を合意して,正しい答えを得る 実際これが出来れば,任意のアルゴリズムがtrivialに「同じくらい耐故障」にできる 「Pが正常でない」とP以外が合意したらやりなおす commit-abort : 全員commitまたは全員abort

(悲しい)事実 非同期メッセージパッシングシステムでは,1-crash-robustな合意アルゴリズムは存在しない

bi-valent (0と1両方に到達可能)な初期状態の存在 ただひとつのプロセス(P)の状態だけが違う Pのcrashにrobustより,Pの遷移無しで最終状態に到達する.このときもちろん到達可能な状態は一致する.

以後の議論は先のP, Qの場合とほとんど同じ

次のような場所が存在 適当な0-decidedと1-decidedをとる decided …

ケース1 e by Pとe’ by Qは合流する(非同期システムの性質) e by P e’ by Q OOPS! e by P

ケース2 白からP以外の遷移がないとする.すると白は最終状態でもありそこでP以外は合意している.0に合意しているとすると,青でもP以外は0に合意している.青から1-decidedなconfigurationに至るためにはP以外すべてのプロセスの遷移を一度は実行せねばならず,これはcrash robustに反する e by P e’’ by Q OOPS! e’ by P

確率的な合意アルゴリズム 確率1で停止(t -> ∞ => とまる確率 -> 1) 停止時には確実に合意している non-trivial

簡単のため1-crashで考える 一般にはt (< N/2)-crash robustが可能 基本アイデア: 多数決 repeat { 全員に向かって投票; N – 1人の返事を集計; 過半数(> N/2)で当確 (以降の投票に「当確マーク); そうでなければ,次は半数以上の方に投票(同数なら1).}

注意 N個目の返事を待ってはいけない(crash時にdeadlock).N – 1個で判断しなくてはいけない crashがない間の“early decision” (当選確実)が本質的に難しい部分

ある回の投票がa個の0とb個の1だったとする(a + b = N).このとき各プロセスは { a, a – 1 }個の0をうけとる 言い換え,今x個の0とy個の1 (x + y = N – 1)を受け取ったとする 真実は,a = { x, x + 1 } 他のプロセスは{ x – 1, x, x + 1 }個の0を受け取る

Tel p455のアルゴリズムで決まらない場合(40 crash, N=101) round rのshout: <r, 0, 61> x 1 + <r, 1, 1> x 100 round rのreceive: 100人: <r, 0, 61> x1 + <r, 1, 1> x60 => <r + 1, 0, 1> 1人: <r, 1, 1> x61 => <r + 1, 1, 61> round r + 1のshout: <r+1, 0, 1> x100 + <r+1, 1, 61> x1 round r + 1のreceive: 100人: <r+1, 1, 61> x1 + <r+1, 0, 1> x60 => <r+2, 1, 1> 1人: <r+1, 0, 1> x61 => <r+2, 0, 61>