2017 Fiscal Year Annual Research Report
大規模グラフ並列処理のための代数的構造に基づく理論基盤とプログラム開発基盤の構築
Project/Area Number |
26280020
|
Research Institution | The University of Electro-Communications |
Principal Investigator |
岩崎 英哉 電気通信大学, 大学院情報理工学研究科, 教授 (90203372)
|
Co-Investigator(Kenkyū-buntansha) |
胡 振江 国立情報学研究所, 大学共同利用機関等の部局等, 教授 (50292769)
松崎 公紀 高知工科大学, 情報学群, 准教授 (30401243)
江本 健斗 九州工業大学, 大学院情報工学研究院, 准教授 (00587470)
|
Project Period (FY) |
2014-04-01 – 2019-03-31
|
Keywords | プログラミング方法論 / グラフ並列処理 / 領域特化言語 / 代数データ型 / 関数型言語 |
Outline of Annual Research Achievements |
本研究は,大規模グラフデータを処理対象とする効率的な並列アプリケーションの開発を支援するシステムを構築することを目的とする.そのため,(1) グラフデータ中の代数的な構造を捉えたモデル化と理論的基盤の構築,(2) グラフ処理の柔軟な記述と最適化が可能な領域特化言語の設計と実装,(3) 領域特化言語で記述されたプログラムに対する大規模並列処理フレームワークの適用による並列処理システムの設計と実装を行う. 平成29年度の主な成果は,次の通りである. (1) 前年度までの研究で開発した関数型領域特化言語Fregelのプログラムに対して,ワーカ間の無駄なデータ通信の削減が可能であるための条件を定式化し,その条件が満足されるかを制約解消器を用いて判断する枠組を開発した.(2) 前項で延べた最適化の他,簡便な通信削減最適化などをFregelコンパイラに組み込み,効果を確認した.(3) Fregelプログラムを複数の並列処理フレームワークに翻訳するための共通の内部表現を設計し,不要な制御処理の融合などの最適化を行うようにFregelコンパイラを再設計・再実装した.その結果,Javaを用いたGiraph,C++を用いたPregel+という二つの異なるフレームワークのプログラムへの翻訳が可能となり,Fregelの汎用性を確認することができた.(4) 前年度に試作したグローバル視点な視点からのグラフ計算の記述を可能とする領域特化言語に関して,設計を改良しFregelプログラムに翻訳する処理系を実装した.(5) 隣接していない頂点に対する訪問や変更を可能とする新しい領域特化言語Palgolを提案し,そのプログラムをPregelのプログラムに翻訳する処理系を実装した.(6) 頂点主体計算を実装するPregelにおいて,制御構造を分離して記述できるフレームワークを設計し実装した.
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
本研究は,当初の目標に掲げた,(1)グラフデータの代数的構造を捉えたモデル化,(2) グラフ処理の柔軟な記述と最適化が可能な領域特化言語の設計と実装,(3) 大規模並列処理フレームワークの適用による並列処理システムの設計と実装,のいずれの点においても,以下のように目標を達成している. (1) については,グラフを相互再帰的なデータ構造と定義した上で,グラフに対する頂点主体のバルク同期並列計算を,グラフの構造に基づくメモ化を用いた構造的再帰関数として定式化した.(2) については,関数型領域特化言語Fregelを設計,開発し,いくつかの最適化機構に関して数学的な定式化に基づく実装を行った.(3) については,Fregelプログラムの共通の中間的内部表現を利用することにより,Fregelプログラムを複数の並列処理フレームワークのプログラムに翻訳することができており,計測したプログラムの範囲内では,(2)による最適化が可能な場合に実行時間として1.8倍以内のオーバーヘッドに抑えることができた.これに加えて,本年度の研究実績の概要でも述べたような Fregel とは別の領域特化言語の設計開発も行い,効果が確認されている. 対外発表に関しても,プログラミング言語分野における最高峰の国際会議の一つである ICFP 2016,それに次ぐレベルの国際会議の一つである FLOPS 2018 に論文が採択されている.また国内発表では,日本ソフトウェア科学会第34回大会における発表に対して高橋奨励賞が,第20回プログラミングおよびプログラミング言語ワークショップ (PPL2018) での発表論文に対して論文賞を授与されるなど,国内外における評価も高い. 以上より「当初の計画以上に進展している」 と判断した.
|
Strategy for Future Research Activity |
本研究は当初の4年計画の4年目が終了し,研究目標は達成できている.しかし,論文が採択されている国際会議 14th International Symposium on Functional and Logic Programming (FLOPS 2018) の開催は平成30年5月となっているため,補助事業期間を1年延長した上で,この1年は以下に述べるような形で本研究を総括する予定である. (1) FLOPS 2018 での論文発表を行い他研究者と交流することで,本研究の成果を内外にアピールする.(2) 本研究の総まとめ的な位置付けの英語論文を,一流の国際ジャーナルに投稿する.
|
Causes of Carryover |
本研究は当初研究計画に基づき順調に進展しており,成果発表の論文は,国際会議 International Symposium on Functional and Logic Programming 2018 に,厳正な査読を経てすでに採録が決定している.この国際会議は次年度の5月9日から11日までの開催となっているため,補助事業期間を1年延長した上で,参加のための旅費および会議参加費用に必要な分を次年度使用額としている. したがって,主に上記国際会議への参加にかかわる費用として使用する予定である.
|
Remarks |
第20回プログラミングおよびプログラミング言語ワークショップ (PPL 2018) における加藤,岩崎の論文「頂点主体グラフ並列処理のためのGiraph用クラスライブラリ」は,最優秀の論文に授与される論文賞を受賞している.
|
Research Products
(9 results)