2018 Fiscal Year Final Research Report
Developing an algebraic model and program development platform for large-scale graph processing
Project/Area Number |
26280020
|
Research Category |
Grant-in-Aid for Scientific Research (B)
|
Allocation Type | Partial Multi-year Fund |
Section | 一般 |
Research Field |
Software
|
Research Institution | The University of Electro-Communications |
Principal Investigator |
Iwasaki Hideya 電気通信大学, 大学院情報理工学研究科, 教授 (90203372)
|
Co-Investigator(Kenkyū-buntansha) |
胡 振江 国立情報学研究所, アーキテクチャ科学研究系, 教授 (50292769)
松崎 公紀 高知工科大学, 情報学群, 教授 (30401243)
江本 健斗 九州工業大学, 大学院情報工学研究院, 准教授 (00587470)
|
Project Period (FY) |
2014-04-01 – 2019-03-31
|
Keywords | プログラミング方法論 / グラフ並列処理 / 領域特化言語 / 代数データ型 / 関数型言語 |
Outline of Final Research Achievements |
In this research, we developed a system named Fregel as an open source software that encourages the programmer to develop efficient parallel applications for large-scale graph processing. Technical contributions of this research can be summarized as follows. First, we abstracted and formalized the synchronous vertex-centric computation as a higher-order function. Second, on the basis of the functional model, we proposed Fregel, a functional domain specific language for declarative-style programming on large graphs. Third, we developed a Fregel compiler that transforms a Fregel program into programs for existing vertex-centric frameworks such as Giraph and Pregel+. This compiler applies optimization methods for a target Fregel program by removing unnecessary communications between vertices on the basis of algebraic properties of the programs. Fourth, we confirmed that Fregel programs compiled by the Fregel compiler can be executed with reasonable performance through some experiments.
|
Free Research Field |
プログラミング言語
|
Academic Significance and Societal Importance of the Research Achievements |
本研究は,グラフ中に潜む代数的データ型に基づく構造に注目したモデル化を行っている点に,従来の研究にはほとんどみられない学術的な特徴がある.本研究の成果により,従来はプログラマが手で記述していたグラフデータの並列処理に関して,処理の自然な記述を可能とする領域特化言語と,気軽な利用を可能とする並列実行系が一体となり,プログラマの負担が大きく軽減される.さらにプログラムの代数的な性質に基づく最適化処理をコンパイラが内部で自動的に行うため,プログラマは効率のための細部に囚われる必要はなくなる.Webに代表される巨大なグラフデータに対する処理への需要が大きくなっている今日,その意義は大きい.
|