命令レベル並列計算機上で並列実行する領域の選択を高速に行う方法
スポンサーリンク
概要
- 論文の詳細を見る
プレディケート付き命令を許す命令レベル並列計算機においては, 条件分岐を削除して分岐先命令群に相補的なプレディケートを付けたり(IF変換), 制御依存やメモリ依存を超えた投機的な命令移動によってクリティカルパスを縮めたりすることで, プログラムの効率的な実行が実現できる.しかし, これらの最適化の適用領域(以降ハイパーブロックと呼ぶ)によっては, 分岐先命令のクリティカルパス長のバランスの悪さ, 実行可能性が低い命令の挿入などの原因で, 実行効率改善の程度が異なり, 実行効率の低下の可能性すらあるため, ハイパーブロックとする領域の適切な選択が必要である.従来の研究は, さまざまなハイパーブロックの選び方に対して実際にコードスケジュールして効率を比較するという, Generate&Test型の方法であり, Testされるハイパーブロックの場合の数は, 分岐命令の数に従って指数関数的に増大するため, 広範囲に高い実行効率を得ようとすると, コンパイル時間が多くなってしまう問題があった.本研究の基本アイデアは, プログラムのある領域全体(aとする)をハイパーブロックとしたときの実行効率を, その領域を構成する部分(b, cなど)の実行効率から再帰的に見積もれるとモデル化することにある.このモデルに動的計画法を適用することで, (a)の効率が(b), (c)を逐次に実行した場合より悪くなる場合を検出し, (b)と(c)を独立なハイパーブロックとする判断が高速に終了する.これらの仕組みは, 基本ブロックの数にほぼ比例する時間で終了し, なおかつ, コードスケジューラに直接依存しないため, 高速かつ広範囲に対し, 高い実行効率を実現する.
- 一般社団法人情報処理学会の論文
- 2002-01-15
著者
関連論文
- 並列トランザクショナルアプリケーションのためのプログラミングフレームワーク
- 浮動小数点演算の正確さに関する投機を用いたJavaの数値計算の高速化
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- ECUソフトウェアのシミュレーション実行時における状態方程式の遷移解析手法
- 再現コンパイル手法を用いたJava JITコンパイラの問題判別
- 動的コンパイラのための実行時分岐予測を用いた最適化手法
- VMX命令セットを用いる高速なソートアルゴリズム(数値アルゴリズム)
- ポータブルなPrologコンパイラーの実現
- JSIAIワークステーション(7) : Prologコンパイラの評価
- JSIAIワークステーション(6) : Prologコンパイラの最適化技法
- JSIAIワークステーション(5) : Prologコンパイラの概要と設計方針
- Java Just-In-Timeコンパイラにおける最適化とその評価
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- SILSを対象としたMCUペリフェラルプログラムの自動コード生成
- 静的プロファイルを用いたファイル・プリフェッチ手法の提案
- HPF処理系の実現と評価
- ワークステーション・クラスタにおける動的なデータ交信/実行管理方法
- コード書換えによる動的メソッド呼び出しの直接devirtualization
- 分散メモリ並列計算機のためのコンパイラによる通信遅延隠蔽アルゴリズム
- HPFにおける実行時の通信解析オーバヘッドの削減手法
- HPFコンパイラにおける並列化手法
- 分散並列計算機のための並列性抽出法
- 動的コンパイラにおける実行時経路情報の構造的収集手法の提案
- 大域的なコード移動を使った複数式の実行コスト削減法
- Java言語に対する投機的なメモリアクセスの最適化手法
- 冗長な符号拡張命令の除去手法
- Java言語に対する効果的なNullチェックの最適化手法
- 命令レベル並列アーキテクチャのためのループアンローリングおよびソフトウェアパイプライニング適用技法
- コンパイル時未定義ループ不変値を添字式に持つループの最内ループ並列化の1手法
- 細粒度並列計算機NLITHの実現とその評価
- 細粒度並列計算機NLITHの概要
- バイトコードパターンマッチによるJavaインタプリタの高速化手法
- データ並列言語における集団通信の実行時認識手法
- データ依存不確定ループの最内ループ並列化
- 依存グラフを用いてアーキテクチャ独立な最適化と対象計算機の資源制約を調整する手法
- 非常に偏った条件分岐が存在するプログラムのデータフロー最適化
- 実行環境が異なる2つのコード間の遷移を行う際の効果的な最適化手法
- 命令レベル並列計算機上で並列実行する領域の選択を高速に行う方法