並列投機実行を支援するバイナリトランスレーション方式の研究
Project/Area Number |
12780192
|
Research Category |
Grant-in-Aid for Encouragement of Young Scientists (A)
|
Allocation Type | Single-year Grants |
Research Field |
計算機科学
|
Research Institution | The University of Tokyo |
Principal Investigator |
玉造 潤史 東京大学, 情報基盤センター, 助手 (90322049)
|
Project Period (FY) |
2000 – 2001
|
Project Status |
Completed (Fiscal Year 2001)
|
Budget Amount *help |
¥2,400,000 (Direct Cost: ¥2,400,000)
Fiscal Year 2001: ¥1,100,000 (Direct Cost: ¥1,100,000)
Fiscal Year 2000: ¥1,300,000 (Direct Cost: ¥1,300,000)
|
Keywords | 投機実行 / バイナリトランスレーション / マルチプロセッサ / マイクロプロセッサ / プログラム最適化 |
Research Abstract |
本年度は並列投機実行の検証を行うシミュレータの作成と並列投機実行最適化を行うバイナリトランスレーション方式の基本方式の検討および実装を行った シミュレータはSolaris8マルチプロセッサ上で複数のプロセッサのシミュレーションを行うことが可能なマルチスレッドシミュレータとなっており、マルチプロセッサシステムと同様に共有メモリ上にデータ空間をもち、通信はマルチスレッドライブラリを用いて実現されている。また、プログラム生成は移植したクロスコンパイラシステムによって生成され、実験が容易にできるようになっている。また、バイナリトランスレーションの最適化においては、実行時再構成方式が生成するプログラムの事前生成を行い実行の最適化手法について(1)並列実行するに対応したレジスタ割付方式および命令再構成を行うことにより命令実行数を減少できること、(2)要素プロセッサに投機実行用命令を追加することにより、メモリアクセスのハードウエアを減少できること、また、実行時再構成方式での重複実行において分岐命令の実行を可能にすることによって投機実行の精度を上昇させることが可能であることを示し、バイナリトランスレータに実装した。バイナリトランスレータは最適化のために実行時と同様にプログラムをバイナリプログラムフォーマットにしたがって制御構造を読み取り並列実行可能部分を検索する。昨年度の研究成果を用いて、検索時に並列実行回数のサイズを特定しループ構造であれば適切な繰り返しサイズになるようにアンローリングして解析を行い、上記の最適化を行うようになっている。 実行時の分岐予測によるコントロールフロー生成が困難な場合には本方式による、最適化が有効であり、特にgccなどの基本ブロックサイズが小さいプログラムでは、速度向上に貢献することが分かった。
|
Report
(2 results)
Research Products
(2 results)