# 性能メトリクスの選定
## 定義
性能メトリクスの選定とは、対象システムが提供するサービスへの要求に起こりうる帰結を尽くすことで測定すべきメトリクス候補を漏れなく導出し、そこから扱いやすい部分集合へ絞り込む体系的な手続きである。Raj Jain は、任意のサービス要求は「正しく実行された」「誤って実行された」「実行できなかった」という3つの帰結のいずれかに分類できるとし、この3分岐をメトリクス導出の起点に据える。正しく実行された場合の性能は所要時間・実行率・消費資源という3軸(応答性・生産性・使用率、time-rate-resource)で測られ、誤り・実行不能の場合はそれぞれ信頼性・可用性のメトリクス群として扱われる。これにより、サービスごとに速度・信頼性・可用性という3系統のメトリクス群が体系的に得られる(Source: [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] §3.2)。
導出されたメトリクス候補は、低変動性(low variability)・非冗長性(nonredundancy)・完全性(completeness)の3基準で部分集合へ絞り込む。比率で定義されるメトリクス(例: スループット対応答時間の比)は元の2変数のいずれよりも変動が大きくなりがちなため、採用には注意を要する。2つのメトリクスが本質的に同じ情報を与える場合は片方を落とし(非冗長性)、想定しうる帰結すべてがメトリクス集合に反映されているかを確認する(完全性)(Source: [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] §3.2)。
さらに個々のメトリクスは、効用の向きに応じて HB(higher is better、高いほど良い。例: スループット)・LB(lower is better、低いほど良い。例: 応答時間)・NB(nominal is best、中庸が最善。例: 使用率。高すぎればユーザーの応答時間が悪化し、低すぎれば資源が活用されないため、両者にとって望ましい中間の値域が存在する)の3クラスに分類される。この効用分類はメトリクスそのものの定義とは独立した、後段のデータ提示・意思決定で参照される属性である(Source: [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] §3.4)。
## 横断的知見
- **第3章が「比率メトリクスは変動が大きいため採用に注意を要する」と留保していた事情が、第11章で「意図的に比率メトリクスを選んで結論を誘導する」という具体的な悪用例として展開される**: 第3章§3.2は、比率で定義されるメトリクス(スループット対応答時間の比など)が元の2変数のいずれよりも変動が大きくなりがちだと述べ、絞り込み基準(低変動性)の観点から注意を促すにとどまる。第11章§11.2のExample 11.1はこれを具体化する——ネットワークAがスループット(HB)で優りネットワークBが応答時間(LB)で優るためどちらが優れているか単純には決まらない状況で、設計者が「パワー(スループット÷応答時間)」という比率メトリクスを「正しい比較指標」だと主張することで、Aが優れているという結論を導く。第3章の「比率メトリクスは変動が大きい」という統計的な留保と、第11章の「比率メトリクスの選択自体が結論を誘導する」という戦略的な指摘は、同じ「比率メトリクスは単純な2変数のメトリクスより慎重に扱うべき」という結論に、統計的性質(変動)と意図的操作(ゲーム)という異なる経路から到達している。(Source: [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] §3.2, [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 11 Ratio Games]] §11.2)
- **第3章のHB/LB/NBという効用分類は、第11章§11.5「比率のゲームに勝つための戦略」の規則4・5の前提として直接使われる**: 第3章§3.4はHB(高いほど良い)・LB(低いほど良い)・NB(中庸が最善)という分類をメトリクスの属性として導入するにとどまるが、第11章はこれを比率ゲームの実戦的な指針に転用する——LBメトリクス(実行時間など)では自社システムを基準にする方が有利、HBメトリクス(スループット・MIPS・MFLOPSなど)では相手システムを基準にする方が有利、という規則である。第3章で中立的な分類として提示された属性が、第11章では基準システムの選び方という具体的な操作の是非を決める判断材料に転じており、「メトリクスをどう分類するか」という定義上の関心が「分類をどう悪用するか」という実践上の関心へ引き継がれる関係にある。(Source: [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] §3.4, [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 11 Ratio Games]] §11.5)
- **計算機アーキテクチャの教科書は、Jain(1991)の低変動性・非冗長性・完全性という抽象的な絞り込み基準を経ないまま、「実行時間だけが一貫して信頼できる指標である」という単一メトリクスへの収束を、MIPS・MFLOPS・ピーク性能という具体的な代替指標を名指しで退けることで正当化する**: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.8は、時間以外を性能の代理指標にする試みは「例外なく誤解を招く主張やアーキテクチャ設計上の失敗につながってきた」と明言し、MIPS(命令ミックスに依存し同一ISA間でしか比較できない)・MFLOPS(浮動小数点演算の混合比に依存する)・ピーク性能(§1.11のFallacy「Peak performance tracks observed performance」で観測性能の5%〜58%にしかならない実測例が示される)を具体的に退ける。これは[[性能測定]]概念が既出の横断的知見で指摘する「本書における『技芸』とは測定後の比較・提示方法の選択にも及ぶ」というJainのテーゼの、計算機アーキテクチャ分野における独立した実例である——Jainが比率ゲーム(基準システムの選び方で結論が反転する)という一般的な操作可能性を指摘するのに対し、本書は「代替指標そのものが原理的に誤解を招く」という、より強い(指標選択の余地を最初から狭める)立場を取る。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.8, §1.11, [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] §3.2)
- **SPECRatioの幾何平均集約は、第3章が指摘する「比率メトリクスは変動が大きい」という統計的留保に対する、業界標準ベンチマークによる具体的な解法を提示する**: 本書§1.8は、SPECRatio(基準計算機の実行時間÷対象計算機の実行時間)のような比率メトリクスの集合を1つの数値へ集約する際、算術平均ではなく幾何平均を用いるべきだと明示し、その理由を「比率の幾何平均は幾何平均の比率に等しい」「幾何平均の比率は性能比の幾何平均に等しい(すなわち基準計算機の選択が結果に影響しない)」という2性質から導く。これは[[性能メトリクスの選定]]が既出で指摘する「比率メトリクスは変動が大きいため採用に注意を要する」(Jain 1991 §3.2)という留保に対し、「どう平均するか」という技術的な解決策を提供する点で相補的である——Jainは比率メトリクスの採用そのものに慎重であるべきと述べるにとどまるが、本書は比率メトリクスの採用を前提としたうえで、その集約方法(幾何平均)によって基準依存性という具体的な問題を解消する。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.8, [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] §3.2)
- **第7章のIPS批判は、第1章のMIPS批判と同型の論法(単位あたりの「作業量」がワークロードごとに異なるため比較不能になる)を、DNNアクセラレータという新しい対象へそのまま再適用する**: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.8はMIPS(命令ミックスに依存し同一ISA間でしか比較できない)を退けるが、[[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.10は「IPS(inferences per second)は推論の複雑さの逆数に過ぎない」と述べ、TPU上でMLP1(4層、360,000 IPS)とCNN1(89層、4,700 IPS)の間で75倍もばらつく実例を示して単一の要約性能指標としての妥当性を否定する。両者は「1単位の実行完了(命令1個/推論1回)を数える指標は、1単位の中身(命令の複雑さ/推論対象NNの層数)がワークロード間で大きく異なると比較不能になる」という同一の論法を、汎用プロセッサ(MIPS)とDNNアクセラレータ(IPS)という異なる対象に独立に適用しており、著者(Hennessy & Patterson)が一貫して持つ「単位あたりカウント系指標への不信」を示す。IPSはJainのHB(higher is better)分類に自然に当てはまる指標に見えるが、第7章はHB/LB/NBのような効用の向き以前に、そもそも異なるワークロード間で比較可能な指標かという、Jainの完全性・非冗長性基準よりも手前の問題(指標の定義自体の妥当性)を提起している。(Source: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] §1.8, [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] §7.10)
## 未解決の問い
- 低変動性・非冗長性・完全性という3基準は、SREの文脈で発展した後年のメトリクス選定フレームワーク([[意味のあるSLI設計]]のような質問駆動法、[[情報量基準メトリクス選定]]のような情報量ベースの自動選定)とどう対応づけられるか。前者は測定コストと網羅性を軸にした手作業の選定基準、後者はユーザー体験や統計的性質を軸にしており、時代・対象システムの規模(単一システム対マイクロサービス群)を超えて共通する原理があるかは未検証。
- HB/LB/NBという3クラスの効用分類は、後年のSREにおけるメトリクスの効用分類(例: エラー率のようなLBメトリクス、可用性のようなHBメトリクス)とほぼ同型に見えるが、NB(中庸が最善)に相当する分類が現代のオブザーバビリティ文献でどの程度明示的に使われているかは未調査。
- 「比率メトリクスは変動が大きい」という一般則は、現代の分散システムで頻用されるレイテンシのパーセンタイル比やエラー率(いずれも比率メトリクス)にそのまま当てはまるか。当てはまるなら、パーセンタイル系メトリクスの採用に対しどのような留保が必要か。
- 第11章は比率メトリクスの「選択」がゲームになりうることを示したが、第3章の低変動性・非冗長性・完全性という絞り込み基準を機械的に適用すれば、Example 11.1のような比率メトリクス選択ゲームを検知・排除できるか。本書のどちらの章もこの2つの基準体系を明示的に接続していない。
- 第7章はIPSに代わる指標として、DNN横断のベンチマークスイート(Fathom等)による多面的な比較を提案するにとどまり、Jainの3基準(低変動性・非冗長性・完全性)やHB/LB/NB分類を明示的には適用しない。DNNアクセラレータ向けの性能指標選定にJainの体系的な手続きをそのまま適用した場合、どのような指標集合が得られるか。
## 関連
- ソース: [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 3 Selection of Techniques and Metrics]] — 本概念の初出。サービス要求の3帰結からのメトリクス導出、低変動性・非冗長性・完全性の絞り込み基準、HB/LB/NBの効用分類
- ソース: [[@1991__Wiley__The Art of Computer Systems Performance Analysis - Chapter 11 Ratio Games]] — §11.2で比率メトリクスの選択が結論誘導に使われる具体例、§11.5でHB/LB分類を基準システム選択の戦略に転用する箇所
- ソース: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 1 Fundamentals of Quantitative Design and Analysis]] — §1.8でMIPS/MFLOPS/ピーク性能を退け実行時間へ収束する議論、SPECRatioの幾何平均集約
- ソース: [[@2019__MorganKaufmann__Computer Architecture - A Quantitative Approach - Chapter 7 Domain-Specific Architectures]] — §7.10でIPSを単一要約指標として退ける議論(MIPS批判と同型の論法)
- 概念: [[性能測定]](モデル化・計測・シミュレーションという技法選択を扱う姉妹概念。本概念はメトリクスそのものの選定を扱う点で異なる)
- 概念: [[パフォーマンスのアンチメソドロジ]](第11章の比率ゲームを含む、Jainの「ゲーム」系列全体を集約する概念)
- 概念: [[ベンチマーキング]](SPEC/TPCの標準ベンチマークスイートと性能メトリクスの関係)
- 概念: [[ドメイン固有アーキテクチャ]](IPSが問題になるDNNアクセラレータの設計文脈)
- 実体: [[Raj Jain]]
- 書籍: [[The Art of Computer Systems Performance Analysis]]
## 出典
- Raj Jain, *The Art of Computer Systems Performance Analysis*, John Wiley & Sons, 1991, Chapter 3, §3.2-3.4.
- Raj Jain, *The Art of Computer Systems Performance Analysis*, John Wiley & Sons, 1991, Chapter 11, §11.2, §11.5.
- John L. Hennessy, David A. Patterson, *Computer Architecture: A Quantitative Approach*, Sixth Edition, Morgan Kaufmann, 2019, §1.8, §1.11.
- John L. Hennessy, David A. Patterson, *Computer Architecture: A Quantitative Approach*, Sixth Edition, Morgan Kaufmann, 2019, §7.10.