(邦訳:プロセッサ性能の予測技術を用いる高速化の研究)
石井 康雄 NEC ITプラットフォーム事業部 |
[背景]電力制限によるプロセッサのクロック周波数向上の終焉
[問題]複数の異なる予測機構の競合による性能低下
[貢献]複数の予測機構の統一化による予測性能の向上
[問題]複数の異なる予測機構の競合による性能低下
[貢献]複数の予測機構の統一化による予測性能の向上
プロセッサ電力の制限からプロセッサのクロック周波数向上は頭打ちになっており,クロック周波数の向上に頼らないプロセッサの性能を向上の手段が必要となっている.ハードウェア予測機構を用いた投機実行は予測が成功する場合には電力の増加を招くことなく性能向上を実現できる方式の1つである.
そのため,データプリフェッチや分岐予測などの予測方式は現代の多くのプロセッサに実装されている.しかし,既存の予測機構は他の予測機構との協調動作を考慮せずに予測を行うため,複数の異なる予測機構がお互いに干渉して性能向上を妨げる,冗長な実行時情報を収集してハードウェアのコストを増加させる,他の予測機構の予測結果を利用した予測を行えないといった問題点があった.
これら問題を解決するために,本研究では複数の別々の機能を持つ予測機構を単一の予測機構に統一するUnified Prediction アーキテクチャを提案した.この予測機構では,統一されたデータ構造に実行時情報を保存して各予測機構は共通化された実行時情報に基づいて予測を行う.また,各予測機能はお互いの予測の妨げとならないように再設計され複数の異なる予測機構が協調動作をする.
提案する予測機構は別々に設計された予測機構と比較して3つの利点がある.第一に,各予測アルゴリズムはお互いの動作を妨げないように設計されるため,複数の予測機構による競合を削減できる.第二に,複数のアルゴリズムが1つの実行履歴情報を共有するため,予測機構の実装コストが削減できる.第三に,他の予測機構の予測結果を利用することで,予測アルゴリズムの精度が改善できる.
この統一された予測機構としてUnified Memory Optimizing(UMO)アーキテクチャとUnified branch Prediction(UBP) アーキテクチャを提案する.
UMOアーキテクチャはメモリサブシステムの性能向上のために,データプリフェッチ,キャッシュ置換,メモリスケジューリングの機能を統一する.これらの異なる機能は各コアに実装されたUnified Memory Subsystem Controller (UMSC)に統合して実装する.本方式は既存のメモリサブシステムと比較して性能を17.8%改善された.
UBPアーキテクチャは分岐先アドレス予測による分岐予測ミスを削減するために単一の分岐先を持つ分岐命令のための予測機構と複数の分岐先を持つ分岐命令のための予測機構を統一する.UBP アーキテクチャは2つのアルゴリズム間でのリソース配分を調整するために,統一した予測テーブルを持つ.既存の分岐先アドレス予測方式と比較して性能を7.1%改善し,消費エネルギーを4.5%削減する.
こうした予測機構の統一化によって電力を増やすことなく予測精度を高めることが実現可能で,クロック周波数向上に頼らずにプロセッサの性能をさらに向上させることが可能となる.
そのため,データプリフェッチや分岐予測などの予測方式は現代の多くのプロセッサに実装されている.しかし,既存の予測機構は他の予測機構との協調動作を考慮せずに予測を行うため,複数の異なる予測機構がお互いに干渉して性能向上を妨げる,冗長な実行時情報を収集してハードウェアのコストを増加させる,他の予測機構の予測結果を利用した予測を行えないといった問題点があった.
これら問題を解決するために,本研究では複数の別々の機能を持つ予測機構を単一の予測機構に統一するUnified Prediction アーキテクチャを提案した.この予測機構では,統一されたデータ構造に実行時情報を保存して各予測機構は共通化された実行時情報に基づいて予測を行う.また,各予測機能はお互いの予測の妨げとならないように再設計され複数の異なる予測機構が協調動作をする.
提案する予測機構は別々に設計された予測機構と比較して3つの利点がある.第一に,各予測アルゴリズムはお互いの動作を妨げないように設計されるため,複数の予測機構による競合を削減できる.第二に,複数のアルゴリズムが1つの実行履歴情報を共有するため,予測機構の実装コストが削減できる.第三に,他の予測機構の予測結果を利用することで,予測アルゴリズムの精度が改善できる.
この統一された予測機構としてUnified Memory Optimizing(UMO)アーキテクチャとUnified branch Prediction(UBP) アーキテクチャを提案する.
UMOアーキテクチャはメモリサブシステムの性能向上のために,データプリフェッチ,キャッシュ置換,メモリスケジューリングの機能を統一する.これらの異なる機能は各コアに実装されたUnified Memory Subsystem Controller (UMSC)に統合して実装する.本方式は既存のメモリサブシステムと比較して性能を17.8%改善された.
UBPアーキテクチャは分岐先アドレス予測による分岐予測ミスを削減するために単一の分岐先を持つ分岐命令のための予測機構と複数の分岐先を持つ分岐命令のための予測機構を統一する.UBP アーキテクチャは2つのアルゴリズム間でのリソース配分を調整するために,統一した予測テーブルを持つ.既存の分岐先アドレス予測方式と比較して性能を7.1%改善し,消費エネルギーを4.5%削減する.
こうした予測機構の統一化によって電力を増やすことなく予測精度を高めることが実現可能で,クロック周波数向上に頼らずにプロセッサの性能をさらに向上させることが可能となる.

(2013年6月11日受付)