インド工科大学マドラス校(IIT-M)は1月7日、同学コンピューター科学工学科の研究者らが、グラフアルゴリズムを並列計算するための、StarPlatと呼ばれるドメイン固有言語(DSL)を開発したと発表した。研究成果は学術誌Journal of Parallel and Distributed Computingに掲載された。
現在のコンピューター環境では日々大量のデータが生成されており、効率的に処理するために並列計算という方法が使われている。この方法ではデータをより小さな塊に分割し同時に処理するもので、処理時間の短縮につながる。一方、グラフアルゴリズム(ネットワークや地図、SNSなどの現実の問題をモデル化する際に使用するグラフ理論に基づいたアルゴリズム)はその不規則性から並列化が難しい。この問題を解決する1つの方法として、DSLの利用がある。この研究では、グラフアルゴリズムに関する並列プログラミングの負担を軽減することを目的に、StarPaltと呼ばれる独自のDSLを開発しその機能について調査した。
StarPlatは、高度なグラフ特有の構成要素を用いて、アルゴリズムの仕様を提供し、この仕様から複数のバックエンド(バックエンドはアプリケーションを動作させるためのデータやインフラストラクチャ)のコードを生成する。ユーザーが並列計算に特化した処理を抽象化できるよう設計され、同時に高性能なグラフコードの生成を行うこともできる。コンパイラは、DSLコードをC/C++プログラミング言語に変換するため、高度な専門知識を必要としない。この開発では、マルチコア用のOpenMP、分散セットアップ用のMPI、メニーコア・アーキテクチャ用CUDAの3つの異なるバックエンドが使用されている。StarPlatはオープンソースでの利用が可能だ。
インド工科大学(IIT)パラカッド校コンピューター科学工学科の助教授であるウニクリシュナン・チェラマンガラート(Unnikrishnan Cheramangalath)博士は、「Starplatは、プログラミングの労力を大幅に削減します。この研究からStarPlatが斬新で汎用性があり、性能を損なうことなくプログラムの生産性を向上させることが分かりました」と研究成果を称賛した。
サイエンスポータルアジアパシフィック編集部