Sparkは今後10年における極めて重要な技術
「IBMは2015年6月にSparkに本腰を入れると発表しました。今後10年、アナリティクスの領域でSparkが極めて重要な技術になると位置づけています」
IBMシステムズ ハードウェア事業本部 ソリューション事業部 先進テクノロジー・センター シニアITスペシャリストの藤岡英典氏は、Sparkに注力するIBMの姿勢をこう強調する。
この発表以降、IBMでは自社ソフトウェア製品をSparkに対応させ、さらに自社のクラウドサービスであるBluemix上でSparkを利用できる「Spark as a Service」の提供もいち早く開始した。
「IBMでは、すでに世界の3,500名を越えるエンジニアを、Sparkに関わるプロジェクトに投入しています。米国サンフランシスコには『Sparkテクノロジー・センター』も開設し、データサイエンティストや開発者とのコミュニケーションの場となっています。実はIBMがテクノロジー・センターを開設するのは、Java、Linuxに続いてSparkが3つ目です。IBMは、それだけSparkが企業ITインフラにとって価値が高いと期待しているのです」(藤岡氏)
Sparkテクノロジー・センターからは、各種情報の発信を積極的に行っている。またSparkコミュニティへの貢献は他にもある。たとえば、IBM内で実績のあった機械学習技術「IBM SystemML」をオープンソース化し、Sparkコミュニティに提供している。
「Sparkにはすでに機械学習ライブラリが実装されていますが、IBMからも技術提供することで、より機械学習の精度向上に貢献できると考えています」(藤岡氏)
Sparkを最初に開発したのはカリフォルニア大学バークレー校のAMPLabだ。最初にここに資金を提供したのもIBMだった。そのAMPLabと協力し、すでに100万人以上のデータサイエンティストとエンジニアがアナリティクス関連の教育機会を得ているという。
ソフトだけでなくハード面からもSparkを盛り上げる
Sparkとは、大量データを並列分散処理技術で高速処理するソフトウェアだ。このソフトウェアの性能を引き出すには、ハードウェアとどう組み合わせるかも重要となる。
IBMでは、ハードウェア面からも積極的にSparkに関わっている。その一つとして、IBMのプロセッサーである「POWER8」を搭載するマシンで、Sparkの処理を最適化する作業を行っている。そして、POWER8を活用した場合の性能ベンチマークの結果もすでに公開している。
「Spark SQL、機械学習のMLlib、グラフデータ分析のGraphXなどを使ったSparkのベンチマークツールをGitHubで公開しています。これを使って、同程度のコア数となるCPUを搭載したPOWER8とx86のマシンを比較し、POWER8が平均で2倍以上の性能を発揮することが分かっています」(藤岡氏)
POWER8がSparkの処理に向いている理由は、1コアで8スレッドが利用できるスレッド性能の高さがある。さらにはメモリバンド幅が広いことも有利に働く。Sparkはインメモリで処理を行うので、CPUとメモリ間のやり取りが速ければ速いほど、処理の高速化につながる。
IBMシステムズ ハードウェア事業本部 ソリューション事業部 先進テクノロジー・センター 部長の髙田充康氏は、「IBMでは、自社のPOWERプロセッサーをオープン化しOpenPOWER Foundationというオープンなイノベーションを行なう団体をGoogle、Mellanox、NVIDIA、Tyanと共に立ち上げて活動を行っています(*注:2016年5月現在、会員は200を超える)。ここでは、様々な組織とエコシステムを築いています。そのエコシステムで、よりSparkに最適化したハードウェアを提供することにも取り組んでいます」と述べる。
実際にGPUベンダーのNVIDIAなどと協力し、インメモリの並列処理をさらに高速化するハードウェア開発も行っている。