動的故障に対応する並列計算機用適応ルータに関する検討 Dynamic

社団法人 電子情報通信学会
THE INSTITUTE OF ELECTRONICS,
INFORMATION AND COMMUNICATION ENGINEERS
信学技報
TECHNICAL REPORT OF IEICE
動的故障に対応する並列計算機用適応ルータに関する検討
戸村 元†
細越 洋行†
吉永
努†
曽和
将容†
†電気通信大学大学院情報システム学研究科 〒182-8585 東京都 調布市 調布ヶ丘 1-5-1
E-mail: †{tomura, hosogoshi}@sowa.is.uec.ac.jp, {yosinaga, sowa}@is.uec.ac.jp
あらまし 並列計算機用 k-ary n-cube ネットワークの動的再構成手法について述べる.ネットワークの部分故障
に対応するための再構成において,破棄メッセージをデッドロック回復メッセージに限定する方法を提案する.そ
れにより,デッドロックを防止しながら破棄メッセージ数を少数に抑え,システム全体を停止することなくネット
ワーク再構成を完了する.本手法は,我々の提案する Detour-UD ルーティングアルゴリズムに基づいて考案したも
のであり,本論文では静的な手法と対比して議論する.
キーワード 動的再構成,適応ルーティング,デッドロック回復
Dynamic Fault-Tolerance of an Adaptive Router for Parallel Computers
Hajime TOMURA†
Hiroyuki HOSOGOSHI† Tutomu YOSINAGA† and
Masahiro SOWA†
†Graduate School of Information Systems University of Electro-Communications,
1-5-1, Chofugaoka, Chofu-shi, Tokyo 182-8585, Japan
E-mail: †{tomura, hosogoshi}@sowa.is.uec.ac.jp, {yosinaga, sowa}@is.uec.ac.jp
Abstract This paper describes an basic idea for a dynamic network reconfiguration scheme for k-ary n-cubes. We propose
a procedure that reduces the number of discarding messages by classifying deadlock-recovery messages and others. Our goal is
giving an efficient reconfiguration algorithm that does not require to halt whole system with keeping deadlock-freedom. The
reconfiguration procedure has been considered based on a Detour-UD routing algorithm which is recently proposed. We
discuss it with comparing to a static method.
Keyword Dynamic Reconfiguration, Adaptive Routing, Deadlock Recovery
1. は じ め に
ンに通知して故障への対応を促すという流れで行われ
る.しかし,ユーザアプリケーションのことまで考慮
近年は並列計算機の大規模化が進み,数千の計算ノ
した耐故障ルーティングアルゴリズムは少ない.この
ードを持つものも登場している.一般にシステムの構
ため,故障への対応完了後にユーザアプリケーション
成要素数が増加するとそれに伴いシステム全体の信頼
を実行しなおしたり,大量のメッセージを再送する必
性は低下する.並列計算機でも計算ノード数の増加に
要が生じる.
伴い計算機システム全体の信頼性は大きく低下してし
本 研 究 は , 超 並 列 計 算 機 で よ く 用 い ら れ る k-ary
まう.このため大規模な並列計算機では,部分的な故
n-cube ネ ッ ト ワ ー ク で Detour-UD ル ー テ ィ ン グ ア ル
障が発生してもシステム全体の停止を引き起こさない
ゴ リ ズ ム [3]を も と に 故 障 情 報 の 収 集 ,ル ー テ ィ ン グ 表
耐故障性,特に各ノード間を接続するネットワークの
の再計算などのネットワーク再構成手順をそれぞれ検
耐故障性は重要である.ネットワークに耐故障性を持
討する.これによって動的なネットワーク再構成を効
たせることで,何らかの異常が発生したノードはその
率的に行い,破棄されるメッセージ量やネットワーク
ノードに接続されたネットワークの故障として処理す
再構成に要する時間を削減することを目的とする.ま
ることができる.
た,検討した方法の有効性を検証するためのシミュレ
部分的な故障が発生したシステムを停止させない
ータの設計を行い,実装を行った.
故障対応は,故障が発生したことを検出し,計算機シ
以降,2 章で関連研究について述べる,3 章で
ステムで故障への対応を行い,ユーザアプリケーショ
Detour-UD ル ー テ ィ ン グ ア ル ゴ リ ズ ム の 説 明 , 4 章 で
動的再構成手順の検討,5 章で動的故障対応の検証用
n-cube ネ ッ ト ワ ー ク で 任 意 形 状 故 障 に 対 応 し た デ ッ ド
シミュレータの設計について述べる.
ロック回復型のルーティングアルゴリズムである.
Detour-UD で は 定 型 ネ ッ ト ワ ー ク 用 の 適 応 ル ー テ ィ ン
2. 関 連 研 究
グに不定型ネットワーク用のデッドロック回復アルゴ
リズムを組み合わたことで,柔軟で効率の良いルーテ
k-ary n-cube ネ ッ ト ワ ー ク で は ,Duato の プ ロ ト コ ル
ィングを行うことができる.さらに,ネットワークの
[5] に 基 づ く 適 応 ル ー テ ィ ン グ を 行 う も の も 登 場 し て
定型性を利用できるため,不定型ネットワーク用の動
きているが,現在のところ耐故障性までサポートした
的なネットワーク再構成アルゴリズムに比べてネット
も の は 少 な い .こ れ ま で に も ,k-ary n-cube ネ ッ ト ワ ー
ワーク再構成に要する時間や破棄されるメッセージ数
ク に 耐 故 障 性 を 持 た せ る 研 究 が 行 わ れ て い る . k-ary
の削減などの効率化が期待できる.
n-cube ネ ッ ト ワ ー ク で は 故 障 が 発 生 す る と 最 短 経 路 の
みではルーティングを完了することができず,非最短
3.1. Detour-UD ルーティングアルゴリズムの詳 細
経路を用いた迂回を行う必要がある.これを行うルー
Detour-UD で は デ ッ ド ロ ッ ク 回 復 ア ル ゴ リ ズ ム と し
テ ィ ン グ ア ル ゴ リ ズ ム と し て タ ー ン モ デ ル [1] に 基 づ
て up*/down*ル ー テ ィ ン グ を 用 い る .up*/down*ル ー テ
いた迂回経路を用いるものや,故障領域をブロック化
ィングは仮想チャネルなしで実装可能な不定型ネット
し て 迂 回 す る も の な ど が あ る .ま た ,k-ary n-cube ネ ッ
ワーク用のルーティングアルゴリズムである.これに
ト ワ ー ク に 予 備 ノ ー ド を 追 加 し た 拡 張 k-ary n-cube ネ
よ り 完 全 適 応 ル ー テ ィ ン グ 用 の FA-VC と up*/down*ル
ッ ト ワ ー ク [2]な ど も 提 案 さ れ て い る .
ー テ ィ ン グ 用 の UD-VC の 2 本 と い う 少 な い 仮 想 チ ャ
ネットワーク形状を限定しない不定型ネットワー
ネ ル 数 で 実 装 可 能 で あ る .up*/down*ル ー テ ィ ン グ は 任
ク上で耐故障性を持たせる研究も数多く行われている.
意のトポロジに対して非巡回な経路の存在を保証して
不定型ネットワークでは故障によりトポロジが変化す
いるので,どのノードからでもデッドロック回復を開
る.これに対応するためにネットワークを再構成する
始 で き る . デ ッ ド ロ ッ ク 回 復 経 路 を UD-VC で 提 供 す
必 要 が あ る .Autonet[6]で は ネ ッ ト ワ ー ク の 再 構 成 時 に
ることで,ワームホール方式を含む各種のフォロー制
全てのネットワーク上のメッセージを破棄し,ネット
御方式で並列デッドロック回復可能である.
ワークの再構成を静的に行う手法が用いられている.
図 1 は ,メ ッ セ ー ジ の あ て 先 N d e s t と 現 在 の ネ ッ ト ワ
Pinkston ら [4]は , ネ ッ ト ワ ー ク の 再 構 成 を 動 的 に 行 う
ー ク の 状 態 か ら 次 に 出 力 す べ き チ ャ ネ ル Cnext を
手法を提案している.これにより破棄されるメッセー
Detour-UD ル ー テ ィ ン グ ア ル ゴ リ ズ ム に よ っ て 決 定 す
ジ量を削減し,実行中のユーザアプリケーションの通
る 手 順 を 手 続 き 的 に 示 し た も の で あ る .Detour-UD は ,
信を保護することが可能である.
ネットワークを故障領域と無故障領域に分割してルー
k-ary n-cube ネ ッ ト ワ ー ク 用 の 耐 故 障 ル ー テ ィ ン グ
ティングを行う.故障領域は故障チャネルから一定距
アルゴリズムは基本的にネットワークの定型性を利用
離以内の領域とし,それ以外の領域を無故障領域と定
したデッドロック回避型のアルゴリズムなので,故障
義 す る . 現 在 の ノ ー ド が 故 障 領 域 内 で あ れ ば isFault
形状が限定されたり無故障ノードが故障領域に含まれ
が 真 に な り , Table()で ル ー テ ィ ン グ 表 を 参 照 し て 出 力
たりするなどの制限がある.また,予備ノードを追加
可能なチャネル集合が存在すれば,その中から実際に
したネットワークを用意する方法では,予備ノードや
出 力 す る チ ャ ネ ル を Select()で 決 定 す る .故 障 領 域 外 で
拡張されたネットワークのコストが許容できない場合
あ れ ば Next()で 完 全 適 応 ル ー テ ィ ン グ を 行 い , 出 力 可
がある.
能なチャネル集合が存在すれば,出力するチャネルを
故 障 を 含 ん だ k-ary n-cube ネ ッ ト ワ ー ク を 不 定 型 な
決定する.どちらの場合でも出力可能なチャネル集合
ネ ッ ト ワ ー ク と 考 え , Pinkston ら の 動 的 な ネ ッ ト ワ ー
が得られなければ,デッドロックカウンタなどでデッ
ク再構成手法などを適用することも可能である.しか
ド ロ ッ ク 検 出 を 行 い , isDeadlock が 真 に な る と
し,定型ネットワークの定型性を利用することでより
Recovery() で up*/down*ル ー テ ィ ン グ 表 を 参 照 し て デ
効率的なネットワーク再構成が行える可能性がある.
ッドロック回復経路を選択する.
3. Detour-UD ル ー テ ィ ン グ ア ル ゴ リ ズ ム
3.2. Detour-UD によるルーティング例
Detour-UD に よ る ル ー テ ィ ン グ の 例 と し て 図 2 に
我々は関連研究としてあげたルーティングアルゴ
4-ary 2-cube(2D-torus)を 示 す .こ こ で ノ ー ド 4-5 間 の チ
リ ズ ム の 問 題 を 解 決 す る た め に , Detour-UD ル ー テ ィ
ャネルが故障していると仮定する.故障領域距離を 1
ン グ ア ル ゴ リ ズ ム [3]を 提 案 し た . Detour-UD は k-ary
と し た 場 合 , 故 障 チ ャ ネ ル に 接 続 し た 2 ノ ー ド 4, 5
C: Channel; N: Node;
Next(): NextChannelSet by Adaptive Routing;
Table(): NextChannelSet by Routing Table;
Recovery(): NextChannelSet by Up*/Down* Routing;
Select(): Select a Channel from ChannelSet;
C n e x t Detour-UD Routing(N d e s t )
{
if(isFault) {
if(Table(N d e s t ) != 0) return Select(Table(N d e s t ));
else if(isDeadlock) return Recovery(N d e s t );
} else {
if(Next(N d e s t ) != 0) return Select(Next(N d e s t ));
図 2 4-ary 2-cube(2D-torus)の 例
else if(isDeadlock) return Recovery(N d e s t );
}
}
図 1 手 続 き 的 に 示 し た Detour-UD ア ル ゴ リ ズ ム
が故障領域となる.また,故障領域距離を 2 とした場
合 に は , 4, 5 に 加 え て 0, 1, 6∼ 9 の 6 ノ ー ド も 故 障
領域とする.図 3 は図 2 のネットワークにおける幅優
先 探 索 ( 以 降 BFS と 略 す ) ス パ ニ ン グ ツ リ ー で あ る .
こ の ツ リ ー に よ っ て up*/down*ル ー テ ィ ン グ の 経 路 が
決定される.図 2 でノード 5 から 4 へメッセージを送
る と す る . チ ャ ネ ル 故 障 に よ り 4-5 間 の チ ャ ネ ル が 使
用不可なので,ルーティング表参照を行い 1 か 9 へ迂
回する.故障領域距離が 2 であれば,ノード 6 から 4
図 3 BFS ス パ ニ ン グ ツ リ ー の 例
へ送られるメッセージもノード 6 の時点で 2 か A へ迂
回が可能である.もしノード 5 でデッドロックが発生
す る と ,up*/down*ル ー テ ィ ン グ を 用 い て 太 い 矢 印 の よ
う な 5-1-0-4 と い う 経 路 で デ ッ ド ロ ッ ク 回 復 す る こ と
になる.
4. ネ ッ ト ワ ー ク再 構 成 手 順 の 検 討
まず静的なネットワーク再構成手順について考え
る.静的な場合は故障が検出され,ネットワークを停
止した後次のような手順でネットワーク再構成処理が
行われる.
(1)
ネットワーク上の全てのメッセージを破棄す
る.
(2)
故 障 チ ャ ネ ル /ノ ー ド に 関 す る 情 報 を 収 集 す
る.
(3)
故 障 情 報 を 元 に ル ー ト ノ ー ド を 決 め , BFS ス
パニングツリーを構築し,各ノードのルーテ
ィング表を計算する.
(4)
計算されたルーティング表を各ノードのルー
タに設定する.
(5)
全てのノードにルーティング表が設定され,
通信が可能な状態になる.
以上の手順が完了するとデッドロック回復経路が
保証されるので,通信が再開される.故障情報の収集
やルーティング表の計算などは診断プログラムなどで
行われる.当然ながらネットワーク再構成の間はユー
ザメッセージのルーティングが行われないため,ユー
ザアプリケーションは中止される.また,故障したノ
ードが復帰した場合もユーザアプリケーションを止め
て再びネットワーク再構成を行わないと利用できない.
4.1. 動 的 なネットワーク再 構 成 で発 生 する問 題 点
動的故障ではネットワークの再構成中にもユーザ
メッセージのルーティングが行われるため,静的なネ
ットワーク再構成ではなかった問題が発生する.故障
発生直後のネットワーク状態を考えると,次のような
問題のあるメッセージが発生する.
に 届 く ま で 隣 接 ノ ー ド へ 通 信 を 中 継 す る .こ れ に よ り ,
1.
故障によって破壊されたメッセージ.
一度ノード内のプロセッサを経由するオーバーヘッド
2.
故障したノードあてのメッセージ.
が増えるが,確実にメッセージをあて先に送り届ける
UD-VC に よ り デ ッ ド ロ ッ ク 回 復 中 に 迂 回 経 路
ことができる.
3.
を失ったメッセージ.
4.3. 情 報 収 集メッセージの限 定
これらはいずれもあて先に到達できずにネットワ
ルーティング表を計算するためには,ネットワーク
ーク中に留まる.静的なネットワーク再構成では全メ
全体の故障情報が必要となる.ルーティング表は全ノ
ッセージが破棄されるので問題とならないが,動的な
ードが必要とするため,最終的には全ノードがネット
ネットワーク再構成ではデッドロックの原因となる.
ワーク全体の故障情報を持つことになる.しかし,全
このうち 1 と 2 は不要なメッセージなので破棄する必
ノードが同時に情報を収集する必要は無い.情報収集
要がある.しかし 3 は有効なメッセージである.これ
を行うノードを限定することで,無駄なトラフィック
らのメッセージは次のような方法で他と区別できる.
を減らすことができる.そこで次の方針で情報収集を
破壊されたメッセージは,故障したチャネルを検出し
行う事とする.
現在出力中のチャネルと比較することで検出できる.
あて先の存在しないメッセージは,故障ノード情報を
1.
元に判断する必要がある.デッドロックしたメッセー
ジはルーティング表と出力チャネルの故障状態から検
故障領域距離が 1 のノード間で故障情報を交換す
る.これにより故障状態を知ることができる.
2.
新 し い BFS ス パ ニ ン グ ツ リ ー の ル ー ト ノ ー ド 候
出できる.これらのメッセージは検出したノードで破
補を決め,1 で得られた故障情報をルート候補に
棄したり,一度ノードのプロセッサで吸い上げて再送
集 約 す る .こ れ を も と に 新 し い BFS ス パ ニ ン グ ツ
したりする.こうした妨害メッセージをネットワーク
リーを作成し,ルーティング表を計算する.
上から取り除きつつ必要な情報を交換する各手順の詳
細を考える.
これにより,故障から遠いノードは再構成メッセー
ジの転送にほとんど関わらないため,メッセージ量や
4.2. 情 報 収 集の方 法
転送にかかる時間を削減できる.
チャネル故障は活線判定などにより検出できるが,
一つのノードだけではチャネル故障かノード故障かの
4.4. ルートノードの選 択
判断ができない.ノード間で故障情報を交換する必要
故障領域距離 1 のノードは自明だが,ルート候補は
がある.このとき問題となるのがメッセージの到達性
何らかの方法で決定する必要がある.これには大きく
である.デッドロックしたメッセージによって再構成
分けて2つの方法が考えられる.
メッセージが妨害され,あて先に届かない可能性があ
る.これを解決するため,再構成メッセージを優先し
て転送する必要がある.
そのための方法として,専用の仮想チャネルを用意
する方法が考えられる.専用チャネルは通常の転送に
1.ル ー ト 変 更 方 式
故障のたびに新しいルート候補を選択する.
2.ル ー ト 固 定 方 式
既存のルートに影響が無ければ変更しない.
は用いず,故障発生時にのみ利用する.この方法は確
実 な 再 構 成 メ ッ セ ー ジ の 優 先 転 送 を 保 証 す る .し か し ,
方法 1 のルート変更方式では,故障が発生すると故
通常時に利用できない追加の仮想チャネルという大き
障 領 域 内( 近 く )の ノ ー ド か ら ル ー ト 候 補 を 選 択 す る .
なコストを必要とする.一般に利用可能な仮想チャネ
故障領域から遠いノードとの通信が不要なため,新し
ルの数が増えればネットワークのスループットは向上
いルート候補をすばやく選択できると考えられるが,
する.
一 般 に ル ー ト が 変 更 さ れ る と up*/down*の 経 路 は 大 き
そこで既存の仮想チャネルを用いて再構成メッセ
く変わる.このため,ルート変更方式では迂回経路を
ージの転送を可能な限り優先して行う方法を検討した.
失いデッドロックするメッセージが増加する可能性が
故障が発生し,再構成が必要になると,再構成メッセ
ある.一方方法 2 のルート固定方式では故障率の低い
ージの転送を隣接ノード通信に限定する.再構成メッ
大規模ネットワークではルート付近で故障が発生する
セージを送りたいノードは,あて先情報をメッセージ
確率は十分に低いと考えられるため,基本的にはルー
内に設定して隣接ノードあてに送る.メッセージを受
トの変更は行わない.故障がルートから遠ければ故障
け取ったノードは,自分あてでなければ正しいあて先
付 近 で up*/down*の 経 路 が 一 部 変 わ る だ け で 他 の 部 分
はほとんど変更せずにすむと考えられる.変更が少な
ければルーティング表の再設定の手間も少なくすむ.
ルートやその周辺に故障が発生した場合,新たなルー
ト候補を選択する必要があるが,万が一ルート付近に
故障が発生した場合もルート変更方式と同じような手
順で対応できる.
4.5. 新 しいルートの通 知
ルートが決まり新しいルーティング表が作成され
る と ,そ れ を 他 の 全 ノ ー ド へ 通 知 す る 必 要 が あ る .BFS
スパニングツリーはルートと故障情報があれば作成で
図 4 シミュレータの構成
きるので,ルーティング表の通知はこの2つの情報を
持った通知メッセージを送り,各ノードで自分用のル
ーティング表を計算することで行える.ルーティング
5. シ ミ ュ レ ー タの 設 計
表の更新はルータハードウェアに設定する必要がある
ため,更新する際に一定の時間がかかり,この間ルー
動的故障に対応するアルゴリズムの評価には様々な条
ティング表参照を必要とする転送は行えない.ルート
件におけるシミュレーションが必要である.我々は,
変更方式ではルートが変わらない場合ルーティング表
提案したルーティングアルゴリズムについてハードウ
の一部だけが変更されると考えられるため,ルーティ
ェ ア コ ス ト と 通 信 性 能 を 評 価 す る 目 的 で ,2D ト ー ラ ス
ング表全てを更新するのは無駄が多い.だがルートを
用 ル ー タ を Verilog-HDL に よ り 設 計 し て き た .HDL で
変更するときには全て更新する必要が生じてしまう.
設計することで各ルータのハードウェアコストを見積
もり,正確な動作を知ることができる.
4.6. ネットワーク再 構 成 の完 了 と通 信 再 開
動的故障への対応能力を評価するシミュレータは
全てのネットワーク再構成手順が完了し新しいル
次 の よ う な 機 能 を 持 つ 必 要 が あ る .( 1 )任 意 の 時 刻 に
ーティング表が設定されれば,ルーティングを再開で
おけるネットワーク上の任意チャネルへの故障状態の
きる.静的なネットワーク再構成では全てのノードの
設 定 .( 2 )ネ ッ ト ワ ー ク 再 構 成 を 行 う ド ラ イ バ ソ フ ト
更新が完了するのを待ってから通信を再開する.しか
ウ ェ ア の シ ミ ュ レ ー シ ョ ン .HDL シ ミ ュ レ ー タ に よ る
し ,上 記 の 手 順 で ネ ッ ト ワ ー ク 再 構 成 が 行 わ れ る 場 合 ,
通信性能評価では,ソフトウェアにより柔軟に変化す
他のノードの完了を待つ必要はないと考えられる.な
る通信パターンを用意することが難しい.また,動的
ぜならば,ネットワーク再構成によりデッドロックし
な故障発生からネットワーク再構成を行い定常状態に
た メ ッ セ ー ジ は 4.1 で 考 え た 3 種 類 の メ ッ セ ー ジ の ど
達するまでのシミュレーションは,静的な故障でのシ
れかに必ず分類され,正しく処理されると考えられる
ミュレーションに比べて長くなる.そこでルータハー
からである.しかし状況によってはデッドロックが連
ドウェアの機能とドライバソフトウェアによる機能を
鎖的に発生し,破棄されるメッセージが大幅に増加す
シームレスに扱うことができるソフトウェアシミュレ
ることも考えられる.特に 3 のデッドロック回復中に
ー タ を 設 計 す る こ と に し た . ソ フ ト ウ ェ ア で は HDL
迂回経路を失ったメッセージは本来有効なメッセージ
シミュレータより高速なシミュレーションを行えるこ
であり,その発生は極力抑えるべきである.対応策と
とが期待できる.
してユーザメッセージのネットワークへの投入を制限
したり,ネットワーク再構成中はユーザメッセージの
デッドロック回復を行わないことなどが考えられる.
これまで動的なネットワーク再構成の各手順を検
討してきたが,短時間で確実なネットワーク再構成を
5.1. シミュレータの構 成
シ ミ ュ レ ー タ は C++言 語 で 設 計 を 行 っ た . 基 本 的 な
構造は以下の 5 つのクラスで表される.図 4 にシミュ
レータの構成を示す.
行うためには,様々な通信パターンや故障パターンに
おいてこれまで述べてきたネットワーク再構成手順を
組み合わせたシミュレーションを行い,ネットワーク
再構成に要する時間や破棄されるメッセージ量などを
評価する必要がある.
Message ク ラ ス
再構成メッセージを含むメッセージ
Network ク ラ ス
多数のノードが接続された任意のトポロジのネット
ワーク
Router ク ラ ス
ルーティングアルゴリズム
Simulator ク ラ ス
各クラスを統合してシミュレーションを行う
Driver ク ラ ス
MessageGenerator, Receiver, Reconfigurator な ど を
謝辞
本研究の一部は東京大学大規模集積システム設計教
育 研 究 セ ン タ ー を 通 し ,ケ イ デ ン ス 株 式 会 社 ,及 び シ ノ プ シ
ス 株 式 会 社 の 協 力 で 行 わ れ た も の で あ る .本 研 究 は ,一 部 科
学 研 究 費 補 助 金 基 盤 研 究 (C)(2)課 題 番 号 15500033 の 援 助 に
よる.
持ち,ソフトウェアの機能を扱う
文
シミュレーションを行うには,各クラスからの派生
クラスで個々のアルゴリズムを実装する.必要なアル
ゴリズムが用意できたら,次のような手順でシミュレ
ーションが実行される.
1.
初 期 Message 集 合 が Driver の MessageGenerator に よ
り生成される.
2.
任 意 の Router ア ル ゴ リ ズ ム を 備 え た Network へ
Message 集 合 を 投 入 す る こ と で シ ミ ュ レ ー シ ョ ン が
開始される.
3.
Network 内 で は , 各 メ ッ セ ー ジ の あ て 先 と 現 在 の
Node 情 報 を 元 に Router で 次 ノ ー ド を 決 定 し , ル ー
ティングを行う.
4.
あ て 先 に 到 達 し た Message は Receiver で 処 理 さ れ る .
5.
全 て の Message 集 合 が Receiver で 処 理 さ れ る ま で ル
ーティングを継続する.
故 障 状 態 な ど は Network の 状 態 を 変 更 す る こ と で 与
え ら れ る . 故 障 が 発 生 す る と Reconfigurator に て ネ ッ
ト ワ ー ク 再 構 成 処 理 を 行 う . MessageGenerator へ 再 構
成 Message の 生 成 を 依 頼 し , Receiver で 処 理 さ れ た 再
構 成 Message の 情 報 を 元 に 再 構 成 処 理 を 進 め て い く .
6. お わ り に
シミュレータの実装は現在までにプロトタイプと
し て k-ary 2-cube で の 無 故 障 シ ミ ュ レ ー シ ョ ン の 実 行
を 行 い ,HDL シ ミ ュ レ ー タ よ り 大 規 模 な シ ミ ュ レ ー シ
ョンを短時間で実行可能なことを確認している.
今後,故障がある状況でのシミュレーションに必要
なアルゴリズムを追加し,故障対応能力の評価が可能
になり次第様々な条件におけるシミュレーションを行
い ,動 的 な 故 障 対 応 の 有 効 性 を 明 ら か に し て い き た い .
献
[1] C.J.Glass and L.M.Ni: “The Turn Model for
Adaptive routing”,Proc.19 t h ISCA,pp.278-287(1992).
[2] B.A.Izadi and F.Ozguner: “Enhanced Cluster k-Ary
n-Cube A Fault-Tolerant Multiprocessor”, IEEE
Trans.
on
Computers.
vol.52,
no.11,
pp.1443-1453(2003).
[3] 吉 永 , 細 越 , 曽 和 : “ 耐 故 障 性 を 考 慮 し た k-ary
n-cube 用 適 応 デ ッ ド ロ ッ ク 回 復 ル ー テ ィ ン グ ”,
(SACSIS04 発 表 予 定 ).
[4] T.M.Pinkston, R.Pang, J.Duato: ”Deadlock-Free
Dynamic Reconfiguration Schemes for Increased
Network Dependability”, IEEE Trans. on Parallel
and
Distributed
Systems.
vol.14,
no.8,
pp.780-794(2003).
[5] J.Duato: “A New Theory of Deadlock Free Adaptive
Routing in Wormhole Network”, IEEE Trans. on
Parallel and Distributed Systems, vol.4, no.12,
pp.1320-1331 (1993).
[6] T.L.Rodeheffer and M.D.Schroeder: “Automatic
Reconfiguration
in
Autonet”,
Proc.
ACM
Sysmposium on Operating Systems Principles
(SOSP’91), pp.183-197 (1991).