「Smart Cities」を実現する「ストリーム・コンピューティング」はどこまで進んでいるのか?


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

 「Smart Cities」――都市を交錯し、爆発的に増大し続ける情報。

 RFID(ICタグ)や各種センサーなどからの時々刻々と変化する情報を瞬時に複合的に処理し、地球環境問題の解決に役立てる――このような持続可能な都市の実現を目指す具体的な問題提起や解決策を追求する活動をIBMは現在世界の主要都市で推進している。

 「ストリーム・コンピューティング」はこの「Smart Cities」に不可欠な新しい計算パラダイムだという。

 その内容を日本アイ・ビー・エム 東京基礎研究所 インフラストラクチャ・ソフトウエア担当部長 小野寺民也氏に聞いた。

データを蓄えず、リアルタイムに複合的に処理

――ストリーム・コンピューティングとはどのようなものでしょうか?

小野寺氏:
 従来の伝統的なコンピューティングはデータベースやファイルに蓄えた過去のデータをSQLなどを使用して加工・分析して行われてきました。これに対してストリーム・コンピューティングはデータを蓄えずに、時々刻々と並行して流れているさまざまなデータをリアルタイムに複合的に加工・分析・判断します。

 具体的な例を挙げて説明すると、以下の図は、フロリダ湾にハリケーンが近づいて来たときに、株価がどのような影響を受けるのかを見たものです。

ハリケーンの影響による株価売買の自動リコメンデーション

 NY証券取引所からの情報、SECからの最新の財務諸表の情報、どの地域がハリケーンの影響を受けているかについてのニュースサイトからの情報、そして日本の気象庁に相当する米国のニュースサイトからの進路予測データの4つの情報をリアルタイムで処理し、その結果を組み合わせて分析します。
 
――ストリーム・コンピューティングはいつごろから研究をしてきたのでしょうか?

 IBMリサーチはストリーム・コンピューティングについて7年前(2003年)から本格的な研究を開始、プラットフォームとソフトウエアを開発し、顧客との実証実験を行ない、200を超える特許も取得しています。また、IBMリサーチが長期的な技術動向を分析した内容を掲載して発行している論文集である「IBM Global Technology Outlook」でも「コンピューターをコンピューターにつなぐから、コンピューターを実社会につなぐ」をテーマとしてすでに2回発行されています。
 

専用プログラミング言語SPLを開発

――ストリーム・コンピューティングを開発する上での技術的な課題は何でしょうか?

 2つありました。まず、ソフトウェアですが、C/C++やJavaなど従来の汎用プログラミング言語を使ってストリーム特有のデータを処理するのではプログラムが冗長になり、肥大化するため、専用のプログラミング言語SPL(Stream Processing Language)を開発しました。

 もう1つは、ワークロードの種類に合わせたアプリケーション実行環境の最適化です。ストリーム処理もさまざまなバリエーションがあります。データ量が多いものと少ないもの、分析も統計的分析など複雑なものや、応答時間も株価のシステムのようにアルゴトレードをミリ秒単位で処理するものから、トラックの運行制御など、もう少し時間が取れるものまでありますので、簡単なものから難しいものまで統一的に実行できる環境を必要としています。

SPLプログラムの例:株式の買時を判断するプログラム。C/C++の数10分の1から数100分の1の長さで書くことができる

x86・Linuxで稼働

――実行環境はどのようなものでしょうか?

 クラスター環境で使用できます。1つのプログラムを、1台のマシンでもクラスター接続した数100台のマシンでも実行可能で、プログラムの書き直しは不要で再コンパイルするだけです。また、プロファイル情報をもとにプログラムをどのマシンに担当させるかの配置が重要となりますが、自動配置制御機能で自動的に行うことができます。

SPLプログラムをクラスター上で実行:ジョブマネージャーは配下の20台を制御しています。また、処理は一般的にはx86のLinuxで行われますが、IBMのリサーチ部門ではさまざまなマシンで動いており、スーパーコンピューターのBlue Gene でも動いています。

ストックホルム市の「Smart Cities」化に貢献

――ストリーム・コンピューターは実際にはどのような分野に適応できますか?

 実証実験はさまざまなパートナーと行っていますが、新生児医療、株式市場、環境では外部の研究所と共同で水質検査に適応しています。その他、ビデオカメラと連動した防犯、電波天文学、電話会社と共同で行っている通信、製造業では生産管理・品質管理、輸送システム、クレジットカード会社と組んで不正防止への応用などを行っています。

 とくに、カナダ第2の金融グループであるトロント・ドミニオン・バンク/ファイナンシャルグループと2008年1月に世界最速のオプション・トレード・システムを試作しています。これは毎秒500万超の市場からのデータを平均150マイクロ秒で処理し、売買のタイミングを判断します。従来のシステムは毎秒500万までのデータは処理可能でしたが、市況フィールド情報、ニュース、音声、ビデオなどデータが増大し続けており、対応不能となるため、ストリーム・コンピューターを開発したものです。325ノードのスーパーコンピューターBlue Geneで稼働しています。

 また、カナダのオンタリオ工科大学との共同で新生児集中医療病棟での予測分析を行っています。これまでは新生児の院内感染を阻止するため、従来、血圧、体温、心電図、血液酸素飽和度などのデータをそれぞれ個別でモニタリングし、最後はベテランの医師が新生児の顔色を判断していました。これを少しでも早く(最長24時間)発見するため、各種データを複合的に、相関を見ながら医師が早期に対処し、死亡率は下がり、新しい臨床医療の仮説を立てて検証することが可能となりました。

 また、ストックホルム市の交流量の分析を4台のx86マシンで行ない、道路行政に活用しています。
 
――これはまさに「Smart Cities」と呼べるものですね。日本での導入事例はありますか?

 日本では3月に技術発表しましたが、導入はこれからです。

 今後は開発環境や実行環境をさらに機能強化してより使いやすいものとすると同時に、これまでの伝統的なコンピューティング処理にストリーム・コンピューターを適用し、SPLで従来のバッチ処理で行っているプログラマムを描き直して従来、6時間かかっていた処理を10分~20分で終えるようにバッチ処理の高速化に取り組んでいきます。

関連情報
(丸山 隆平)
2010/8/18 08:44