クラウド環境による 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
© Copyright 2024 Paperzz