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

タイタン（英: ）あるいは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つの先駆的なプロジェクトは以下の通りである。
 S3Dは、ディーゼル燃料やバイオ燃料のエンジンの効率を向上させることを目的として、燃焼の分子物理学をモデル化するプロジェクト。2009年にジャガーを用いて、直接噴射ディーゼルエンジンの効率に関係する、自然発火炭化水素の炎の仕組みを初めてシミュレーションで解明した。
 WL-LSMSは、絶対零度を除く温度における磁性材料中の電子と原子の相互作用をシミュレーションする。このコードの以前のバージョンは、ジャガーで1ペタフロップス以上のパフォーマンスを初めて達成したコードのひとつである。
 Denovoは、原子炉における効率向上と廃棄物削減を目的として原子核反応をシミュレーションする。Denovoの従来のCPUベースマシンにおけるパフォーマンスはタイタン向けに調整した後には2倍になり、タイタンにおいてはジャガーにおける速度の3.5倍を発揮した。
 LAMMPSは、量子力学的スケールから相対性理論的スケールまでにわたる粒子をシミュレーションする分子動力学法コードであり、半導体、生体物質および重合体の開発における応用の可能性を見出して、材料科学に貢献する。
 CAM-SEは、広域気象モデルであるCommunity Atmosphere Modelと流体および熱力学方程式を解くHigh Order Method Modeling Environmentの2つのコードを組み合わせたものである。CAM-SEによって気候シミュレーションの精度が大きく向上する。
 Non-Equilibrium Radiation Diffusion (NRDF)は、超新星が放出する非荷電粒子をプロットし、レーザー核融合、流体力学、医用画像処理、原子炉、エネルギー貯蔵、燃焼にも応用できる可能性がある。そのキメラコードは数百の偏微分方程式を用いて、超新星爆発している星の中にモデル化された各ニュートリノのエネルギー、角度、散乱角および種類を追跡し、数百万の個別の等式を導き出す。このコードは3つの「頭」（それぞれ恒星物質の流体力学、放射輸送、をシミュレートする）を持つので、 神話上の生物にちなんでキメラと名付けられた。
 Bonsaiは、ツリー法によるN体シミュレーションコードである。2千億個の星を個々に表現して天の川銀河をシミュレートするのに使われ、2014年のゴードン・ベル賞候補になった。このアプリケーションでは、コンピュータの持続速度は24.773ペタフロップスに達した。
VERAは、ジャガーのConsortium for Advanced Simulation of Light Water Reactors (CASL)で書かれた軽水炉シミュレーションである。技術者はVERA を用いることで、 炉心のあらゆる部分の性能と状態を原子炉の耐用期間を通して監視し、興味深い点を特定することができる。VERAは最初の6つのプロジェクトには含まれていないものの、CAARの支援を受けて最適化された後にタイタンで実行することが計画され、TitanDevで試験していた。コンピュータ科学者であるトム・エヴァンスはタイタンのハイブリッドアーキテクチャに適合させようとしたが、以前のCPUベーススーパーコンピュータに比べて難しいことがわかった。彼は18から36か月のプロセスである核燃料サイクル全体を、タイタンを使って1週間でシミュレートすることを目標としていた。

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核種をシミュレーションすることで、経験的観測と比較してはるかに高い精度が得られると期待している。