# ExaScale Computing Study - Chapter 5: Exascale Application Characteristics
> 前: [[@2008__DARPA__ExaScale Computing Study - Chapter 4 Computing as We Know It]] | 次: [[@2008__DARPA__ExaScale Computing Study - Chapter 6 Technology Roadmaps]] | 全体: [[ExaScale Computing Study - Technology Challenges in Achieving Exascale Systems]]
## 要約
本章は、データセンター級のエクサスケール機で意味を持つアプリケーションの特性を分析する。手段は、設計パラメータごとの改善効果を示す Kiviat 図(レーダーチャート)と、ハードウェア非依存の畳み込み法(Convolution Method)による性能予測である (p.61, p.75)。結論は次のとおりである。
- 現行の戦略的アプリは、演算よりもメモリ遅延と局所性(locality)に律速される。フォンノイマン・ボトルネックの緩和が 1000 倍化の研究の中心になる (p.65)。
- 1000 倍化しても通信は無視できず、flops とメモリを 1024 倍にしても WRF は約 180 倍にしか伸びない (p.77)。
- 必要なメモリ・ストレージ・バイセクション帯域(bisection bandwidth)の規模を表 5.1 にまとめる。ただし数値は「相当に推測的」と著者が断る (p.81)。
## 問題設定
### 均衡設計とフォンノイマン・ボトルネック
均衡設計(balanced design)とは、同程度のコストの資源が同程度の効率で使われる設計である (p.62)。John Backus は 1977 年の ACM チューリング賞講演で、プロセッサとメモリ間のデータ転送率の制約を「フォンノイマン・ボトルネック」と呼んだ (p.62)。ムーアの法則が進むほど主記憶までの相対的な距離(サイクル数)が伸びる現象を、本章は赤方偏移(red shift)と呼ぶ (p.62)。
均衡機の例が 1983〜85 年の世界最速機 Cray XMP で、1 サイクルに 2 fetch・1 store・最大 2 flops を実行する。これに対し現行の最速機 [[IBM Blue Gene/L]] は演算が 4 flops/サイクルで、主記憶の取得に約 100 サイクルを要する(BG/L は 0.5〜0.8 バイト/サイクル)。メモリ集約コードでは、Cray XMP はデータ移動に時間の約 50% を費やし、BG/L は 99% に達しうる (p.63)。
### 対象の範囲
焦点はデータセンター級である。部門級と組込み級は補足扱いで、初期のエクサ級アプリは「英雄的プログラミング」による特殊な科学コードになると述べる (p.80)。
## 分析手法
### Kiviat 図による感度分析
基準系は 2048 プロセッサの IBM Power4 機である。検討対象の [[AVUS]]、[[WRF]]、AMR、[[Hycom]] は、連邦機関(DoD・DoE・NSF・NOAA)で年間数千万スーパーコンピュータ時間を消費する (p.66)。AMR(適応格子細分化)は計算科学の多領域を代表するベンチマークとして選ばれている (p.66)。各図はクロックや遅延を変えたときの予測速度向上を Kiviat 図で示す。
### 畳み込み法
畳み込み法は、アプリのトレースから得た演算・メモリ・通信の要求を、機械のパラメータ(クロック係数と遅延削減)に畳み込んで実行時間を予測する手法である(参考文献 [130][131])。結果は性能応答曲面(performance response surface)として、クロック係数と遅延削減を軸に描かれる (p.75-78)。リトルの法則による帯域と遅延の交換は、アプリの ILP とハードのインフライト命令数に依存し、畳み込みには含まれない (p.72, p.77)。
### アプリの 4 類型
1000 倍化の要求はアプリによって異なる。本章は次の 4 類型に分けて要求を切り分ける (p.71-73)。
| 類型 | 内容 | 主な要求 | 例 |
|---|---|---|---|
| I | 弱いスケーリング(問題を大きくする) | 総メモリ 1000 倍。相互接続遅延をトポロジー依存の関数で改善(トーラスなら約 32 倍) | WRF |
| II | 同一問題を 1000 倍速く解く | 各メモリ階層の遅延を 1000 倍改善(または帯域で代替) | AVUS、WRF |
| III | 1000 倍のタイムステップ | 同上 | WRF(潜在的) |
| IV | 1000 倍の解像度 | 強いスケーリング | Hycom |
類型 I が弱いスケーリング、II〜IV が強いスケーリングに対応する (p.71)。
> [!note] 原文の不整合
> p.72 の類型対応は「WRF は類型 I、AVUS は II、WRF は潜在的に III」と WRF が重複する。p.73 は WRF を I・II・III と記述する。
## 実験と結果
### 均衡と時間内訳
WRF「Large」は 256 CPU の DataStar(SDSC、IBM Power4 系)でほぼ均衡している。演算クロックを 2 倍にしても、L1・L2・主記憶の遅延を半減しても、予測速度向上はいずれも約 14% にとどまる (p.63)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.1-predicted-speedup-wrf-large.png]]
(図5.1. WRF「Large」の予測速度向上を示す Kiviat 図。演算クロック、L1・L2・主記憶の遅延半減はいずれも約 14% の向上にとどまり、均衡していることが分かる。)
時間内訳は、「易しい」flops が 19%、その他 8%、L1 30%、L2 12%、主記憶 30%、MPI メッセージ 1%、バリア 0% である (p.64)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.2-time-breakdown-wrf-operation-category.png]]
(図5.2. WRF の時間を操作の種類別に分けた円グラフ。演算は 2 割弱で、L1 と主記憶がそれぞれ 3 割を占める。)
### アプリ機能とアルゴリズムの多様化
アプリの領域(気候、エネルギー、生物など)と基礎アルゴリズム(適応格子、暗黙解法、グラフなど)の対応を調べると、今後は多様なアルゴリズムが要ると結論する (p.65)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.3-application-functionalities.png]]
(図5.3. アプリの類型と基礎アルゴリズムの対応マトリクス(D. Koester 提供、文献 [84])。単純で規則的なアプリの時代は終わったと結論する根拠になる。)
本章は "the days of very regular, simplistic, applications are over" と述べ、"widening, mitigating, or eliminating the Von Neumann Bottleneck must be a thrust of research to enable Exascale computing" と位置づける (p.65-66)。
### 遅延半減の効果(4 アプリ)
AVUS、WRF、AMR、Hycom の 4 アプリについて、L1・L2・L3・主記憶の遅延を半減した効果を Kiviat 図で示す。図 5.4〜5.7 の結論はどれも、L1 遅延より主記憶遅延の削減で得るものが大きいことである (p.66-68)。ムーアの法則を従来と違う形で使わない限り、これらのアプリはほとんど恩恵を受けない (p.68)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.4-predicted-speedup-avus-latency-halving.png]]
(図5.4. AVUS の遅延半減による予測速度向上。主記憶遅延の削減が最も効く。)
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.5-predicted-speedup-wrf-latency-halving.png]]
(図5.5. WRF の遅延半減による予測速度向上。AVUS と同様に主記憶遅延の削減が L1 より効く。)
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.6-predicted-speedup-amr-latency-halving.png]]
(図5.6. AMR の遅延半減による予測速度向上。傾向は他のアプリと共通する。)
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.7-predicted-speedup-hycom-latency-halving.png]]
(図5.7. Hycom の遅延半減による予測速度向上。4 アプリすべてで主記憶遅延の削減効果が L1 を上回る。)
> [!note] 原文の表記
> p.68 の本文には「Figures 5.4 2 through 5.7」と、脚注番号が混入した表記がある。
### 局所性の分布と通信の増加
局所性は [0,1] のスコアで測る。HPL は時間局所性がほぼ最大、STREAM は空間局所性がほぼ最大で再利用がなく、small RA は局所性がほぼない。実アプリはこの間に位置する (p.68)。Overflow(NASA の CFD コード)と RFCTH(爆風物理コード)はさらにメモリ集約的で、目安として 1 GFlops あたり主記憶 0.5 GB 以上(2 倍超も)を要する (p.69)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.8-spatial-temporal-locality-strategic-applications.png]]
(図5.8. 戦略的アプリと HPL・STREAM・small RA の空間局所性・時間局所性の散布図。実アプリは両極の間に分布する。)
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.9-performance-strategic-applications-function-locality.png]]
(図5.9. 局所性の関数としての戦略的アプリの平均 CPI を示す 3 次元図。局所性が高いほど高速であることを示す。数値は読み取れず、高低は本文の記述による。)
"an increase in concurrency is offset by a decrease in locality" (p.69)。並列度を上げると局所性が下がり、効果が相殺される。
プロセッサ数を 64〜2048 に増やすと、4 アプリの通信時間割合は増加する (p.70)。バイセクション帯域は通信コストの標準尺度だが、将来の通信パターン(ランダム、適応的再配置、大規模非構造グラフ)でも適切かどうかは未確定である (p.69)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.10-growth-communications-overhead.png]]
(図5.10. プロセッサ数 64〜2048 での通信オーバーヘッドの増加。WRF・AVUS・AMR・Hycom のいずれも通信時間の割合が増える。)
### 性能応答曲面
通信オーバーヘッド一定と仮定しても、flops とメモリを 1024 倍にした WRF は約 180 倍にしか伸びず、flops とメモリで対称的である (p.75, p.77)。
> [!note] 原文の図番号の誤記
> p.77 の「Figure 5.2 ... 1024-fold ... WRF 180-fold」と「Figure 5.2 and subsequent figures」は、文脈上は図 5.11(WRF の性能応答)を指す。図 5.2 は時間内訳の円グラフで対応しない。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.11-wrf-performance-response.png]]
(図5.11. WRF の性能応答曲面。クロック係数と遅延削減を軸に、約 180 倍で頭打ちになる。)
AVUS は、flops を 3 桁上げても、メモリ系を上げなければ 50 倍未満である (p.76-77)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.12-avus-performance-response.png]]
(図5.12. AVUS の性能応答曲面。メモリ系の改善が伴わなければ、flops を 3 桁上げても 50 倍未満にとどまる。)
[[HPL]] はピークで約 900 倍まで伸びる (p.76-77)。ただし本章は HPL を「病的に無意味」(pathologically meaningless)と評する (p.69, p.77)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.13-hpl-performance-response.png]]
(図5.13. HPL の性能応答曲面。局所性が高いため、ピークで約 900 倍まで伸びる。)
### 通信が対数で増える場合
通信コストが log(n) で増えると仮定すると、1000 倍規模化しても得られる改善は約 1 桁にとどまる (p.78)。ただし弱いスケーリングで通信時間を一定とみなせるかは、アプリとアーキテクチャ次第である (p.77-78)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.14-wrf-log-n-communications-growth.png]]
(図5.14. 通信が log(n) で増える場合の WRF。最大でもおよそ 35 倍にとどまる。)
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.15-avus-log-n-communications-growth.png]]
(図5.15. 通信が log(n) で増える場合の AVUS。最大でもおよそ 60 倍にとどまる。)
### 類型別の要求とペタスケールの現状
類型 II の WRF は、メモリサイズと I/O 帯域は不要で、flops とメモリ帯域を 1000 倍にする。類型 III(10 個の嵐を 100 倍速)は、メモリと I/O が 10 倍になる (p.79)。ペタスケールの現状は、100,000 プロセッサ・1 PFlops 持続で 18 機械時間/シミュレート日、10 TB メモリ、43.2 TB/日(700 MB/s)である。ナチュラルラン(25 km、907x907、101 層)は 100 TB/日(1K MB/s)である。エクサ規模の半球 1 km 未満は、10 PB メモリ、I/O 1000 倍になる (p.79)。
キャパシティ問題は類型 I に、ケイパビリティ問題は類型 II に対応づけられる (p.79-80)。部門級では商用アプリとフル機能 OS が要り、"any new programming languages or features must be backward compatible to be accepted into commercial software" と述べる (p.80)。
### ストレージと帯域の見積もり
スクラッチはメインメモリの 10〜100 倍、アーカイブは 100 倍級で CAGR 1.7〜1.9、ファイル系はメインメモリに線形で、ペタスケールでは 1000 倍の乗数もありうる (p.73-74)。NASA EOS/DIS の研究では「全データ走査回数/日」の指標が導入された (p.74)。
バイセクション帯域は、Cray XT4 の 40x32x24(318 Tflops)で 19.4 TB/s、2 倍化して 2.4 Pflops で約 80 TB/s である。HPCS の目標は 0.5〜3.2 PB/s で、データセンター級は O(10 PB/s)〜O(1 EB/s) に及びうる (p.74)。
これらを総合した表 5.1 のスイートスポットは、部門級でシステムメモリ 500 TB・スクラッチ 10 PB・アーカイブ 100 PB・バイセクション 1 PB/s、データセンター級で 50 PB・2 EB・100 EB・200 PB/s である (p.81)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-table5.1-summary-applications-characteristics.png]]
(表5.1. 部門級とデータセンター級のメモリ・ストレージ・バイセクション帯域の範囲とスイートスポット。数値は著者自身が「相当に推測的」と明記する。)
> [!note] 原文の不整合
> 表 5.1 のアーカイブ(部門級)の範囲は原文で「>O(100PB) to O(100PB)」と不整合である。帯域の単位は「O(50TB/S)」と大文字が混在する。
### 研究方向
1000 倍化の研究方向は次のとおりである (p.82-83)。
- 局所性が悪くても効かせる機構
- メモリ階層の制御を露出するハードウェアと API
- 局所性を自動で作る変換
- 局所性と並列性を両立するアルゴリズム
- 非同期性・先読みなどの許容技術
これらの「上限見積もり」ツール群(依存関係・アクセス系列の解析、パターンのデータマイニング、oracle 並列度の推定)も挙がる (p.82-83)。
![[_attachments/darpa-2008-exascale-computing-study/ch05-fig5.16-future-scaling-trends.png]]
(図5.16. 局所性の逆数(縦)と直列性(横)の平面上での、応用類型の時代変化。「DARPA Hard gap」を示す。)
## 考察・限界
- 本章の予測は、通信コストの仮定(一定か対数か)に大きく左右される。一定でも約 180 倍、対数なら約 1 桁の改善にとどまる (p.77-78)。
- 帯域を遅延許容に転じる度合いは畳み込みに含まれず、悲観的仮定での畳み込みは今後の課題とされる (p.77)。
- 表 5.1 の数値の検証は、実際のエクサスケールアプリの研究を待つ (p.81)。
- 部門級の商用アプリで並列度を 4 桁上げる方法、および大規模でのデバッグと誤り許容は未解決である (p.80)。
- 節 5.6.3.1 と 5.5.3 は「Section 6.7.4」のチェックポイントを参照する。第 6 章側の記述との対応づけの目印になる。
## 関連
- ハブ: [[ExaScale Computing Study - Technology Challenges in Achieving Exascale Systems]]
- 編者: [[Peter Kogge]]、委託元: [[DARPA]]
- システム: [[IBM Blue Gene/L]]
- アプリ・ベンチマーク: [[WRF]]、[[AVUS]]、[[Hycom]]、[[HPL]]