COOL Chips 22においてNECの今野良展氏が同社の「SX-Aurora TSUBASA」スパコンについて基調講演を行った。

  • 今野良展

    Cool Chips 22においてSX-Aurora TSUBASAスパコンについて基調講演を行うNECの今野良展氏

NECのAurora TSUBASAスパコンは、ある意味、画期的なベクトルスパコンである。制御用のスカラプロセサは普通のx86サーバで、ベクタエンジンはPCIeカードに搭載されている。ベクタスパコンと言えば、すべて専用のハードウェアで大掛かりというこれまでの常識をひっくり返す設計である。

このような作りで、ベクタプロセサあたり1.2TB/sのメモリバンド幅を持ち、ユーザから見える制御プロセサは標準的なx86/Linuxを使っており、多くのユーザになじみ深い環境で使えるベクタスパコンになっている。そして、高性能の実現という点では、NECの自動ベクトル化コンパイラなど、NECの長年の蓄積が使えるようになっている。

なお、次のスライドにはVE-VE Direct Communication Supportとあるが、具体的な説明が無く、どのようなものか分からなかった。

  • SX-Aurora TSUBASA

    Aurora TSUBASAはx86 CPUにベクタエンジンをつけたというアーキテクチャになっている。x86/Linux環境でベクタスパコンが使える。そして、InfiniBandのインタフェースを持ち、MPIが使える (この連載のすべての図は、COOL Chips 22におけるNECの今野氏の発表スライドのコピーである)

この構造は、x86 CPUにGPUをつけたスパコンと似ているが、大きな違いがある。GPUを使う場合は、ホスト側で走るアプリケーションプログラムから、GPUで走る比較的小さな関数ごとに呼び出しが必要であり、このCPUとGPUの間のやり取りが無視できないオーバヘッドになる。

しかし、Aurora TSUBASAでは、基本的にx86からベクタエンジン側のアプリケーションの呼び出しは1回である。ただし、ベクタエンジンではI/Oができないため、ベクタエンジンからCPUを呼び出してシステムコールを処理するという構造になっており、その部分ではCPUとベクタエンジンのやり取りが発生する。しかし、GPUの場合と比べるとベクタエンジンの方がやり取りの回数は少ない。

なお、初期のGPUはGPU上で走るカーネルから別のカーネルを呼び出すことはできなかったが、現在は、NVIDIAのダイナミックパラレリズム機能などがサポートされ、GPUで実行している関数からGPUで実行される別の関数を呼び出すことが可能になってきており、CPU、GPUの切り替えのオーバヘッドは減少してきている。

  • SX-Aurora TSUBASA

    Aurora TSUBASAではアプリケーションは原則VE側で実行されるので、CPUとVEの切り替えのオーバヘッドが少なくて済む

ベクタエンジンを搭載したPCIeカードには、左の図のような空冷のものと、右の図のような水冷のものがある。空冷フィンはVapor Chamberを使って内部にヒートパイプが入ったような構造になっており、熱伝導率を改善し240Wを超える発熱を冷却できるようになっている。一方、水冷のコールドヘッドの方は約40℃の水で冷却し、300Wを超える発熱を冷却できる。

  • SX-Aurora TSUBASA

    空冷のフィンをつけたPCIeカードと水冷のPCIeカードが用意されている。空冷はカードに小型のファンを付けたタイプとファン無しのタイプがある。ファン付きのカードはタワー型やワークステーション型のシステム用である。ファン無しの空冷カードはサーバ用で、サーバ内の冷却風で冷却を行う。水冷は大型スパコン用である

(次回は5月14日に掲載します)