研究室概要
計算における時間の短縮とネットワークによる距離の短縮は、コンピュータサイエンスにとり最も根源的な課題です。 一見速度とは無関係な機能の提供でも、それを可能とするために必要な計算速度、ネットワーク能力が前提となっています。 従って、コンピュータサイエンスにおける多くの分野における研究は何らかの形で高速化と結び付いています。
平木研究室における研究の基本テーマは計算と通信の高速化であり、ハードウェア、ネットワーク、アーキテクチャ、オペレーティングシステム、最適化コンパイラ、プログラミング言語、アルゴリズム、アプリケーションなど計算機が係わる全ての側面から、高速化の研究を進めています。
研究テーマ
ネットワークプロセッサ用再構成アクセラレータ
アプリケーションレイヤのネットワーク処理は種類が多いため、ASICのような固定ハードウェアによる処理は不向きです。 一方、ネットワークプロセッサは柔軟性が高く、単一のハードウェアで複数の処理に対応する事が容易ですが、十分な速度が得られない場合があります。 ネットワークプロセッサを補助して高い処理速度を実現するために再構成回路を用いたアクセラレータを使用するという方式があり、この方式についての研究を行っています。 具体的には、限られた再構成回路資源で多数のタスクを効率良く処理する方法、ワークロードを実行速度と資源使用量が出来るだけ良くなるようにネットワークプロセッサと再構成アクセラレータの部分に切り分ける手法等を研究しています。
値の局所性を用いたアプリケーションの高速化の研究
プログラム中で行われる計算には等しい値のデータを用いて同一の計算結果を示す値の局所性がある。 データを予測することによる投機実行や、過去の実行結果を利用する再利用が提案されてきた。 我々は値の局所性を用いてアプリケーションを並列実行させ、より高いパフォーマンス及びスケーラビリティを得る研究を行っている。
Javaと実行時コンパイラの研究
実行時コンパイラにおいて、より短い解析時間でより多くの最適化効果を得る研究、また、静的コンパイラには不可能な実行時の情報を用いた最適化の研究を行っています。
特に近年広く用いられているJavaを対象とし、独自の実行時コンパイラを開発中です。 コンパイラの解析時間と最適化能力のトレードオフを考慮に入れて、実際のプログラムを用いて実験する研究には将来の発展の余地が大きいと考えています。
また、実行時コンパイラはゴミ集め機構やスレッドライブラリと動的に情報のやりとりが可能であり、静的コンパイラに比べてより高度な最適化の可能性があります。