このページの本文へ

前へ 1 2 次へ

ロードマップでわかる!当世プロセッサー事情 第287回

スーパーコンピューターの系譜 パーツ構成を変えて長年運用したASCI Red

2015年01月19日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/

  • この記事をはてなブックマークに追加
  • 本文印刷

EagleとKestrelという基板で構成される
ASCI Redの内部構造

 ASCI Redはどんな構成だったのかを説明したい。ASCI Redは、I/Oサブシステムを搭載するEagle Boardという基板と、I/Oサブシステムを持たないKestrel Boardという基板の2種類で構成される。

Eagle Boardの構造。Eagle Boardは64bitのローカルバスにPCIのI/Oブリッジがついているところが次のKestrel Boardとの最大の相違になる。出典はIntel Technology Journalの1998 Volume 2(以降の画像も同じ)

Kestrel Boardの構造。Kestrelは、2P構成のマシンを2組搭載した形。したがってKestrelは1枚で2ノードという扱いになる

 搭載されるプロセッサーは、いずれも200MHz駆動のPentium Pro(2次キャッシュ256KB)で、市販のPGAパッケージのものがそのまま搭載されている。チップセットはIntel 450GXがそのまま利用されており、バンクインターリーブを使うことで最大533MB/秒の帯域を確保していた。

 ちなみにこの当時はまだSDRAMはなく、FastPage DRAMを利用してのことで、ECC付きの36ピンSIMMを使う構成だったと思われる。SIMMあたり32MBがこの当時の最大容量であり、これを利用した場合にEagleで1GB、Kestrelで512MBという搭載量になるが、資料によればインテルから出荷した時の構成は128MB/ノード(Kestrel1枚あたり256MB)という構成だったようだ。

 またNICから出ているICFはInterConnect Facilityの略で、次に説明するMeshへの接続用リンクである。

 ASCI Redで肝になるのは当然ながらネットワークである。Paragonの場合、iPSCシリーズのハイパーキューブを捨てて2次元のMesh Network構成を取ったが、これはASCI Redにも引き継がれた。

 下の画像がネットワークの構成図である。ちなみにMeshの規模は最大38×38だが、実際は38×32で構成されている。

ネットワークの構成図。Plane Aはピーク400MB/秒ながら実効360MB/秒というあたりがやや不思議であるが、なぜPlane AとBで性能が違うかの記述は今回発見できなかった

 おもしろいのはMeshが2プレーン構造になっていることだ。ノード2つあたり1つのMRC(Mesh Routing Chip)が搭載されており、各々のMRCには6つのリンクが出ている。

 XYZ軸方向にそれぞれ2つづつのリンクが用意される形で、XY軸方向は同一プレーン内のMRC同士の接続に、Z軸方向は2枚のノードでつながる形である。Meshそのものは双方向リンクで、それぞれ片方向あたり400MB/秒の帯域を持っている。

 やや話が戻るが、Eagle/Kestrelに搭載されているNICは2つのポートを持っており、通常は片方だけを使ってMRCと接続するが、ディジーチェーンさせることも可能だ。

 ただこの場合、ノードあたりの帯域は片方向あたり200MB/秒に落ちてしまう計算になるので、それがいやなら破線のようにそれぞれがMRCに接続することになる。ただその分MRCが多く必要になるわけで、このあたりは構成次第で変化できるようになっている。

 資料によれば、それぞれのキャビネットには4つのカードケージと電源ユニット、それと冷却ファンが搭載されており、1つのカードケージにはEagleもしくはKestrelを合計で8枚まで実装できる(組み合わせは自由)。

これも2006年の運用停止時の式典の写真より。各々のキャビネットには4段のケージが用意され、そこに2枚のカードを装着するシャーシが4つ装着される構造になっているのがわかる

 フルにKestrelを搭載すると、キャビネットあたり256CPUという計算で、36キャビネットほどあれば必要な数がそろう計算になるが、実際はEagleも相応に混ぜる必要があるため、合計で85キャビネット構成となっている。これがどういう構成になっているのか、というのが下の画像だ。

フルにKestrelを搭載した構成。Plane AとBの2つのMeshは、キャビネット全体をまたぐ形で構成される

 最終的な構成は以下のようになっており、Kestrelが2268枚とEagleが76枚という計算になる。

ASCI Redの各ノード数
ノード 数量
Compute Node 4536
Service Node 32
Disk I/O Node 32
System Node(Boot) 2
Network Node(Ethernet/ATM) 10

 ただ、フルにCPUを実装すると9224個のPentium Proが集積される計算だが、実際には9216個となっており、8個ほど足りない。おそらくいくつかのノード(ネットワークノードが怪しい気がする)は、1CPU構成で運用されたのではないかと思う。

 またここには入っていないが、ほかにコンピュートノードでは16ノードのHot Spareが用意されている。

 ただこの役割分担は、わりと簡単に変更できたようだ。先にTOP500で1.338TFLOPSという数字を記録したことを紹介したが、この際のCPU数は9152個となっており、コンピュートノード以外にサービスノードと、おそらくはI/Oノードのどれかも計算に割り当てることで実現したものだと思われる。

構成を変えて約10年運用
その使い勝手が評価され後継機が誕生

 以上のことから1TFLOPSを超える性能を実現したASCI Redであるが、1999年後半からプロセッサーをPentium Pro 200MHzに代えてPentium II Xeon 333MHzにアップグレードされた。当然ながらパッケージも全然違うしチップセットも異なるので、Eagle/Kestrelのカードそのものが交換されたものと思われる。

 おもしろいのは、運用側でいろいろ構成を変えていることで、実際2000年と2005年で比較すると以下のようにだいぶ数字が異なることだ。ちなみにキャビネット数は104に、設置面積は2500平方フィートにそれぞれ増えている。

ASCI Redの年代別ノード数
ノード 2000年 2005年
Compute Node 4640 4510
Service Node 16 52
Disk I/O Node 74 73
System Node(Boot) 2 2
Network Node 20 12

 このアップデートされたASCI Redは、続くASCI Blue PacificとASCI Blue Mountainに一時期1位と2位を奪われていたが、1999年のTOP500で2.739GFLOPSを叩き出し、再び1位に返り咲いており、そのまま2006年まで運用を続けることになった。

 最終的には2006年6月29日をもってASCI Redの運用は終了するが、あまりにASCI Redの使い勝手が良かったがために、この後継システムとしてのASC Red Stormが2005年から運用を始めることになる。こちらの話はもう少し後の回で解説するとして、次回はASCI Blueを取り上げよう。

2015年1月29日追記
変更したプロセッサーは本当にXeon?

 ASCI Redのプロセッサーは、Pentium Pro 200MHzに代えて1999年後半からPentium II Xeon 333MHzにアップグレードしたと本文で記述した。ところがPentium II Over-Drive processorに交換したという資料も残っている。読者から指摘を受けたこともあり、どちらが正しいのか検証してみよう。

 TOP500のサイトでは、Pentium Proから333MHzのPentium II Over Drive processorへの交換が行なわれたとしている。これならばPentium ProのSocket 8のまま、プロセッサーのみアップグレードが可能である。

 しかし、TOP500にあるASCI RedのページではPentium Pro 333MHzと表記されている。実はTOP500の表記はこれに限らずあまりアテにならず、整合性を取ることにはあまり熱心ではないようだ。

 その一方で「Pentium II Xeonを搭載した」という表記も多い。一例を挙げるとCray User Groupに残っているPDFで、ASCI RedとRed Stormを比較しているが、明確にPentium II Xeonと記載されている。

 ローレンス・リバモア国立研究所が発表したDelivering Insight of ASCI(PDF)を読むと、“In 1999. the system received an upgrade to its processors and memory boosting its power to 3.15 teraFLOP/s.”という表記があり、つまりプロセッサーと一緒にメモリーまでアップグレードしたとしている。

 このあたりをまとめると以下のような結論が導き出せる。

  • Pentium II Over Drive processorをPentium II Xeonと表記する事例は見たことがない。インテル自身が両者を明確に分離してブランディングしているため、本当にPentium II Over Drive processorが使われたのか疑わしい。
  • 確かにプロセッサーのみのアップグレードも可能だが、メモリーをアップグレードすることはできない。それをするためにはチップセット交換が必要なので、Eagle/Kestrel Boardそのものの交換が必要になる。ボードごと交換するなら、そもそもPentium II Over Drive processorにこだわる必要がない。
  • Pentium II Over Drive processorを使うなら、ボードの数が増えないためキャビネットが増える理由がわからない。キャビネットの数字は、サンディア国立研究所の情報ページをWeb Archiveから検索して取得したので、さすがにこれに嘘はないと信じたい。

 ということで、最終的にPentium II Over Drive processorではなくPentium II Xeonを搭載したと筆者は判断した。

 以下は推測だが、おそらく最初は試しにノードをPentium Pro 200MHzからPentium II Over Drive processor 333MHzに切り替えてみたのだろう。

 実際ウィキペディアには“The major customer for the production of these chips was Sandia National Laboratories' ASCI Red supercomputer, which had all 4,510 CPUs upgraded in 1999”という記述がある。

 ところがこの文章が間違っているあたり、これも信頼性に疑問が残る。4510はCPU数ではなくノード数なので、実際には倍必要だからだ。

 当初はこれでいけると思ったが、なにかしら問題があり、最終的にボードごと交換になったのではなかろうか。このあたりは詳細な記述がどこにも見当たらないので、筆者の憶測にすぎないのだが。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン