まったく異なるスパコンの性能評価「Graph500」

スパコンと言えばシミュレーションなどの数値計算を思い浮かべるのであるが、スパコンの用途はそれだけに限らない。

例えば、すべてのe-mailのトラフィックを解析して、誰から誰にメールが送られたかを数えると、個人を点としてメールの方向を示す矢印で個人を結び、メールの回数を矢印の重みとして付けたグラフが作れる。このグラフを解析すると、誰と誰の間に頻繁に連絡があり、グループを作っているかが分かる。また、メールの内容にBombなどの特定の言葉が出てくるものだけを数えればテロリストグループを見つけられるなどということを米国の国家保安省などはやっていると信じられている。

また、Jaguarスパコンを使って児童ポルノの写真のファイルシェアでの広がりのグラフを解析して、最初にアップロードした(そして、元の写真を撮影した可能性が高い)犯人を素早く割り出そうというようなアクティビティも行われている。

このような関連性のある大量のデータを分析して規則性や意味のあるデータを見つけ出すのは科学の分野でも重要であり、グラフ処理の需要は大きい。

しかし、何千万人ものバーテックスと何億、何十億本ものエッジからなるグラフから目的の情報を見つけ出すのは膨大なデータ処理が必要であり、スパコンの出番となる。しかし、このようなグラフ処理は、必ずしも浮動小数点演算性能が必要ではなく、メモリアクセスパターンも個々のデータに依存して不規則というように、シミュレーション用のスパコンとは要件が大きく異なる。

しかし、現在はGraph処理のベンチマークが無く、どのスパコンがグラフ処理に向くのか分からないし、グラフ処理性能の高いスパコンの開発にも力が入らないということで、関係する30団体がグラフ処理性能をベンチマークしランキングするGraph500を立ち上げた。

ベンチマークは大量の(始点、終点、重み)のデータから、効率的に処理できるグラフデータ構造を作り、そのグラフからランダムに64個のスタート頂点を選び、その頂点に接続された頂点すべてを探すというBreadth First Searchの処理性能(Edge per Second)を競うものである。処理するデータ量はToy(おもちゃ)の17GBからHugeの1.1PBまで定義されている。

そして、今回のSC10で初めてのGraph500のランキング結果が発表された。名前はGraph500であるが、今回、発表された結果には9システムしか含まれておらず、まだまだ、評価結果を提出するシステムが少ないという状況にある。

今回発表された結果は次の表のようになっている。

1位はアルゴンヌ国立研究所のIntrepidシステムで、スコアは6.6Giga Edge per Secondである。このシステムはTop500の13位にランクされているが、2位のJaguarシステムはGraph500では8位である。しかし、ハードウェア的な規模では1、2位に比べると小さい、Crayの超マルチスレッドスパコンであるXMTが3、4位と6位に入っているところが他のベンチマークとは趣が異なっている。3、4位のXMTシステムは1位のIntrepidと比べるとノード数は1/64であるが、性能は1/5程度であり、ノードサイズの違いを考慮しても高性能である。なお、4位のサンディア国立研究所のXMTシステムはGraphstormと名付けられており、このXMTマルチスレッドスパコンがグラフ処理に圧倒的に強いことを示している。

現在のGraph500は9システムしか結果が登録されておらず傾向を読みづらいが、 Top500やGreen500のランキングとこれほどの差があるということは、Graph500の有効性を示しているとも言える。

今後、Top500の上位システムでのGraph500の値を出すようになると、もっと、システムの構成に対するグラフ処理への向き、不向きが明らかになってくると思われる。

また、グラフ処理はシミュレーションに劣らず我々の生活や科学の発展に需要な役割を担っており、Graph500の主宰者の意図のように、グラフ処理性能に重点を置いたスパコンの開発が推進されることも重要であると思われる。

スパコンの性能ランクというとTop500が非常に有名であるが、目的に応じてHPCCやGreen500、Graph500という着目点の異なるランキングがあり、ユーザとしては、スパコンの性能といっても目的に応じた指標を使う必要がある。