日本アイ・ビー・エムは4月9日、ストリーム・コンピューティングに関するプレスセミナーを開催した。ストリーム・コンピューティングは同社が提唱しているビジョン「Smarter Planet」を実現する技術であり、今年度の同社の研究開発の重点テーマと位置付けられている。今回、ストリーム・コンピューティングの要素技術や導入事例について説明が行われた。

日本アイ・ビー・エム 東京基礎研究所 インフラストラクチャソフトウェア担当部長 小野寺民也氏

東京基礎研究所インフラストラクチャソフトウェア担当部長を務める小野寺民也氏は、ストリーム・コンピューティングについて、「時々刻々と並行して流れているさまざまなデータをリアルタイムに複合的に加工・分析・判断する技術」と説明した。

3月26日には、ストリーミング・コンピューティングを実現するソフトウェア群「IBM InfoSphere Streams V1.2.0」が発表されている。同製品は、統合開発環境「InfoSphere Streams Studio」、実行環境「InfoSphere Streams Runtime」、データマイニング向けツールキットなどから構成される。

同社はストリーム・コンピューティングの研究開発を2003年から本格的にスタート。これまでに、プラットフォームの構築や顧客との実証実験による検証を行うとともに、200を超える特許を取得している。

同氏はストリーム・コンピューティングを実現するにあたって、新たな開発手法の構築とワークロードに合わせたアプリケーション実行環境の最適化が課題だったと話した。

「C、C++、Javaといった汎用プログラミン言語ではアプリケーションを機敏に開発することができないため、ストリーム・コンピューティングの実現には新たな開発手法が必要だった。また、ストリーミング・コンピューティングでは、ストリームデータ量・分析の複雑度・応答時間に合わせて実行環境の最適化がなされなければならない」

そこで同社はストリーム・コンピューティング専用のプログラム言語「SPADE( Stream Processing Application Declarative Engine)」を開発した。同言語の特徴は、「プログラミングの処理に沿って構成されるため直感的なこと」と「コード量が少ないため汎用プログラミング言語と比べて開発の負荷が小さいこと」だ。

「手続き型言語を使うと数行にわたっていたコードが、宣言型のSQLの登場により、1行で書けるようになった。SAPDEもストリーム・コンピューティングにおけるSQLのような役割を担うことになるだろう」

C/C++の数十から数百分の1のコードで済むSPADE

一方、SPADEの実行環境は、「1つのプログラムを1台のマシンでもクラスタ接続した数百台のマシンでも実行可能」、「プロファイル情報をもとにプログラムをほぼ自動的にクラスタ上に最適に配置可能」な点を特徴とする。

研究チームではさまざまな環境でストリーム・コンピューティングの検証を行っているが、基本的にLinuxベースのクラスタ環境であれば問題ないとのことだ。「研究チームでは、UNIXサーバのSystem pやスーパーコンピュータのBlue Gene上でストリーム・コンピューティングを稼働させている」

SPADEの実行環境はオペレーターのノードへの分散とプロセスへの融合を最適な形で実行する

同社は現時点で、「新生児医療」、「株式市場」、「環境」、「法規制」、「電波天文学」、「通信」、「製造業」、「輸送」、「不正防止」の分野において、ストリーム・コンピューティングの検証を行っている。

例えば、米国オンタリオ工科大学の新生児集中医療棟では、ストリーム・コンピューティングで新生児の血圧・体温・心電図・血液酸素飽和度などを分析することで、新生児の生命を脅かすリスクの早期発見を実現している。これにより、リスクへの早期対応が可能になり、患者の死亡率が下がっているという。

同社は今後、開発環境と実行環境の機能を強化するとともに、ETL(Extract-Load-Transform)やデータ解析といった伝統的なコンピューティングにストリーム・コンピューティングを提供することで性能の向上を検証していく。