6.PC クラスタ導入の実例

小特集
PC クラスタを作ってみませんか?
6.PC クラスタ導入の実例
福
山
淳,
矢
木
敏1),
雅
内
藤
裕
志2)
(京都大学大学院工学研究科原子核工学専攻,1)九州大学応用力学研究所,2)山口大学工学部電気電子工学科)
Examples of Construction of PC Clusters
FUKUYAMA Atsushi, YAGI Masatoshi1) and NAITOU Hiroshi2)
Department of Nuclear Engineering, Kyoto University, Sakyo-ku, Yoshida-honmachi, Kyoto 606-8501, Japan
1)
Research Institute for Applied Mechanics, Kyushu University, Kasuga 816-8580, Japan
2)
Department of Electrical and Electronic Engineering, Yamaguchi University, Ube 755-8611, Japan
(Received 24 June 2003)
Abstract
The experiences regarding the conctruction of PC clusters in three local laboratories are summarized. The
number of CPU's varies from 2 to 32 (1 to 16 PC's). The performance of these clusters scales roughly with the
number of CPU's. Using MPI, the merits of dual processing and/or hyper-threading technologies can be applied without any additional programming effort.
Keywords:
PC cluster, MPI, multi-threading, hyper-threading, grid computing, particle simulation, SCore, SMP,
parallel computing
6.
1 はじめに
6.
2 導入例 A
PC クラスタを用いた分散型並列処理は,1
997年頃か
九州大学応用力学研究所においては LHD 計画共同研
らプラズマ・核融合分野でも導入されており,成果を上
究の一環として2001年に PC クラスタを導入した.Xeon
げている.最近では核融合科学研究所 LHD 計画共同研
(1.7 GHz)
4 node(8 CPU),コンパイルサーバ P4(1.7
究の支援を受けて,PC クラスタの整備,クラスタ間接続
GHz)およびネームサーバ PII(400 MHz)から構成され
の試みが進められている.本章では,プラズマ・核融合
る.Fig. 1 に構成図を Fig. 2 にシステムの写真を示す.
分野における PC クラスタ導入の実例を示す.
6.
2節では
我々の研究室ではマンパワーの関係でパーツを買って自
九州大学応用力学研究所における導入例とベンチマーク
作するという方法をとらず,HIT 社から既製品を購入し
テストの結果を,6.
3節では京都大学大学院工学研究科
た(ネームサーバは研究室の PII PC クラスタの1台を転
におけるPCクラスタの経緯とそれらの比較を,6.
4節で
用).当時,Xeon(1.7 GHz,512 MB)の価格が1台50万
は山口大学工学部における導入例とハイパースレッディ
円前後であり,システム全体としては2
50万円程度であ
ングの効果を説明し,最後にまとめと今後の課題を述べ
る.2002年に各 PC のメモリを 1 GB に増強し,コンパイ
る.
ルサーバに3D 高速グラフィックカードを導入し,AVS
をインストールして可視化サーバとしても利用してい
る.今年度は1TB程度のRAIDシステムを導入する予定
authors’ e-mail: [email protected], [email protected], [email protected]
780
J. Plasma Fusion Res. Vol.79, No.8 (2003)7
80‐787
Special Topic Article
Examples of Construction of PC Clusters
A. Fukuyama et al.
の結果およびスペクトルコードの結果を紹介する.
Table 1 にベンチマークに使用したマシン環境を示す.
姫 野 ベ ン チ マ ー ク は medium サ イ ズ256×128×128で
行った.Table 2 に結果を示す(単位は Mflops)
.Xeon
2.2 GHz および G4 667 MHz は京都大学のマシンを,GS
320 731 MHz および VPP5000 は九州大学情報基盤セン
ターのマシンを使用した.Table 2 より Xeon は数値計算
Fig. 1
Schematic view of PC cluster system in Kyushu University.
においてコストパフォーマンスにすぐれたプロセッサで
あることがわかる.また1世代前の G4プロセッサは姫
野ベンチマークのような数値計算には適していないこと
がわかる.Xeon 2.2 GHz 16 node(32 CPU)ですでに VPP
5000
1 台程度の性能に達している.最近,NEC が安価
な 1 CPU ベクトルコンピ ュ ー タ SX6i(ほ ぼ VPP5000
に匹敵する性能値を持つ)を発売しているが価格比では
それでも Xeon 16 node 約5
00万円,SX6i 約 1,500 万円と約
3倍程度の格差がある.ちなみに Itanium2 プロセッサで
は 8 CPU 程度で VPP5000
1 台に匹敵する性能を出すこ
とが可能である(価格的には約800万円程度).姫野ベン
チマークの結果を見る限りにおいては,研究室に導入可
能な PC クラスタの性能はすでにベクトルコンピュータ
1台程度の性能に匹敵すると結論されるが一般のコード
Fig. 2
Front view of PC clusters in Kyushu University.
はどうであろうか?次に VPP5000 で用いていたプラズ
マ乱流シミュレーションコードを PC クラスタへ移植し
ベンチマークテストを行ったのでその結果を報告する.
である.導入当時は OS として SuSE Linux 7.1 を使用し
ていたが姫野ベンチマーク,NAS Parallel Benchmarks
シミュレーションに用いている流体コードは空間に関
等の基本的なベンチマークテストを行った後,RedHat
しては有限差分とスペクトル法を混在させており,時間
Linux7.3 お よ び Score5.0.1 へ ア ッ プ グ レ ー ド し た
[1].
に関しては線形部分を LU 分解を用いて陰解法で解き,
我々の研究室のPCクラスタの性能評価の詳細は文献[2]
移流項は予測子修正子法で進めるアルゴリズムを用いて
で報告されているが,ここでは手短に姫野ベンチマーク
いる.今回のテストでは DO LOOP を並列化し MPI̲
Table 1
Xeon 1.7 GHz/2.2 GHz
PGI Fortran
Environment (Processor, Compiler, NIC) of benchmark machines.
P II 400 MHz
Fujitsu Fortran
Score5.0.1
100Base-T
1000Base-T
Table 2
CPU/PE
1
2
4
8
1
6
3
2
Xeon
1.7 GHz
593 Mflops
1112 Mflops
1936 Mflops
2608 Mflops
−
−
GS320 731 MHz
Compaq Fortran
G4 667 MHz
Gnu Fortran g77
VPP5000
VPP Fortran
Crossbar SW
1000Base-T
Crossbar SW
Performance of Himeno benchmark.
Xeon
2.2 GHz
676 Mflops
1198 Mflops
1781 Mflops
2584 Mflops
3241 Mflops
4896 Mflops
PII
400 MHz
−
169 Mflops
287 Mflops
454 Mflops
−
−
781
GS3
2
0
731 MHz
129 Mflops
264 Mflops
562 Mflops
957 Mflops
−
−
G4
667 MHz
95 Mflops
201 Mflops
383 Mflops
−
−
−
VPP5
0
0
0
4173 Mflops
8235 Mflops
15668 Mflops
22157 Mflops
−
−
Journal of Plasma and Fusion Research Vol.79, No.8 August 2003
Table 3 Performance of MPI version of spectral code.
CPU
1
2
4
8
MPICH-1.2.4
Case (A)
179.34 sec
100.08 sec
63.44 sec
51.90 sec
MPICH-Score
Case (A)
178.01 sec
96.25 sec
57.33 sec
45.16 sec
VPP5000
Case (A)
134.67 sec
69.22 sec
36.74 sec
20.77 sec
MPICH-1.2.4
Case (B)
402.07 sec
216.83 sec
129.63 sec
216.60 sec
MPICH-Score
Case (B)
409.41 sec
406.96 sec
125.40 sec
177.63 sec
ALLREDUCE でデータを寄せ集める初歩的な手法を用
ストが低い Linux を利用し(当時はインターネットの回
いた.Table 3 に結果を示す
(単位 sec)
.コードサイズと
線速度が遅く,CD-ROM 購入が必須であり,コストは0
して(A)
128×32×16
(約 500 MB)
と(B)
128×64×16(約
ではなかった),必要最小限の部品を組み立てて IBM 互
800 MB)の2種類を調べた.500 MB のコードサイズの
換 PC を自作することにした(その頃,後に全国チェーン
場合,1 CPU/PE の比較から明らかなようにベクトル化
となる PC 部品販売店が,大学の近くに開店したことも
効率はさほどよくなく,ほとんどスカラー性能で決まっ
幸いした)
.しかしながら,1台の PC では,ワークス
ているようである.CPU 数を増加させた場合,MPICH
テーションに比べると,やや計算速度が劣る.大量生産
に比べて MPICH-Score の方がよい結果が得られたのは,
による価格低下が予想される PC を有効に利用するため
通信性能差によるものと考えられる.8 CPU で比較した
には,分散メモリ型の並列計算が必然的と考えた.分散
場合,VPP5000 の約4
6%程度のパフォーマンスを達成し
メモリ型の並列計算ライブラリとしては,PVM が主流
ている.一方,800 MB のコードサイズの場合は 4 CPU
であったが,新しく規格が定められた MPI の方が明快で
あたりで最大性能に達しており,それ以上のCPU数では
あったので,アルゴンヌ国立研究所で開発され,公開さ
逆に性能が劣化している.これは,キャッシュサイズや
れていた実装 MPICH を採用することにした.また PC
データの通信量に起因していると考えられる.今後,
間のネットワークは,出たばかりの 100 Mbps Fast Eth-
コードの最適化を行っていく必要があろう.
ernet を利用することにしたが,8ポートのハブの価格
が20万円台であった(1年後には,ハブの価格は 1/10
現在までに得られた経験から言えば,1 GB 以下のコー
になっていた).
ドなら単純な並列化を行い,ベンチマークテストで最適
な CPU 数を見いだし実行させるのが無駄の少ないやり
科研費で8台分の部品を購入し,平均1台3時間で自
方である.それ以上のコードサイズになるとコードのア
作したのが,Table [
4 3]に示すクラスタ A である.For-
ルゴリズムにもよるがある程度,通信の最適化は覚悟す
tran コンパイラとしては,Portland Group の PGI コンパ
る必要がある.ひとつの目安としてコードサイズが 8 GB
イラをインターネットで購入して使用してみると,GNU
を超える巨大なシミュレーションに対してはスーパーコ
Fortran
(g77)よりも,実行速度が3〜4倍速く,さらに
ンピュータを使用し,それ以下のものは PC クラスタへ
コンパイルも体感で10倍速く,感激した.早速,微視的
移行するのが得策だと考えられる.大学の1研究室で維
不安定性における固有値問題の並列処理,フォッカープ
持・管理が可能な PC クラスタサイズは現在のところ8
ランク方程式による速度分布解析の磁気面毎の並列化,
〜16 CPU 程度だと考えられる.また,Itanium2 や Op-
波動伝播解析における行列方程式解法の並列化等を行
teron プロセッサを搭載した 4 CPU 構成の SMP の市場価
い,1998年春の物理学会シンポジウムで報告した[4].
格が下がってくれば(現在約500万円程度),MPI に依存
この PC クラスタは京都大学に管理換えされた後,
することなく自動並列化が可能なのでそれもひとつの選
CPU 2台を搭載 し た マ ザ ー ボ ー ド に 入 れ 換 え ら れ,
択枝と考えられよう.
CPU1
6台からなるクラスタ A'に発展し,計算能力は約
4倍に増強された.このように,ケース,電源,ハード
6.
3 導入例 B
ディスク,CD-ROM ドライブ,FD ドライブ,グラフィッ
京都大学大学院工学研究科原子核工学専攻プラズマ物
クカード,ネットワークカード等を再利用して,低価格
理工学研究室における PC クラスタの端緒は,1
997年に
でシステムを増強できるのが,自作の利点であった(最
さかのぼる.当時は岡山大学工学部電気電子工学科に在
近は,CPU 消費電力の増大のため電源の規格が変わった
籍し,HP 製ワークステーションのハードウェア価格と
り,マザーボードに各種ボードの機能が搭載されたりす
ソフトウェア更新費用に音を上げて,ソフトウェアのコ
るので,利点は減ってきた).
782
Special Topic Article
Examples of Construction of PC Clusters
Table 4
Cluster
A
A'
B
C
D
Year/Month
1997/08
1999/12
2000/08
2001/10
2002/08
A. Fukuyama et al.
List of PC clusters.
CPU
Intel Pentium II 266 MHz
Intel Pentium III 500MHz Dual
DEC Alpha 21264 600MHz
Motorola PowerPC G4 867MHz
Intel Xeon 2.2GHz Dual
Memory
256 MB
256 MB
768 MB
640 MB
2 GB
Number
8 CPU
16 CPU
4 CPU
8 CPU
32 CPU
問題を解決することが難しいからである.そのため,
2000年の段階で,最も高速の汎用 CPU は,DEC の Alpha シリーズであった.クロック周波数が他に比べて高
Xeon CPU2台搭載のサーバ用マザーボードを,大型静
く,複数の浮動小数点演算装置を備えており,高性能の
音ファンが利用できる通常のタワー型シャーシに入れ
Fortran コンパイラもあいまって,多くの研究室で導入
て,16台 32 CPU 構成とすることにした.Fig. 3 に示すよ
されていた.同年8月,科研費を投入して4台を購入し,
うに,2台のラックを背中合わせにし,クラスタ C と合
出たばかりの 1 Gbps の Gbit Ethernet で接続した.演算
わせて24台とディスプレイ2台を設置している.以前は
速度は速く,その点では満足したが,放熱ファンの騒音
ディスプレイとキーボード・マウスの切替器を使用して
には閉口した.学生の居室に設置したので,4台の電源
いたが,ソフトウェア・インストール後は滅多に利用す
を入れると会話ができなくなる程の騒音のため,運転時
ることがなくなるため,現在では手動で接続ケーブルを
間が限られることになった.また Gbit Ethernet ネット
差し替えることで対応している.このクラスタのため,
ワークカードのドライバソフトに問題があり,その性能
学生は別の部屋に移動してこの部屋は計算機専用とな
がなかなか生かすことができなかった.
り,電源容量を増やすために3回目の電源工事を行う必
要があった.
2001年には,核融合科学研究所の LHD 計画共同研究
が認められ,異機種間および遠隔地間の接続をテーマに
現在主に使用されているクラスタ C,D における姫野
計算機クラスタを設置することになった.当時,Mo-
ベンチマークテストの結果は,前節の Table 2 に含まれ
torola/IBM の PowerPC を用いた Power Mac が FreeBSD
ている.現在のところ,32 CPU の性能を十分発揮できる
をベースにした Mac OS X に移行し,Linux との親和性も
計算コードは,光線追跡法による波動伝播解析やフォッ
高くなったので,クラスタ C として採用した.当初は放
カープランク方程式による速度分布解析のように,各光
熱ファンがなく無音の Power Mac G4 Cube 8台の予
線あるいは各磁気面の計算を独立に行うことができる
定 で あ っ た が,急 に 生産 休 止 と な っ た た め,通 常 の
コード等に限られる.多くのコードで利用されている行
Power Mac6台で構成した(後に8台に増強).Table 2
列方程式解法の並列化も進めているが,32 CPU におい
に示されているように,PowerPC G4 は浮動小数点演算
ても性能を維持するためには,さらに改良が必要であ
装置が1台しかなく,2台備えている Pentium 4/Xeon
る.
と比較すると,同一クロックであっても性能は見劣りす
計算機クラスタの今後の課題は,ハードウェア面では
る.しかしながら,クラスタの遠隔管理に利用できるRe-
CPU の省電力化,64 bit 化であり,ソフトウェア面では
mote Desktop 等のソフトウェアが整備されており,通常
の Linux よりも管理は容易である(今夏発表される予定
の IBM 製 PowerPC 970 を使用した Power Mac では,浮
動小数点演算装置が増え,64 bit のアドレス空間を利用
することができ,クロック周波数が高くなるので,期待
している).
2002年には科研費基盤研究(B)が認められ,新たな計
算機クラ ス タ D を 構 成 す る こ と に な っ た.この頃に
は,ラックマウント型あるいはブレード型のように集積
度の高いサーバ用ハードウェアが各社から販売されるよ
うになっていたが,最高性能の CPU は搭載されていな
Fig. 3
かった.その理由は,集積度が高いので最新 CPU の発熱
783
Cluster C and D.
Journal of Plasma and Fusion Research Vol.79, No.8 August 2003
クラスタ管理ツールの標準化と考えている.省電力化は
て い る.ま た こ の CPU は ハ イ パ ー ス レ ッ デ ィ ン グ
クラスタの高集積化および静音化に不可欠であり,アド
(Hyper-Threading,HT)に対応しているため,仮想的に
レス空間の 64 bit 化は 2 GB 以上の大型計算コードには必
24 CPU のシステムとして機能することができる.この
須である.今後 64 bit CPU へどれだけスムースに移行で
場合1 PC内のメモリは,一つのシステムバスを通して同
きるかが重要になると考えている.また,計算機台数が
一 PC 内の複数の CPU がアクセスする共有メモリにな
増加するにつれて,各計算機のソフトウェアの更新,電
る.もちろん異なる PC のメモリは分散メモリというこ
源管理等が負担となってきている.利用者管理やジョブ
とになる.この時点で通信や各種ベンチマークテストを
管理には Globus
[5]等のプロジェクトで管理ツールが開
行った.1 PC の中で 1 CPU を使う場合はほぼ台数にス
発されているが,これまでクラスタ管理者がスクリプト
ケールした高速化を得た.問題は,各種ベンチマークを
を作成して行ってきたハードウェアの管理を,一元的に
実行したとき,1 PC あたり 2 CPU や 4 CPU(HT)で動
行うことのできる管理ツールの開発が,計算機クラスタ
かした場合の使用 CPU 数に対するスケーリングが必ず
のさらなる発展に不可欠であろう.
しも良くなかったことである.このことについては後で
すこし詳細に記述する.
6.
4 導入例 C
Xeon ベースのクラスタは,2003年の3月に は 2 PC
山口大学工学部電気電子工学科プラズマエネルギー工
を追加して 8 PC(16 CPU,HT で仮想的に 32 CPU)のシ
学研究室での PC クラスタの導入例について書く.最初
ステムにした.全体のシステムメモリ容量は 8 GB であ
の PC クラスタは2001年の10月頃に作った.研究室の PC
る.最終的に総額260万円程度のシステムになった.本年
は,ほとんどパーツを買っての自作であったので比較的
度は 16 GB への増強を予定している.このシステムの写
簡単に Pentium4(1.7 GHz)ベースのクラスタを組むこ
真を Fig. 4 に示す.写真左側にあるのが 8 PC のクラスタ
とができた.まず 2 PC で組んで,うまく動くようになっ
で,ラックを作り,上下に4台ずつ配置している.クラ
た後で,2 PC を買い足して 4 PC のクラスタにした.結局
スタの上に設置しているのが,各 PC から切り替え器を
80万円程度のセットになった.超並列コンピュータで粒
通して繋がっているモニタとキーボードである.このモ
子シミュレーションコードを並列化した経験があったの
ニタとキーボードを使うことは,クラスタの初期設置時
でコードの並列化は容易であった.2002年の10月には
とトラブル時以外はない.右側の縦長ラックの下左側に
Xeon(2.4 GHz)ベースで 6 PC のクラスタを組んだ(LHD
あるのがホストコンピュータ[Pentium4(2 GHz)]で,
計画共同研究).パーツや OS の詳細は Table 5 にまとめ
その上にあるのがホストコンピュータのモニタとキー
ている.OS は RedHat 7.3(Linux)を,クラスタ環境と
ボードである.普通はこのモニタとキーボードを利用し
しては SCore 5.2.0 を採用した.対称型マルチプロセッサ
(Symmetric Multiple Processor,SMP)に対応していて
1 PC の中に CPU が2個入っているデュアルプロセッサ
(Dual Processor,DP)のため 12 CPU のシステムになっ
Table 5
Detail of the Xeon-based PC cluster.
CPU
Memory
Mother Board
Hard Disk Drive
Network Interface
Card
Power
Switching HUB
Operating System
Xeon 2.4 GHz Dual (Intel)
DDR-SDRAM DIMM, PC-2100 ECC
Registered 512 M×2 (Transcend)
SUPER P4DME-M, Intel E7500 (SUPERMICRO)
MX2F040L0, IDE 40GB ATA133 5400
rpm (Maxtor)
PWLA8490XT, Intel Pro/1000XT, Intel 82544EI Gigabit Controller (Intel)
420 W
FXG-08TE (PLANEX)
RedHat 7.3, SCore 5.2.0
Fig. 4
784
Front view of PC clusters in Yamaguchi University.
Special Topic Article
Examples of Construction of PC Clusters
A. Fukuyama et al.
ている.モニタの上に写っている横長の装置が前出の切
室のスペース占有率が半分ですむという利点がある.一
り替え器である.切り替え器の上に2段になった横長の
方では,PC 内の,CPU からメモリへのアクセスは,同一
装置がギガビットのスイッチングハブである.それぞれ
のシステムバスを経由するため,2個のCPUがシステム
が8個のコンセントをもっている.縦長ラックの一番上
バスを取り合って思い通りの計算速度が得られない場合
にあるのが低コストを目指した Celeron(2.0 GHz)ベー
がある.このため,シングル CPU でクラスタを組むか,
スの2台のクラスタ(10万円程度)で,一番下右側にあ
デュアルCPUでクラスタを組むかは,コストとスペース
るのが SMP の性能評価用に導入した DP の Athlon MP
の両方を考慮して判断する必要がある.シングル CPU
(2000+)からなる 1 PC のクラスタである.我々は 2 CPU
で台数を倍にすると,スイッチングハブのコンセントも
それぞれを,MPI を使って利用しているため最小のクラ
2倍のものが必要になることにも留意する必要がある.
スタになっている.写真には写っていないが,この右横
我々の場合は,設置スペースの制約が大きく,最終的に
に 前 出 の Pentium4ベ ー ス の ク ラ ス タ が 置 か れ て い
デュアル CPU のシステムを採用した.また,採用した
る.すべてのクラスタはホストコンピュータを通してア
CPU は最新のテクノロジーである HT に対応してい
クセスできるようになっている.また,すべてのクラス
る.HT では,通常 CPU の演算器はすべてが使われてい
タには,ホストコンピュータのハードディスクがマウン
るわけではないの で,1個の CPU を論理的 に2個 の
トされている.クラスタを構成するPCでは,低コストを
CPU のように取り扱い,あいた演算器をうまく 論理
目指して,CD-ROM等の不要なものは省いている.Xeon
CPU 間で分轄して使うことにより計算速度を向上させ
ベースのクラスタを除いたクラスタは 100 Mbps のス
る(1 CPU が仮想 2 CPU として働く).
我々は,姫野ベンチマーク等により性能評価を行っ
イッチングハブでそれぞれ2回線づつ接続されている.
また Xeon ベースのクラスタでも,2番目のイーサネッ
た.1 CPU/1 PC の場合使用 PC の数にほぼ比例した性
トボードは 100 Mbps 対応のものが使われている.
能が得られた.Medium サイズの姫野ベンチマークの結
果は,0.68 Gflops
(1 PC),1.38 Gflops
(2 PC),2.69 Gflops
Fig. 5はXeonベースのクラスタを裏から見たものであ
る.配線は思ったほど複雑ではない.各 PC からモニタ,
(4 PC),5.14 Gflops(8 PC)であった.1 PC あたり,2
キーボードとマウスに向かうケーブルが切り替え器のと
CPU(DP)や 4 CPU(HT)を使用した場合,我々のシ
ころに集まっている.また電源ケーブルと第1と第2の
ステムでは,1 CPU からの性能の劣化が測定された.こ
イーサネットケーブルが見える.
れは,1 PC 内の 2 CPU(または仮想 4 CPU)が同一のシ
Xeon ベースの PC では,1 PC 内に 2 CPU があり,HT
ステムバスを使用するため,システムバスを通るデータ
に対応している.1 PC 内に 2 CPU を内蔵する PC は,同
量が飽和しているためと考えられるが,直接の証拠はな
一の CPU 数に対して PC の台数が半分になるため,研究
い.通常のベンチマークでは全計算時間しか出力されな
いため,性能劣化の原因を究明するのは困難である.そ
こで,プラズマのシミュレーションでよく用いられる粒
子コード[Particle-in-cell(PIC)コード]
[6-8]を並列化し,
計算時間の内訳を詳細に調べた.用いたのは2次元の静
電近似粒子コードである.計算の内訳は,以下のように
3つに分類される.
!個々の粒子(電子とイオン)の位置から,メッシュ
グリッド上の電荷密度を計算する電荷分配(Charge
Assignment)
.
"メッシュグリッド上の電荷密度からメッシュグリッ
ド上の電位と電場を求める場の量の計算(Field Calculation)
.
#粒子の位置での電場をメッシュグリッドでの電場か
ら内挿して計算し,粒子の位置と速度を1時間ス
Fig. 5
テップ幅 !!だけ進める粒子加速(Particle Pushing).
Rear view of the Xeon based PC cluster in Yamaguchi
University.
並列計算の場合には,各CPUで計算された電荷密度の
785
Journal of Plasma and Fusion Research Vol.79, No.8 August 2003
合計を計算し,各CPUに分配する通信
(Communication)
CPU(HT)で計算した場合を比較している.2 CPU で計
が加わる.並列化には MPI を用いた.実際のプログラム
算した場合1 CPUの計算と比較して計算時間が同じであ
では,sumdim というサブルーチンを,電荷密度を計算
れば理想である.図では,通信を除いて理想的な場合に
した後で呼ぶのみであり,極めて簡単である.sumdim
近いが,すこし計算時間が増加している.同様の計算を
では各 CPU に存在する配列の合計を取り,各 CPU に分
HTオフですると1 CPUと2 CPUの違いはほとんどない.
配している.ここで重要なことはデータの送信と受信に
4 CPU(HT)の場合は,実際には 2 CPU を使って計算を
非同期の関数を使うことである.同期関数を使うと通信
しているため,1 CPU の場合の2倍をどの程度下回るか
データの大きさがバッファの大きさを超えた場合,正し
で,HT の有効性が評価される.電荷分配で6−8%,粒
い結果が得られない.以上述べた手法は粒子分割とい
子加速で20−25%の高速化が実測された.場の量の計算
い,各 CPU が場の量のコピーを持ち,粒子に関する計算
では,3−7%計算時間が増加しているが,場の量の計
[!と#]は各 CPU で完全に独立になる.また,場の量
算が全計算時間に占める割合が小さいため問題ではな
の計算["]に関しては,すべての CPU で完全に同一の
い.通信にかかる時間は CPU と PC の数に比例して増加
計算を行っている.粒子分轄では,メッシュグリッドの
している.(4 PC×2 CPU の場合,通信時間が 4 PC×4
大きさに対して粒子数が十分大きい場合高速化が期待で
CPU(HT)の場合より多いが,これも HT オンの場合に
きる.その他の並列化手法として領域分轄[9,
10]をする
生じる現象であった.一般に HT オンで,2 CPU で使う
方法もあるがここでは触れない.
場合,計算時間のばらつきが比較的多い.2 CPU を使い,
1 PC あたりの粒子数を 262,144 とし,メッシュグリッ
HT を使わないなら,HT オフにしておいた方が計算時間
ドを64×64とする.使用する全 CPU 数を !とすると,全
のばらつきも少なく良い結果がえられるようである.)全
粒子数は,262,144×! となる.この場合,! を増やして
計算時間でみると,4 CPU(HT)の場合,8−15%の高
も計算時間が変わらないのが理想になる.計算時間を比
速化が得られた.全体として 1 PC の内部で,4 CPU で
較したものを Fig. 6 に示す.Fortran77を使 用 し,PGI
使った場合 HT による高速化の恩恵が,それほど大きな
コンパイラを用いている.1,000時間ステップでの計算時
ものではないが,MPI を使ったプログラムで簡単に得ら
間を計測している.HT のオン・オフは BIOS を介してな
れたのはちょっと驚きであった.HT は最近のプロセッ
されるため,切り替えには PC を立ち上げ直す必要があ
サ技術のトレンドであり,現状では,メリットはそう大
る.ここではすべて HT オンで計算している.1 PC あた
きくはないが,これから注視していく必要があると思わ
り 1 CPU で計算した場合,2 CPU で計算した場合と 4
れる.この例では,システムバスを通る情報の流れが飽
Fig. 6
Performance of a 2-D PIC code.
786
Special Topic Article
Examples of Construction of PC Clusters
A. Fukuyama et al.
和していないため,比較的簡単に 2 CPU や 4 CPU(HT)
の伊藤公孝教授に感謝いたします.導入例 A(九州大学)
の効果が得られていると考えられる.メッシュグリッド
では,システムのインテグレーション,ベンチマークテ
のサイズが大きくなって,キャッシュメモリの書き換え
ストに携わっていただいた北沢充弘氏に感謝します.導
が頻繁になると,システムバス上のデータの流れが飽和
入例 B(京都大学)では,クラスタの仕様策定,製作,設
し 1 PC 内の CPU の数による高速化が得られない場合も
定管理,コード開発に携わっていただいた大学院生の内
ある.ここでの例は比較的DPやHTの性能を引き出しや
田盛久氏(現在エッチ・アイ・ティー勤務)に深く感謝
すい例になっていると思われる.しかしながら,この例
いたします.導入例 C(山口大学)では,福政
は粒子シミュレーションに対して HT の効果を始めて実
ご支援に感謝します.また実際の部品の発注から,クラ
証したものであり,DP や HT を利用して並列コードの高
スタの組み立て,設定,テストに携わっていただいた技
速化を目指すときのヒントにもなっていると思う.
術専門職員の田内
あった平田
6.
5 終わりに
修教授の
康氏,平成1
4年度の卒業研究生で
明氏,現在,博士前期課程2年生の岡本庸
平氏に感謝します.
PC クラスタの導入例を示した.実際のノウハウや,経
験・苦労話のほうが,読者の PC クラスタの導入に際し
参考文献
て有用な情報になると考え,それらに重点をおいた記述
[1]詳細はホームページにて公開.
http://www.riam.kyushu-u.ac . jp / sanny / activity /
member/kitazawa/kitazawa.html
[2]北沢充弘,矢木雅敏,伊藤早苗:PC クラスターの性
能評価と今後の計算機シミュレーション,情報基盤
センター年報第3号(九州大学情報基盤センター,
2
0
0
3) p.15.
[3]詳細はhttp://p-grp.nucleng.kyoto-u.ac.jp/サイト内参
照.
[4]福山 淳:日本物理学会第5
3回年会シンポジウム「プ
ラズマ・核融合分野における並列計算」1pP7.
[5]http://www.globus.org/参照.
[6]C.K. Birdsall and A.B. Langdon, Plasma Physics Via Computer Simulation (Institute of Physics Publishing, Bristol and Philadelphia, 1995).
[7]T. Tajima, Computational Plasma Physics: With Applications to Fusion and Astrophysics (Addison-Wesley Publishing Company, Inc., 1989).
[8]内藤裕志:プラズマ・核融合学会誌 74, 470 (1998).
[9]H. Naitou, T. Sonoda, S. Tokuda and V.K. Decyk, J.
Plasma Fusion Res. 72, 259 (1996).
[1
0]内藤裕志:プラズマ・核融合学会誌 72, 737(1996).
になっている.いずれの場合も CPU の数の増大に対し
て,計算速度の高速化が得られている.一方では,CPU
の数を増やした場合,問題によっては,計算速度の飽和
傾向も観測され始めている.これらの飽和傾向は,PC
間通信を最小化するアルゴリズムの開発で解決できる可
能性がある.また最近のCPUは大規模のキャッシュメモ
リを搭載しているため,キャッシュメモリを有効に使う
プログラムの開発(これは特に,Dual CPU や HT 搭載
CPU の場合に有効)
も重要と考える.PC クラスタの発展
として,異なったサイトの異なった機種の PC クラスタ
を結合して全体として並 列 計 算 を 行 う グ リ ッ ドコン
ピューティングがある.グリッドコンピューティングを
実際に運用してその可能性を実証することは今後の課題
である.
謝辞
本小特集第6章で記述されている PC クラスタ導入の
一部は文部科学省核融合科学研究所の LHD 計画共同研
究の一環として行われました.文部省核融合科学研究所
787