<テクニカルレポート>
動的ソフトウェアパイプライニング技術の提案と性能評価

作成者
本文言語
出版者
発行日
雑誌名
雑誌名
開始ページ
終了ページ
出版タイプ
アクセス権
概要 コンピュータのハードウェアやソフトウェアを動的に最適化する「動的最適化技術」が注目されている.筆者らは,動的最適化技術の1つである動的コード変換として,本来はコンパイル時に行うソフトウェアパイプライニングを動的に,つまり対象プログラムの実行中に当該プログラムに対して適用する「動的ソフトウェアパイプライニング」技術を提案する.ソフトウェアパイプライニングは条件分岐を含まないループに対して適用するため...の技術であり,ループ中に条件分岐を含む場合には単純に適用することができない.従来の方法は,ループ中の全てのパスを最適化の対象としてきたが,本稿で提案する動的ソフトウェアパイプライニングでは,ループ中に複数存在するパスの中から,実行時プロファイリングにより検出されたホットパスに対してソフトウェアパイプライニングを適用する.ホットパス以外のパスが実行されるときは,ソフトウェアパイプライニング化されたループから抜け出し補正コードが実行される.これにより条件分岐を含むループに対してもソフトウェアパイプライニングを適用できる.
Dynamic optimization for software and hardware is gaining the attention of computer systems researchers as an effective means of boosting performance. We are challenging dynamic binary rewriting, using a software pipelining technique. Software pipelining is one of compiler technique, whose principle is to overlap different iterations of a loop body in order to exploit parallelism. But loops with conditional branches are difficult to software pipeline because there are multiple paths of execution to schedule. Traditional techniques to solve this problem apply software pipelining to all paths ofloops. In contrast to these techniques, Dynamic software pipelining applies it to one frequent executed path (hot path), which is one of profile information collected by a profiler. To execute the other paths, we prepare compensation code. Therefore we can apply software pipelining to loops with conditional branch.
続きを見る

本文情報を非表示

tanoue02_1 pdf 964 KB 44  

詳細

レコードID
査読有無
権利関係
関連情報
NCID
タイプ
登録日 2009.04.22
更新日 2017.02.09