GTC Japan 2014において、九州大学の藤澤克樹 教授が「Tegra K1プロセッサ上での高速かつ省電力なグラフ探索ソフトウェアの開発」と題する発表を行った。

省電力なグラフ探索ソフトウェアについて発表する九州大学の藤澤教授

近頃、ビッグデータという言葉が良く聞かれるが、ビッグデータを理解するのに、まず、必要となるのがグラフ解析である。

グラフとグラフ解析の例。(出典:この記事のすべての図は、GTC Japan 2014における藤澤教授の発表スライドの抜粋である)

ビッグデータとして、まず、得られるのは、事象同士の関係を示す2点間の関係である。解析の第1ステップは、これらの2点間の関係から、全体を総合したグラフを作ることである。そしてグラフができたら、第2ステップではグラフを解析して、最短経路や費用最少の経路を求めたり、関係が密なグループを見つけたりするクラスタリングなどの処理を行う。第3ステップで、その結果から、事象同士の関係を分析、理解するという手順になる。

例えば、Twitterでは1日のTweet全体では6,160万点の間に14億7000万の枝(フォロー関係)があるグラフとなり、全米のすべての道路のネットワークは2,400万点、5800万枝のグラフとなる。人間の脳は、890億のニューロンが点で、その間の結合は1000兆枝という膨大なグラフとなる。

このような巨大なグラフの解析は、科学技術計算とは異なる難しさがあり、グラフ解析性能の向上を促すためにGraph500というランキングが2010年から開始された。Graph500は、上記のようなソーシャルグラフとよく似た性質をもつグラフを生成し、任意の1点から始めて、枝でつながっている点をすべて見つけ、見つかったすべての点から枝でつながる点をすべて見つけるという処理を繰り返して、グラフに含まれるすべての点を見つけるまでの時間を測定する。グラフの規模により、この操作にはどれだけの枝をたどる必要があるかが決まっているので、それを処理時間で割ってTEPS(Traversed Edge Per Second)という単位で性能を表す。

また、Top500に対するGreen500と同様に、電力1WあたりのTEPS値を競うGreen Graph500というランキングも行われている。

グラフの点の数は最低でも2の20乗(Scale=20)で、大規模なシステムでは2の40乗(Scale=40)点のグラフを解析している。そして、グラフの枝の数は点の数の16倍と決められている。巨大なグラフでは、この枝の情報を記憶するだけでペタバイトに近いメモリを必要とする。

グラフ解析の重要性から、科学技術振興機構(JST)は、超大規模グラフ最適化基盤を作るためのGraph CRESTという研究プロジェクトを推進している。Graph CRESTの研究を行う拠点は、2014年4月1日から九州大学マス・フォア・インダストリ研究所となり、この発表を行った藤澤教授がGraph CRESTの代表者を務めている。また、共同研究者には、東工大の鈴村客員准教授や佐藤特任助教などが名を連ねている。

Graph CRESTをはじめとして、日本はGraph500には力を入れており、2014年6月のリストでは、京コンピュータが1位、東工大のTSUBAME 2.5が12位にランクインしている。また、統数研のUV2000を使いシングルノードのシステムの中では最高性能、1台のサーバとしては九大のGraph CRESTのマシンが最高性能を出している。

2014年6月のリストでは、日本は、京コンピュータが1位を獲得。統数研のUV2000を使いシングルノードで最高性能、Graph CRESTでは九大がシングルサーバでの最高性能を達成

エネルギー効率を競うGreen Graph500では、シングルノードの低電力のシステムが有利で、2013年6月にはGraph CRESTで中央大学が開発したソニーのスマートフォンを使うシステムで153.16MTEPS/Wを達成して1位を獲得している。

2013年6月のGreen Graph 500で1位となったSonyのXperiaスマホを使う中央大のシステム

今回、藤澤教授が発表したTegra K1を使うシステムは、東工大が開発しているGoldenBoxというシステムのプロトタイプである。Tegra K1はARM Cortex-A15コアを4コア(+1個の低電力コア)と192CUDAコアのGPUを内蔵するSoCであり、これを使ってScale=21で測定を行い、1.635GTEPSを約8Wの消費電力で達成し、204.38MTEPS/Wを出している。これは昨年11月の1位と比べて約33%高い値である。

しかし、次の図に見られるようにさらに効率を改善したシステムが出てきており、このTegra K1を使うシステムは今年6月のランキングでは4位となっている。

なお、この測定はTegra K1のARM Cortex-A15コアだけを使ったものであり、CPU/GPUハイブリッド構成は将来の課題となっている。

次の図に見られるように、Green Graph500のScale=30以上のビッグデータのランキングでは、7位までをGraph CRESTとはじめとする日本のシステムが独占しており、スモールデータ(Scale=20以上)でも上位は、大部分、日本のシステムである。

しかし、この図では省かれているスモールデータの1位はGeorge Washington大のColonialというシステムで、NVIDIAのGPUを使い122.18GTEPSの性能で、エネルギー効率は445.92MTEPS/Wと2位の九大の235.15MTEPS/Wを大きく引き離しており、Green Graph500も日本の独壇場ではなく、国際的な競争も熾烈になってきている。