最終年度は,本研究の目的としているx86系やPOWER8系のようなマルチプラットフォームを対象とした並列Javaコードを自動生成するための並列化コンパイラ(システムソフトウェア)の開発を行った。開発した並列化コンパイラでは,粗粒度タスクを定義する指示文を加えたJavaプログラムを入力として,Java Fork/Join Frameworkを利用するマルチプラットフォーム向け並列Javaコードの自動生成を可能にしており,並列プログラムの生成に伴うユーザ負担を軽減することが可能である。この並列化コンパイラにより生成された並列Javaコードは,全階層の粗粒度タスクを実行開始条件により統一的に管理し,Fork/Join Frameworkのタスクスケジューラにより,粗粒度タスクをコアに動的に割り当てることが可能である。特に,本年度はメニーコアのようなコア数の多い並列システムにおいて,高い実効性能を達成するために,通常の粗粒度タスクだけでなく,粗粒度タスク内のローカルタスクを協調して実行させる方式を新たに提案した。 性能評価では,保有しているx86系サーバ,本研究予算で購入したPOWER8系サーバを用いて性能評価を行い,マルチプラットフォーム向けの並列Javaコードの有効性を検証した。性能評価プログラムとしては,Java Grande Forum Benchmark Suite等を採用している。性能評価の結果から,本手法により生成された並列Javaコードはマルチプラットフォーム環境下でも高い実効性能が達成されることが確認されており,その有効性が確認された。 本研究の研究成果は,情報処理学会システムアーキテクチャ研究会や全国大会等の学会発表6件(うち本年度は2件),および,情報処理学会論文誌の論文3件(うち本年度の1件は2019/3採録決定)となっている。
|