タイタン (スーパーコンピュータ)

タイタン（英: ）あるいはOLCF-3は、クレイ社によってオークリッジ国立研究所に構築され、様々な科学プロジェクトに用いられたスーパーコンピュータである。タイタンはそれまでオークリッジで用いられていたスーパーコンピュータ、ジャガーをアップグレードしたもので、従来のCPUに加えてGPUを使用している。タイタンはこのようなハイブリッドアーキテクチャとしては初めて10ペタフロップス以上のパフォーマンスを実現した。2011年10月にアップグレードが始まり、2012年10月に安定性試験を開始、2013年初頭に研究者が利用できるようになった。アップグレードの初期費用は6千万USドルで、主にアメリカ合衆国エネルギー省によって資金が提供された。
オークリッジにおいて、タイタンは2019年にサミットに取って代わられた。サミットはIBMによって構築され、より高い性能のGPUを使いノード数を減らしたことやによるファイルデータに対するノードごとのローカル不揮発性キャッシュが特徴である。
タイタンはAMD Opteron CPUとNVIDIA Tesla GPUを組み合わせて使うことで、ジャガーより大幅に計算能力を引き上げつつエネルギー効率を向上させた。理論上は27ペタフロップスを実現するために18,688個のCPUを同数のGPUと組み合わせて使用し、結果的にスーパーコンピュータの速度を格付けするために用いられるLINPACKベンチマークでは17.59ペタフロップスのパフォーマンスを実現した。これは2012年11月時点でTOP500において1位の性能だったが、2013年6月に天河二号によって破られた。
タイタンはあらゆる科学的目的に利用可能だったが、その使用権はプロジェクトの重要性とハイブリッドアーキテクチャを最大限活用できる可能性によって決められた。プログラムはタイタンに依存しないように他のスーパーコンピュータでも実行可能なものを選ばなければならない。主に分子スケールの物理学または気候モデルを扱っている6個のプログラムが最初に選ばれたが、その後には他の25個のプログラムが順番を待っていた。GPUが導入されていることにより、製作者はプログラムの変更を余儀なくされた。GPUはCPUよりも多くのスレッドを同時に取り扱うことができることから、一般にこの修正によって並列度は向上した。この変更によってしばしばCPUのみのマシンでもパフォーマンスが向上した。
歴史.
オークリッジ国立研究所(ORNL)の(OLCF)において、20ペタフロップスの性能を持つスーパーコンピュータを作る計画はジャガーが構築された2005年にまでさかのぼる。エクサスケール（1000ペタフロップスが1エクサフロップスに相当）マシンを2020年までに運用するORNLの計画の一環として、タイタン自体も2016年におよそ200ペタフロップスのシステムへ置き換えられる。新しく15,000平方メートル(160,000 ft2)の建物をタイタンのために建てるという当初の計画は、ジャガーの既存の施設を用いるのが望ましいとして却下された。正確なシステムアーキテクチャは2010年まで確定していなかったが、NvidiaがGPUを提供する契約は2009年に締結された。タイタンはプライベートな2010年11月16日のACM/IEEE Supercomputing Conference (SC10)で最初に発表され、タイタンアップグレードの第1段階が始まった2011年10月11日に公に発表された。
ジャガーは製造されて以降、様々なアップグレードを受けてきた。初めはプラットフォームで25テラフロップスを達成した。2008年までに、ジャガーは筐体数を増やし、プラットフォームにアップグレードすることで、263テラフロップスに達した。2009年に、プラットフォームにアップグレードされ、1.4ペタフロップスに達した。最終アップグレードによって、ジャガーの性能は1.76ペタフロップスとなった。
タイタンはORNLを通して、主にアメリカ合衆国エネルギー省から資金提供を受けた。この資金はCPUを購入するのには十分であったが、すべてのGPUを購入するには十分でなかったため、アメリカ海洋大気庁(NOAA)が計算時間を見返りとして残りのノードの資金を提供することに合意した。ORNL科学計算チーフであるジェフ・ニコルズは、タイタンの費用は約6千万ドルで、そのうちNOAAの貢献は1千万ドル未満だが、正確な数値は機密保持契約により秘匿されていると述べた。クレイ社との全契約期間では潜在的なアップグレードを除き、9,700万ドルが計上された。
1年間にわたる転換は、2011年10月9日に開始された。10月から12月の間に、ジャガーの200個の筐体のうち96個は、残りのマシンは使い続けつつ、各筐体が持つ24個の ブレード（各ブレードは4つのノードを持ち、各ノードは2つの6コアCPUを持つ）がブレード（各ブレードは4つのノードを持ち、各ノードは1つの16コアCPUを持つ）にアップグレードされた。12月に、計算が96個のXK7筐体に移され、残りの104個の筐体がXK7ブレードにアップグレードされた。ORNLの外部接続は、10 Gbit/sから100 Gbit/sにアップグレードされ、システム相互接続（CPUが相互に通信するネットワーク）がアップデートされた。ジャガーで使用されているシースターデザイン(Seastar design)は、タイタンで使用されているノードを直接3Dネットワークに接続するジェミニ相互接続(Gemini interconnect)にアップデートされた。ジェミニは内部でを使用している。システムメモリは584 TiBに倍増した。960個のXK7ノード（10筐体）は当時、 GPUが利用できなかったので、ベースのGPUが搭載されており、この960ノードはTitanDevと呼ばれ、テストコード用に使われていた。この第1段階のアップグレードにより、ジャガーの最大パフォーマンスは3.3ペタフロップスまで引き上げられた。2012年9月13日以降は、Nvidia K20X GPUが960個のTitanDevノードを含むジャガーのすべてのXK7ブレードに搭載された。10月に作業が完了し、コンピュータがついにタイタンへ改名された。
2013年3月、NvidiaはタイタンのK20X GPUと同じGPUダイを使用しているコンシューマグラフィックカードGTX Titanを発売した。タイタンは2013年の初めに受入試験を受けたが、92%の試験しか完了せず、要求された95%を満たせなかった。マザーボードのPCIeスロットのメスエッジ・コネクタに金が過剰にあり、マザーボードのはんだに亀裂を生じさせていることが問題であると判明した。改修費用はクレイ社が負担し、毎週12から16筐体が改修された。改修中もユーザーはCPUにアクセスすることができた。3月11日に8,972個のGPUにアクセスできるようになった。ORNLは4月8日改修完了を報告し、2013年6月11日に受入試験の完了を報告した。
タイタンのハードウェアは「完全な」ソフトウェアを用いれば、理論上最大27ペタフロップスのパフォーマンスを発揮できる。2012年11月12日、LINPACKのパフォーマンスによってスーパーコンピュータを格付けするTOP500において、タイタンはセコイアに取って代わり、17.59ペタフロップスで1位となった。タイタンは同じ500台のスーパーコンピュータをエネルギー効率に関して格付けするGreen500でも3位となった。2013年6月には、タイタンはTOP500では天河二号に次いで2位、Green500では29位に転落した。タイタンは2013年6月のランキングのためにベンチマークを再実施することはなかった。これは27ペタフロップスを達成したとしても、2位であることに変わりはなかったためである。
ハードウェア.
タイタンは404平方メートル(4,352 ft2)を占めるジャガーの200筐体の内部を入れ替え、ネットワークをアップグレードして使用している。ジャガーの電源と冷却システムを再利用することにより、約2千万ドルを節約することができた。電源は各筐体に480 Vの三相交流を供給している。これに必要なケーブルは米国標準の208 Vの場合よりも細く、銅を100万ドル節約できる。タイタンは8.2 MWとジャガーよりも1.2 MW多くの電力を必要とするが、浮動小数点数演算に関して約10倍速く動作する。停電の際には、炭素繊維フライホイール・バッテリーがネットワークと記憶装置を16秒間まで稼働させ続けることができる。電源喪失の2秒後には、ディーゼル発電機が起動し、約7秒でフルパワーに達する。発電機は電力を永続的に供給することができる。発電機は、再起動が素早くできるようにネットワークと記憶装置に電力を供給し続けることのみを意図して設計されており、プロセッサに電力を供給することはできない。
タイタンは18,688ノード（1ブレード当たり4ノード、1筐体当たり24ブレード）を持ち、それぞれが16コアの32 GBのDDR3 ECCメモリを搭載したAMD Opteron 6274 CPUと6 GBのGDDR5 ECCメモリを搭載したNvidia Tesla K20X GPUで構成されている。合計299,008個のプロセッサコアと合計693.6 TiBのCPUおよびGPUのRAMを持っている。
タイタンは当初、ジャガーの10 PBのLustre記憶領域を転送速度240 GB/sで使用していたが、2013年4月に記憶領域が40 PB、転送速度が1.4 TB/sにアップグレードされた。GPUはCPUよりもはるかに高い並列処理効率を持つため採用された。GPUはCPUよりもが遅いものの、各GPUは732 MHzのCUDAコアを2,688個持っているため、システム全体ではCPUよりも高速になる。 したがって、CPUのコアは従来のスーパーコンピュータのようにデータを直接処理するのではなく、GPUにタスクを割り当てるために使用されている。
タイタンはCray Linux Environmentを実行し、ユーザーが直接アクセスするログインノードでは完全なバージョンのLinuxであるが、計算ノードではより軽量で効率的なバージョンとなっている。
タイタンのコンポーネントはヒートシンクによって空冷されるが、空気は筐体に送り込まれる前に冷やされる。ファンの騒音は非常に大きいので、機械室で15分以上過ごす人々には聴覚保護が必要である。このシステムは23.2 MW（6600トン）の冷却性能を備えており、水を5.5 °Cまで冷却し、それが順次循環する空気を冷却することによって機能する。
研究者はタイタンの出力データをよりよく理解するためにEVEREST (Exploratory Visualization Environment for Research and Technology)を利用することもできる。EVERESTは10×3メートル(33×10 ft)のスクリーンとより小さな第2スクリーンを備えた可視化部屋である。スクリーンは37×33メガピクセルで3次元映像を映し出すことができる。
プロジェクト.
2009年、タイタンを管理するオークリッジ・リーダーシップ・コンピューティング施設は、研究の重要性とシステムを十分に生かすことができる能力を基準として、最初にスーパーコンピュータを使うコードを50個のアプリケーションの中から6つの「先駆的な」コードに絞り込んだ。タイタンを使う6つの先駆的なプロジェクトは以下の通りである。
2013年には、31個のコードが、通常1度に4個または5個づつ、タイタンで実行される計画が立てられた。
コード修正.
多くのプロジェクトのコードは、タイタンのGPU処理に適合させるために修正しなければならないが、プロジェクトがタイタンだけに依存しないように各コードはCPUベースのシステムでも実行可能でなければならない。 OLCFは適合プロセスを支援するために、Center for Accelerated Application Readiness (CAAR)を設立した。タイタンのアーキテクチャ、コンパイラそしてアプリケーションについて、ユーザーに説明するための開発者ワークショップがNvidia本社で開催されている。CAARは、Nvidiaおよびコードベンダーと協力して、GPUのディレクティブをプログラミング言語に統合するためにコンパイラを改良している。これにより研究者は、Fortran、C、C++のような既存のプログラミング言語を使って、コードの中で並列処理を表現し、コンパイラがそれをGPUに指示することができる。計算天体物理学者であるブロンソン・メッサー博士はこの作業について、「GPUは高速だがCPUよりも柔軟性が乏しいことを考えると、アプリケーションにタイタンを最大限活用させるためには、GPUをビジー状態に保つ方法を見つけることも必要である。」と述べている。 はノードに渡すジョブに優先順位をつけ、使用率を高く保つために用いられており、テストしたソフトウェアの効率は70%から約95%に向上した。CPUベースマシンで性能が2倍になった"Denovo"のように、一部のプロジェクトではコード修正により非GPUマシンでも性能が向上している。
GPUで実行するために必要なコード修正の量はプロジェクトによって異なる。"NRDF"を開発しているメッサ―博士によれば、彼のコードの一部分は比較的単純な計算が繰り返し並列に処理されているため、この部分だけをGPUで実行している。"NRDF"はFortranをGPUで用いるためにCUDAで拡張したCUDA Fortranで書かれている。核燃焼はGPUアーキテクチャで最も簡単にシミュレーションできるため、キメラの3番目の「頭」が最初にGPUで実行された。他のコードは後で修正することが計画された。ジャガーでは、このプロジェクトは14か15核種をモデル化したが、メッサ―博士は最大200核種をシミュレーションすることで、経験的観測と比較してはるかに高い精度が得られると期待している。