システムエリアネットワークにおける適応型ルーティングの In

システムエリアネットワークにおける適応型ルーティングの
In-Order パケット配送手法
鯉
渕 道 紘†,†† Juan C. Martinez††
Jose Flich†† Jose Duato††
動的に経路を選択することができる適応型ルーティングは,並列計算機の相互結合網やシステムエ
リアネットワークにおいて幅広く研究が行われている.適応型ルーティングは高バンド幅を提供する
が,メッセージパッシングライブラリが必要とする In-Order パケット配送を保証していない.本稿で
は,適応型ルーティングにおいて In-Order でパケットを配送するために 1) FIFO 転送法と 2) 一対制
限法を提案する.両手法とも出発地ホストにおいてパケットの注入量を制限する.FIFO 転送法は目
的地ホストにおいてパケットのソートをする必要がない一方,一対制限法は目的地ホストにおいてパ
ケットのソートのために少量のバッファが必要となる.NAS Parallel Benchmarks のトレースと典型的
なアクセスパターンを用いた評価結果より,FIFO 転送法と一対制限法は end-to-end フロー制御を行
わない適応型ルーティングとほぼ同等のスループットを達成した.
In-Order Packet Delivery Techniques of Adaptive Routing in System Area Networks
M K,†,†† J C. M,†† J F†† and J D††
Adaptive routing, which dynamically selects the route of a packet, has been widely studied for interconnection networks in massively parallel computers, and system area networks. Although adaptive routing
has the advantage of providing high bandwidth, it doesn’t guarantee in-order packet deliver, which message
passing libraries require. In this paper, we propose two mechanisms called 1) FIFO transmission and 2)
couple limitation to guarantee in-order packet delivery in adaptive routing. Both of them limit packet injection at source hosts. The FIFO transmission completely avoids packet sorting at destination hosts, while the
couple limitation uses few additional buffers to sort packets at destination hosts. Evaluation results show that
the FIFO transmission and the couple limitation achieve a similar throughput to that of an original adaptive
routing, which doesn’t employ any end-to-end flow control, under both synthetic traffic and NAS Parallel
Benchmarks.
用するために解決しなければならない最も重要な問題は,
Out-of-Order で到着するパケットの扱いであると考えら
れる.
本稿では,適応型ルーティングにおいて In-Order パケッ
ト転送を保証するために,FIFO (First-In First-Out) 転送法
と一対制限法を提案する.FIFO 転送法は,目的地ホスト
におけるパケットのソートを避けるために注入制限を課
す.一対制限法は FIFO 転送法に比べて注入制限は緩い
が,目的地ホストにおいてパケットのソートを行うため
の少量のバッファが必要になる.以降,2 章では FIFO 転
送法と一対制限法の提案を行い,3 章ではシミュレーショ
ン結果を示す.最後に 4 章で結論を述べる.
1. は じ め に
動的に経路を選択することができる適応型ルーティン
グは並列計算機の相互結合網およびシステムエリアネッ
トワーク (SAN) においてリンクバンド幅を活用する技術
として幅広く研究が行われてきた.しかし,現状では,多
くのシステムエリアネットワークは適応型ルーティング
を採用していない.これは,適応型ルーティングを導入
することにより,新たな 2 つの問題がネットワークに発
生するためと考えられる; 1) In-Order パケット配送を保証
していない: 2) 複数経路の中から 1 つの経路を選択する機
能を付加することにより,スイッチの複雑さが増す.前者
は,メッセージパッシングライブラリが In-Order パケッ
ト配送を必要とすることに起因する.
しかし,後者は,並列に出力チャネル状態をチェックし,
さらに,単純な選択な出力選択ポリシ (ランダム等) を採用
することにより,極端にスイッチのルーティング時間,複
雑さが増すことはないと考えられる.実際に Cray T3E1) ,
Reliable Router2) において適応型ルーティングの実現性が
示されている.SAN に関しても,InfiniBand スイッチに
おける適応型ルーティングを採用するための手法が検討
されている3) .よって,適応型ルーティングを SAN に適
2. In-Order パケット配送手法
適応型ルーティングにおいて In-Order パケット転送を実
現する最も単純は方法は,Out-of-Order で到着するすべて
のパケットを目的地ホストのネットワークインタフェース
に格納し,追い越したパケットの到着を待つことで,ソー
トする方法である.この方法は end-to-end フロー制御を
用いていない元の適応型ルーティングと同等のネットワー
クスループットを提供することができる利点を持つ.し
かし,この手法は,すべての出発地ホストに対して,Outof-Order で到着したパケットを格納する十分なバッファを
割当てる必要があるため,スケーラビリティに乏しい.
そこで,われわれは目的地ホストにおけるパケットの
ソートが必要ない FIFO 転送法と目的地ネットワークイ
† 慶應義塾大学理工学部
Faculty of Science and Technology, Keio University, Japan
†† バレンシア工科大学
Technical University of Valencia, Spain
1
ラグの値を反転させ,Out-of-Order フラグの
値を 1 にする.
( b ) もし,Out-of-Order で目的地に到着したパ
ケットの ACK でありその Out-of-Order フ
ラグが 1 の場合,Out-of-Order フラグの値
を zero にする.
( 4 ) NACK を受信した場合,その廃棄されたパケット
と同じ順序フラグの値を挿入したパケットを再注
入する.
ステップ 3 において,Out-Of-Order フラグは,順序フ
ラグの出発地,目的地間の一貫性を取るために用いる.詳
細は,後に図 3, 4 と 5 を用いて説明を行う.
ンタフェースにおいてパケットのソートのための少量の
バッファを用いる一対制限法を提案する.両手法とも 1 つ
の目的地ホストに一度に送信できるパケット数を制限す
る.SAN では 1 つのスイッチに複数ホストが接続される
ため,スイッチ間リンクは多数のホストからのパケット
により共有される.よって,このリンクがホストからの
注入リンクに比べてボトルネックになる場合が多い.さ
らに,SAN ではスイッチとリンク遅延は数百 ns 程度と小
さいため,この注入制限による性能低下はほとんどない
(詳しくは第 4 章で評価を行う).
2.1 FIFO 転送法
FIFO 転送法では,同一目的地への (前の) パケットの
ACK (acknowledgment) を受けとった後に,次のパケット
をネットワークに注入する.そのため,同一ホスト間に
おいてパケットの追い越しが起こらず,目的地ホストに
おけるパケットのソートなしに In-Order パケット配送を
提供することができる.
目的地ホストにおける ACK は 1) ネットワークインタ
フェースにパケットの全体を格納した後,もしくは 2) パ
ケットのヘッダの到着後すぐに生成することが可能であ
る.後者の場合,ACK はパケット全体が正しく受信され
たことを示すものではないが,レイテンシが小さくなる
ため,同一目的地へのパケットの注入量を増やすことが
できる.
目的地とのラウンドトリップ時間を t とすると,FIFO
転送法における 1 つの目的地への最大パケット注入量は,
t 時間あたり 1 パケットとなる.この注入制限は,ACK
の到着を待たずに注入可能なパケット数を増やすことに
より,簡単に緩めることができる.この改善手法は,次
節において述べる.
2.2 一対制限法
一対制限法では,出発地ネットワークインタフェース
において同一目的地ホストへ一度に送信できるパケット
数を 2 つとする.そのため,高々2 パケット間でのみ Outof-Order パケット転送が生じる.そこで,目的地ネット
ワークインタフェースにおいてソートのために,1 パケッ
トを格納するバッファを用意する.
本手法は以下のように単純に実装することができる.こ
の場合,パケットに対してパケット番号,ACK に対して
Out-of-Order パケット転送の発生の有無を示すために,各
1-bit 必要となる.一方,パケットを格納するためのバッファ
とその制御のためのテーブルがネットワークインタフェー
スに必要となる.また,ACK だけでなく NACK(negative
acknowledgment) も使用する.
出発地におけるパケット処理は次の通りである.
( 1 ) 2 ビットカウンタ,1 ビットの順序フラグ,1 ビッ
トの Out-of-Order フラグを各目的地ホストに対応
させ,それぞれを zero で初期化する.
( 2 ) 目的地ホストに対応しているカウンタ値が 2 以下
の場合,パケットを注入することができる.その場
合,パケットには 1 ビットの順序フラグの値を挿
入し,その後,カウンタ値を 1 増加させ,順序フラ
グの値を反転させる (zero → one or one → zero).
( 3 ) ACK を受信した場合,ACK の送信元に対応するカ
ウンタ値を 1 減少させる.
( a ) もし,Out-of-Order で目的地に到着したパ
ケットの ACK であり (これは ACK に格納
されている 1-bit の情報から判断する),その
Out-of-Order フラグが zero の場合,順序フ
Sorting Buf.
0
Src 0
Src 1
.........
Src N
1
Seq
...
b
...
,,,
-1
...
1.Compare
b
Network
Seq
(flag) Buf.ID
2.Transfer to memory
Packet from N
Host Memory
3.ACK
Network Interface
図1
Couple limitation in destination ( when a packet arrives in-order. )
一方,目的地のパケット処理は次の通りである.
(1) 1-bit 順序フラグとソートバッファへのインデックス
を各出発ホストに対応させ,各々 −1 と zero に初期
化する.
(2) パケットが到着した場合,パケットヘッダの 1-bit の
順序フラグと,対応するネットワークインタフェー
スの 1-bit の順序フラグの値を比較する.
(3-a)もし,順序フラグの値が等しく,かつ,同じ出発地
ホストからのパケットがソートバッファに格納され
ていない場合 (図 1),そのパケットはホストメモリに
転送され,ネットワークインタフェースの 1-bit 順序
フラグの値を反転させる.そして,Out-of-Order フラ
グの値を zero とした ACK を生成する.
(3-b)順序フラグの値が違う場合,Out-of-Order 配送を検
出したことになる.その場合,ソートバッファの状
況に応じて次の処理を行う.
(i) すべてのソートバッファが使用中,もしくは,同
じソースホストからのパケットがすでに格納さ
れている場合,パケットを破棄し,NACK を生
成する.
(ii) ソートバッファに空きがあり,ソートバッファに
同じソースホストからのパケットが格納されて
いない場合,パケットをソートバッファに格納す
る.そして,Out-of-Order フラグの値を 1 とした
ACK を生成する (図 2.(a)).
3-c もし,順序フラグの値が同じであり,ソートバッファ
が,同じ出発地ホストからのパケットをすでに格納し
ている場合 (図 2.(b)),Out-of-Order 配送はすでに検出
されている状態である.その場合,Out-of-Order フラ
グの値を 1 とした ACK を生成する.そして,今到着し
たパケットをホストメモリに配送した後,ソートバッ
ファに格納されているパケットを配送する (図 2.(c)).
そして,1-bit 順序フラグの値を反転させ,ソートバッ
2
ファへのインデックスを再初期化する.
1-bit sequence flag
1.Send Packet2(1).
1.Send Packet 0(0).
Sorting Buf.
0
Seq
Src 0
Src 1
.........
Src s
1
...
~b
...
2.Transfer to Buf.
Sorting Buf.
Buf.ID
0
,,,
-1
...
1
b
Network
Buf.ID
...
~b
...
,,,
1
...
Src 0
Src 1
.........
Src s
b
1.Compare.
Seq
~b
Seq
Host Memory
2.ACK
Network
2.Transfer to memory
Packet from s
Seq
Flag
1 0
Host Memory
3.ACK
Network Interface
Network Interface
(a) Phase 1
Sorting Buf.
0
1
b
Src 0
Src 1
.........
Src s
Seq
Buf.ID
...
b
...
,,,
-1
...
0
2 0
1
0
3 0
0
図4
Host Memory
0
3 0
0
Seq
Flag
1 0
Dst
1.Send Packet 2(1).
Src
Seq
Flag
1 1
2 0
OOO
Flag
1
OOO
Flag
0
2 1
Dst
ACK of Pkt 1 is blocked.
1. Receive ACK of Pkt0.
Src
Seq
Flag
1 0
OOO
Flag
0
Src
Packet 2(1)
Dst
OOO
Flag
1
ACK of Pkt 1 is still blocked.
(c) Phase 3
2.Send Packet 3(0).
Src
Seq
Flag
1 0
2 0
図5
ACK of Pkt1 is still blocked.
(b) Phase 2
1.Send Packet 2(1).
Seq
Flag
1 1
Dst
0
(a) Phase 1
OOO
Flag
1
Dst
1. Receive ACK of Pkt 1.
0
(d) Phase 4
Couple limitation in source ( when ACKs are arrived out-of-order. )
に送信することを許すが,1-bit でそのパケットの順序を
調べることができる.さらに,目的地ネットワークインタ
フェースにおいて,1 パケットを格納するバッファを用意
することで,1 つの出発地ホストからのパケットをソート
することができる.多くの並列アプリケーションは,ア
クセスの局所性を持つため,ネットワークインタフェー
スに必要なバッファサイズは少量である.このバッファサ
イズの評価は 3 章で行う.
2.3 FIFO 転送法と一対制限法における注入制限
並列計算機と異なり,SAN では複数のホストが 1 つの
スイッチに接続される.よって,SAN ではより多くのホ
スト間の経路が 1 つのスイッチ間リンクを共有すること
になる.これは,スイッチ間リンクのバンド幅がホスト
リンクに比べてボトルネックになりやすいことを示して
おり,2 つの提案手法によるスループットへの影響は小さ
いと考えられる.
ここで,FIFO 転送法と一対制限法の注入制限について
焦点をあてる.これらは,同時に同一目的地に送信でき
るパケット注入量に違いがある.FIFO 転送法が 1 つのパ
ケットのみを許可するのに対し,一対制限法は 2 つのパ
ケットの注入を許可する.よって,一対制限法の振舞い
は,end-to-end のフロー制御を行わない元の適応型ルー
ティングにより近いといえる.同様に,目的地において
パケットヘッダを受けとった後すぐに ACK を生成するこ
とで,全体のパケットを受信後,ACK を生成する場合に
比べて注入量を増やすことができる.
Packet 0(0) is still blocked.
(a) Phase 1
図3
2.Send Packet 1(1).
Src
(BLOCKED)
2 1
Packet 0(0) is arrived at Dst.
(BLOCKED)
1.Send Packet 0(0).
OOO
Flag
0
(b) Phase 2
Couple limitation in source ( when ACKs are arrived in-order. )
1-bit sequence flag
1-bit sequence flag
Seq
Flag
1 0
Dst
3.Send Packet3(0).
1.Send Packet 0(0).
一対制限法では図 3 に示したように同一ホスト間にお
いて複数のパケットが,1 つのパケットを追い抜くことが
起こりうる.よって,NACK は目的地の処理のステップ
3-b(i) において,ソートバッファに空きがあるにも関わら
ず生成される場合がある.
ここで,Out-of-Order で到着したパケットの ACK が InOrder で届いた場合の処理を図 4 に示す.図 3 と 4 に示
した通り,Out-of-Order パケット配送が発生した場合に限
り,連続する 2 パケットが同じ順序フラグの値を持つ.こ
れは,目的地において,追い越されたパケット (図 3 にお
ける Packet 0) と新たに注入されたパケット (図 3 におけ
る Packet 2) の識別を行う必要があるためである.
次に,Out-of-Order で到着したパケットの ACK が Outof-Order で届いた場合の処理を図 5 に示す.図 5 は,パ
ケット 0 の ACK が Out-of-Order フラグの値を 1 に更新す
る点が図 4 と異なる.しかし,両者ともパケットが Outof-Order で到着した後,はじめに到着した ACK が出発地
の Out-of-Order フラグを 1 に更新する点は同じである.
また,すべてのパケットが In-Order で到着した場合,出
発地は独自に順序フラグを管理しているため,ACK の到
着順は出発地,目的地の一対制限法の処理に影響しない.
3. Receive ACK of Pkt1.
OOO
Flag
1
(a) Phase 1
Couple limitation in destination ( when a packet arrives out-of-order. )
2.Send Packet 1(1).
Seq
Flag
1 1
3 0
(c) Phase 3
Src
2. Receive ACK of Pkt 0.
Src
2 1
Network Interface
図2
Dst
3.Receive ACK of Pkt 1.
OOO
Flag
0
(b) Phase 2
Transfer to memory
Network
2.Send Packet 1(1).
Src
1.Compare.
Packet from s
Packet0(0) is delivered.
(BLOCKED)
Dst
2. Receive NACK of Pkt2.
1
(b) Phase 2
Couple limitation in source ( when a NACK is generated. )
なお,FIFO 転送法と同様に,目的地ホストにおける
ACK は 1) ネットワークインタフェースにパケットの全体
を格納した後,もしくは 2) パケットのヘッダの到着後す
ぐに生成することが可能である.
一対制限法は,同時に高々2 つのパケットを同一目的地
3
3. 評
表1
価
本章では,FIFO 転送法と一対制限法の性能評価を行う.
また,比較のため,end-to-end フロー制御を用いない適応
型ルーティングと固定ルーティングについても同様に評
価を行う.
3.1 シミュレーション条件
3.1.1 ネットワークモデル
スイッチと point-to-point リンクで構成されたネットワー
クをモデルとした.各スイッチは 8 ポートを持ち,そのう
ち 4 ポートはホストと接続し,残りの 4 ポートは隣接ス
イッチとの接続に用いた.トポロジはランダムに接続し
たイレギュラーネットワークと 2 次元メッシュを用いた.
また,一対制限法では,16 パケットを格納できるサイズ
のソートバッファを用いた.また,パケットヘッダは 2 フ
リットとし,ACK は 3 フリットとした.デッドロックフ
リールーティングとしては Descending Layers (DL) ルー
ティング4) を用い,2 本の仮想チャネルを用いた.また,
シミュレーション時間は 300,000 クロックとし,はじめの
50,000 クロックはネットワークの状態が安定していない
と考えられるため測定しない.
3.1.2 トラフィックパターン
アクセスの局所性が FIFO 転送法,一対制限法の性能に
大きく影響するため.本評価においてトラフィックパター
ンは重要である.ここでは,典型的なトラフィックパター
ンとして Uniform および Matrix Transpose と.NAS Parallel Benchmarks(NPB) 2.3 のトレースを用いた.Uniform,
Matrix Transpose におけるパケット長は 8 フリットと 128
フリットを用いた.
一方,NPB 2.3 のトレースは,64 台のホストにより構
成される RHiNET-2 クラスタにおいてトポロジを 2 次元
メッシュに組み,DL ルーティングを実装することで,収
集した5) .また,NPB の各ベンチマークではクラス S を用
いた.クラス S を用いることにより 1) トレースのサイズ
を抑え,2) 実行時間に対する通信時間の割合を高めるこ
とができるため,パケットの注入間隔を小さくすることが
できる.RHiNET-2 では,最小パケット長が 17 フリット
であり,一方,MTU は約 2K Byte である.よって,それ
以上のデータは複数のパケットに分割されて転送されるこ
とになる.現実的な時間でシミュレーションするために,
本シミュレーションにおけるスイッチ,ネットワークイン
タフェースは RHiNET-2 に比べて簡素化されている5) .し
かし,シミュレーション条件 —DL routing, メッシュ, 2 本
の仮想チャネル,スイッチあたりのホスト数, virtual カッ
トスルー方式— はトレースを収集した RHiNET-2 クラス
タと同じであるため,シミュレーションにおいて最も重
要なアクセスパターンとパケットの経路は RHiNET-2 ク
ラスタと同じである.
3.2 シミュレーション結果
3.2.1 Uniform と Matrix Transpose トラフィック
表 1 と 2 に不規則なトポロジにおけるスループットを
示す.ここで,スループットは単位時間当たりの 1 ホスト
の受信フリットの最大値とする. ただし,受信フリットに
は,NACK, ACK,および一対制限法における廃棄パケッ
トは含まない.“Adaptivity, FIFO, header” は FIFO 転送法
を用いた適応型ルーティングを示し,ACK はパケットの
ヘッダを到着後すぐに生成した場合を示す.また,“Adaptivity, couple, packet” は一対制限法においてパケットのテ
イルフリットの到着後 ACK を生成した場合を示す.一方,
Average throughput under 16-switch irregular topologies
[flits/clock/host]
Determin,no wait, packet
Adaptivity, no wait, packet
Adaptivity, FIFO, packet
Adaptivity, FIFO, header
Adaptivity, couple, packet
Adaptivity, couple, header
表2
8-flits length
Uniform
Matrix
0.113
0.103
0.162
0.159
0.163
0.130
0.163
0.137
0.161
0.153
0.162
0.153
128-flits length
Uniform
Matrix
0.178
0.169
0.238
0.226
0.238
0.210
0.235
0.212
0.237
0.218
0.236
0.217
Average throughput under 64-switch irregular topologies
[flits/clock/host]
Determin, no wait, packet
Adaptivity, no wait, packet
Adaptivity, FIFO, packet
Adaptivity, FIFO, header
Adaptivity, couple, packet
Adaptivity, couple, header
8-flits length
Uniform
Matrix
0.060
0.039
0.078
0.054
0.077
0.050
0.078
0.049
0.078
0.049
0.078
0.049
128-flits length
Uniform
Matrix
0.085
0.061
0.118
0.076
0.117
0.072
0.116
0.072
0.118
0.071
0.118
0.072
“Determin, no wait, packet” と “Adaptivity, no wait, packet”
は end-to-end フロー制御を用いない固定ルーティングと
適応型ルーティングを示し,ACK はパケットのテイルフ
リットの到着後に生成した.表 1 と 2 より,すべての適応
型ルーティングは固定ルーティングに比べて,最大 39%
のスループット向上を達成していることが分かる.
はじめに,各適応型ルーティングの比較を行うために
トラフィックパターンに焦点をあてる.これらの表より,
Uniform トラフィックにおいてすべての提案手法は,endto-end フルー制御を用いていない元の適応型ルーティング
とほぼ同等のスループットを達成している.これは,Uniform トラフィックではパケットの目的地がランダムに選
択されているため,各ホストにおいて連続するパケット
が同一の目的地を取る可能性が極めて低いことが原因と
考えられる.したがって,同一目的地への次のパケットを
送信する前に,ACK が出発地ホストにすでに到着してい
る状況といえる.一方,Matrix Transpose トラフィックに
おいてすべての提案手法は元の適応型ルーティングに比
べて,スループットが低下していることが分かる.各ホ
ストは 1 つのホストのみに対してパケットを送信するた
め,Matrix Transpose トラフィックは最も局所性が強いと
いえる.よって,Matrix Transpose トラフィックは,両提
案手法とも元の適応型ルーティングに比べ最も性能が低
下する場合といえる.それにも関わらず,すべての提案
手法は,固定ルーティングに比べて高いスループットを
保っている.特に,一対制限法は元の適応型ルーティン
グに比べて高々4%のスループット低下に留まっている.
2 番目に,パケット長の影響について検討を行う.一般
的にパケット長が短い場合,ACK の待ち時間が相対的に
大きくなるため,両提案手法のパケット注入量の上限は最
も小さくなる.しかし,表 1 と 2 に示した通り,Uniform
トラフィックにおいてはパケット長によらずスループット
は同じである.一方で,アクセスの局所性が最大の Matrix
Transpose トラフィックでは 8 フリット長のパケットを用
いた場合,FIFO 転送法は元の適応型ルーティングに比べ
て,スループットが最大 18%低下していることが分かる.
しかし,一対制限法ではあらゆる状況においてスループッ
トの低下は高々 4%である.これより,トラフィックパター
4
図 7 より,パケットが時間軸に対して局所的に発生す
るため, すべての適応型ルーティングは,固定ルーティン
グに比べて最大 41% のピークスループットの向上を達成
した.加えて,ピークレイテンシも 59% 削減した.これ
らの結果は,短時間に固定ルーティングにおける容量よ
りも多いパケットがネットワークに注入されることを示
している.また,両提案手法とも元の適応型ルーティン
グと同じ振舞いをしている.よって,提案手法と適応型
ルーティングの組み合わせは,実アプリケーションにお
いて有効といえる.
Accepted Traffic [flit/usec/host]
1000
Adaptivity,FIFO, header
Adaptivity,couple, packet
Adaptivity,couple, header
Every adaptivity
4
Determin
3
Every adaptivity
400
200
0
6000
12000
18000
Clock [usec]
24000
図7
0
30000
(a) Throughput
最後に,図 6 に 16 スイッチの 2 次元メッシュにおける
受信トラフィックとレイテンシの関係を示す.レイテンシ
は,パケットが出発地ホストにおいて生成されてから,目
的地ホストのネットワークインタフェースに到着するま
での時間を示す.本評価では,メッシュの bisection バン
ド幅が,しばしば不規則網に比べて小さくなるため,メッ
シュのネットワーク容量は不規則網に比べて小さくなる.
よって,各アルゴリズムとも不規則網に比べてスループッ
トが小さくなっている.図 6 より,元の適応型ルーティン
グは,Matrix Transpose トラフィックにおいてネットワー
クが飽和した後,受信トラフィックが大幅に低下してい
る.これは,元の適応型ルーティングは注入制限をして
いない一方,両提案手法は,高負荷時においてスループッ
トを増加させる注入制限機構として機能したためと考え
られる.
これらの結果より,以下が導かれる.1) FIFO 転送法と
一対制限法は,ほとんどの場合,スループットとレイテ
ンシに影響しない.2) 目的地ネットワークインタフェー
スにおいて ACK を生成するタイミングもほとんど性能に
影響しない.3) トラフィックパターンが極端に強い局所
性を持ち,パケット長が短い場合は,一対制限法が最も
効果的である.その他の場合は,より単純な FIFO 転送法
で十分であるといえる.
3.2.2 NAS Parallel Benchmarks
前節において,極端なトラフィックパターン—局所性の
ない場合と局所性が最大の場合—について評価を行った.
ここでは,NAS Parallel Benchmarks 2.3 のトレースを用
いた評価結果について議論する.図 7 に 16 プロセッサを
用いた IS benchmark における各アルゴリズムの振舞いを
示す.本トレースは 1 プロセスを 1 プロセッサに割当て
ることで収集した.図 7 において縦軸は受信トラフィッ
クもしくはレイテンシ,横軸は経過時間を示す.ここで,
NPB を用いた評価では受信トラフィック,レイテンシは
240 µ sec 毎に測定した.また,ピークスループットとピー
クレイテンシを,単位時間 (240µ sec) における最大受信
トラフィックと最大レイテンシと定義する.
600
2
1
Average ratio of out-of-order packets under irregular topologies [%]
16 switches
64 switches
Uniform
Matrix
Uniform
Matrix
8-flits length
0.1
9.2
0.0
5.6
128-flits length
0.2
12.0
0.0
4.4
Determin,no wait, packet
Adaptivity,no wait,packet
Adaptivity,FIFO, packet
Adaptivity,FIFO, header
Adaptivity,couple, packet
Adaptivity,couple, header
Determin
800
5
0
表3
Determin,no wait, packet
Adaptivity,no wait,packet
Adaptivity,FIFO, packet
6
Latency[usec]
ンが極端に強い局所性を持ち,パケット長が短い場合に
限り,一対制限法が効果的である.その他の場合は,ス
ループットの低下はほとんど見られないため,より単純
な FIFO 転送法で十分であるといえる.
3 番目に,元の適応型ルーティングにおける Out-of-Order
パケット配送について調査する.表 3 はネットワークが飽
和する直前における Out-of-Order で到着したパケットの
割合を示す.表 3 より,Uniform トラフィックにおいては,
ほぼすべてのパケットは In-Order で配送されていること
が分かる.これは,同一ホスト間のパケットの発生間隔が
十分に大きいためと考えられる.一方,Matrix Transpose
トラフィックの場合,最大 12%のパケットが Out-of-Order
で配送されていることが分かる.これは,適応型ルーティ
ングにおいて Out-of-Order 配送は高いトラフィック負荷
において頻繁に発生するため,In-Order パケット配送を強
制する仕組みが,実際に機能していることを示している.
0
6000
12000
18000
Clock[usec]
24000
30000
(b) Latency
Traffic behavior under IS benchmark with 16 processors
表4
Peak throughput and latency under 16 processors
[flits/µsec/host],[µsec]
IS
Determin,no wait, packet
Adaptivity, no wait, packet
Adaptivity, FIFO, packet
Adaptivity, FIFO, header
Adaptivity, couple, packet
Adaptivity, couple, header
Th
3.79
5.18
5.32
5.25
5.18
5.36
Lat
848
386
351
373
386
371
CG
Th
4.26
4.44
4.44
4.44
4.44
4.44
SP
Lat
65
54
67
65
56
53
Th
5.18
6.32
6.89
6.47
6.32
6.30
Lat
321
203
167
226
203
167
表 4 と 5 は,IS, CG, および SP benchmark の実行結果
を示している.16 プロセッサを用いた IS benchmark と異
なり,CG と SP benchmark は実行時間が大きいため表で
示した.表 4 において “Th” と “Lat” は各々ピークスルー
プットとピークレイテンシを表す.FIFO 転送法は,レイ
テンシが増加する場合があるが,SP benchmark において,
最大性能を示している.これは,SP benchmark は元の適
応型ルーティングが提供するネットワーク容量よりも多い
パケットを生成しているためと考えられる.よって,高い
スループットを提供するためには注入制限の仕組みが必
要になり,提案手法がこの役割を担いで高スループットを
達成したといえる.また,IS benchmark は ALL-TO-ALL
関数を頻繁に使用するため,ホスト数を n とすると O(n2 )
のパケットが一度に生成される.したがって,64 プロセッ
サの IS benchmark の場合,16 プロセッサの場合に比べて
レイテンシが増大したと考えられる.
表5
5
Peak throughput and latency of IS benchmark under 64 processors
[flits/µsec/host],[µsec]
Throughput
Latency
Determin,no wait, packet
1.75
2986
Adaptivity, no wait, packet
1.84
2202
1.78
2162
Adaptivity, FIFO, packet
Adaptivity, FIFO, header
1.84
2212
Adaptivity, couple, packet
1.82
2202
1.86
2180
Adaptivity, couple, header
600
0
Latency[clocks]
500
400
1,2,3,4,5
300
200
500
4,5
0
300
0.03
0.06
0.09
Accepted traffic[flits/clock/host]
0.12
0
0.03
0.06
0.09
Accepted traffic[flits/clock/host]
0.12
(b) Matrix transpose, 8 flits
Sorting buffer size and throughput in 16-switches irregular topologies
under uniform traffic with 128-flits length
Buffer Size
Throughput
NACK/ARC
[flits/clock/host]
[%]
1-packet buf
0.237
0.0
2-packets buf
0.237
0.0
4-packets buf
0.237
0.0
16-packets buf
0.237
0.0
Sorting buffer size and throughput under CG and IS benchmarks
1-pkt buf
2-pkt buf
4-pkt buf
16-pkt buf
Th[flits
µs/host]
4.44
4.44
4.44
4.44
CG.16
Lat
[µs]
57
56
56
56
NACK/
ACK[%]
0.9
0.1
0.0
0.0
0
1200
2
1
0
3
900
600
300
0
0.04
0.08
0.12
Accepted traffic[flits/clock/host]
0.16
0
0.2
0
0.04
0.08
0.12
Accepted traffic[flits/clock/host]
0.16
0.2
(d) Matrix transpose, 128 flits
Accepted traffic versus latency under mesh topology
次に,表 6 に NAS Parallel Benchmarks において元の適
応型ルーティングを用いた場合に発生した Out-of-Order
パケットの割合を示す.一般的に,トラフィック負荷が低
い場合,パケットの衝突がほとんど起きないため,ほぼ
すべてのパケットは In-Order で到着する.表 6 より,こ
れらの benchmark の多くにおいてトラフィック負荷が高
い時間帯があることが分かる.これらの benchmark はア
クセスの局所性を持つが,その度合は,Matrix Transpose
トラフィックの場合に比べて緩いため,すべての提案手法
は元の適応型ルーティングと同等の性能を達成したと考
えられる.
3.2.3 一対制限法におけるソートバッファサイズの影響
本節では,一対制限法におけるネットワークインタフェー
スに必要となるソートバッファの大きさについて検討する.
Matrix Transpose トラフィックでは,1 つのホストに到
着するパケットの出発地はただ 1 つであるため,ネット
ワークインタフェースにおいて 1 パケットを格納するソー
トバッファを用意すれば一対制限法の最高性能を引きだ
すことができる.よって,ここでは Uniform トラフィック
と NAS Parallel Benchmarks について焦点をあてる.表 7
と 8 はソートバッファのサイズに対するスループットと
NACK の発生した割合を示している
Buffer Size
900
(c) Uniform, 128 flits
Average ratio of out-of-order packets under NAS Parallel Benchmarks
[%]
Benchmark
Out-of-order packets ratio
IS.S.16
10.7
CG.S.16
50.9
31.0
SP.S.16
IS.S.64
3.0
表8
1,5,4.3,2
300
0
図6
表7
0
1200
5,4
Determin,no wait,packet->0
1800 Adaptivity,no wait,packet->1
Adaptivity,FIFO,packet->2
Adaptivity,FIFO,header->3
1500 Adaptivity,couple,packet->4
Adaptivity,couple,header->5
600
2
100
0
(a) Uniform, 8 flits
表6
1500
3
400
Determin,no wait,packet->0
Adaptivity,no wait,packet->1
Adaptivity,FIFO,packet->2
Adaptivity,FIFO,header->3
Adaptivity,couple,packet->4
Adaptivity,couple,header->5
1800
1
200
100
0
Determin,no wait,packet->0
Adaptivity,no wait,packet->1
Adaptivity,FIFO,packet->2
Adaptivity,FIFO,header->3
Adaptivity,couple,packet->4
Adaptivity,couple,header->5
700
Latency[clocks]
600
Latency[clocks]
800
Determin,no wait,packet->0
Adaptivity,no wait,packet->1
Adaptivity,FIFO,packet->2
Adaptivity,FIFO,header->3
Adaptivity,couple,packet->4
Adaptivity,couple,header->5
700
Latency[clocks]
800
Th[flits
µs/host]
1.62
1.64
1.64
1.64
IS.64
Lat
[µs]
2223
2212
2212
2212
NACK/
ACK[%]
0.22
0.15
0.15
0.15
NACK は前章で述べた通り,次の 2 つの状況において
6-E
発生しうる: 1) すべてのソートバッファが使用中である;
2) 同一目的地からのパケットがすでにソートバッファに
格納されている.前者は,ソートバッファのサイズを増や
すことにより解決される.一方,後者はバッファサイズと
は関係が無い.表 7 と 8 より,2 パケットを格納すること
ができるソートバッファを各ネットワークインタフェー
スに実装することで,一対制限法の最大のネットワーク
性能が得られていることを示している.よって,ソート
バッファの大きさが一対制限法を実装する場合の致命的
な問題になることはないと考えられる.
4. 結
論
適応型ルーティングはメッセージパッシングライブラ
リが必要とする In-Order パケット配送を保証していない.
本稿では,適応型ルーティングにおいて In-Order パケッ
ト配送を強制する 2 つの仕組み—FIFO 転送法と一対制限
法—を提案し,評価した.FIFO 転送法は注入制限を課す
ことにより,目的地ホストにおけるパケットのソートを
必要としない.一対制限法は,FIFO 転送法に比べて注入
制限が緩い一方,目的地ホストにおいて少量のソートバッ
ファが必要となる.評価結果より,多くの場合,FIFO 転
送法と一対制限法は end-to-end フロー制御を用いていな
い元の適応型ルーティングと同等のスループットを示し
た.一対制限法は,トラフィックパターンが極端に強い局
所性を持ち,パケット長が短い場合には FIFO 転送法に比
べて効果的である.その他の場合は,より単純な FIFO 転
送法が適しているといえる.
参 考
文
献
1) Scott, S. L. and Horson, G. T.: The Cray T3E network: adaptive routing in a high performance 3D torus, Proceedings of Hot
Interconnects IV, pp. 147–156 (1996).
2) W.J.Dally and et al.: Architecture and implementation of the
Reliable Router, Proceedings of Hot Interconnects Symposium
II (1994).
3) Martinez, J., Flich, J., Robles, A., Lopez, P. and Duato, J.:
Supporting Adaptive Routing in IBA Switches, Journal of Systems Architecture, Vol. 49, pp. 441–449 (2004).
4) M.Koibuchi, A.Jouraku, K.Watanabe and H.Amano: Descending Layers Routing: A Deadlock-Free Deterministic
Routing using Virtual Channels in System Area Networks with
Irregular Topologies, Proceedings of the International Conference on Parallel Processing, pp. 527–536 (2003).
5) 鯉渕 道紘, 渡邊 幸之介, 大塚 智宏, 上樂 明也, 天野 英晴:
RHiNET-2 クラスタを用いたデッドロックフリー固定ルー
ティングの実機評価, 情報処理学会論文誌コンピューティン
グシステム, No. ACS 7 (2004).