2012年2月3日金曜日

世界一のスパコン「京」のすごさ その4


top500リストを見ると、R-peakとR-maxの記載がある。
http://www.top500.org/list/2011/11/100
R-peakはそのシステムの理論性能であり、R-maxはLINPACK時の実際の性能である。
近年、2位の中国天河1Aや5位の東工大「TSUBAME2.0」など、GPGPU(General-purpose computing on graphics processing units )を用いたマシンが上位を占めるようになっている。

GPU(Graphics Processing Unit )は元々はグラフィックアクセラレータであり、画像表示のような単純な演算を行う演算器である。
GPUはCPUの制御の下で用いられる動画信号生成専用の補助演算用ICである。
動画像の実時間内での生成は高負荷な演算能力が要求されるが、その多くが定式化された単純な演算の繰り返しであるためハードウェア化に向いている。
それを数値計算に転用したのがGPGPUである。
GPGPUは比較的シンプルな素子であるため、消費電力も少ない。
また、GPGPUは安価でもあるので開発費を抑えられる効果もある。

ただしGPGPUはその特徴から、単純な演算にしかその性能を発揮できない。
すなわち、計算に向き不向きがあるということである。
条件分岐の少ない計算に対しては性能を発揮できるが、条件分岐の多い計算には向いていないのである。
GPGPUから構成されたシステムの性能を見ると、R-peakとR-maxの差が大きいことが分かる。GPGPUは行列演算が比較的得意であり、連立方程式を解くLINPACKで性能が出やすいのであるが、それでもGPGPUを用いたスパコンではR-peakとR-maxの比、すなわち実行効率は50%強に留まっている。
これに対して「京」の実行効率は93.2%にも及ぶ。

一般の科学技術計算では、LINPACKよりさらに条件分岐の多い複雑な演算を行う必要がある。
であるので多種多様な科学技術計算においてはさらに実行効率は悪くなるであろう。
top500でのランキングは上位であっても、実際の研究・開発には役立たないという懸念も残るのだ。

またGPGPUを用いた計算機は、プログラム方法も特異で難しく、プログラミングの専門家ではない一般の研究者にとっては扱いにくい。
これまでに開発したプログラムもそのまま転用もできない。
プログラミング技術を習得したり、開発済みのプログラムを改編したりする手間と時間があるのなら、多少遅いマシンでもそちらを使うほうが楽だし効率的というものである。
普通の研究者は、プログラミングの専門家ではないのである。
従ってGPGPUマシンを利用し、成果を上げられる研究者は限られてしまい、ユーザーも限定されてしまうという恐れもある。

「京」のコンセプトの一つは<汎用コンピュータ>である。
top500上位ランクインのみが目的ではなく、多種多様な科学技術計算に対して、そのリクエストに応えられることだ。
「京」のLINPACK性能は10ペタフロップスであるが、あらゆる科学技術計算に対しても有効な演算速度、すなわち最低でも1ペタフロップス程度、あるいはそれ以上の性能を発揮することが求められた。
また、これまで培われてきたプログラムやアプリケーションがほぼそのまま動作し、研究者にプログラミングの負担を与えないことも重要である。
研究は「トライアンドエラー」であるから、気軽に何度も利用できるということもスパコンによって研究開発を発展させるためには必要なことなのである。
よって「京」はGPGPUは使用せず、CPUによるシステムを選択したのだ。

0 件のコメント: