鋼(はがね):マルチコア・マルチスレッドプロセッサ向けバイナリ変換システム

HAGANE logo

概要

従来、高性能プロセッサシステムはシングルスレッド実行を前提にして、 クロック速度の向上命令レベル並列性(ILP)の抽出により、 その性能を向上させてきたが、クロック速度の向上には物理的限界があり、また、 抽出可能なILPにも限界があるため、次第にその高速化には限界が見えてきた。 この問題に対して、マルチスレッド実行モデルが最も有効な解決策であり、 実際に次世代の汎用プロセッサシステムの一部には、これを採用する マルチスレッドプロセッサが現れてきている。

マルチスレッドプロセッサにより性能を上げるためには、マルチスレッド化した プログラムコードが必要となるが、ユーザーがマルチスレッド実行を前提と したプログラミングを行なうことは容易ではなく、シングルスレッドコードから マルチスレッドコードを自動的に生成するシステムの存在が今後重要かつ不可欠に なると考えられる。 そのため、これまでに種々の自動マルチスレッド化(あるいは自動並列化) コンパイラの研究開発が行なわれてきたが、それらはソースコードレベルで マルチスレッド化を行なうため、ソースコードを参照できることが必要となる。

しかしながら、現実問題としてアプリケーションプログラムのソースコードは その全てが参照可能なわけではなく、もし実際に高速化したいアプリケーション プログラムのソースコードが参照できない場合には、ソースコードレベルでの マルチスレッド化手法ではそれらのアプリケーションを高速化することが できない。これはソースコードの参照を前提とする手法には不可避の問題である。

以上を背景として、本研究では、今後主流になると考えられるマルチスレッド プロセッサを前提にして、ユーザーが記述したシングルスレッドコードから マルチスレッドコードをバイナリ変換により自動的に生成するシステ ム「鋼(はがね)」の構築を行ない、バイナリ互換を維持しつつ、アプ リケーションの実行性能の向上を目指す。


成果

Papers


プロジェクトメンバー (2015年度)