本文へジャンプ

HPCにおけるパラダイムシフト

HPCシステムのイノベーションの現状と新システムの可能性

IBMがローレンス・リバモア研究所に納入したBlue GeneR /Lは、2005年11月に280テラFLOPS(1秒間に280兆回の浮動小数点演算)という他社製では最速だったNASA Columbiaの5倍以上のLinpack性能を 発揮しました。このBlue Gene/Lは、1ワットあたり0.25ギガFLOPS以上と極めて低い消費電力で高い性能を引き出し、ハイ・パフォーマンス・コンピューティング(HPC)における価格性能比の常識を覆しました。
Linpackベンチマーク性能で世界のトップ10にランクインしたIBMのシステムは、Blue GeneだけでなくPOWER5? やPowerPCR 970で構成されたものもあります。
IBMは、2006年2月にPOWER5+とPowerPC 970MPを搭載した新しいシステムを出荷し、2006年後半には新プロセッサーのCell Broadband Engineプロセッサーを搭載したブレードサーバーを出荷する計画を公表しています。昨年11月に開催されたスーパーコンピューティングの国際会議SC│05の結果から現在の最速コンピューターの姿を資源の利用効率の観点から検討し、続いてCellを含む新しいプロセッサーを搭載したシステムの実力と可能性を探ってみました。
(2006年3月)

最近のプロセッサー事情

IBMリサーチのシステム担当のバイスプレジデント ティラク・アガワラ氏の写真
バイスプレジデント
ティラク・アガワラ氏
スーパーコンピューターのトップ10に入るシステムは、3年半ごとに性能が約10倍向上してきました。コンピューターの世界では1965年以来、約2年ごとに性能が2倍になるというムーアの法則が知られています。ムーアの法則はCMOSプロセッサーの処理能力の向上が、バイポーラ・プロセッサーの3倍のペースで進むことを示し、CMOSが価格性能比で優位に立つことを予言しました。その予言どおり、現在ではほとんどのコンピューターがCMOSプロセッサーを採用しています。しかし、最近のプロセッサーの性能を観察すると、この法則どおりに性能が向上していないことが分かります。インテルが2002年に示したロードマップでは、平均年率35%で性能が向上すると予測していましたが、実際には15%しか性能は上がりませんでした。2005年だけを見ると、7%程度しか性能が向上していません。
IBMリサーチのシステム担当のバイスプレジデント、ティラク・アガワラは、CMOSプロセッサーがクロック周波数を上げて処理速度の向上を追求した結果、バイポーラ・プロセッサーのように原子炉と同等の発熱に達するという問題に直面していることを指摘しています。「バイポーラ時代には1平方センチあたりの消費電力が1990年まで指数級数的に増大して13ワットに達しましたが、CMOSプロセッサーは1990年代半ばからバイポーラと同じペースで電力消費量が上昇するようになり、2005年にバイポーラの限界と同等のレベルに達しています。私たちは現在、バイポーラと全く同じことが、CMOSでも起こることを経験したのです」と語っています。電気アイロンの1平方センチあたりの消費電力が5ワットですから、13ワットはかなりの発熱量になります。
近年ではクロック周波数を2002年以前の半分以下のペ ースでしか上げられなくなっていますが、それでも演算処理とデータ処理の能力に対する要求は今後も高まるばかりです。プロセッサーのクロック周波数を2年で倍にしても、メモリのDRAMのアクセス速度を倍にするには5年以上かかり、クロックとメモリ・アクセスの速度差がますます広がっています。また、プロセッサーが空回りする時間 が増加し消費電力は増大しますが、命令を実行する処理性能はそれほど向上しません。このため、複数のプロセッサーをワンチップ化したマルチコア・プロセッサーに、メモリ遅延の間に処理する仕事を増やすマルチスレッドを組み合わせて、処理能力を数倍に引き上げる技術が採用されるようになりました。それでも、能力向上に対する要求には追いつけませんので、従来より格段に多くのプロセッサーを束ねて、並列処理により総合能力を引き上げるしかありません。
アガワラは「消費電力と性能は比例するわけではありません。統計的に見て、低消費電力の小さなプロセッサーを使うことで、高いスケーラビリティを引き出すことはできるのです。私たちはチップ・レベル、サブシステム・レベル、システム・レベルだけでなく、アプリケーションやビジネスプロセスのレベルまで、どこまでモジュール化できるか調べ、標準の技術やプロトコルで利用できるシステムを追求しました。そして、電力効率を念頭において、アクセルレータで処理能力を向上する可能性をあらゆるレベルで検討しました」と語っています。
アガワラは1980年代にIBMリサーチの超並列コンピュータ(MPP)開発プロジェクトに関わり、1992年のIBM RS/6000 SP1以来の製品開発および米エネルギー省のASCI(Accelerated Strategic Computing Initiative)プロジェクトにおける大規模システムの実装を一環して率いてきた人物です。

常識を覆したBlue Geneの設計

Blue Geneは1999年12月に上記の状況を分析して、多数のプロセッサーを協業させることにより、タンパク質の折りたたみ現象をシミュレーションできる1ペタFLOPS(1秒間で1,000兆回の浮動小数点演算)の性能を実現するためのステップとして、その1/3のピーク性能367テラFLOPSを目指して設計が始まりました。HPCの世界では、並列処理でも最高の処理速度をもつプロセッサーを採用しないと、最大の性能は引き出せないという考えが重視されていました。Blue Geneはこの常識に挑戦し、PowerPC 440という1999年に発表された通信機器などに組み込まれている安価なプロセッサーをコア部分に採用しています。
PowerPC 440は1999年に0.18ミクロンの技術で製造された555MHz のプロセッサーでしたが、Blue Geneでは0.13ミクロンの技術でクロック周波数を700MHzにし2.8ギガFLOPSの性能をもつ2つの浮動小数点演算ユニットを追加したプロセッサーを2個、ワンチップに実装し、1ワットあたり250メガFLOPS以上の処理性能を実現しています。この チップを、面積84平方センチ、高さ190センチのラ ックに1,024個積載することにより、ラックあたり5.73テラFLOPSの性能を28.1kWという低消費電力で引き出し、1立法メートルあたりの処理能力を3.5テラFLOPSに向上しました。
3GHzを超す高クロックのプロセッサーが世の中に存在する中で、Blue Geneはその1/4以下のクロック周波数のプロセッサーを採用しています。しかし、プロセッサーの速度、キャッシュ・メモリの経済性、メモリ遅延などを総合的に判断した結果、低消費電力の安価なプロセッサーを使い、その並列度を高めることにより史上空前の処理速度を実現しました。64ラックに131,072のプロセッサーを積載して、約60平方メートルの床面積に集約して367テラFLOPSのピーク性能と280.7テラFLOPSのLinpack性能を実証しました。

SC┃05における世界最速計算機

スーパーコンピューターTop 500は、1988年にフロリダ州オーランドで開催されたSC1988以来、世界中のコンピューターからLinpackベンチマークで最速のシステムを選び、半年ごとに内容を更新しています。スーパーコンピューティングの国際会議SCの正式名称は、International Conference for High Performance Computing, Networking, Storage and Analysisで、米国計算機学会(ACM)と米国電気電子学会(IEEE)の共催で、2005年は11月12日から7日間ワシントン州シアトルのワシントン州コンベンション・アンド・トレード・センターで開催されました。Linpack(Linear systems of equations)ベンチマークは、1979年に米国イリノイ州のアルゴンヌ国立研究所で考案された様々な行列計算プログラムをコンピューターに実行させて、持続的な実効性能を測定しています。
SC┃05におけるTop 500の結果では、Top 10リストの半分にIBMのシステムが入り、Top 100では49のシステムがIBM、Top 500に入ったIBMのシステムは219でした。Top 500のシステムの内360がLinuxクラスターでしたが、IBMはこの内158のシステム構築に携わりました。Top 500のシステムの処理能力の総計は2,300テラFLOPSになりますが、IBMのシステムはこの53%に相当する1,214テラFLOPSを占めました。
1位になったローレンス・リバモア研究所のBlue Gene/Lは、2004年11月6日にペンシルバニア州ピッツバーグで開催されたSC┃04で、32,768プロセッサー、70.72 GFLOPSでTop 10リストに登場し、2002年から首位を維持していたNECの地球シミュレーターの倍の性能を発揮しました。その直前の10月26日に、NASAエイムズ研究センターのColumbiaが8,192個のItanium 2で42.7GFLOPSを引き出し世界最速を宣言していましたが、Blue Gene/Lはその10日後にColumbiaの1.65倍のLinpack性能で首位になりました。
2005年11月のSC┃05では、Blue Gene/Lは1年前の1/4モデルからフル構成の131,072プロセッサーコアのシステムになり、280.7テラFLOPSのLinpack性能を発揮して、地球シミュレーターの8倍、10,240プロセッサー、51.8テラFLOPSに拡張したColumbiaの5.4倍の実力を示しました。さらに、IBMがローレンス・リバモアに納入したASCI Purple(アスキーパープル)は、IBM POWER5プロセッサーをColumbiaと同じ数使用して、63.4テラFLOPSのLinpack性能を発揮して、3位に入りました。ASCI PurpleはIBM eServer pSeries® Model 5-575(p5-575)クラスター・ノードにより構成されたシステムで、1.9GHzのPOWER5のコアを8-wayにしたシステムフレームを131台(12,576コア)クラスタリングし、93.4テラFLOPSのピーク性能を備えています。
また、8位にランクインしたIBM MareNostrumは、IBMとスペイン教育科学省が2004年11月5日に発表し、バルセロナ・スーパーコンピューターに納入されたIBM JS20ブレードサーバーです。SC┃05開催時点でのMareNostrumは、JS20を2,400台クラスタリングして28テラFLOPS近い性能を引き出し、欧州最速のシステムになりました。
Top 10リストに掲載されるコンピューターは約3年半で性能が10倍になるため、1位のマシンも7年たつと500位に転落すると言われています。ちなみに1位のマシンと500位のマシンの性能には、2桁の開きがあります。

2005年11月のTop10
プロセッサー プロセッサー数 Linpack性能:GFLOPS
IBM Blue Gene/L PowerPC 400 0.7GHz 131.072 180.660
IBM Blue Gene Watson PowerPC 440 0.7GHz 40.960 91.290
ASCI Purple Power 5 1.9GHz 10.240 63.390
SGI Columbia I tanium 2 1.3GHz 10.240 51.870
Dell Thunderbird Xeon EM64T 3.6GHz 8.0000 38 .270
Cray Red Storm Operon 2.0GHz 10.880 36.190
NEC 地球シミュレーターカスタム 1.0GHz 5.120 35.860
IBM MareNostrum PowerPC970 2.2GHz 4.800 27.910
IBM Blue Gene PowerPC 440 0.7GHz 12.288 27.450
Cray Jaguar Opteron 2.4GHz 5.200 20.527

高速計算能力と資源効率

かつて世界最高速だった地球シミュレーターは5,120個のAP(Arithmetic Processor)で構成され、個々のAPは4-wayのスカラー演算ユニットと8つのベクトル演算ユニットを備えています。APは0.15ミクロンの線幅で20.8ミリ角のダイに、約6,000万のトランジスタを集積し、500MHzのクロック周波数で動作します。APの消費電力は140Wで、高さ2メートルのラックに16個のAPを収納すると、消費電力16kWで0.13テラFLOPSの性能を発揮します。このため、地球シミュレーターは1ワットあたりの処理能力は8メガFLOPS、1立方メートルあたりの処理能力は0.05テラFLOPSになることが分かります。40テラFLOPSのピーク性能をもつ地球シミュレーターは、約500平方メートルの床面積に320台のラックを設置して実現されています。この最大構成のシステムの消費電力は6,000kWになり、年間約6億円の電気代がかかります。地球シミュレーターは、文部科学省の資料によると約460億円で開発されています。
一方、現在最高速のBlue Gene/Lはラックあたり28.1kWで5.73テラFLOPSの性能を発揮し、1立法メートルあたりの処理能力は3.5テラFLOPSでした。そして、最大構成の64ラックを約60平方メートルの床面積に設置でき、地球シミュレーターの約8倍の性能を発揮しますが、消費電力は地球シミュレーターの1/3以下の1,800kWです。Blue Geneでは、地球シミュレーターのピーク性能に匹敵するシステムを7ラック(14,336コア)で実現でき、1/20の価格、1/30の消費電力(196.7kW)、1/50の床面積で導入することが可能です。
1ラックあたり64個のItanium 2を収納して、12.2kWの消費電力で0.38テラFLOPSの性能を備えているNASAエイムズ研究センターのColumbiaは、1ワットあたりの処理能力は31.5メガFLOPS、1立法メートルあたりの処理能力は0.2テラFLOPSになります。このようにBlue Geneは1立法メートルあたりの処理能力でColumbiaの17.5倍の性能を発揮しますので、Itanium 2やOpteronのクラスターと比べても、格段に高いエネルギー効率で1桁高い処理能力を実現しています。

Blue Geneの利用状況

Blue Gene/Sのシステム・ボードを持つ、日本IBMディープ・コンピューティング開発研究所部長 西野清志 氏の写真
ディープ・コンピューティング
開発研究所部長
西野清志 氏
ローレンス・リバモア国立研究所はSC┃05で、Blue Gene/Lで3次元分子動力学プログラム(ddcMD)を使い、超高温下のウランとタンタルの凝固現象を調べるため、5億2,400万個の原子のシミュレーションを行い、2005年のゴードン・ベル賞を受賞しました。トップ10リストで91テラFLOPSのLinpack性能をだして2位につけたIBMワトソン研究所のBlue Gene/Wは、網膜に含まれる受光色素ロドプシン(Rhodopsin)の43,000の原子の結合状態を画面上に3次元グラフィクスで再現し、動力学的に機能と周辺の物質との相互作用を調べることができるようにしました。
日本では東京・お台場近くにある江東区青海の産業総合研究所
生命情報科学研究センター(CBRC)が、2005年1月にAIST Blue Proteinシステムと呼ぶ4ラック構成のBlue Geneを導入し、タンパク質の立体構造予測やタンパク質と化合物のドッキング計算を行っています。このシステムは8,192個のプロセッサーコアを搭載して、22.8テラFLOPSのピーク性能をもち、18.2テラFLOPSのLinpack性能で2005年11月のトップ500リストの12位に入りました。タンパク質と化合物のドッキング計算は、新薬の開発に役立つ情報をもたらしますが、Blue Proteinは1日あたり3万ペアのドッキング計算を行うことができます。
スイス連邦工科大学(Ecole Polytechnique Federale de Lausanne)も、2005年6月に大脳新皮質の10,000のニューロン柱を形態学的および電気化学的にリアルタイムに表現するために、Blue Gene4ラック構成のEPFL Blue Brainを導入しました。EPFLでは過去10年以上かけて収集した脳の化学的データを使い、大脳新皮質のシミュレーションに取り組んでいます。脳全体をシミュレートするためには、10ペタFLOPSから1,000ペタFLOPSの処理能力が必要になると見られていますが、この研究は10年から15年かけてその目標に向けて踏み出すことになります。

Cell Broadband Engineを搭載したブレードサーバーの写真
Cell Broadband Engineを搭載した
ブレードサーバー
日本の高エネルギー加速器研究機構(KEK)は、素粒子のクォークの動力学的シミュレーションのために、2005年9月にBlue Geneの導入を決めました。KEKでは量子色力学(QCD: Quantum Chromo-dynamics)の計算を、飛躍的に高速化するためにBlue Geneを選択しました。このシステムは10ラック構成で2006年3月に稼働を開始しましたが、57.3テラFLOPSのピーク性能があり稼動時点では国内最高速のシステムです。
Blue Geneの最小構成は1,024ノード(2,048コア)ですが、日本IBMのディープ・コンピューティング開発研究所は132ノード(264プロセッサー)でノードあたりのメモリを1GBにした0.72テラFLOPSのBlue Gene/Sを設計しました。ビジネス向けのBlue Gene/Sは通常のオフィス環境で使える空冷設計になっており、9U(369ミリ)の高さで45センチ×65センチの床面積に設置できる小型のマシンです。IBM System p5™ などのSMPサーバーにBlue Gene/Sを接続して金融機関が行うシミュレーションを高速処理して、SMPサーバーに結果を返すことができます。

HPCを担うブレードサーバーの可能性

Cellプロセッサのブロック図とチップ写真
Cellプロセッサのブロック図
とチップ写真
トップ10リストで地球シミュレーターに次いで7位に入ったバルセロナ・スーパーコンピューター・センターのIBM MareNostrumは、2.2GHzのPowerPC970を搭載したIBMのブレードサーバーJS20をMyrinetで4,800台クラスタリングしたものです。PowerPC 970は、POWER4のアーキテクチャーをベースにして2003年に登場したシングルコアの64ビット・プロセッサーです。2005年7月に発表されたPowerPC 970MPはデュアルコア・プロセッサーで、グラフィック処理やHPCで活用されるSIMD(Single Instruction Multiple Data)向けの浮動小数点演算ユニットと命令セットを備えています。IBMは2006年3月に、PowerPC 970MPを搭載したブレードサーバーJS21を出荷しました。
JS21には2.7GHzの2-wayのモデル31Jと2.5GHzの4-wayのモデル51Jがあり、2-wayで17.65GFLOPS、4-wayで32.22GFLOPSのLinpack性能を発揮します。ブレードサーバーを格納する高さ9UのIBM BladeCenter® Hは、今年後半に従来の4倍の10Gbit Ethernetおよび10GbitのInfinibandスイッチを最大4台搭載できるようになります。PowerPC 970MPは、コアあたり1MBの2次キャッシュを備え最大16MBのメモリを搭載でき、プロセッサーとメモリ間の帯域幅が8.8GB/秒から9.6GB/秒と大きなデータ転送能力を備えています。
BladeCenter HにはJS21を14台格納することができ、1つのBladeCenter Hで最大56プロセッ サーによる450GFLOPSのLinpack性能を発揮することができます。42Uサイズのラックを使用すると、同じ床面積にJS21を84台(336プロセッサー)を積載できますので、ラックあたり2.7テラFLOPSのシステムを構成できることになり、10ラックほどでMareNostrum、13ラックで地球シミュレーターに匹敵するLinpack性能を実現できることになります。JS21モデル51Jの価格は639,000円ですので、約7億円で地球シミュレーター並のLinpack性能を実現するシステムができる計算になります。また床面積も少なくてすみます。

Cell Broadband Engine

Cellの浮動小数点コアとパイプラインの構成図
Cellの浮動小数点コア(上)と
パイプラインの構成図(下)
IBMは2006年2月にさらに野心的なブレードサーバーを出荷する計画を明らかにしました。IBM、ソニー・コンピュータ・エンターテインメント(SCEI)、東芝が2001年3月から開発に取り組んできたマルチコア・プロセッサーのCellを搭載したHPC向けのブレードサーバーを2006年後半に出荷するという内容です。CellはソニーのPlayStation 3に搭載されることになっているプロセッサーです。
Cellは、90nm、SOI、low-k dielectric、銅配線というIBMの半導体製造技術を用い、PlayStation 2の100倍のパフォーマンスを実現するために、4億ドルの設計費を共同出資してテキサス州オースティンに開設されたSTI(SCEI-Toshiba-IBM)デザイン・センターで開発が進められてきました。CellのアーキテクチャーはPowerPCのコア(PPE)に8つの浮動小数点演算コア(SPE)を組み合わせたもので、PPEが同時2スレッド、各SPEが1スレッドを処理することにより、合計10スレッドの演算を同時に実行することができます。PPEは全てのロード/ストア命令を実行する固定小数点演算ユニット、浮動小数点演算を実行するベクトル・スカラー・ユニットを備え、128ビットのSIMD命令とデータフローを扱うことができます。SPEは256KBのローカルメモリ(SRAM)とDMA(ダイレクト・メモリ・アクセス)コマンドを発行するメモリフロー・コントロール・ユニットを備え、メインメモリのアクセス遅延の間でも、PPEとの間で非同期でデータを転送することができます。

マルチチップ構成にしたCell Broadband Engineの図
マルチチップ構成にした
Cell Broadband Engine
サーバー向けのCell Broadband Engineは、クロック周波数3.2GHzを目標にしており、16バンクに分割できるメインメモリと計算エレメントの総帯域幅は25.6GB/秒、そしてI/Oでもインバウンド35GB/秒、アウトバウンド40GB/秒の帯域幅になる予定です。Cell Broadband Engineはこのようなアーキテクチャーで、221平方ミリのワンチップで単精度浮動小数点演算で256GFLOPSのピーク性能を発揮し、4チップを密結合させて1テラFLOPSのブレードサーバーを設計できるようになっています。Cell Broadband EngineにはPOWER5やPowerPC 970MPと同じようにHipervisorが導入され、マイクロパーティションを設定して複数の異なるOSを同時に実行することができます。
Cell Broadband EngineのPPEはPowerPC互換のプロセッサーコアですが、SIMDマシンとして利用した場合に最も威力を発揮します。SIMDは1つの仕事の流れを処理するために必要な命令で構成されたプログラムを並列処理するアーキテクチャーで、1つの命令コントローラが複数の演算ユニットに同じプログラムで異なるデータを同時に計算させます。IBMでは、下記のようなCellのアプリケーション領域を想定しています。

IBM BladeCenter Hの写真
IBM BladeCenter H
計算結果を求めることが最優先事項のHPCですが、近年では計算結果の可視化、さらにはアニメーションによる仮想世界をシミュレーションに活かして、条件を様々に変化させて分析しようとする傾向が顕著になっています。天体の動き、地球の気象、航空機などの設計、タンパク質の構造と機能分析、ナノマテリアルの開発などでは、仮想世界を活用した研究が盛んに行われています。ビジネスの世界でも物流と在庫の情報を世界地図の上でリアルタイムで把握したり、業績指標を定めて日々の活動を測定して、業績を視覚的に把握して業務を改善したり顧客満足度を向上するために、情報処理を活用しようとしています。
仮想世界で様々な動きを可視化して把握することは、新たな知見の発見と理解を迅速化する上で役立ち、問題の予防や対応力の強化につながります。ただ、動きがスムーズでリアルタイムに近い応答能力をもつ仮想世界を築くためには、可視化するために膨大な数値データを生成することになり、従来とは桁違いの高速計算とデータ転送能力が必要になります。Cell Broadband Engineを搭載したブレードサーバーは、ビジュアライゼーションなど単精度並列計算が得意とするアプリケーション領域で、処理時間とコストを最適化するうえで他では得られない有効なソリューションになるものと期待されています。