• 検索結果がありません。

PDF 本研究室志望者へ 鈴村研究室 大規模データ処理・ストリームコンピューティング

N/A
N/A
Protected

Academic year: 2018

シェア "PDF 本研究室志望者へ 鈴村研究室 大規模データ処理・ストリームコンピューティング"

Copied!
42
0
0

読み込み中.... (全文を見る)

全文

(1)

2009/10/23

© International Business Machines Corporation 2008

ストリームコンピューティング

ストリームコンピューティング

ストリームコンピューティング

ストリームコンピューティング

- データ データ爆発時代 データ データ 爆発時代 爆発時代 爆発時代の の新 新たな たな たな計算 たな 計算 計算パラダイム 計算 パラダイム パラダイム パラダイム

IBM 東京基礎研究所 鈴村 豊太郎

(2)

© International Business Machines Corporation 2008

本日 本日本日

本日ごごごご紹介紹介紹介する紹介するするする内容内容内容内容

ストリームコンピューティングの概要 InfoSphere Streams の紹介

実証実験のご紹介

SPADE の主要機能のご紹介

(3)

© International Business Machines Corporation 2008 3

背景 背景背景 背景

ネットワーク技術の進化やセンサーデバイスの普及により、様々な データがリアルタイムに利用可能になりつつある

利用可能なデータは爆発的に増加している(例:科研費・情報爆発)

たとえば、

製造業:各製造工程のセンサー, RFID 自動車: GPS センサー、テレマティックス

医療: 医療機器のセンサー(心拍数、心電図、脈拍数 etc) 交通: 交通管理

科学技術計算: 電波天文学、地震センサー セキュリティ: 遠隔監視、サイバーセキュリティ

(4)

© International Business Machines Corporation 2008

データの特性の変化: データ爆発の時代の到来

Explosion in market data volumes

New York stock exchange trade

& quote volume

Capital market data volumes rose by 1,750% during 2003-06

Explosion in market data volumes

New York stock exchange trade

& quote volume

Capital market data volumes rose by 1,750% during 2003-06

Consumer Generated

Media

Intelligence & Surveillance

Sensors & Embedded

Internet Devices

データデータ

データデータ量量のの爆発爆発爆発、爆発、及及びびデータデータデータのデータの種類種類種類の種類の多様化多様化多様化多様化

NYSE ののマーケットデータマーケットデータマーケットデータマーケットデータのの総量総量が総量総量が指数関数的指数関数的指数関数的に指数関数的に上昇上昇上昇上昇

(5)

© International Business Machines Corporation 2008 5

アプリケーション アプリケーションアプリケーション

アプリケーション側側側側からのからのからのからの要求要求要求の要求ののの変化変化変化変化

即応性・意思決定までの時間の最小化

特定の条件に合致したときに即座に対応することで、新たな価値を生む

例) 半導体の製造工程における異常検知

例) 集中治療室の患者の状態の検知

様々な情報ソースを利用した高度な分析

様々なデータを利用してこれまで不可能だった高度な分析を実現する

例) アルゴリズムトレーディング

(22箇所のトレーディング情報や、ニュース情報を組み合わせた自動売買) データ形式が異なる

構造化データ、非構造化データ

データ到着レートが時間帯によって異なる

(6)

© International Business Machines Corporation 2008

新 新新

新たなたなたなたな計算計算計算パラダイム計算パラダイムパラダイムパラダイムのののの必要性必要性必要性必要性

データ データデータ

データのの特性特性特性特性のの変化変化変化変化

アプリケーション アプリケーション アプリケーション

アプリケーションのの特性特性特性特性のの変化変化変化変化

新たな たな たな たな計算 計算 計算 計算パラダイム パラダイム パラダイム パラダイム

の の

の必要性 必要性 必要性 必要性

(7)

© International Business Machines Corporation 2008 7

ストリームコンピューティング ストリームコンピューティングストリームコンピューティング

ストリームコンピューティングとはとはとはとは????

データウェア データウェア データウェア データウェア

ハウス ハウス ハウス ハウス

センサーネットワーク センサーネットワークセンサーネットワーク センサーネットワーク

デー

ストリーム ストリーム ストリーム

ストリーム処理処理処理処理システムシステムシステムシステム

Process data as it is continuously generated

Extracting and organizing information and intelligence

意思決定 意思決定意思決定

意思決定までのまでのまでのまでの時間時間時間時間をを最小化最小化最小化最小化

センサーセンサー

センサーセンサーなどなどなど複数など複数複数の複数の情報のの情報情報ソース情報ソースソースソース(((構造化(構造化、構造化構造化、、非構造化、非構造化非構造化データ非構造化データデータデータ含含む含含むむ)む)))かかかか らら

らら時時時時々々々々刻刻刻刻々々到達々々到達到達到達するするするするデータデータデータからデータから、からから、、複合的、複合的複合的に複合的ににに分析判断分析判断し分析判断分析判断しし、し、、、即座即座即座即座のののの 意思決定

意思決定 意思決定

意思決定ををを可能を可能可能可能にするにするにするにする計算計算計算計算パラダイムパラダイムパラダイムパラダイム

(8)

© International Business Machines Corporation 2008

ストリームコンピューティング ストリームコンピューティングストリームコンピューティング

ストリームコンピューティングにににに適合適合適合適合するする応用領域するする応用領域応用領域応用領域ののの条件の条件条件条件

以下以下

以下以下のの条件条件条件条件のうちのうちのうち1つのうち つ以上以上以上以上をを満満たすたすたすアプリケーションたすアプリケーションアプリケーションアプリケーションがが候補候補候補候補

1. 情報ソース(センサー)の数の存在または増加の可能性 2. 多様なデータ形式(構造化、非構造化)を活用した、複合的

なデータ分析の必要性

3. 実時間(低レスポンス)への要求

4. システムのキャパシティに対して(相対的に)

高い到着データレート

• 必要なストレージの必要性

(9)

© International Business Machines Corporation 2008 9

例例

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

ハリケーン ハリケーン ハリケーン ハリケーンの

進路予測進路予測 進路予測進路予測

インダストリー インダストリー インダストリー インダストリーへのへのへのへの

ハリケーン ハリケーン ハリケーン ハリケーンの インパクト インパクト インパクト インパクト

ポートフォリオ ポートフォリオポートフォリオ ポートフォリオ

への への への

へのインパクトインパクトインパクトインパクト 米国大洋大気庁

米国大洋大気庁 米国大洋大気庁

米国大洋大気庁からのからのからのからのRSS ニュース

ニュース ニュース ニュースをを取得取得取得取得

NYSE (ニューヨークニューヨークニューヨーク証券取引所ニューヨーク証券取引所証券取引所証券取引所) からからからから VWAP(出来高加重平均出来高加重平均出来高加重平均)を出来高加重平均 を計算計算計算計算

企業財務情報開示 企業財務情報開示企業財務情報開示

企業財務情報開示のの情報情報情報情報をを取得取得取得取得

ニュースサイト ニュースサイトニュースサイト

ニュースサイトのの情報情報情報情報をを取得取得取得取得

ハリケーン ハリケーン ハリケーン

ハリケーンのの影響影響影響影響によるによるによるによる株

の売売りり買買いのいの判断いのいの判断判断を判断を決

P/E (株収益率株収益率株収益率)を株収益率 を計算計算計算計算

ストリームコンピューティング ストリームコンピューティング ストリームコンピューティング

ストリームコンピューティングをを必要必要必要必要とするとするとするとする条件条件条件を条件を満満たすたすたすたすアプリケーションアプリケーションのアプリケーションアプリケーションの例

(10)

© International Business Machines Corporation 2008

従来 従来従来

従来のののの処理方式処理方式処理方式処理方式でで実現困難でで実現困難実現困難なことは実現困難なことはなことはなことは????

ログ ログ ログ

ログややデータウェアハウスデータウェアハウスデータウェアハウスにデータウェアハウスにすべてのすべてのすべてのすべてのデータデータをデータデータを一旦一旦一旦一旦ためてためてためて、ためて バッチ

バッチ バッチ

バッチでで処理処理処理処理するのがするのがするのがするのが基本基本基本基本

Google MapReduce, Data Grid (例例::加速器加速器加速器加速器データデータデータデータののペタバイトペタバイトペタバイトペタバイト級級データデータのデータデータの解析解析解析解析) この

この この

この処理方式処理方式処理方式処理方式でで困難困難困難困難なことはなことはなことは?なことは

データソースのデータソースデータソースデータソースの増加増加に増加増加に従従ってってってって、、すべてのすべてのすべてのすべてのデータデータデータデータをを保存保存保存保存することがすることがすることが困難することが困難困難困難

必ずしもすべてのずしもすべてのずしもすべてのずしもすべてのデータデータをデータデータを保存保存保存する保存するするする必要必要はなし必要必要はなしはなし(はなし(例例:: 連続 連続連続連続データデータデータデータ) 到達する到達到達到達するするデータするデータデータのデータのリアルタイムリアルタイムリアルタイムリアルタイム性性をを十分十分十分十分にに生生かしきれないかしきれないかしきれないかしきれない

Database/d ata warehouse

Sensor Network

data

Process data as it is continuously

generated

Minimizing time to react

Transaction

processing Batch

processing

(11)

2009/10/23

© International Business Machines Corporation 2008

ストリームコンピューティング

ストリームコンピューティング

ストリームコンピューティング

ストリームコンピューティング処理 処理 処理システム 処理 システム システム システム

InfoSphere Streams

(12)

© International Business Machines Corporation 2008

InfoSphere Streams: ストリームコンピューティングシステムストリームコンピューティングシステムストリームコンピューティングシステムストリームコンピューティングシステム

ストリームコンピューティングを実現するソフトウェアシステム システム構成技術

SPADE (System S Stream Processing Application Declarative Engine)

ストリーム型アプリケーションの生産性を高めるプログラミング言語

下位の分散環境に最適化されたコードを SPADE コンパイラが生成 ランタイム:最適スケジューリング、耐故障性を実現

数多くの実証実験プロジェクト ホームランドセキュリティ

証券取引・アルゴリズムトレーディング (カナダ TD Bank) 製造業・リアルタイム異常検知、ITS (高度交通システム) 環境, 遠隔医療など

(13)

© International Business Machines Corporation 2008 13

InfoSphere InfoSphereInfoSphere

InfoSphere Streams Streams Streams Streams プラットフォームプラットフォームプラットフォームプラットフォーム

開発環境 ランタイム環境 ツールキット& アダプター

InfoSphere Streams ランタイム

SPADE Eclipse IDE

ツールキット StreamSight

アウトプット・アダプター & ソース・アダプター

Cognos Now WebSphere MQ Mashup Center

WebSphere Front Office RSS フィード

(14)

© International Business Machines Corporation 2008

SPADE: SPADE: SPADE:

SPADE: SSSStream tream tream tream PPPProcessing rocessing rocessing Arocessing Application AApplication pplication Dpplication DDDeclarative eclarative Eeclarative eclarative EEEngine ngine ngine ngine – 高高パフォーマンスパフォーマンスパフォーマンスパフォーマンス・・ストリームストリーム・ストリームストリーム・コンピューティングコンピューティングコンピューティングコンピューティングにに最適化最適化最適化最適化

主な特徴

プログラミング言語とコンパイル基盤

高パフォーマンス・ストリーミング・システムを念頭にお いた設計

幅広いバリエーションのターゲット・アーキテクチャへの 効率的なマッピング

主なコンポーネント

ストリーム・プロセッシング演算子および実行ディレク ティブのツールキット

ストリーム関係型演算子 ユーザー定義演算子

エッジ・ストリーム・アダプター

効果的な配置、パーティショニング等を行う管理機能

主な利点

ストリーム・プロセッシングに最適化 デプロイメントまでの時間短縮 Streams

プロセッシング・ コア

コンパイラー コード ジェネレータ オプティマイザークエリー

Stream プロセッシング グラフ

SPADE を使ってアプリケーションを記述

(15)

© International Business Machines Corporation 2008 15

プログラミング プログラミングプログラミング

プログラミング・・・・モデルモデルモデルモデル

アプリケーション・プログラミング (SPADE/INQ)

使いやすい

再利用可能な演算子群

外部の静的データソースまたはス トリーミング・データソースおよびシ ンク群

ソース・アダプター 演算子リポジトリ シンク・アダプター

プラットフォーム最適化コンパイル

(16)

© International Business Machines Corporation 2008

シンプル シンプルシンプル

シンプルななな例な例例例

[Application] アプリケーション SourceSink trace

[Typedefs] 型定義 typespace sourcesink typedef id_t Integer typedef timestamp_t Long [Program] プログラム // 仮想スキーマ定義

vstream Sensor (id : id_t, location : Double, light : Float, temperature : Float, timestamp : timestamp_t) // ソース・ストリームは source 演算子が生成 – この場合タプルは入力ファイルから投入される

stream SenSource ( schemaof(Sensor) )

:= Source( ) [ “file:///SenSource.dat” ] {}

// この中間ストリームは Aggregate 演算子がSenSourceストリームを入力に使って生成。 stream SenAggregator ( schemaof(Sensor) )

:= Aggregate( SenSource <count(100),count(1)> ) [ id . location ]

{ Any(id), Any(location), Max(light), Min(temperature), Avg(timestamp) } // この中間ストリームは functor 演算子が生成

stream SenFunctor ( id: Integer, location: Double, message: String ) := Functor( SenAggregator ) [ log(temperature,2.0)>6.0 ]

{ id, location, “Node ”+toString(id)+ “ at location ”+toString(location) } // リザルト管理は sink 演算子が実施 – この場合生成されたタプル群はソケット宛てに送られる Null := Sink( SenFunctor ) [ “udp://192.168.0.144:5500/” ] {}

Source Aggregate Functor Sink

(17)

© International Business Machines Corporation 2008 17

1 7

X86 Box

X86 ブ レード

Cell ブレード X86 ブ

レード FPGA

ブレード x86

ブレード

x86 ブレード

x86 ブレード x86

ブレード x86

ブレード

Streams Streams Streams

Streams ランタイムランタイムランタイムランタイム

トランスポート

処理要素 コンテナ

処理要素 コンテナ

処理要素 コンテナ

処理要素 コンテナ

処理要素 コンテナ

最適化スケジューラーは演算子を処理ノード へ割り付け、資源配分を継続的に行う

最適化スケジューラーは演算子を処理ノード へ割り付け、資源配分を継続的に行う

市販ハードウェアで稼働 – 単一ノードから BladeCenter から高パフォーマンス・マル チラック・クラスターまで

市販ハードウェアで稼働 – 単一ノードから BladeCenter から高パフォーマンス・マル チラック・クラスターまで

Streams データ・ファブリック

(18)

© International Business Machines Corporation 2008

1 8

X86 Box

X86 ブ レード

Cell ブレード Blue

Gene FPGA

ブレード x86

ブレード

x86 ブレード

x86 ブレード x86

ブレード x86

ブレード トランスポート

Streams Streams Streams

Streams ランタイムランタイムランタイムランタイム

処理要素 コンテナ

処理要素 コンテナ

処理要素 コンテナ

処理要素 コンテナ

処理要素 コンテナ

最適化スケジューラーは演算子を処理ノード へ割り付け、資源配分を継続的に行う

最適化スケジューラーは演算子を処理ノード へ割り付け、資源配分を継続的に行う

資源、ワークロード、データ量の 変動に適応

資源、ワークロード、データ量の 変動に適応

特殊ハードウェアの活用も可能 特殊ハードウェアの活用も可能 市販ハードウェアで稼働 – 単一ノードから BladeCenterから高パフォーマンス・マル チラック・クラスターまで

市販ハードウェアで稼働 単一ノードから BladeCenterから高パフォーマンス・マル チラック・クラスターまで

Streams データ・ファブリック

(19)

© International Business Machines Corporation 2008 19

C 拠点 B 拠点

A 拠点

分散 分散分散

分散オペレーションオペレーションオペレーションオペレーション

C 拠点 B 拠点

A 拠点

(20)

© International Business Machines Corporation 2008

Streamsight Streamsight Streamsight

Streamsight によるによるによるによる稼動中稼動中稼動中アプリケーション稼動中アプリケーションアプリケーションアプリケーションのののの管理管理管理管理

アプリケーション群の論理ビューおよび物理ビュー

(21)

© International Business Machines Corporation 2008 21

並列 並列並列

並列モデルモデルモデルとしてのモデルとしてのとしてのとしてのストリームストリームストリームストリーム・・プロセッシング・・プロセッシングプロセッシングプロセッシングのののの優位性優位性優位性優位性

ファーストクラスとしてのStreams

明示的なタスクおよびデータの並列性 マルチコア活用の直感的手法

より効率的なリソース管理手段としての演 算子およびデータソースのプロファイリング

ストアされたデータおよびライブ・データを通 じた演算子の再利用

自動化、最適化された構築手順 (SPADE, INQ)

ソース アダプター

Sink アダプター 演算子リポジトリ

自動化、最適化された

デプロイおよび管理(スケジューラー)

(22)

© International Business Machines Corporation 2008

INQ

DGM SODA

SPADE からからからランタイムからランタイムランタイムでランタイムで実行実行されるまでの実行実行されるまでのされるまでのされるまでの流流れ

JDL (Job Description Language)

PE bin PE bin PE bin PE bin PE

bin SPADE

JMN (Job Manager) SPADE Compiler & Optimizer Simulink

StreamSQL

System S IDE

SPC (Stream Processing Core)

言語 言語 言語 言語の コンバーター コンバーター コンバーター コンバーター

SPADE プログラムから、System Sへ のジョブサブミッションファイル、設定ファ イル、シェルスクリプト、デバッグ用ファイ ルなどが生成されます

(23)

© International Business Machines Corporation 2008 23

StreamStudio ののプログラミングプログラミングプログラミングプログラミング環境環境環境環境

シンタックスハイライト シンタックスハイライト シンタックスハイライト シンタックスハイライト

関数関数

関数関数のの補完補完補完補完

グラフ グラフグラフ

グラフをを視覚的視覚的視覚的視覚的にに表示表示表示表示

(24)

© International Business Machines Corporation 2008

ストリームアプリケーション ストリームアプリケーションストリームアプリケーション

ストリームアプリケーション用用用用デバッガデバッガデバッガデバッガ:::: Stream Debugger

オペレータ オペレータオペレータ

オペレータのの実行前実行前実行前実行前ででブレークポイントブレークポイントブレークポイントブレークポイント 入力入力入力

入力タプルタプルタプル、タプル、出力出力出力タプル出力タプルタプルタプルのの検査検査検査・検査・修正修正修正修正などなどなどなど

(25)

© International Business Machines Corporation 2008 25

早期アクセス・プログラム (Early Access Program) 3大陸10拠点にて実施

2009年第二四半期に20~30拠 点にて追加実施予定

InfoSphere Streams として2009年第二四半期に Early Access Program を発表

主な予定日

2009年第二四半期: 限定的なリリース 2010年前半:

製品出荷

劇的な ボリューム

劇的な 分析 劇的な

スピード

(26)

2009/10/23

© International Business Machines Corporation 2008

実証実験

実証実験

実証実験

実証実験のご のご のご紹介 のご 紹介 紹介 紹介

(27)

© International Business Machines Corporation 2008 27

Streams を活用した実証実験の事例

アルゴリズムトレーディング アルゴリズムトレーディングアルゴリズムトレーディング アルゴリズムトレーディング

公共公共公共

公共:: 広域環境広域環境広域環境広域環境モニタリングモニタリングモニタリングモニタリング

製造業 製造業製造業 製造業

電波天文学 電波天文学 電波天文学 電波天文学

半導体製造工程におけるリアルタイム異常検知 によるテストプロセスの品質向上

リアルタイムの市場データを用いた金融 取引への活用

• 河川、河口の水質管理

• 数千の低コストのアンテナを用いた電波宇宙天文学 の研究

• セキュリティセキュリティセキュリティセキュリティ分野分野分野: サイバーセキュリティ、災害復旧分野

World’s largest and first fully digital radio

observatory for astrophysics, space and earth sciences, and radio research

毎秒5百万イベント マイクロ秒のレイテンシ

毎秒2500イベント 10ミリ秒のレイテンシ

毎秒150万イベント

Semiconductor Solutions

(28)

© International Business Machines Corporation 2008

金融:次世代アルゴリズムトレーディング

超低レイテンシ、高データレート、 データ形式の多様化などストリーム コンピューティングの条件をすべて 満たすフラグシップアプリケーション 毎秒 160万イベントを処理

ミリ秒単位でトレードチャンスを検知 し、実行

2010 年までには、160万イベントか ら 500万イベントに増加

マーケットデータの他に、企業の フィード、ニュース、音声、ビデオな どを用いた複合的な判断を可能に

次世代次世代

次世代次世代のののアルゴリズムトレーディングのアルゴリズムトレーディングアルゴリズムトレーディングのアルゴリズムトレーディングののの 基盤

基盤 基盤

基盤をををを Streams 上上にに構築構築構築構築

(29)

© International Business Machines Corporation 2008 29

マイクロチップ製造の製造監視・制御への応用

チャレンジ チャレンジ チャレンジ チャレンジ

半導体の製造工程の品質を管理する 自動製造監視・制御への応用

リアルタイムのデータ統計分析が必要 100以上の製造工程からなり、それぞ れの工程で相関のあるステップを複数 束ねた分析が必要

画像データなどを含めた非構造化 データなど、様々な情報ソースから データが到着する

• 100以上のセンサー

• リアルタイムのプロセス及びセンサーデータの分析

• 画像など、より非構造化データ分析の潜在的なニーズが ある

Confidence

ITL JSQ

Test Data JPQWQA YPV

Prediction Repository FDC Summary Data

TSA

OTP

RAN

Yield Prediction Monitoring and Feedback

RUI

Confidence and Confusion Matrix User Defined Decision Tree PEs SOC

Link to external Very Fast Machine Learning (VFML) library (C) User Defined Decision Tree PEs Link to external Very Fast Machine Learning (VFML) library (C)

Incremental Learning through Delayed Feedback of Ground Truth

Online prediction using incrementally learnt model

. . . Event

Sensor Defect Tool log

Alarm

Trace data

技術的 技術的 技術的

技術的ななチャレンジチャレンジチャレンジチャレンジ

ソリューション ソリューション ソリューション ソリューション

(30)

© International Business Machines Corporation 2008

次世代 次世代次世代

次世代のののの河川河川河川・河川・・・水質管理水質管理:水質管理水質管理:: Beacon Institute とと IBM とのとのとの協業との協業協業協業

Beacon Institute とのとのとのとの協業協業協業協業によりによりにより、により ニューヨーク

ニューヨーク ニューヨーク

ニューヨークののハドソンハドソンハドソンハドソン河河のの生態系生態系生態系を生態系をモ ニタリング

ニタリング ニタリング

ニタリングしし、、常時常時常時常時そのその状況そのその状況状況状況をを分析分析分析・分析 評価

評価 評価

評価できるこれまでにないできるこれまでにないできるこれまでにないシステムできるこれまでにないシステムシステムシステムを 開発

開発 開発 開発

315マイルマイルマイルマイル(507km)にわたるにわたるにわたるにわたる全域全域全域全域の データデータ

データデータをを収集収集収集収集

Streams をを用用いていていていて、、センサーセンサーセンサーからセンサーからからからデーデーデーデー

タをを集集めめ、、水水のの温度温度、温度温度、塩分塩分塩分、塩分、濁濁りり具

合などをなどをなどをなどを調査調査調査調査 さらに

さらに さらに

さらに、、ハドソンハドソンハドソンハドソン河河にに棲息棲息する棲息棲息するする種する種々々の 魚類

魚類 魚類

魚類そのそのその他その他のの生物生物の生物生物の状況状況状況も状況も調査調査調査調査

(31)

© International Business Machines Corporation 2008 31

サイバーセキュリティ

様々なセンサー(ビデオ、電話通話記録、音声)を複合的に利用した監視システム 受信するデータストリームは巨大だが、“異常値”を示すデータはほとんどないというのが 特徴的 - 前処理で処理することに大いに意味がある

ボットネット ボットネットボットネット

ボットネット検出検出検出検出 監視監視監視

監視システムシステムシステムシステム

(32)

© International Business Machines Corporation 2008

ヘルスケア ヘルスケアヘルスケア

ヘルスケア分野分野分野:分野::: 患者患者患者患者のののリアルタイムモニタリングのリアルタイムモニタリングリアルタイムモニタリングリアルタイムモニタリング

Contextual Data Sources Biometric Sensor Data

+

狭心症 狭心症狭心症 狭心症 アラートアラートアラート アラート

アラートアラートアラート アラート alert

alert

SPE

QRS

FA

RR

SP

BP

PS

AR

AP PT

SPA

BPA

alert

PSA EP

GL GLA

アラート アラート アラート アラート

WT WTA WB

不整脈不整脈不整脈 不整脈

Well-Being

ユーザーインタフェース ユーザーインタフェース ユーザーインタフェース ユーザーインタフェース

遠隔の患者のモニタリング

医学的に重要なイベントの自動検知し、医者や看護婦に配信 Provenance (問題の出所を追跡) のサポート

アラートが出たときのイベントをトラックできる

医者が下した医療処置の(定量的な)証明が可能になる 監視する患者の数の増加に応じたスケールアウトが可能に

IBM とと NPO 法人法人法人 Sick 法人 Kids とのとのとの協業との協業協業協業

(33)

2009/10/23

© International Business Machines Corporation 2008

SPADE:

ストリームアプリケーション

ストリームアプリケーション

ストリームアプリケーション

ストリームアプリケーション開発言語 開発言語 開発言語 開発言語

(34)

© International Business Machines Corporation 2008

SPADE : ストリームアプリケーションストリームアプリケーションストリームアプリケーション記述言語ストリームアプリケーション記述言語記述言語記述言語

ストリームアプリケーションを記述するために特化した言語

多様な情報ソースのアダプタ、ウィンドウ定義、並列機構、耐故障性な どを抽象度の高い言語で記述

オペレーター(ストリームデータの処理ロジック)を一つの単位とする オペレータの入出力データをタプルと呼ぶ

複数のオペレータのデータフローを定義

[Program]

vstream MySchema(symbol : String, tradedate : String, closingprice : Double, volume : Integer)

vstream aggregatedData(symbol: String, avgPrice : Double)))) stream myODBCstream(schemaFor(MySchema))

:= Source()[““““stcp://sensorserver.ibm.com:12345””””, csvFormat, noDelays] stream StockMovingAverage (schemaFor(aggregatedData))

:= Aggregate(myODBCstream <count(20), count(1), pergroup>) [symbol]

{Any(symbol),Avg(closingprice)}

Nil := DbAppend(StockMovingAverage)[connection:"DB2Person"; access:"StockSink"]{}

(35)

© International Business Machines Corporation 2008 35

オペレータ オペレータオペレータ

オペレータととととストリームストリームストリームからストリームから構成からから構成構成構成されるされるされるされるデータフローネットワークデータフローネットワークデータフローネットワークデータフローネットワーク

Source 1

Sink 2

Functor 2 Aggregator

Functor 1

Sink 3 Functor 4 Functor 5

Sink 1 Functor 3

input file, socket,

...

output file, socket,

... output file,

socket, ... output file,

socket, ... Split

Join

シンク ソース オペレータ

ソース

オペレータ オペレータ

stream

stream strea

m

strea m

stre a

m

stre m a

シンク Source

入力入力 入力入力ポーポーポーポー

出力出力出力出力ポーポーポーポー

(36)

© International Business Machines Corporation 2008

簡単 簡単簡単

簡単なななな例例例例

[Application] SourceSinktrace [Typedefs]

typespacesourcesink typedef id_t Integer

typedef timestamp_t Long [Program]

// virtual schema declaration

vstreamSensor (id : id_t, location : Double, light : Float, temperature : Float, timestamp : timestamp_t) // a source stream is generated by a Source operator – in this case tuples come from an input file

stream SenSource( schemaof(Sensor) ) := Source( ) [ “file:///SenSource.dat” ] {}

// this intermediate stream is produced by an Aggregate operator, using the SenSource stream as input stream SenAggregator( schemaof(Sensor) )

:= Aggregate( SenSource<count(100),count(1)>) [ id . location ]

{ Any(id), Any(location), Max(light), Min(temperature), Avg(timestamp) } // this intermediate stream is produced by a functor operator

stream SenFunctor( id: Integer, location: Double, message:String ) := Functor( SenAggregator) [ log(temperature,2.0)>6.0 ]

{ id, location, “Node ”+toString(id)+ “ at location ”+toString(location) }

// result management is done by a sink operator – in this case produced tuples are sent to a socket Null := Sink( SenFunctor ) [ “udp://192.168.0.144:5500/” ] {}

Source Aggregate Functor Sink

(37)

© International Business Machines Corporation 2008 37

オペレータ オペレータオペレータ

オペレータ・・・・ストリームストリームストリームストリームのの定義のの定義定義定義ののの仕方の仕方仕方仕方

stream myStream (Integer A, Integer B)

:= Functor (inputStream) [light >100.0 ] {sensorID, light} オペレータ

オペレータ オペレータ

オペレータ名 オペレータオペレータ条件オペレータオペレータ条件条件条件 出力出力タプル出力出力タプルタプルタプル 出力出力

出力出力タプルタプルタプルタプルののスキーマスキーマスキーマスキーマ

入力入力

入力入力ストリームストリームストリームストリーム ストリーム

ストリーム ストリーム

ストリームのの定義定義定義定義

オペレータ

オペレータ オペレータ

オペレータ

オペレータパラメータ オペレータパラメータ オペレータパラメータ オペレータパラメータ 入力

入力入力

入力ストリームストリームストリームストリーム (スキーマスキーマスキーマ定義スキーマ定義定義定義)

出力出力

出力出力ストリームストリームストリームストリーム (スキーマスキーマスキーマスキーマ定義定義定義)定義

(38)

© International Business Machines Corporation 2008

SPADE のの特徴特徴特徴特徴: 外部外部外部の外部の情報情報情報情報ソースソースとのソースソースとのとの接続との接続接続接続をを実現実現実現実現するするするする ソーソーソーソー スオペレータ

スオペレータスオペレータ

スオペレータ、、、、シンクオペレータシンクオペレータシンクオペレータシンクオペレータ

ネットワークソケット: TCP / UDP (クライアントモード、サーバーモード) ファイル、データベース、WFO (WebSphere Front Office) など

様々な形式のサポート: CVS フォーマット、バイナリフォーマット(パーサーの指定)

input adapter (non-SPADE

program)

source operator

output adapter (non-SPADE

program) sink

operator

SPADE Program

TCP socket TCP socket

stream myStream(schemaFor(MySchema))

:= Source()[““stcp://sensorserver.ibm.com:12345” ”, csvFormat, noDelays]

参照

関連したドキュメント

(1)環境部【廃棄物(ごみ)関係】事務分掌 ( 平 成 28 年 度 事 務 概 要 ・抜 粋 ) 環境総務課

機械物理研究室では,光などの自然現象を 活用した高速・知的情報処理の創成を目指 した研究に取り組んでいます。応用物理学 会の「光

水処理設備部 水処理設備第二

あれば、その逸脱に対しては N400 が惹起され、 ELAN や P600 は惹起しないと 考えられる。もし、シカの認可処理に統語的処理と意味的処理の両方が関わっ

多核種除去設備等の サンプルタンク ALPS処理⽔等貯留タンク または ALPS

  他人か ら産業廃棄物 の処理 (収集運搬、処 分)の 委託を 受けて 、その

高レベル放射性汚染水処理設備の長期間の停止及び豪雨等に備え,滞留水の移 送・処理を行うことでタービン建屋等の水位を OP.3,000

処理処分の流れ図(図 1-1 及び図 1-2)の各項目の処理量は、産業廃棄物・特別管理産業廃 棄物処理計画実施状況報告書(平成