2015 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 – 2018-03-31
|
Keywords | プログラミング方法論 / 大規模並列処理 / 領域特化言語 / 代数データ型 / 関数型言語 |
Outline of Annual Research Achievements |
本研究は,大規模なグラフデータを処理対象とする効率的な並列アプリケーションの開発を支援するシステムを構築することを目的とする.そのため,(1)グラフデータ中の代数的な構造を捉えたモデル化と理論的基盤の構築,(2)グラフ処理の柔軟な記述と最適化が可能な領域特化言語の設計と実装,(3)領域特化言語で記述されたプログラムに対する大規模並列フレームワークの適用による並列処理システムの設計と実装を行う. 前年度の研究調査により,分散並列処理フレームワークとしてPregelが有望であるという結論に達している.平成27年度はこれに基づき研究を行い,以下の実績を得た. 第一に,グラフを相互再帰的なデータ構造として定義した上で,Pregelによる頂点主体のバルク同期並列計算を,グラフの構造に基づく構造的再帰関数としてモデル化した.この関数の実行は,メモ化に基づくグラフ上の動的計画法として捉えることができる. 第二に,このモデル化の上でグラフ処理を簡潔に記述するための関数型領域特化言語Fregelを設計した.Fregelでは,関数型言語Haskellに類似した文法を用いて,各頂点における計算を行う関数を定義する.この関数では1ステップ前の計算値へのアクセスをテーブルを利用することにより抽象化し,さらに,内包表記により集約と通信を統一的に記述する.Fregelを利用すれば,Pregelを直に用いるよりも少ない手間で,プログラムを記述できる. 第三に,Fregelプログラムを,Pregelモデルのオープンソース実装であるGiraph上で動作するプログラムへ翻訳するコンパイラのプロトタイプを作成した.現状では,翻訳されたGiraphのプログラムは,プログラマが直に記述した同等の処理を行うプログラムと比較して,実行時間として10倍程度のオーバーヘッドがある.しかし,実験を通して我々のアプローチが有望であるという感触を得ている.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究の申請段階では,平成27年度は,グラフのモデル化,問い合わせ最適化機構,領域特化言語の設計と処理系の実装,グラフ処理アルゴリズムのライブラリ化などを行う予定となっている.実際の進展としては,「研究業績の概要」に記述した通り,以下のような成果が得られている. (1) グラフデータを相互再帰的なデータ構造により定義し,Pregelによる計算をグラフの構造に基づく構造的再帰関数としてモデル化した. (2) 関数型領域特化言語Fregelを設計した.さらにいくつかのグラフ処理の問題に対して実際にプログラムを記述し,Fregelによるプログラムの「書きやすさ」を確認した. (3) FregelのプログラムをGiraphのプログラムに翻訳するコンパイラのプロトタイプを実装し,評価を行った. 実際,これらの成果に基づく国内会議論文 (査読あり) を執筆して口頭発表を行った.またこの論文は,査読において高い評価を得て,ジャーナル論文に招待されている.さらに,この国内会議論文を発展させた形で英語論文を執筆し,プログラミング言語分野の一流の国際会議に投稿した (現在査読中).さらに,最適化機構,ライブラリ化に関しても,順次検討を加えているところである.以上を総合的に判断して,「おおむね順調に進展」と評価した.
|
Strategy for Future Research Activity |
平成27年度の研究を受けて,平成28年度は以下の課題を中心に取り組む.これらの作業を通して,Fregelの実用性を高め,それを立証していく.それぞれを担当する人員配置に関しても柔軟に対応して,効率的な開発が進むようにする.得られた成果は,一流の国際会議論文,ジャーナル論文として執筆し公表することを目指す. (1) 領域特化言語Fregelの改善: 現状のFregelでは,他頂点における計算結果を授受の記述法に関して,若干書きにくい面が残っており,改善の余地がある.この問題に取り組み,より「プログラムを自然に記述しやすい」言語を目指す. (2) 領域特化言語FregelからGiraphへのコンパイラの最適化: 現状のコンパイラは,無駄なコードを除去しきれておらず,Giraphで直書きしたプログラムと比較するとオーバーヘッドが大きい.このオーバーヘッドを軽減するための最適化機構を実装する. (3) Giraph以外の並列処理フレームワークの利用: Giraph以外の代表的なフレームワークへのコンパイラも実装することにより,Fregelの汎用性を立証するとともに,利用するフレームワーク独立のインタフェースを切り出す. (4) 様々なアプリケーションの記述と大きなクラスタでの実験: 様々なアプリケーションをFregepで記述した上で,Amazon EC2 などの規模の大きなクラスタ環境での実験を行う.
|
Causes of Carryover |
「研究実績の概要」にあるような実績が得られ,論文発表を行う下地が整ってきたので,次年度の対外発表のための旅費等として残すこととした.
|
Expenditure Plan for Carryover Budget |
次年度に予定している成果発表にかかわる旅費あるいは会議参加費の費用として使用する.
|
Research Products
(10 results)