検索
特集

普通のパソコンをスパコン並みに――ある高校生たちの挑戦(2/2 ページ)

広島国泰寺高校科学部物理班は、KNOPPIXを利用し、学校の情報教室のPCでMPI並列処理が可能なPCクラスタシステムを開発した。64台の並列で最高9476MFLOPSという高性能が求められた経緯などを追った。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

そしてスパコン並みの性能に

 このPCクラスタシステムの性能は、MPICHに付属する並列処理プログラム「cpi.c」と、非圧縮流体解析コードの性能評価のために理化学研究所の姫野龍太郎氏が作成した姫野ベンチマークテストで検証が行われた。表1から3がその結果である。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

図1スパコンとの比較(クリックで拡大します)

考察

 表1から、PCの台数が倍になると計算時間がほぼ半分になっていることが分かる。また、表2に示すようにPCの台数が8台以下の場合は、実行速度が台数とともに増加している。

 サイズがSの場合は、8台をピークに処理速度が減少する逆転現象が見られる。また、Mサイズの場合、処理速度のピークは16台にある。Lサイズでは64台で飽和している。そして、64台での処理速度はXLの計算サイズ(1024 x 512 x 512)のとき最高で9475.7MFLOPSであった。10GFLOPSにも達しようかというこの性能は、スパコンの実測性能に匹敵する性能である。

 並列処理の速度向上に限界があることは、アムダールの法則として知られている。並列処理であってもすべての処理が並列化できるわけではなく、必ず逐次処理の部分が存在するからだ。アムダールの法則では、例えば並列部の比率が0.9のとき、PCの台数をどれだけ増やしても10倍以上の速度向上は得られない。

 同校では、アムダールの法則からPCの台数が増えると処理速度は増加し、増加率は飽和すると予想していたが、実際には、台数が増えると処理速度が減る場合があることが分かった。これはサイズが小さい場合は計算回数が多く、データ量の小さい通信を送受信する回数が大きくなるので通信のオーバーヘッドが多くなり全体の処理速度が遅くなるためと考えられる。

 また、図1に示したようにスパコンの場合はS、Mサイズでも速度向上が低下していない。すなわち並列化効率の低下が起きにくいことが分かる。これはスパコンの通信性能が優れているためと考えられるが、スパコンでもAlphaServerSCの場合には、Sサイズ64並列で速度向上の飽和が見られる。このことから、問題の大きさが小さい場合に並列台数を増加させると並列化効率が低下する現象はPCクラスタだけでなくスパコンでも起こりうるということを示唆している。

 一般に並列処理が必要なプログラムは問題の大きさが非常に大きく、今回のベンチマークのように小さなサイズの問題を多くのPCで並列計算することは少ないので、並列処理による速度向上のメリットは十分にあると考えられる。しかし、今回のテストで速度向上のために問題の大きさに対して必要以上に並列台数を増やすことは逆効果であることが分かった。したがって、並列処理を実行するときには、個々の並列プログラムに適した並列台数で実行する必要があることなどの有益な情報が得られた。


 同校の科学部物理班は、このテーマで高校生のための科学技術コンテストの全国大会「JSEC2004」にエントリー、1次審査を通過して11月6、7日に行われた最終発表に臨んだ。結果、同校は見事に優秀賞(3位に相当)を受賞し、2005年5月に米国で開催される国際学生科学フェア「ISEF」へ参加することになった。今回得られた成果を基に、同校がISEFで活躍するとともに、来年のSuperConに出場できることを願ってやまない。

前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る