123. フラッグシップ2020 と私(2015/1/16)
首相官邸からの
アナウンスによると、13日に行われた第7回総合科学技術・イノベーション会議
(CSTI)で安倍首相は以下のように述べたそうです。
スーパーコンピュータ「京(けい)」については、かつて開発計画の凍結も
議論されました。本日は、ポスト「京(けい)」開発に関する評価を決定いた
だき、本格的なスタートの準備が整えられました。強い意志を持って、世界で
一番を目指していきたいと考えています。
ここで総合科学技術・イノベーション会議といわれているものはいわゆる「本
会議」で、その下に色々な部会などがあります。ポスト「京」については、
評価専門調査会の議題になり、その下にさらに評価検討会が組織され、そこで
の結論が評価専門調査会、本会議と順番にあがっていく、という仕掛けです。
13日の本会議は首相がでる(主催する)ことからもわかるように最高決定権
を持ちます。
なお、これらの CSTI の諸委員会での評価の前に、まず理研AICSが開発計画案
を作成し、それが文部科学省の HPCI 計画推進委員会で承認される、というステッ
プがあります。HPCI 計画推進委員会の下には
「次期フラッグシップシステムに係るシステム検討ワーキンググループ」があ
り、その報告は 10月22日にでています。これについては後述します。
安倍首相の発言には「世界で一番」とあるわけですが、では実際にどのような
システムを開発することがどのような審査を通して決まったのか、を公開資料
だけに基づいてここでまとめておきます。「公開資料だけに」とわざわざ断わっ
ているのは、私は現在理研AICS エクサスケールコンピューティング開発プロジェ
クト副プロジェクトリーダーの職にあり、この数年間意思決定プロセスそのも
のに関わってきていますが、その立場からは書けない(守秘義務に反する)こと
が多くあるからです。
まず、本会議資料をみてみます。
資料1-1には、
以下のように記載されています。
事業概要
【概算要求時点での事業計画】
<シツサワエヨ>ハソタョ26。ハ」イ」ー」ア」エ。ヒヌッナル召キハソタョ31。ハ」イ」ー」ア」ケ。ヒヌッナル
<予算額>平成27年度概算要求額:約47億円、国費総額:約1100億円
2020年をターゲットとし、幅広いアプリケーションソフトウェアを高い実効
性能で利用できる世界最高水準のスーパーコンピュータと、我が国が直面す
る課題の解決に資するアプリケーションを協調的に開発する。
開発目標
・最大で「京」の100倍のアプリケーション実効性能(ターゲットとするアプ
リケーションソフトウェアを実行した場合の演算速度)
・30〜40MW の消費電力(「京」は12.7MW)
【事前評価後のシステム構成の見直し】
汎用部+演算加速部(昨年度の事前評価時)
汎用部のみ(現在)
総合評価
○世界最高水準の汎用性のあるスーパーコンピュータの実現を目指すもので
あり、意義・必要性は改めて認められる。
・システム構成の見直しにより、様々なアプリケーションに対応可能な汎
用性の高いシステムを開発
・世界最高水準の計算機システムに対応した開発目標を設定
○9つの重点課題の設定、ターゲットアプリケーションについての適切な方
針設定等、事前評価での指摘事項に対応。
○平成28年度にフォローアップを行うほか、平成29年度の文部科学省の中間
評価結果を踏まえ、CSTIでの中間評価の実施を判断。
主な指摘事項
・スパコン開発の意義・必要性、有効性を一般国民も実感できるよう、アウ
トカムを更に具体化、明確化すべき。
・継続して競争力を確保するための長期的な技術開発戦略の検討が必要。
・CPU製造の海外委託に際しての歩留りの確保等、想定されるリスクへの対
応策の検討が必要。
これだけからはどういう計画なのかよくわからないわけですが、目標が
-
最大で「京」の100倍のアプリケーション実効性能
-
30〜40MW の消費電力(「京」は12.7MW)
であること、ならびに昨年度の段階とはシステム構成が変わっていて、昨年度
は「汎用部」+「加速部」で1エクサフロップス級の性能を実現、という計画で
あり、プロジェクトの名称もそれに対応して「エクサスケール・スーパーコン
ピュータ開発プロジェクト(仮称)」だったのですが、今年度は「汎用部」の
みのシステムになっていることがわかります。
私は「加速部」の開発の助けとなるためにエクサスケールコンピューティング
開発プロジェクトに参加しているわけですので、まあ、エクサスケールコン
ピューティング開発プロジェクトには私はほぼ不要である、ということになる
と思います。
では、どのような論理で「加速部」がなくなったのか、ということをまずは
CSTI 資料からみてみます。本会議資料(資料 1-2) から、その辺に関係する部
分を以下に引用します。
事前評価実施後においてシステム構成の見直し等が行われたが、汎用部およ
び演算加速部からなる構成から汎用部のみの構成としたことで、理論ピーク
演算性能は見直し前のシステムにおける想定(1エクサフロップス級)を下回
るものの、見直し後の開発目標や実施計画内容は、世界最高水準の汎用性の
あるスーパーコンピュータの実現を目指すものであり、技術の継承や人材の
育成等の観点から継続的なスーパーコンピューティング技術の開発が重要で
あることも踏まえれば、プロジェクトの意義・必要性は認められる。
事前評価段階においては汎用部および演算加速部からなるシステム構成が想
定されていたが、フィージビリティスタディを踏まえた概念設計評価の結果、
演算加速部については当初の想定よりも開発・製造コストが高くなること、
これを有効活用できるアプリケーションが限られることを踏まえ、汎用部の
みのシステムに見直された。
投入できる資源の制約も踏まえた費用対効果の観点、我が国におけるフラグ
シップシステムとして様々な課題に対して先端的な成果を生み出すための汎
用性確保の観点を踏まえ、見直しが図られたものと認められる。
色々書いてあるのですが、要点は
-
演算加速部については当初の想定よりも開発・製造コストが高くなること、
-
これを有効活用できるアプリケーションが限られること
の2つです。開発・製造コストについては「当初の想定よりも」上がっている
と書いてあるのですが、「有効活用できるアプリケーションが限られること」
はこの「当初の想定よりも」という文言はなく、当初の想定通りだったことが
わかります。つまり、ここに書いてある文章からは、加速部を採用しなかった
理由は「当初の想定よりも開発・製造コストが高く」なった、ということだけ
であることがわかります。
「当初の想定」というのは論理的には2013 年の文科省やCSTIによる評価の時点での
コスト見積りであり、これは当時進行中であった FS での想定アーキテクチャ
に基づいて、理研の責任において提出したものです。
高くなった、というのは、製造を請負うことが想定される某大企業のコスト
見積りが様々な理由で2013年時点での理研見積もりよりも高価になった、と
いうことです。この理由はもちろん私は把握していますが、ここに書くことは
現時点ではできません。
いずれにしても、性能あたりのコストが汎用部と加速部で大きく違わなくなる
と、開発費が二重にかかる分ハイブリッド構成は予算的に難しくなるわけです
から、性能あたりのコストが汎用部と加速部で大きく違わない程度まで加速部
のコストが上がっていたのであれば、汎用部だけで進める、という決定は合理
的なものといえるでしょう。しかし、話はそれほど簡単なものではありません。
上に書いたように、この本会議は基本的には「評価専門調査会」による評価案
を承認する場所であり、「評価専門調査会」にはさらに専門的な委員会である
「評価検討会」で作成された評価案が提出され、それに基づいた議論が行われ
ます。13日の本会議に提出された評価案は、昨年 11月26日に行われた評価専門
調査会でまとめられたものです。この評価専門調査会は公開で開催されましたので、
机上配布資料についてはここでは触れることができませんが委員の発言等につ
いては触れることができます。当日所用のため欠席であった委員からのコメン
トが提出されており、これについての実施機関側(理研側)からの説明がありま
した。当日傍聴していた私の日記(当日に公開済み)によると、コメントの内容
は以下のようなものです。
欠席委員からの提出コメント「汎用部の見積もりがだいぶ高くなったという
ことなので、計画を再検討するべきと考える」
これに対する理研側からの回答は(やはり私の日記によると)以下のようなものでした。
評価検討会資料(机上、文科作成)にあるように、担当企業からの見積もりが
高くなった。コスト削減に取り組んでいく。
つまり、汎用部のコストについては、担当企業からの見積もりがこの 11/26
日の会議までのどこか(評価検討会は 10/10 及び 10/28 に行われていますの
で、遅くとも 10/28 まで)に何故か大幅に上昇した、ということがこの委員の
コメント及び理研側の回答からわかります。
これは 2013年の評価時点でのコスト見積りに比べて、汎用部も加速部もコスト
増になった、ということを意味するものです。しかも、加速部については担当
(想定)企業は早い時期にその問題を明らかにしていた(少なくとも昨年7月時点
では明らかになっていた)のですが、汎用部については担当企業がおそらくそれ
よりもずっと後になってから実は高価であるといいだした、ということになり
ます。
高価になったことに対する理研としての対応は「コスト削減に取り組んでい
く。」というものですが、それによって現時点での(既にエクサスケールには
届かない)性能目標が予算内で実現できるかどうかは明らかではありません。
つまり、正直にコストを報告した企業はポスト「京」プロジェクトから排除され、
そちらが排除されるまでは黙っていた企業がポスト「京」プロジェクトを単独
で請負うことになった、ということが公開資料だけから読み取ることができる
ことです。
上で述べたように、CSTI による評価の前に、文部科学省の
HPCI 計画推進委員会、次期フラッグシップシステムに係るシステム検討ワー
キンググループによる評価があったわけですが、こちらの
次期フラッグシップシステムに係るシステム検討ワーキンググループ最終取りまとめ
をみてみます。
製造コストについては、11-12 ページに
4)開発・製造のコストについて
事業費(国費)としては,開発のコスト,製造のコスト,施設設計・工事の
コスト,アプリケーション開発のコストが提示され,全体予算として約1,100
億円を予定していることが提示された。また,開発のコストについては,「京」
の開発時に比べて国費負担が大幅に減少することが提示された。
という記載がある他、13ページに
4)の開発・製造のコストについて,開発のコストについては,「京」の開
発時に比べて国費負担が大幅に減少することが提示されており,その提案は妥
当である。また,他の汎用CPU 価格のトレンドを意識して設定された製造のコ
ストについては,今後引き続き精査をする必要があるものの,コスト削減につ
いて基本設計において検討することに言及しており,その方向性は妥当であ
る。
とあります。つまり、文部科学省の委員会では「他の汎用CPU 価格のトレンド
を意識して設定された製造のコスト」を「今後引き続き精査をする必要がある
ものの」妥当と認めた、ということになります。すなわち、ここにおいても、
汎用部においては担当企業が出したコスト見積もりでは計画予算に収まってい
ないという、先ほどのCSTI評価専門調査会委員のコメントと矛盾しない記述に
なっています。その上で、計画は妥当と判断した、と書いてあるわけです。
企業にはそれぞれの戦略や方針がありますから、コスト見積りについても色々
な理由で変わる、ということはもちろんありえることでそれ自体に問題がある
とは私は考えていません。
しかし、明らかになったコストやその結果として発生したリスクに対して理研
AICSは現在最善のプロジェクトマネジメントができていない、と私は考えてい
ます。これについては私は理研AICS内部及び文部省のシステム検討ワーキング
グループではもちろん見直しをするべきといってきていますが、理研としての
プロジェクトの進めかたはもちろん、本会議まで提出された、(実は高価であると判明した)汎用部のみのシステムの開発を継続する、というものになっています。
なお、最善のプロジェクトマネジメントができていないのは、プロジェクトリー
ダーや機構長といったAICSのトップマネジメントレベルの問題ではなく、STAP
細胞の件でも明らかになった、実際の意思決定が起こる場、責任者が不明であ
る(どこで意思決定が起こっているかわからない)という理研の特殊性
によるところが大きい(理研だけでなく、原研等にも共通する性格にみえます
が)と個人的には考えています。この意味で、この文章は理研AICSのマネジメン
ト(の中にはもちろん私も含まれています)を批判する意図があるものではなく、
我々は与えられた境界条件や外力の中でベストを尽くしてきた、と思います。
が、その結果は、残念ながら現在のところ最善のプロジェクトマネジメントに
はなっていない、というのが私の意見です。
一方、ソフトウェア・アプリケーションについては、加速部のために従来検討
してきたアプローチと、実際に想定される汎用部に必要なアプローチはほぼ同
じである、ということがわかってきています。これは実は当然で、加速部と汎
用部を比較すると、
-
チップあたりの性能はファクターで加速部のほうが高い
-
従って演算器の数はファクターで加速部のほうが多い
-
オンチップメモリの大きさもファクターからオーダー近くで加速部のほうが高い
-
オフチップメモリへのバンド幅は同等
-
チップ間ネットワークバンド幅も同等(レイテンシは加速部のほうが低い)
と、主要諸元にそれほど大きな差がないためです。もちろん、チップ内部のアー
キテクチャは大きく違い、加速部は比較的小さなローカルメモリを持つ
コアが多数あり、SIMD 動作する、というものであるのに対して汎用部は
コア内ワイドSIMD であり、また富士通の FX10、FX100 のアーキテクチャを踏襲する
ならば16コア程度でL2キャッシュを共有する、つまり、おそらく256個程度の
演算器が単一の L2キャッシュを共有する、という極めて難易度の高いハード
ウェアになります。が、構造格子、行列演算、粒子法といったアプリケーショ
ンから見ると同じように使う、ということになります。
なお、非構造格子については、コア内ワイドSIMDで性能をどうやって出せるのか私には今の
ところわかりません。加速部では、CM-2 の前例があり、できないことではありません。
このことは、同時期にでてくる GPGPU やメニーコアにしても、主要諸元に極
端な差があるわけではなく、アプリケーション開発、アルゴリズム開発の方針
は同様のものになる、ということです。要するに、より高くなるメモリー
ウォール、ネットワークウォールにどう対応するか、が課題だからです。
正直なところをいうと、「汎用部」のほうが高い性能をだすのははるかに困難
です。これは、L2キャッシュが容量が小さく、バンド幅も相対的に小さく、ま
た非常にアクセスレイテンシが大きい、ということによるものです。加速部の
ローカルメモリは L1キャッシュ以下のレイテンシ(クロックが低いせいもあり
ますが)でアクセスでき、バンド幅も高いため演算オペランドに使うことが可能
です。
従って、汎用部のためにアプリケーションを最適化・新規開発するのは、
(かなり余計な苦労が多いにしても)それが汎用部だけでしか使えない
ものにつながるわけではなく、より一般性があるものにしていくことができま
す。私のAICS内の今後のミッションはそこにある、と私は現在のところ考えます。
もちろん、こんな文章を勝手に書くやつはプロジェクトからでていけ、となるかもしれま
せんし、そうなるならそれはやむをえないことと思います。