• 検索結果がありません。

境界データ同期型領域分割法を用いたPCクラスタ並列処理のための通信ライブラリの設計と評価

N/A
N/A
Protected

Academic year: 2021

シェア "境界データ同期型領域分割法を用いたPCクラスタ並列処理のための通信ライブラリの設計と評価"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)計算機アーキテクチャ 147−11 ハ イ パフォ ー マ ン ス 89−11 コ ン ピュ ー ティ ン グ (2002.3.7). 境界データ同期型領域分割法を用いた PC クラスタ並列処理のための 通信ライブラリの設計と評価 中井 甚輔† , 阿部 眞‡ , 布目 淳† , 平田 博章† , 柴山 潔† † ‡. 京都工芸繊維大学 工芸学部 電子情報工学科 〒 606-8585 京都市左京区松ヶ崎御所海道町 株式会社 村田製作所 技術開発本部 第 4 開発グループ 〒 617-8555 京都府長岡京市天神 2-26-10. 本稿では「境界データ同期型領域分割法」向きの通信ライブラリを設計し , ギガビットイーサ ネットでパーソナルコンピュータ (PC) をピアツーピア接続した PC クラスタ上で評価を行う. カーネルアドレス空間にアプリケーションの解析データ領域を確保し , カーネルメモリマップ機 能でユーザアドレ ス空間に対応づけることで, ゼロコピー通信の実現を図る. 本稿のゼロコピー 通信ライブラリを用いたアプリケーションを PC クラスタ上で実行した評価結果より, TCP/IP に比べ通信処理時間が約 50%短縮されることを確認した.. Design and Evaluation of the Communication Library for a Parallel Processing using the Domain Decomposition Method with Boundary Data Synchronization on PC Cluster Jinsuke Nakai† , Shin Abe‡ , Atsushi Nunome† , Hiroaki Hirata† , and Kiyoshi Shibayama† † ‡. Dept. of Electronics and Information Science, Kyoto Institute of Technology Matsugasaki, Sakyo-ku, Kyoto, 606-8585 JAPAN Development Group IV, Research & Development Division, Murata Manufacturing Co., Ltd. 26-10, Tenjin 2-Chome, Nagaokakyo, Kyoto, 617-8555 JAPAN This paper presents the high performance communication library for the Domain Decomposition Method with Boundary Data Synchronization (DDM-BDS) on PC’s which are connected directly to their neighbour nodes by Gigabit Ethernet. Mapping in-kernel data region to the user address space enables the zero copy communication. We implement and estimate this communication library on our PC cluster. Compared with TCP/IP, our evaluation results show that our library reduces the communication time by about 50%.. 1. はじめに. ている. 1997 年に Fast Ethernet を用いた PC クラ スタ上で電磁界解析を並列処理する方式について報. 著しい技術の進歩により, パーソナルコンピュー. 告したが [1], 電子部品等の設計現場でも, 設計対象. タ (PC) の計算性能, 通信性能が向上してきたこと. となる構造が年々複雑となり, 3 次元解析を実用的. で , 複数の PC をネットワークで接続した仮想的な. な時間で行うことはできなくなってきた.. 並列計算機である PC クラスタの応用範囲が広がっ. −61− 1. 近年, Gigabit Ethernet の普及により通信装置の.

(2) 未知数A. 解析領域. 未知数B 未知数C. 境界 領域. 境界 領域. 境界 領域 L2. 境界 領域 R2. 領域を 3分割. 解析領域. 境界 領域 R1. 図 1: 解析領域と未知数. 分割した解析領域1 (PC1が解析を行う). 境界 領域 L3. 分割した解析領域2 (PC2が解析を行う). 分割した解析領域3 (PC3が解析を行う). 図 2: 領域分割と境界. 性能がさらに向上した. しかし , TCP/IP を用いた 通信の場合, プロセッサによるメモリコピー処理等 がオーバヘッドになり, Gigabit Ethernet のハード. 表 1: 境界領域と計算可否. ウェアの性能を引き出すことができない. 未知数 A 未知数 B 未知数 C. そこで我々は, プログラムを, 「解析対象となる領 域を複数に分割し , 並列に解析するとともに, 分割. 境界 R 不可 可 可. 境界 L 可 不可 可. 境界以外 可 可 可. した領域の境界のデータの同期を取る」ことで計算 できるアプリケーションを対象に GigabitEthernet を用いたゼロコピー通信ライブラリを設計し PC ク. 通信ライブラリの設計. 3. ラスタに実装した.. 本稿で開発した境界データ同期型通信ライブラ リ (以後 BDS ライブラリ) を用いると, ゼロコピー 通信を行うことができる. 本節では , DDM-BDS 用. 2. 境界データ同期型領域分割法. PC クラスタの構成および BDS ライブラリにおけ るゼロコピー通信の実現方法について述べる.. 電磁場等の場の数値解析において, 図 1に示すよ うに解析対象となる解析領域内に多数の未知数 (以. 3.1. 下「解析データ」と呼ぶ) を離散的に配置し , 解析 データ間の関係式を用いて解析を行う手法がある. 中でも, 図 2に示すように境界領域をオーバーラッ プさせて, 解析領域を複数に分割し , 分割した各領 域毎に PC を割当てて並列計算を行う手法を領域分 割法と呼ぶ. 境界領域にある解析データ (以下, 境界 データ) の計算可否は, 表 1に示すように 3 通りの. PC クラスタのネット ワーク構成. 我々は, DDM-BDS プログラムを実行する環境と して 1 次元に PC を連続して接続した PC クラスタ を想定している. BDS ライブラリを実装する PC クラスタの例として , 図 4に 3 台の PC から成る. PC クラスタのネットワーク構成を示す. Gigabit Ethernet はハード ウェアレベルで メッセージ転送. ケースが考えられる. PC 間で境界データの同期を PC1. とり, 各 PC では計算ができない境界データの整合. 境界 境界 以外 R1. をとる手法を, 本稿では「境界データ同期型領域分割. ステージ1 計算 未知数Aの計算 ステージ2 受信 未知数Aの同期 ステージ3 計算 計算 未知数Bの計算 ステージ4 送信 未知数Bの同期 ステージ5 計算 計算 未知数Cの計算. 法 (DDM-BDS : Domain Decomposition Method. with Boundary Data Syncronization) 」と呼ぶこ とにする. また, DDM-BDS を用いるプログラム を「 DDM-BDS プログラム」と呼び , 境界データの うち PC 間でデータの同期をとる際に送受信され. PC2. PC3. 境界 境界 境界 L2 以外 R2. 境界 境界 L3 以外. 計算 計算. 計算 計算. 送信 受信. 受信. 計算 計算 送信. 計算 計算 計算. 送信 -. 計算. 受信 計算 計算. るデータを「境界更新データ」と呼ぶことにする. 図 3に 3 台の PC 上で DDM-BDS を用いた場合の アルゴ リズム例を示す.. 図 3: DDM-BDS を用いた並列処理アルゴリズム例. 2 −62−.

(3) 解析用PC1 解析用PC2. 境界領域. 解析用PC3. 境界更新データ 境界更新データテーブル 番号 物理アドレス サイズ. 0 1024バイト 0x1234567. スイッチングハブ. 登録. 7 0x1234567 1024. 設定. n. 解析領域 FastEthernet NIC GigabitEthernet NIC. 制御用PC. PC間リンク 制御用ネットワーク. アドレス. アドレス. サイズ. サイズ. サイズ. ポインタ. ポインタ. ポインタ. ディスクリプタ. ディスクリプタ. ディスクリプタ. 図 4: PC クラスタのネットワーク構成. の信頼性を保証しない. そこで, データ転送の信頼. アドレス. ディスクリプタリング. 図 5: 境界更新データテーブルとディスクリプタ. 性の保証を実現するために, データ転送時の衝突が 起こらないよう PC 間にピアツーピアのリンクを用. 境界更新データの整合性確認機能: DDM-BDS プ. 意した. このリンクは境界領域のデータを通信する. ログラムの実行を開始する時に, 初期化処理と. ために利用する. プログラム実行の監視等の制御用. して通信を行う PC 間で境界更新データテー. メッセージ通信には , スイッチングハブ経由の制御. ブルの照合を行う. これにより, 境界更新デー. 用ネットワークを用いる.. タのサイズと個数の整合性を確認することが できる.. 3.2. ゼロコピー通信方式の実現. データリンク層のヘッダ配置: NIC が ネット ワー クに送出するデータにはデータリンク層のヘッ. 本方式では, NIC が境界領域の境界更新データを. ダが埋め込まれている必要がある. そこで境界. 直接 DMA 転送できるように, カーネルアドレス空. 領域にヘッダを格納するための領域 (以後ヘッ. 間に解析領域を確保する. この解析領域をユーザア. ダ領域) を確保する. 一方多くのユーザアプリ. ドレス空間にメモリマッピングすることで, ゼロコ. ケーションは , 3 次元の解析データ領域を連続. ピー通信を実現している.. した3次元配列の形でアクセスする. このた め, 図 6のように, 解析領域に連続する位置に. ディスクリプタの設定: 図 5に示すように, 境界更. 16 バイト 2 のヘッダ領域を確保する.. 新データテーブルを作成し , 境界更新データ の物理アドレスとサイズを登録する1 . そして,. 解析領域のメモリマッピング : カーネルアドレス空. ネットワークドライバの送信用と受信用のそれ. 間に存在する特定のメモリ領域をユーザアド. ぞれのディスクリプタに , 境界更新データテー. レス空間に対応付けるカーネルメモリマッピン. ブルの物理アドレスとサイズを設定する. NIC. グ機能3を用いて, 解析領域をユーザアドレ ス. はこのデ ィスクリプタを参照して DMA 転送. 空間にメモリマッピングする. これによりユー. を行い, これにより, 境界領域と NIC の間で境. ザ/カーネルアドレス空間の間のメモリコピー. 界更新データを DMA 転送できる. DDM-BDS. のオーバヘッド を削減できる (図 7).. では , ある境界更新データの物理アドレスとサ イズは常に同じであり, PC 間リンクを用いる ため, 通信処理を行うタイミングも通信相手も. 4. 評価. 固定される. そのため, 境界更新データテーブ. 図 8のように, 1 次元に PC が連続して接続され. ルに格納する物理アドレス, サイズは一度指定. ている PC クラスタを 2 つの PC を用いて疑似的に. すると以後変更する必要はない. 1 送信用と受信用の境界更新データテーブルを作成し ,. 送信 する境界更新データと受信する境界更新データのそれぞれの物 理アドレスとサイズを別々のテーブルに登録する.. 2 イーサヘッダ 14 バイトと BDS ライブラリで用いるヘッダ 2 バイトの合計である. 3 この機能の実装には , PM [3] のカーネルメモリマッピング の実装方法を参考にした .. 3 −63−.

(4) 境界領域. 複数のPCからなるクラスタ ヘッダ領域. 解析領域. 解析用PC1 解析用PC2 解析用PC3 解析用PC4 解析用PC5. 評価のため2台で クラスタを構成. NIC PC間リンク. 解析用PC1 解析用PC2. 1つの境界更新データ. 評価用PCクラスタ. 図 8: 2 台の PC による評価用クラスタの作成. 解析用PC1 解析用PC2. 実際に確保する領域. 1. 図 6: ヘッダ領域の確保 2. メモリマッピングを 用いた場合. TCP/IPの場合 境界 領域 ユーザ アドレス 空間. ユーザ アドレス 空間. 分割した 解析領域. スイッチングハブ カーネル メモリ マッピング. メモリコピー メモリコピー 境界 領域 カーネル アドレス 空間. 送信処理. 境界更新 データ. 受信処理. カーネル アドレス 空間. FastEthernet NIC (PCI 32bit-33MHz) GigabitEthernet NIC (PCI 64bit-66MHz). 制御用PC. 分割した 解析領域. 送信処理. 受信処理. 1 2. PC間リンク1 PC間リンク2 制御用ネットワーク. 図 9: 評価に用いた PC クラスタの構成. 図 7: 解析領域のメモリマッピング. BDS ライブラリの通信性能の評価. 4.2 構築することができる. そこで 2 枚の NIC を装着. DDM-BDS プログラムで用いられる片方向, 双方. した 2 つの PC を用いて評価を行った. 評価に用い. 向, 交互方向の通信例を図 11に示す. これらの 3 つ. たシステムの構成を図 9 と表 2に示す.. の通信条件において, TCP/IP と BDS 通信ライブ ラリのそれぞれを使用し , 使用する PC 間リンクの. 4.1. 数を変え 4 , データ転送性能の比較を行う. 同じ条件. netperf による通信性能評価. まず , NIC の一般的な通信性能評価に利用され ている netperf ベンチマークプログラム [2] を利用. で比較が行えるように , 測定には BDS と TCP/IP の両方に対応できるプログラムを用いた.. し , Gigabit Ethernet NIC の通信性能を評価した.. 片方向データ転送測定: PC1 から PC2 へ送信デー. 図 10に測定結果を示す. グラフの横軸は, 通信 1 回. タサイズのデータを 10 個×1 万回送信する5 .. あたりの送受信データサイズ, 縦軸はスループット. PC2 で最初のデータの受信が完了してから最 後のデータの受信が完了するまでの時間を測定. である. MTU (Maximum Transmission Unit) を. 9000 バイトに, 通信時間を 30 秒に設定し測定を行っ た. 送信データサイズが 8400 バイトの時に最大の 性能結果が出ており, その時のスループットは , 約. 989Mbps である.. した. 測定結果を図 12に示す. 測定結果から , 4 図の. PC 間リンク 1 のみを使用する 1 通信路と, 図の PC 間リンク 1,2 共に使用する 2 通信路の 2 つの条件で測定する. 5 境界領域に境界更新データが 10 個存在し , 1 万回境界デー タの同期を取るアルゴ リズムを想定している.. −64− 4.

(5) NIC1 PC間リンク1 NIC1. 表 2: 評価に用いた PC の構成 解析用 PC Processor Memory PCI bus 制御用 PC Processor Memory PCI bus. PC 間リンク 1,2 NIC 接続方法 制御用ネットワーク NIC 接続方法 ソフトウェア OS プログラム. 片方向. 解析用 PC1. PC間リンク2. NIC2. PentiumIII-Xeon 1GHz 128MB 64bit-66MHz, 32bit-33MHz. 解析用 PC2 NIC2. NIC1 PC間リンク1 NIC1. 双方向. PentiumPro 200MHz 192MB 32bit-33MHz. 解析用 PC1. PC間リンク2. NIC2. 解析用 PC2 NIC2. ステージ1. Gigabit Ethernet (SysKonnect SK-9821/SK-NET GE-T) 直接接続. NIC1 PC間リンク1 NIC1 解析用 PC1. Fast Ethernet (DEC DE500A) スイッチングハブを経由. PC間リンク2. NIC2. 交互方向. 解析用 PC2 NIC2 ステージ1と ステージ2を 交互に行う. ステージ2 NIC1 PC間リンク1 NIC1 解析用 PC1. RedHat Linux6.2(Kernel 2.2.16) + BDS ライブラリ 1)Netperf 2.1 2)DDM-BDS サンプルプログラム. NIC2. PC間リンク2. 解析用 PC2 NIC2. 図 11: DDM-BDS 通信例 3000. 3500. 2500. 3000. スループット(Mbps). スループット(Mbps). 3500. 2000 1500 1000 500 0 10. 100. 1000. 2500. BDS 1通信路 BDS 2通信路 TCP/IP 1通信路 TCP/IP 2通信路. 2000 1500 1000 500. 10000. 送信データサイズ(Byte). 0 10. 100. 1000. 10000. 送信データサイズ(Byte). 図 10: netperf ベンチマークプログラムの測定結果 図 12: BDS 通信性能測定結果 (片方向). TCP/IP と比べ BDS のデータ転送性能は 1 通 信路では送信データサイズ 512 バイトで約 1.4. イト以上での BDS の通信性能は , TCP/IP に. 倍, 2 通信路では送信データサイズ 7500 バイト. 比べ 1 通信路で約 1.6 倍, 2 通信路では約 3.5. で約 2.0 倍となっており, ゼロコピー通信によ. 倍である. BDS では 送信データが 3000 バイ. るスループットの向上が確認できる. 送信デー. ト以上では 約 2.9Gbps のスループットが出て. タサイズが 256 バイト以下の場合, TCP/IP は. いる.. 複数の送信データを 1 つにまとめて送信する ため TCP/IP と BDS の差が少なくなる.. 交互方向データ転送測定: 1 通信路の場合, PC1 か ら PC2 に送信データサイズのデータを 10 回. 双方向データ転送測定: PC1 から PC2 へ送信デー. 送信 (ステージ 1) した後, PC2 から PC1 に 同. タサイズのデータを 10 個×1 万回送信する. 同. じサイズのデータを 10 回送信 (ステージ 2) す. 時に PC2 から PC1 へ送信データサイズのデー. る処理を 1 万回繰り返す. 2 通信路の場合, 1 通. タを 10 個×1 万回送信する. TCP/IP では送. 信路の処理と同時に , もの一つの PC 間リンク. 受信の両方の処理で完了確認を 1 万回行って. を使い逆方向の送信処理を行う. PC2 で最初. いるが , BDS では行っていない. PC2 で最初. のデータの受信が完了してから, 最後のデータ. のデータの受信が完了してから最後のデータ. の受信が完了するまでの時間を測定した. 測定. の受信が完了するまでの時間を測定した. 測定. 結果を図 14に示す. 測定結果から , 1 通信路の. 結果を図 13に示す. 送信データサイズ 4500 バ. BDS では , 送信データサイズの増加にともな. −65− 5.

(6) 3500. 50. BDS 1通信路 BDS 2通信路 TCP/IP 1通信路 TCP/IP 2通信路. 2500. 同期時間 計算時間 その他処理時間. 45 40. 処理時間(sec). スループット(Mbps). 3000. 2000 1500. 35 30 25 20 15. 1000. 10 500 5 0 10. 100. 1000. 0. 10000. TCP. 送信データサイズ(Byte). 図 15: DDM-BDS サンプルプログラム実行結果. 図 13: BDS 通信性能測定結果 (双方向). 5. 3500. BDS 1通信路 BDS 2通信路 TCP/IP 1通信路 TCP/IP 2通信路. スループット(Mbps). 3000 2500. BDS. おわりに 本稿では, DDM-BDS を用いた PC クラスタ並列. 処理のための BDS 通信ライブラリを設計した. ま. 2000. た, 実際に Gigabit Ethernet により 2 通信路で直. 1500. 結接続した 2 台の PC に BDS 通信ライブラリを実. 1000. 装した. PC クラスタ上で DDM-BDS を用いたプ. 500. ログラムを実行し評価を行った結果, TCP/IP 通信. 0 10. 機構と比較して, 本稿で提案するゼロコピー通信機 100. 1000. 10000. 送信データサイズ(Byte). 構では通信時間が約半分に短縮されることを確認し た. 今後は , BDS を用いた場合の計算時間の増加の. 図 14: BDS 通信性能測定結果 (交互方向). 原因について, 調査を行い改善する予定である.. いデータ転送性能が向上している. 2 通信路で. 参考文献. は , 送信データサイズが 1500 バイト以上の時,. BDS のデータ転送性能は TCP/IP の約 2.2 倍 である.. [1] 服部 準, 阿部 眞, 韓青: “格子状 PC クラスタにおける 3次元分散 FDTD 法の実装と評価”, 情報処理学会研 究報告 HPC, Vol.69, No.6, 情報処理学会, pp.31-36, 1997. [2] http://www.netperf.org/. 4.3. DDM-BDS サンプルプログラム評 価. [3] 手塚 宏史, 堀 敦史, 石川 裕: “ワークステーション クラスタ用通信ライブラリ PM の設計と実装”, 並 列処理シンポジウム JSPP’96, 情報処理学会, 41-48, 1996.. 2 節で示した DDM-BDS アルゴ リズムに基づく プログラムを作成し評価を行った. プログラム実行 中の計算処理と境界領域の同期処理の, それぞれの 処理に要した時間の合計を測定した. 図 15に測定 結果を示す. 結果より, BDS の計算時間は TCP/IP に比べ 約 15%増加し , 同期時間は半分以下に短縮 された. 結果, プログラムの実行時間は 14%減少し た. BDS 通信ライブラリを用いた時に, 計算時間が 増加するのは, メモリマッピングした解析領域を用 いて計算を行ったためである.. 6 −66−.

(7)

図 10に測定結果を示す. グラフの横軸は, 通信 1 回 あたりの送受信データサイズ, 縦軸はスループット である. MTU (Maximum Transmission Unit) を 9000バイトに, 通信時間を 30 秒に設定し測定を行っ た
表 2: 評価に用いた PC の構成

参照

関連したドキュメント

Fig.5 The number of pulses of time series for 77 hours in each season in summer, spring and winter finally obtained by using the present image analysis... Fig.6 The number of pulses

高(法 のり 肩と法 のり 尻との高低差をいい、擁壁を設置する場合は、法 のり 高と擁壁の高さとを合

計量法第 173 条では、定期検査の規定(計量法第 19 条)に違反した者は、 「50 万 円以下の罰金に処する」と定められています。また、法第 172

ALPS 処理水の海洋放出に 必要な設備等の設計及び運 用は、関係者の方々のご意 見等を伺いつつ、政府方針

第一の場合については︑同院はいわゆる留保付き合憲の手法を使い︑適用領域を限定した︒それに従うと︑将来に

ヘッジ手段のキャッシュ・フロー変動の累計を半期

★分割によりその調査手法や評価が全体を対象とした 場合と変わることがないように調査計画を立案する必要 がある。..

第1条 この要領は、森林法(昭和26年法律第