バージニア工科大学は、15,000マイル以上もの光ファイバで構成される国立ラムダレール
ネットワーク(NLR)の一部になっていて、新しいスーパーコンピュータを接続することになっ
ていた。また、テラスケールクラスタは学内の様々な部署の協力を取り付けたという点でも
成功だった。
計画は2003年3月から開始され、まもなく予算を割り当ててもらえることになった。ここでや
っと計画に光明が見えてきたのさ。大学側からの仕様は「64bit以上のシステム」ってだけだ
った。実際知らない人は多いと思うんだが、スーパーコンピュータとただのクラスタの違いは、
その接続形態にあるんだ。クラスタはただのギガビットイーサネットで接続されているし、ス
ーパーコンピュータはもっと高速のインタコネクトを使用している。
ちなみに、新しいスーパーコンピュータがNLR、インターネット、インターネット2に接続可能
なことも仕様に入っていた。この辺は今年の秋には可能になると思う。
【利用形態】
・研究者が簡単に使える
・共同研究のサポート
・外部の共同研究者からの利用
利用にはなるべく制限を少なくして、セキュリティの必要な部分以外はあまり制約をかけ
ない。
【稼動スケジュール】
・6/23: Power Mac G5の発表
・6/26: Appleとの商談開始
・9/5-11: G5納入
・9/23: 初期稼動開始
・10/1-11月: システムの最適化
・11月中: アプリケーション稼動開始。MPIベースのコードから利用可能
・2004年1月: フル稼働
【コスト】
アーキテクチャの選択:限られた予算の中でもコストパフォーマンスが最重要
コストはコンピュータ、メモリ、ストレージ関連、インタコネクト接続関連、ケーブルの合計で
$5.1百万。建物の改装に$2百万、UPSと電源に$1百万。多分、世界一安上がりなスーパ
ーコンピュータだし、大学の共同利用のコンピュータとしてはもっとも高性能だと思う。
そいいう意味で、このシステムの建設自体が画期的なんじゃないかな?
【プロセッサアーキテクチャの選択】
18ヶ月かけてスーパーコンピュータを設計する暇はなかった。買ってくるなら3ヶ月で済む。
・Dell: Itanium2システム。8月中旬納入可
・IBM: Opteronシステム
・HP
どれも見積もりは$8-10百万だったので×。IBMのPPC970システムは来年1月納入だが、
Appleの方は9月初の納入が可能だった。結局、納期が決め手でPower Mac G5に決定。
【プロセッサアーキテクチャの選択】 (続)
システムは、1100台のDual G5は各ノードが4GBのメモリと160GBのSATA HDDを持つ。
これに加えて、176TBの2次記憶、4台のコンパイル&ジョブ開始用ノード、1台の管理ノー
ドで構成される。
Dr.Varadarajanは導入が決まるまでMacintoshを使ったことはなかった。まず、カーネルの
マニュアルから読み始めたとか...
G5のプロセッサは2つの倍精度FPUを持ち、8GFlopsのピーク性能を持つ。これってデスク
トップコンピュータがCray X1の1ノードより速いということだね。だからdual G5は16GFlops
のピーク性能を持ち、合計(Rpeak)は17.6TFlopsということになる。
【インタコネクトアーキテクチャ】
Infinibandスイッチを採用して、各ノードは全二重の20Gbpsで接続される。このために24台
の96ポートInfinibandスイッチを購入してファットツリー構成のトポロジで接続している。接
続機器はスイッチ、カードともにMellanox社の製品だ。各ノードは他の全てのノードと通信
可能で、ノード当たり150,000コネクションをサポートしている。これでレイテンシが10msと
いうのは素晴らしい性能だ。
【インタコネクトアーキテクチャ】(続)
各ノードの直接接続されるのは端末側の18台のスイッチで、96ポートのうち64ポートをノー
ドへの接続に用いる。6台のスイッチはバックプレーン用で端末側スイッチの32個のポート
はこのバックプレーン用スイッチへの接続に使用し、5-6個単位で各バックプレーン用スイッ
チに繋がる。合計スイッチ帯域は46Tbpsに及ぶ。すごいだろう?
- Half Constant Bi-Sectional Bandwidth(CBB)構成のトポロジについて -
半分のノードがもう一方の半分と625Mbpsの全二重で通信した場合、PCI-Xの理論的な
限界に相当する。通常、科学技術アプリケーションで完全に同期してノード間の通信が発
生する訳では無いのでHalf CBBトポロジの制限に達することは無い。
Gigabit Ethernetが管理用、2次記憶へのNFS接続、ジョブ開始用などに用いられる。5台
のCisco 4500スイッチ(1台あたり240ポート)を用いた。
【建物、設置作業関係】
耐火建築で床面積9,000平方フィート、空調完備、二重化された電源とネットワークの、予
備発電設備付。
設置面積は4,000平方フィート。
電源容量は3MW。二重化されてUPS付。エアコンは2M BTU以上の冷却能力を持ち、ラッ
クマウント熱交換器と天付チラー付。[以下、しばらくエアコンの説明]
G5搬入時は、電源が入るのを確認した後、メモリとカード増設してラックに収めるのに一台
当たり2時間くらいだった。
【ソフトウェア関係】
現在OS X 10.2.7で稼動。InfinibandのドライバはMellanox製。専用のMPIライブラリを使用。
コンパイラは
・C & C++: IBMのxlcとgcc3.3
・Fortran: IBM xlf, NAGware
キャッシュを利用したメモリ管理の最適化のために専用kextを開発。MVAPICHをMac OS X
に移植
【信頼性関連】
一般に大規模クラスタは信頼性の問題がある。バージニア工科大ではクラスタ管理シス
テム"Deja-Vu"をMac OS Xに移植。Deja-Vuの機能は、
・カーネルとは独立に、システムのチェックと回復を行う
・クラスタ全体の状態のモニタ
・定期的なシステムチェック
・アプリケーションの動作中のチェック可能
・ユーザーおよびシステムからチェック開始可能
・正常なノードへのプロセスの移動
等々。
【インタコネクト性能】
MellanoxのInfinibandドライバとVerbs APIは8月中旬に完成。Infinibandの帯域は800MB/s
でMPIアプリ上での性能は700MB/s程度(MPIレイテンシで8-14us)。PCI-Xのタイミングパ
ラメータの変更でVerbs API経由の帯域は870MB/sまで向上。
【Linpack性能の話】
n=500,000の問題で性能を発揮する。GEMMルーチンの効率は84.1%を達成。GLASライブ
ラリはGoto's BLASとAppleのveclibを混在させて使用。
現在の成績は9.555TFlopsだが、さらに10%上は可能。最初に10TFlopsを越えた大学の
計算機センターにになれるだろう。
【Q&A】
Q: 専用ソフトの開発にかかった時間は?
A: 毎日18時間働いて2ヶ月。一人でやったよ
Q: 最初の起動のときは少しづつ電源を入れていったの?
A: もちろん。そうじゃないと負荷が大きくなるから。
Q: データを持ち出すにはどうするの?
A: 各ノードにはスクラッチ用の容量が空けてあるのと、Infiniband経由で外部ストレージを
接続できるようなポートが設けられている。
【Q&A】(続)
Q: 記憶容量は?
A: 40-50TBくらい
Q: ノードの動作チェックはどうするの?
A: 各ノードは専用のデーモンが走っている(Deja-Vuのことか?)
Q: TCFで動作するアプリケーションの例は?
A: ナノスケール電子工学、量子化学、化学シミュレーション、航空力学、細胞シミュレーショ
ン、分子統計、音響解析、等々
Q: 専用ソフトは誰が作ったの
A: Apple, Mellanox, Liebert, Ciscoからの協力もあったし、JPOのGoto氏やOSUのDr. Panda,
UTKのAndy Petitのコードを流用している。
【Q&A】(続)
Q: なんだかみんな凄いですね
A: 技術的なことを聞きに来る人も多いから、G5ベースのクラスタはもっと増えるんじゃない
かな。
Q: 専用ソフトウェアはどういう状態なの?
A: オープンソースかって?大半はOSUのライセンスになってます。メモリ管理用のkextは
オープンソースにする予定。Mellanoxのドライバなんかは聞かなきゃ判らないけど、今ま
ではだいたいオープンソースにしてるみたい。
Q: Infinibandのコストは?
A: カードとスイッチで$1.6百万。ケーブルが$176,000。
【Q&A】(続)
Q: なんでItaniumやOpteronを使わなかったんだよ!
A: まず第一にコストパフォーマンスが問題。それにOpteronはピーク性能がG5の半分だし、
Itaniumは最高でも1.5GHzでG5の2GHzより低かった。そもそも、現状のLinpackレポート
の4位は同じ2000台クラスのItanium 2でしょ。うちより低いし。
Q: Pantherにアップグレードする予定は?
A: Infinibandドライバも、専用kextも問題なく動いたので、数週間中にアップグレードの予定。
Q: 興味を持っている人は沢山いると思うけど、技術文書は出してくれますか?
A: TCFのノウハウを利用して、64ノード位からのパッケージ化されたクラスタを製品化しよう
と思ってますけど、どう?
【Q&A】(続)
Q: ECCメモリが無い件はどうする気?
A: Ars Technicaの掲示板とかで、ボロボロに貶されてる件は知ってる(笑) 今のところシ
ステムチェックでメモリエラーが出たことは無いし、そもそもメモリのエラーが問題になる
訳でもなさそう。だいたい、貶してるやつらはLinpackのことを判ってるのかな?計算結
果が16桁の精度で正しいことが必要なんだけどね。
将来的にはECCをシステムに導入する計画だけど、それまでは、計算は2回行って検証
もらうことになる。
Q: 結局、どのくらいのピザとコーラが必要になりました(笑)?
A: コーラは知らんけど、ピザは5-600枚だね。