クラウド環境によるOpenNSIMインターコネクトシミュレーションサービス

クラウド環境による
OpenNSIMインターコネクト
シミュレーションサービス
○ 柴村英智1)
吉田真1)
三吉郁夫3)
薄田竜太郎1)
神戸隆行2)
井上弘士4)
1) 九州先端科学技術研究所
3) 富士通株式会社
平尾智也1)
三輪英樹3)
村上和彰1,4)
2) QTS
4) 九州大学
背景
►
NSIM:インターコネクトシミュレータを開発

►
一般公開方法を検討
TaaS:クラウドコンピューティング環境を開発

ツールのデモ・試用・
評価を容易にする
フレームワーク
2010年8月3日
SWoPP金沢2010
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
2
発表の流れ
►
背景
►
OpenNSIM:インターコネクトシミュレータ
►
TaaS:クラウドコンピューティング環境
►
シミュレーション事例
►
まとめ
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
3
OpenNSIM:
インターコネクトシミュレータ
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
4
OpenNSIM:インターコネクトシミュレータ
►
小規模から大規模まで、インターコネクトの性能評
価を目的
►
MGENプログラムと呼ぶ通信事象生成プログラムを
用いて、シミュレーション中に【通信事象】を生成

►
シミュレーション結果

►
MGENプログラムの通信データは送受信しない
並列プログラムの予想実行時間、実効バンド幅、実効リ
ンクバンド幅、リンクビジー率、パケット待ち時間など多彩
並列離散事象シミュレーション(PDES)による、
NSIM自体の並列実装(MPI実装)

2010/12/17
多くのプラットフォームで実行可能
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
5
OpenNSIMにおける各種遅延の積算
送信側ランク
CPU
MPI_Send
受信側ランク
主記憶
NIC
NIC
主記憶
CPU
Tpps
Tpsend
Recv発行が早い
Tppr
Recv発行が遅い
MPI_Recv
Tcopy·Sm(m)
Tdma·(Sp(1)+…+Sp(n-1))+Tnic·(n-1)
Teps
Tdma·Sp(n)+Tnic
Twr(m)
Tlws(m)
Tprecv
Ti(m)
Tdma·Sp(n)+Tnic
MPI_Recv
Tcopy·Sm(m)
Tppr
Tcopy·Sm(m)
Tepr
MPI関数のスタート
ネットワーク遅延を
アップ遅延を積算
積算
•関数プロローグ、エピローグ •ルータ遅延
•メモリコピー(ユーザ⇒MPI) •ケーブル遅延
•DMA転送(主記憶⇒NIC) •衝突による遅延 など
2010/12/17
Tprecv
Tepr
MPI関数の後処理
時間を積算
•DMA転送(NIC⇒主記憶)
•メモリコピー(MPI⇒ユーザ)
•関数プロローグ、エピローグ
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
6
OpenNSIMの主な仕様(1)
►
ノード数(Webブラウザから指定)

►
トポロジ(Webブラウザから指定)


►
8~128Kノード
直接網: 2次元メッシュ網、3次元メッシュ網
2次元トーラス網、3次元トーラス網
間接網:FatTree (2層 or 3層FBB接続)
ルーティングアルゴリズム


直接網:次元順ルーティング+日付変更線
間接網:V-Up D-Down あるいは D-Up V-Down
※ V: Vertical D: Diagonal
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
7
OpenNSIMの主な仕様(2)
►
ルータ






リンクバンド幅:4GB/s※(単方向)
パケット長:32B~2KiB※
パケット(仮想チャネル)バッファ長:8KiB※
フリット長:16B※
パケット転送方式:Virtual cut-through
フロー制御方式:クレジットベース
※デフォルト値:設定ファイルを用いて変更可能
►
評価アプリケーション(MGENプログラム)





2010/12/17
Point to point
Random ring (HPCCより)
Alltoall(pairwise exchange, ring, bruck)
Allreduce(recursive doubling)
ユーザが作成したMGENプログラム
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
8
OpenNSIMの主な仕様(3)
►
同期通信

►
非同期通信

►
MGEN_Send()、MGEN_Recv()
MGEN_Isend()、MGEN_Irecv()、MGEN_Wait()
その他



MGEN_Comm_size()
MGEN_Comm_rank()
MGEN_Comp()

2010/12/17
指定された時間だけ、シミュレーション時間を進める。
⇒ 既知の計算ブロックの演算時間を与えることで、アプリケーショ
ン実行時間の推定精度を高めることができる。
⇒ ロードインバランスやOSジッタを踏まえたシミュレーションも可能
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
9
OpenNSIMの主な仕様(4)
►
出力項目(時系列表示)






►
ネットワークレイテンシ
リンクスループット
バッファ利用率
通信レイテンシ
リンクスループットの割合の変動
輻輳の発生割合
出力項目(その他)

2010/12/17
輻輳箇所をノード・ポート毎に上位順で表示
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
10
OpenNSIMの入出力ファイル
入力ファイル
出力ファイル
MGENプログラム
性能情報
コンフィグ
レーション
ランク・ノード
変換テーブル
2010/12/17
OpenNSIM
統計情報
通信履歴
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
11
MGENプログラムの例(pairwise exchange)
#include <stdio.h>
#include "mgen.h"
int MGEN_Main( int argc, char *argv[] )
{
int myrank, mysize, i, src, dst, msg_size=1024;
MGEN_Request req[2];
MGEN_Status stat[2];
MGEN_Comm_rank(MGEN_COMM_WORLD, &myrank);
MGEN_Comm_size(MGEN_COMM_WORLD, &mysize); // mysize must be a power of 2
// Pairwise exchange
for ( i=1; i<mysize; i++ ) {
dst = src = myrank ^ i;
MGEN_Irecv(NULL, msg_size, MGEN_BYTE, src, 0, MGEN_COMM_WORLD, &req[0]);
MGEN_Isend(NULL, msg_size, MGEN_BYTE, dst, 0, MGEN_COMM_WORLD, &req[1]);
MGEN_Wait(&req[1], &stat[1]);
MGEN_Wait(&req[0], &stat[0]);
}
return (0);
}
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
12
コンフィグレーションファイルの例
(network
name="taas"
rank-node-filename="taas.rnc"
number-of-NIC=1
number-of-virtual-channels=2
packetsize=2048 ; byte
flitsize=16 ; byte
mtusize=2048 ; byte
packetheadersize=32 ; byte
virtual-channel-buffersize=8192 ; byte
routing-computation-time=4000 ; ps
virtual-channel-allocation-time=4000;ps
switch-allocation-time=4000 ; ps
flit-traversal-time=4000 ; ps
switch-latency=78000 ; ps
cable-latency=10000 ; ps
Tnrb=250 ; ps
enable-pipelining=true
connect-nodes-directly=true
(topology
name="3D Torus"
X=16 Y=16 Z=8
torus-X=true
2010/12/17
torus-Y=true
torus-Z=true
)
(mpi
number-of-target-ranks=2048
rendezvous-size-threshold=67108864
zerocopy-size-threshold=67108864
payloadsize=2016 ; byte
mpiheadersize=32 ; byte
Tdma=250 ; ps
Tnic=200000 ; ps
Tcopy=250 ; ps
Tpps=200000 ; ps
Teps=200000 ; ps
Tppr=200000 ; ps
Tepr=200000 ; ps
Tpw =200000 ; ps
Tew =200000 ; ps
Tcp =200000 ; ps
Tce =200000 ; ps
Tci =200000 ; ps
)
)
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
13
TaaS:
クラウドコンピューティング環境
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
14
TaaS:クラウドコンピューティング環境
►
ツールの実行サービスを提供

►
ツール実行のWebサービス化

►

テンプレートに基づいてブラウザGUIを自動生成
ツール固有のオプション設定や利用手順を簡単化
Webサービスの基本部分の共通化

►
コンパイル/シミュレーション処理をタスク毎に複数のホストに委託
ツール毎にパラメータ設定をテンプレート化

►
ダウンロード、ビルド、インストールなどの煩雑な作業が不要
ツール実行の負荷分散

►
ツールのデモ・試用・評価を容易にして普及を図る
HTTPSやBasic認証など基本的なセキュリティを提供
実行結果ファイルのZIP化

2010/12/17
ツールの実行が手元の実行環境で行われた場合と同等になる
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
15
TaaSによるOpenNSIMの利用の流れ
⑤ シミュレーション
③ 処理(タスク)の受付・管理 OpenNSIM
④ 他サーバへの処理委託
① ブラウザからインターコネクトに関する
シミュレーションパラメータを入力
② 実行開始ボタンを押す
⑥ 実行結果の返却
CAESAR
Redefis
⑦ シミュレーション結果の閲覧
2010/12/17
TaaS実行環境
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
16
TaaS実行環境
TaaSシステム
パラメータ
ファイル生成
タスクファイル
・パラメータ入力・選択
・アップロードファイル名入力
フロント
エンドGUI
(Java
アプレット)
パラメータファイル/
各種ファイル
パラメータ/
各種ファイル
PUT
ダウンロード
タスク管理
プロセス
実行結果
ファイル
ユーザ
フロントエンド部
(Webブラウザ)
2010/12/17
サーバ部
(タスクサーバ)
ANTスケジューラ
タスク取得
タスク返却
TaaSスクリプト
実行結果
ファイル
NSIMスクリプト
バックエンド部
(バックエンドサーバ)
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
17
評価事例
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
18
評価対象インターコネクト(1)
仮想チャネルバッファ:2KiB(MTU)×4
● トポロジ:16×16×8 3次元トーラス網
リンクバンド幅:4GB/s(単方向)
パケット長:32B~2KiB(ヘッダ長:32B)
■ ルーティング:次元順+日付変更線
仮想チャネル数:2
■ パケット転送方式:VCT(フリット長:16B)
■ NIC数:1
■ フロー制御方式:クレジットベース
+X
-X
+Y
-Y
+Z
-Z
4GB/s
16GB/s
2010/12/17
4GB/s
+X
-X
+Y
-Y
+Z
-Z
16GB/s
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
19
評価対象インターコネクト(2)
►
メモリ・DMA転送バンド幅: 16GB/s
►
MPI関数処理オーバヘッド: 200ns
►
ルーティング計算時間(RC): 4ns
►
仮想チャネル設定時間(VA): 4ns
►
スイッチ設定時間(SA): 4ns
►
フリット転送時間(ST): 4ns
►
スイッチ遅延時間: 78ns
►
ケーブル遅延時間: 10ns
►
MPIプロセス数/ノード: 1
※ 以上は実在しないシステムだが、一般的なスーパーコンピュータ
の仕様・構成に近い
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
20
評価対象アプリケーション
►
Pairwise Exchange

►
Pairwise Exchangeの通信パターン (8ノードの例)
Alltoall
データサイズ: 32KiB
for ( i=1; i<mysize; i++ ) {
dst = src = myrank ^ i;
MGEN_Irecv(,,, src,,, &req[0]);
MGEN_Isend(,,, dst,,, &req[1]);
MGEN_Wait(&req[1], &stat[1]);
MGEN_Wait(&req[0], &stat[0]);
}
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
21
性能情報ファイル
MaxSimTime
SumArrivedPackets
SumArrivedPacketSize
SumSizeTransfer
SumNumLinks
EffectiveBandwidth
EffectiveLinkBandwidth
IdealLinkBandwidth
LinkBandwidthEfficiency
MinSimStartTime
MaxSimEndTime
SimDuration
SumLinkBusyTime
LinkBusyRate
SumNumWaitPacketsInRt
SumNumThruPacketsInRt
CumulPacketWaitTimeInRt
SumNumWaitPacketsInNi
SumNumThruPacketsInNi
CumulPacketWaitTimeInNi
CumulNetworkLatency
AveragePacketWaitTime
AverageAllPacketWaitTime
2010/12/17
166712548000 [Ticks]
71268352
139652431872 [Bytes]
1397206548480 [Bytes]
12288
8380.932121 [GBytes/10^12Ticks] (SumSizeTransfer/M
0.682042 [GBytes/10^12Ticks/Links] (SumSizeTransfer/
4.000000 [GBytes/10^12Ticks/Links]
17.051050 [%] (EffectiveLinkBandwidth/IdealLinkBand
1290126348.243068
1290127795.179783
1446.936715
382164407752000 [Ticks]
18.655236 [%] (CumulLinkBusyTime/SumNumLinks/MaxSim
372972599
340059081
328675643082000 [Ticks]
25432757
45835595
83268741998000 [Ticks]
370885137344000 [Ticks]
881232.680265 [Ticks] (CumlPacketWaitTimeInRt/SumNum
460955.175346 [Ticks] (CumlPacketWaitTimeInRt/(SumNu
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
22
リンクスループット(各次元方向毎)
3次元トーラス網 2,048ノード
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
23
同一方向への通信が一時的に発生
0
Step 1
1
2
3
4
5
6
7
+X
-X
Step 2
+X
-X
Step 3
+X
-X
Step 4
+X
-X
+X
+X
2010/12/17
メッシュ網
トーラス網
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
24
リンクスループット(各次元方向毎)
3次元メッシュ網 2,048ノード
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
25
ネットワークレイテンシ
※ 3次元トーラス網 2,048ノード
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
26
リンクスループットの分散割合
※ 3次元トーラス網 2,048ノード
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
27
仮想チャネルバッファ利用率
※ 3次元トーラス網 2,048ノード
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
28
通信混雑の発生割合
※ 3次元トーラス網 2,048ノード
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
29
ノード・ポート毎の輻輳回数(上位順)
※ 3次元トーラス網 2,048ノード
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
30
Jumpshotによる通信状況の表示
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
31
まとめ
►
OpenNSIM:インターコネクトシミュレータ
►
TaaS:クラウドコンピューティング環境
►
シミュレーション事例
►
11月17日 一般公開開始

TaaS+NSIMポータルサイトにて公開中
https://ngarch.isit.or.jp/taas/opennsim/
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
32
日経産業新聞 2010年11月17日朝刊
2010/12/17
All Rights Reserved, Copyright © Institute of Systems, Information Technologies and Nanotechnologies 2010
33