2014 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)領域特化言語で記述されたプログラムに対する大規模並列フレームワークの適用による並列処理システムの設計を行う.平成26年度は,研究の初年度として既存研究・技術の調査に力を入れ,以下の成果を得た. 1. 対象とするグラフ問題とアルゴリズムに関する既存研究を多数調査し,問題のクラス分け,解法のパターン化の作業を行った.その結果,密部分グラフの抽出,クラスタリングなどのいくつかの典型的な問題パターンがあり,領域特化言語の設計ではこれらに有効な記述法を考える必要があることを確認した. 2. 既存の分散並列処理フレームワークを調査し,Pregelが有望であるという結論に至った.Pregelでは,グラフの各頂点における一単位の計算と結果の集約を同期的に行うバルク同期並列に基づいて,プログラムを記述する.フリーソフトウェアとしての実装もいくつかあり,本研究の基盤として用いることを確認した. 3. 調査したアルゴリズムの一部をPregelで記述し.記述性,典型的な記述パターンを検討した.その結果,Pregelでは低レベルの状態遷移的なプログラムを書く必要があり,プログラムを記述しにくいこと,共通して現われるプログラミングのデザインパターンが存在すること,状態を隠蔽するような領域特化言語を設計する必要があることがわかった. 4. グラフの代数的なモデル化としてUnCALを利用することを検討した.さらにグラフに対する変換を構造的再帰を用いて記述し,最終的にPregelコードを生成するシステムの試験的な実装を行った.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本研究の申請段階における予定では,平成26年度はアプリケーションの記述を開始し,モデル化や領域特化言語の機能や文法に関する設計上の指針を得つつ,グラフのモデル化,領域特化言語の設計,グラフ処理アルゴリズムのライブラリ化を行うことを目標に掲げていた実際の進展としては,「研究実績の概要」に記述した通り,以下のような成果が得られてる. (1) 既存研究を調査し問題のクラス分け,解法のパターン化により,領域特化言語設計上の指針を得ることができた. (2) 実行時システムの基盤としてPregelが適切であることを確認し,今後の作業の下地を作ることができた. (3) グラフ問題のアルゴリズムをPregelで記述し経験を蓄積することにより,デザインパターンのライブラリ化と領域特化言語が抽象化すべき項目等に関する知見を得た. (4) UnCALに基づくグラフのモデル化を行い,Pregelコードを生成するシステムを試作した. さらに,グラフ上のプログラム変換の機械的な証明と自動最適化の基盤の構築も行っている.以上を総合的に判断して,「おおむね順調に進展」と評価した.
|
Strategy for Future Research Activity |
平成26年度の研究を受けて,平成27年度は以下の課題を中心に取り組む. (1) グラフデータのモデル化とグラフ問い合わせ処理の最適化機構: UnCALに基づくモデル化をPregelと親和性の高いモデル化へと進展させる.さらに領域特化言語のグラフ問い合わせ処理を最適化するための基盤を構築する. (2) 領域特化言語の設計およびホスト言語との連携機構: グラフ処理を抽象化した領域特化言語の仕様を固め,処理系を実装する.この処理系は,領域特化言語のプログラムを,Pregelのプログラムへと変換する.さらに,Pregelの実行時システムであるC++,Javaなどのホスト言語とのシームレスな連携を目指す. (3) グラフ処理パターンのライブラリ化と共通インタフェースの実現: Pregelにおける典型的なグラフ処理のデザインパターンのライブラリ化をさらに進める.さらに領域特化言語による容易なプログラム開発を支援するために,Pregelの利用を抽象化するインタフェースを設計する. (4) 領域特化言語を用いた代表的なグラフアルゴリズムの記述と実験: 上の領域特化言語を用い,平成26年度に調査したグラフアルゴリズムを多数記述して実験を行い,記述性,処理系の性能,最適化機構など,多方面からの検証を行う. 平成28年度以降は,理論的基盤と実動システムをバランスよく進めていくことを心がけ,設計上,技術上の困難に遭遇しても,一時的な担当の組みかえや重点的な人員配置により問題を解決していく.さらに定性的評価,定量的評価にも力を入れ,その結果は,モデル化,最適化機構,領域特化言語の処理系をはじめとする様々な要素の再検討へフィードバックさせていく.
|
Causes of Carryover |
「研究実績の概要」にも記した通り,今年度は既存研究と技術の調査に力を入れ,本研究の基礎部分を固めることに重点を置いた.そのため,次年度に行う予定の対外発表のための旅費あるいは会議参加費に要する額を,大きな金額ではないが次年度使用額として残すこととした.
|
Expenditure Plan for Carryover Budget |
次年度に予定している成果発表のための旅費あるいは会議参加費として利用する予定である.
|
Research Products
(4 results)