このページの本文へ

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

スーパーコンピューターの系譜 SIMD+MPPで設計された「GF11」

2016年02月01日 11時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII.jp

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

プロセッサーの動作を制御する
Central Control

 このような構造から、GF11はプロセッサーあたり20MFLOPSの演算性能になる。これを512プロセッサー動作させれば10240MFLOPS、スペアも全部使って576プロセッサー動作にすると11520MFLOPSという演算性能になるわけだ。

 ただWTL1032/1033は本当に、レジスターに値を入れて何サイクルか待つと結果がレジスターに出てくる「だけ」のものなので、細かい実行制御や、そもそもどのデータに対して演算を行なうか、といったことは外部で制御する必要がある。

 これを行なうのがCentral Controlのブロックである。ちなみに個々のプロセッサーにはSRAMおよびDRAMも搭載されており、SRAMは短期記憶、DRAMは長期記憶という使い分けになっていた模様だ。

 WTL1032/1033以外の回路はFairchildのFAST TTL Logic ICで構成され、レジスターファイルはFairchildの100K ECLが利用された。レジスターファイルのアクセス時間は12.5ナノ秒(80MHz)となっている。

 ちなみにCentral Controlからは200bit(当初は180bitと記述されていたが、拡張されたらしい)のマイクロコードの形で各プロセッサーの動作制御が行なわれた。

 マイクロコードは、576個のプロセッサーすべてにブロードキャストする形になっており、その意味ではMPP(超並列システム)ではあってもMIMDではない。すべてのプロセッサーが同じマイクロコードを受け取って、同じ処理を行なうからである。Central Controlは当初はIBM PC/ATで実装していたようだ。

コントローラーの概要。すべてのプロセッサーが同じマイクロコードを受け取って、同じ処理を行なう仕組みだ

演算の高速化のために搭載された
Memphis Switch

 プロセッサーとつながる“Memphis Switch”の内部構造が下の画像である。それぞれのスイッチは24入力、24出力(入出力幅は9bit)になっており、これを24個並べると576ポートになる計算だ。

“Memphis Switch”の内部構造。スイッチの名前が“Memphis Switch”なのであって、Memphis Switchという一般名称のスイッチがあるわけではない。なぜこの名前なのかも不明

 ただこのままではストレージを接続できない。これもあってか、当初は512+64プロセッサーという構成を予定していたが、後にはプロセッサーの数を512+54の566に減らし、代わりにストレージを10個接続している。

 各スイッチはLSI LogicのセミカスタムCMOSで製造されたチップを利用しており、1つのスイッチには18個のチップが利用された。つまり3段のMemphis Switch全体では、1296個のチップが使われていた計算になる。

 Memphis Switchの目的は、演算の高速化である。例えば行列演算などでは、転置(行方向と列方向を入れ替える)がしばしば要求される。メモリー中のデータに対して転置をかけるとオーバーヘッドが大きいが、GF11の場合はMemphis Switchで転置を実行できるので、計算が容易になる。

 ちなみに3段もの構成ではあるが、大抵のアプリケーションでは1段ないし2段で必要な並べ替えができると考えていたようだ。並び替えだが、Memphis Switchそのものは1024種類の構成をプリロードしておくことが可能で、200ナノ秒で構成を切り替えられるとされていた。

 システム全体で言えば、およそ40万個のチップで構成された。576個のプロセッサーは20本の19インチラックに収められ(これには空調と電源も含まれる)、これとは別にMemphis Switch用に19インチラックが5本利用された(ただしうち2本は純粋に配線が通っているだけ)。Central Controllerはラック2つで、システム全体ではおよそ200KWの消費電力となっている。

 余談になるが、プロセッサーボードは合計で660枚オーダーされ、うち440枚がデバッグをしてインストール、40枚が予備に回され、55枚が破棄されたとか。なかなか大変な話である。

 話を戻すと、性能/消費電力比は57.6KFlops/Wで、これはQCDOCの51.7KFlops/Wよりも優れている計算になるが、QCDOCは倍精度の浮動小数点演算での数字なのに対し、GF11は単精度浮動小数点演算なので、同列に比較はできない。

 とはいえ、10GFLOPSクラスのマシンが1985年の時点で稼動を始めることになり、ここから物理学者の出番となった。

 1989年に、D. Weingarten博士と共同で作業していた物理学者のJ.C.Sexton博士が発表した“The Status of GF11”という論文によれば、比較的早期からGF11の性能を引き出せたとある。

 GF11用のCコンパイラを利用してQuenched QCDを計算した際には、ピーク性能の80%を利用でき、ガウス=ザイデル法を利用した反復計算ではピーク性能の90~95%を利用できたとしている。

 とはいえ、まったく独自のアーキテクチャーで構築された、しかも世界で唯一の計算機だけに、ソフトウェアは全部自分たちで記述する必要があり、これには相応の時間がかかる。

 GF11は基本単精度演算のみだが、解くべき問題のサイズを大きくしていくと、一部で倍精度が必要になったり、WTL1032/1033には搭載されていない平方根や逆数平方根、指数/対数/三角関数/乱数などの特殊演算など、いろいろソフトウェア面での対応が必要になった。

 さらにはQCDの演算の中には3×3の行列演算が含まれるので、この対応(GF11は基本偶数回の演算を前提にしている)も必要だった。

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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