平成13年度の研究では、前年度までに構築したシミュレータを用いて、実行時プログラム再構成を実現するアーキテクチャと、同アーキテクチャを最適化するバイナリトランスレータの性能を評価した。また、更に投機的実行による高速化を実現するため、投機を行う範囲を更にハイレベルにする実行時の投機的再利用の実現を投機的機構で行う方式を提案し、評価を行った。実行時再構成アーキテクチャの評価においては、共有メモリを用いたSMPに投機的実行および実行時にバイナリプログラムを再構成する機構を組み込んだシミュレータを作成した。ここでは、ループ構造を分岐予測器を用いて検出し、レジスタ間依存関係をスコアボードにより解析することにより、ループイテレーション間にまたがるレジスタ依存関係を、重複実行を挿入することにより切り離し、逐次バイナリプログラムを投機的SPMDマルチスレッドバイナリプログラムに変換し、バリア同期を取り、スレッド間は投機的メモリアクセスで相互依存関係を実現する。同方式の最適化方式として、可能な部分に関して実行全に静的解析を行い、バイナリトランスレーションを行うことにより、実行時における解析オーバーヘッドを削減するとともに、投機的メモリアクセスの実行数を減少させ、投機的メモリアクセスに関わるメモリバッファ量を減少させる。 評価は、SPEC CPU95を用いた。評価の結果、実行時再構成方式は8台程度までは逐次のバイナリプログラムからスケーラブルな性能が得られるとともに、特に整数系のプログラムではバイナリトランスレーションによる顕著な高速化が観測された。
|