マルチコア組み込みシステム向けの言語仮想機械のガベージコレクション(GC)に関する研究を行った.コンパクション機能を持つ実時間GCアルゴリズムを開発しており,そのアルゴリズムのモデル検査や,実証実験に向けたAndroidへの実装を進めた.また,消費電力を削減する技術の研究も進めた. アルゴリズムが正しいかどうかの検証のために,コンパクションの中心部である並行コピー(アプリケーションが動作している間にアプリケーションが扱うデータをコピーする操作)のプロトコルをモデル検査した.GCアルゴリズムのモデル検査には既存研究があるが,CPUのメモリ一貫性モデルを考慮した現実的な設定でのモデル検査はこれまでに行われていなかった. 実証実験に向けたAndroidへの実装では,当初はAndroidで使われていたDalvik VMを対象に実証実験を計画していた.しかし,研究期間中にAndroidの新しい仮想機械であるARTが発表されたため,研究のインパクトを維持するためにARTに実装して実証実験をすることにした.ARTはDalvik VMに比べ巨大で複雑な構造をしていたため,本研究では,開発しているコンパクションアルゴリズムを,アプリケーションを止めた状態で動作させ,実装方法を確認するためのプロトタイプを開発することにした.その成果はプログラミングおよびプログラミング言語ワークショップで発表した. アプリケーションと同時に動作させるためには,膨大な仮想機械のソースコード中に適切にバリアを挿入する必要がある.そのために,ソースコードを解析してバリアを挿入する箇所を機械的に挿入する方法を研究した.その成果を応用した論文が情報処理学会論文誌プログラミングに掲載される予定である. 最後に,GC中に周波数を下げて消費電力を削減する手法の研究を進め,マルチコア上の並行GCに適用する方法を開発した.その成果はプログラミングシンポジウムで発表した.
|