本年度はまず、CMPにおいて複数のプロセスを同時に実行した際の性能および振る舞いを計測することを目的として、実プロセッサを用いたプラットフォームを複数種類構築した。また、同様の実験をプロセッサのパラメータ(プロセッサのコア数、キャッシュサイズ、キャッシュやメインメモリのレイテンシなど)を様々に変更した場合や、実プロセッサにすでに実装されているDVFSだけでなく、共有キャッシュのパーティショニングなどの実システムでは使用できないハードウェア制御を適用した場合に行なうために、CMPのプロセッサシミュレータを改造し、評価システムを構築した。これらの環境上で様々なプログラムを同時に実行し、それぞれのプログラムが実行されているプロセッサコアにDVFS制御を適用した際の性能およびシステムのハードウェアカウンタの値を計測した。また、シミュレータ上では上記に加えて様々なパラメータを変化させることによる評価も行なった。これらのデータを基にして、システムのハードウェアカウンタの値と適用するハードウェア制御に対するCMPの性能(トータルスループットやフェアネス)の関係をモデル化することを試みた。このモデル化により、対象とする指標(例えばトータルスループット)をDVFSなどのハードウェア制御で最適化することができるようになった。具体的には、実行時のハードウェアカウンタの値と適用しうるハードウェア制御を、構築したモデルに代入することによって最適な制御(例えば2コアのCMPにおいてコアAの周波数を1段階下げ、コアBの周波数を2段階上げる、など)を導出するものである。本手法により、従来のヒューリスティックな制御に比べて、性能向上を達成できることがわかった。
|