- 著者
-
岡 宏樹
吉田 明正
- 雑誌
- 研究報告システム・アーキテクチャ(ARC) (ISSN:21888574)
- 巻号頁・発行日
- vol.2017-ARC-227, no.38, pp.1-7, 2017-07-19
Java プログラムの並列処理環境として Fork / Join Framework が導入されており,ワークスティーリングを伴うスケジューラが利用できるようになっている.このFork / Join Framework を用いて,タスク駆動型実行を伴う並列 Java コードを実装する方法が提案されている.この方法をメニーコア環境に適用する場合,並列ループの分割数に起因して並列コードが長くなる.しかしながら,並列 Java コードの増大は,JVM 上での Java プログラムの実行時間を増加させる傾向がある.そこで本稿では,タスク駆動型実行の並列 Java コードを短縮するコードコンパクション手法を提案する.本手法では,指示文付 Java プログラムを入力として,開発した並列化コンパイラにより Fork / Join Framework を用いたタスク駆動型実行コードを自動生成する.Intel Xeon Phi Knights Landing 上で性能評価を行ったところ,Java Grande Forum Benchmark Suite 2.0 のプログラムに対して,68 コア実行において最大 103 倍の高い速度向上が得られ,提案手法の有効性が確認された.