世界のスーパーコンピュータとそれを動かす人々


5月 22, 2017

NEC、持続的なアプリケーション性能と電力効率を実現する新しいベクトル・アーキテクチャをリリース

HPCwire Japan

スポンサー記事

Louis Vistola

多くの業界におけるハイパフォーマンス・コンピューティングのワークフローはメモリ帯域幅によって制約を受けており、標準のアーキテクチャでは満足することができない。メモリ帯域幅がボトルネックならば、実際の科学アプリケーションの持続的性能は制限されるのだ。

メモリ帯域幅の不足の影響を受けるワークフローは、計算流体力学、構造解析、物理系をモデル化する多くのアプリケーションなど、非常に幅広いアプリケーションが含まれている。これらのワークフローで使用されるコードの大部分はベクトル処理に非常に良く適応させることができる。具体的には、基礎となるコード構造は本質的な並列性を示しており、基礎となる数学でなく、プログラミングスタイルによってのみ不明瞭になることが多い。いわゆるメモリの壁に実際に取り組んでいるアーキテクチャの欠如は、HPCコミュニティで長年考えられてきた。

これらの問題を念頭に置いて、NECは業界標準のスカラー技術と密接に結びついた業界をリードするベクタープロセッサ技術を使用するソリューションであるAuroraという新しいベクター・アーキテクチャを導入する予定だ。

ベクトル処理の利用を拡大

現代の組織は、成果を出す時間を短縮する方法を見つけなければならない。これを達成する最善の方法は、モデリングとシミュレーションアルゴリズムを高速化することである。これには多くの利点がある。個々のジョブはより高速に実行され、他のワークロードを実行するためにシステムを解放するのだ。そして、個人やグループは、パラメータを変更したり、同じジョブのさらなるバリエーションを実行したり、より迅速に異なる可能性を追求することができるようになる。しかし、このスピードアップはコーディングの複雑さを増やすような代償を払うべきではないのだ。

一部のワークロードはGPUなどの高速化技術によって恩恵を受けているが、大掛かりな移植作業が必要となる。広範なクラスのアプリケーションで使用できる代替方法はベクトル処理である。ベクトル処理は、メモリ帯域幅の根本的な必要性を満たすことができ、したがって、複雑なコーディングパラダイムの観点から膨大な量のコードを変換する必要がなく、より高い持続性能をもたらす。

今日では、様々な業界でベクトル処理を利用する必要性が高まっている。しかし、ほとんどの企業では、考え方を変える必要がある。過去には、コードを変更したくない、もしくはあまりにも多くの作業が必要になると考えていたため、ベクトル処理に移行することに躊躇していた組織もあった。

それはもはや事実ではない。ベクトル化はすべてのプラットフォームで不可避に近いため、とにかくコードは適合する。また、どのようなケースにおいても、ベクトル化よりも、OpenCLやCUDAを使用してコードを書き直すことはもちろん、スカラープラットフォームでのキャッシュブロッキングなどのスマートな最適化手法を適用する方が難しくなっている。

必要なのは、これらの懸念を和らげながら、望ましいパフォーマンスの利点を提供するソリューションである。さらに、システムは1ドルまたはワット当たりの性能に関して効率的でなければならない。そしてまた、それらの使用法は科学者が効果的に働くことを可能にするはずである。

サポートできる技術パートナー

ほぼ現代の全てのアーキテクチャでは何らかの方法で単一命令複数データ(SIMD)並列処理が利用されているが、唯一のベンダーであるNECは、ひとつの命令で一連のサイクルの間継続的にデータを機能ユニットに供給する本当のベクトルレジスタを持つアーキテクチャを提供している。

最も要求の厳しいワークロード用に開発してきたその長い歴史を持つベクトル処理システム上に築き上げられた、NECの新しいオーロラ・ベクトル・システムは、従来のメモリ帯域幅を大量に消費するHPCワークロードやビッグデータ解析のようなアプリケーションを高速化するように設計されている。

このソリューションは、GPUを使うようなコードのほんの一部を高速化するアクセラレータではない。その代わりに、すべてのコードがいわゆるベクトル・エンジン上で実行され、付随するx86ベースのプラットフォームはフロントエンドもしくは開発環境の一種として機能する。

3つのデザインコンセプトがオーロラの開発を導いた。以下のとおり:

業界をリードするメモリ帯域幅性能:新しいベクトル・アーキテクチャの個々のコアは非常に高速で、コードをより効率的に実行できる。このソリューションは、NECのSXシリーズと同様に、プロセッサ当たり、コア当たり、電源当たり、および価格当たりの業界をリードするメモリ帯域幅を提供する。このコアは、メモリ集約型の科学アプリケーションおよび大規模なデータ分析アプリケーションに合わせて設計されている。

使いやすさ:Auroraは専用のハードウェア/ソフトウェア環境を提供する。具体的には、

NECの最適化されたベクトル処理ハードウェアとソフトウェアは、Xeonクラスタなどのデファクトスタンダード環境と組み合わされている。これにより、x86システム上でワークフローを開始することができ、アクセラレータとは異なり、アプリケーション全体がベクトルエンジンに渡されるのだ。このx86システムは、フロントエンドのようなベクトルエンジンをサポートしており、アプリケーションに関係しない、デーモンや管理プロセスなどのすべての作業負荷を取り除いている。

ハイブリッド・ソリューションによる柔軟性:オーロラは密接に配列されたスカラおよびベクトル・マシンを提供している。これは、あらゆる種類のアプリケーションに取り組み、ワークロードまたはワークフローの各種類のコードに適切なハードウェアを提供するハイブリッド構成で使用できるということだ。例えば、気象コードのように海洋コードではベクトル処理が要求され、大気化学コードではスカラ・システムの方が速いようなシミュレーションや、プリ・ポスト処理を必要とするようなワークフローにおいて、この機能を利用することができる。ソフトウェアにおいては、通常のパレラル・ファイルシステム、通常のスケージューリング、およびアプリケーションにおいて組織がスカラとベクトルノードの両方を使うことができるMPIが含まれている。

まとめ

多くの業界の組織では、現在、メモリ帯域幅に制限されているシミュレーション、モデリング、および大規模なデータ分析アプリケーションを実行している。ベクトル・プロセッサは必要な性能を発揮できるが、標準的な環境と使い慣れたXeonクラスタを使用するソリューションも使いやすいものでなければならない。さらに、多くのワークフローには、ベクトル処理のメリットがあるアルゴリズムや、スカラ・プロセッサで効率的に実行されるアルゴリズムが混在しているため、このようなハイブリッド操作を可能にする柔軟なソリューションが必要なのだ。

これらがNECのオーロラが支援できる領域である。 オーロラは、従来のHPCの問題から、今日の組織で使用されているより広範な種類のメモリ帯域幅を必要とするアプリケーションを含めるように、技術の利用を拡大するように設計された次世代製品である。

NECは、オーロラをラックマウント型サーバやスーパーコンピュータ・モデルなどのさまざまな環境で利用できるようにする予定であり、タワー型サーバモデルでも提供される予定であるため、すべての科学者がハイエンドシステムに継続的にアクセスすることなくコードを開発できるように設計されている。

メモリ帯域幅を重視するアプリケーションやワークロードの要求を満たす方法の詳細については、http://uk.nec.com/en_GB/emea/products/hpc/index.htmlを参照。