ISC 2015で開催されたGraph500 BoFで第10回のGraph500のリストとGreen500のリストが発表された。

Graph500 BoFで概況を説明するPeter Kogge教授

Graph500は、2のSCALE乗(SCALE 40では約1兆)のノードとノードを繋ぐ2のSCALE+4乗のエッジを持つグラフの1ノードからスタートして、全ノードに到達する最短の経路を求めるという問題を解くのに要する時間を測定するベンチマークである。

今回のGraph500は、京コンピュータがスコアを約2倍の3862GTEPS(Giga Traversed Edges Per Second)に引き上げて1位に返り咲きいたのが大きな変化であるが、それ以外は同じ顔触れである。

マシンとしては、中国の天河二号が前回と同じ6位に入っているが、それ以外のシステムは、設置場所は変わっても、すべてIBM製のBlue Gene/Q(BG/Q)である。そして、同率7位の5システムは4096ノードのBG/Qであり、性能も1427GTEPSとまったく同じで面白みがない。

今回のGraph500のトップ10。京コンピュータが3862GTEPSで1位となったのが変化であるが、顔ぶれは同じ。1位と6位以外は、設置場所は色々であるが、すべてIBM製のBlue Gene/Q

Green500は2010年6月に、ビッグデータのグラフ処理性能を測定するベンチマークとして提案され、2011年の11月に最初のリストが公開された。この時のエントリはわずか9件であったが、今回は192エントリまで増加している。

2010年11月の第1回Graph500は9エントリであったが、今回は192エントリに増加。しかし、500にはなかなか届かない

192エントリの内、米国が83エントリ、日本が54エントリで、この2カ国で72%を占める。その次は9エントリの中国で、米国と日本以外での普及が課題と思われる。

次の図は、Graph500の1位、8位と全エントリの合計のGTEPS値を合計したものの年次推移を示したものである。2012年11月までは急速に性能が向上してきたが、その後は大型スパコンの設置も鈍化しており、性能の伸びが鈍っている。

Graph500の1位、8位と全システムの合計のTEPSの推移

実は次の2枚の図は2014年11月のもので、Kogge先生が間違って古いスライドを入れてしまったとのことである。しかし、この分析は前回とほとんど変っていないので、これでも良いと断って説明していた。

次の図は横軸にシステムのノード数を取り、縦軸はノードあたりのGTEPS値を取って各システムをプロットしたものである。図の下に書いてあるように、シンボルの色や形はシステムの形態を表している。

この図で分かるのは1ノードのシステムはGTEPS/Nodeが高く、ノード数が多くなると性能が低下して行く傾向にあるという点である。シングルノードのシステムではすべてのグラフデータが共通メモリに入っており、通信コストが低いので高い性能が得られ、ノード数が増えると、通信の時間が増えるので性能が低下するためと考えられる。

GTEPS/Node性能のシステム規模依存性

横軸にSCALEを取り縦軸をGTEPSにしたのが次の図である。大きな問題を分散メモリのマシンで処理した場合の性能は、破線で示したように、問題規模に比例して性能が上がっている。これは、問題規模を大きくしたから性能が上がるという訳ではなく、大きな問題が格納できるメモリ容量とするためには、一般的にノード数が大きい巨大マシンとなるのでCPUのパワーも大きくなっていることから、ウイークスケーリングが成り立っていることの表れと思われる。

一方、共通メモリのマシンは、通信のオーバヘッドが小さいので、分散メモリのマシンの破線のラインより高いGTEPS性能を実現している。

GTEPS性能の問題規模依存性

Green Graph500

Green Graph500について発表するETH ZurichのTorsten Hoefler准教授

Green Graph500については、ETH ZurichのTorsten Hoefler准教授が発表を行った。Green Graph500は、ベンチマークプログラムや性能の測定に関してはGraph500と密に連携し、電力の測定に関してはGreen500の方式と互換になるようにしているという。

今回のGreen Graph500へのエントリデータを問題規模のSCALEとMTEPS/W性能でプロットすると、次の図のようになっている。

全般に、問題規模が大きくなるとエネルギー効率は低くなる。また、SCALEが33以下でシングルノードのマシンでの測定と、32以上のSCALEで多数のノードを持つマシンでの測定ではMTEPS/Wの値が大きく異なる。

エントリされたデータの散布図。問題規模が大きくなるとエネルギー効率は低くなる。また、シングルノードで小規模な問題を処理する場合とマルチノードで大規模問題を処理するのは特性が異なる

前の図から、Small Dataの処理とBig Dataの処理は基本的に異なるカテゴリであることが分かる。

次の図の右下の棒グラフは、SCALEごとのエントリされた測定結果の数を表したものである。そして入れ込みになった小さいグラフはエントリされたデータのSCALE値の累積グラフである。この両方のグラフを見ると、SCALEが30以下、あるいはエントリ数が半々になる程度のSCALE値で区分するのが妥当であると思われる。

とHoefler先生は述べているのであるが、SCALE 38のJUQUEENの効率は5.41MTEPS/W、SCALE 40のMilaの効率は4.42MTEPS/W、同じくSCALE 40のSequoiaの効率は3.55MTEPS/Wであり、Big Dataリストの上位に来るシステムがシングルノードでその10倍近い効率であることを考えると、筆者としてはこの分け方で良いのかと思う。

Small DataとBig Dataの処理は異なるカテゴリ。多くの場合、シングルノードかマルチノードかで異なる。提出されたデータの中央値はSCALE 30

そして、SCALE 30で区分したSmall Dataのリストは次のようになっている。ジョージワシントン大のColonialというGPUを使うマシンが、SCALE 20で122.18GTEPS、445.92MTEPS/Wという高い性能を達成している。そして、スマホ用プロセサを使う九州大学のGraphCRESTの結果は1GTEPS程度の性能で、200MTEPS/Wを若干超える程度になっている。

Small Dataの1位から7位

一方、Big Dataの方は、SCALE 30のグラフで31.33GTEPS、62.93MTEPS/Wで解いた九州大学のSandyBridgeベースのGraphCRESTのマシンが1位となった。このリストはBig Dataのリストであるが、この図に載っているマシンはすべてシングルノードのマシンであり、通信オーバヘッドが出てくる、大規模、巨大規模の問題を分散メモリのシステムを使った結果ではない。

Big Dataの1位から7位

次回のリストはSC15に合わせて2015年の11月に公表される予定であり、測定結果の提出期限はGraph500と同じにする予定であると言う。