仮想化道場
APUとHSAでコンピューティングを変えるAMD (HSAで加速するビッグデータ活用)
(2013/12/27 06:00)
HSAで加速するビッグデータ活用
今回のAPU13では、Oracleが正式にHSAのContributorとして参加した。Oracleは、AMDなどのHSAを推進している企業と一緒に、Java言語をHSAに対応するために作業を行っている。
具体的には、Java言語を並列プログラミング言語へと進化させようとしており、2014年に並列プログラミング機能を取り込んだJava 8をリリースし、2016年にはHSAをサポートしたJava 9をリリースする予定になっている。
またAMDとOracleは、Javaのオープンソースの実装であるOpenJDKにおいて、JavaをHSAに対応させるためにSumatraというプロジェクトを進めており、Oracleが正式にリリースするJavaよりも早く、各機能がサポートされている。Sumatraなども、OpenJDK 8に追加する機能として提供された。
OracleがリリースするJavaは、エンタープライズサーバーでも標準的なフレームワークとして利用されているため、セキュリティや安定性といったことが重要視される。こうした理由から、OpenJDKよりも遅れてリリースされることになるのだろう。
今回OracleがHSAに参加したことで、将来のJavaはHSAを完全にサポートしたフレームワークになった。このことは、今後のエンタープライズアプリケーションにとっては大きな意味を持つ。
例えば、Javaをフレームワークとして使用しているHadoopなどは、HSAの恩恵を大きく受けることになるだろう。現在Hadoopでは、GPUを利用するOpenCLを利用したHadoopCLの開発が行われている。HadoopCLを使えば、GPUが持つ膨大な演算ユニットをビッグデータ処理でも利用することが可能になる。CPUとGPUが融合したAPUを利用することで、今よりも簡単に、リアルタイムでビッグデータ処理が行えるようになるかもしれない。
またAPUを使えば、GPUの能力を生かして、データベースなどさまざまなアプリケーションで利用されるB+ Treeを高速に処理することも可能になる。実際、AMDのテストではAPUのKerveriを使用したB+ Treeのテストでは、CPUだけの処理に比べると約3~4倍の性能向上となっている。B+ Tree以外にも、テキスト検索などもGPUのパワーを利用することで、CPUよりも高速に処理を終えることができる。
このように、APUとHSAというフレームワークにより、ゲームだけでなく、さまざまなビジネスアプリケーション、エンタープライズアプリケーションが高速化されることになるだろう。