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

Publication 論文 鈴村研究室 大規模データ処理・ストリームコンピューティング

N/A
N/A
Protected

Academic year: 2018

シェア "Publication 論文 鈴村研究室 大規模データ処理・ストリームコンピューティング"

Copied!
34
0
0

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

全文

(1)

データ トリーム処理による

イン リメンタル ラフ処理に向けて

東京工業大学 西井俊介 東京工業大学 / IBM東京基礎研究所 鈴村豊太郎

(2)

目次

1.

背景

2.

手法

3.

設計

4.

評価

5.

議論

6.

関連研究

7.

(3)

1. 背景

1.

背景

2.

手法

3.

設計

4.

評価

5.

議論

6.

関連研究

7.

(4)

v1 v2

v1 v2

v3 v4

v5

1.1. 背景 : ラフ処理について

フ構

点集合 (V) 辺集合 (E)

: 点対

点対 順序 意味 ( 向辺 )

順序 意味 持 い フ ( 無向辺 フ ) 二種類 あ

フ処理

: 路線 , Web , , …

解析例 : 最短経路問題 , PageRank,

協調フ , , …

向辺 : 無向辺 :

e12

e13 e24

e34 e35 e

54

v1 v2

e12 (≠e21) e12 = e21

(5)

1.2. 背景 : 大規模 ラフ処理

大規模 フ処理

点数 : 数十億 (x1G)~, 辺数 : 数千億 (x100G)~

一回 解析処理 多大 時間

Google PageRank 更新 2~4 一度 行わ

処理 効率化 研究 行わ

既存 大規模 フ処理

Pregel (Google Inc.)

PEGASUS ( ン大学 )

(6)

1.3. 背景 : 既存シ テムの問題点

問題点 : 解析

既存手法 蓄積 解析 行う ( 処理 )

, 発生 解析結果 得

,非常 短時間 加味 解析

処理 処理 間隔

短く あ 程度 短く

(7)

1.4. 背景 : データ トリーム処理による解決案

処理

時々刻々 生成 (= )

,蓄積 逐次処理 いく 処理方式

大規模 増加

研究 盛 行わ う

生成 ,そ 加味

処理結果 得 時間差 ()

短く 主眼 置い い

(8)

1.5. 背景 : データ トリーム処理系 System S

IBM System S

処理 行う

処理言語 SPADE 実装

,並列計算機 配置,通信処理 ,

全体 管理 担う

処理言語 SPADE

処理 簡単

書 プ 言語

基本的 処理 用意

複雑 処理

定義 (UDOP) C++ 実装

(9)

2. 手法

1.

背景

2.

手法

3.

設計

4.

評価

5.

議論

6.

関連研究

7.

(10)

2.1. 手法 : 計算モデルの提案

計算 : Incremental GIM-V

フ処理 計算

提案

既存手法 ( 以降 解説 )

GIM-V (from フ処理 PEGASUS)

Incremental PageRank

自体 処理的 手法

今後, 処理

改良 必要 あ

(11)

2.2. 手法 :GIM-V (PEGASUS)

Generalized Iterative Matrix-Vector multiplication

行列× 乗算演算 (v’=M × v) 一般化

(n × n 行列, n )

演算 (iterative) (or規定回数)実行

行列M 隣接行列, v

見立 ,関数combine2, combineAll, assign 実装

,様々 フ 実装 能

PageRank, Random Walk with Restart, 推定, 連結成 推定

4 PEGASUS 提供

vi = Mi,j × vj

n

j=1

vi = assign(vi, combineAll(combine2(Mi,1, v1),… , combine2(Mi,n, vn)))

combine2 : 乗算 combineAll : 総和 assign : 更新

(12)

2.3. 手法 :Incremental PageRank

Incremental PageRank

PageRank 計算 化手法

時点 (G

1

) PageRank 計算結果 利用

そ 新 い ( 更新 )(G

2

) PageRank 計算

手順

1. G1 G2 ,構 変化

点 ,そ 到達 点

幅優先探索 求 ( V

Q)

2. VQ以外 VQ 接続

( Vb),残 Vu

3. Vb Vu PageRank 点数 変化

応 調整(×|V(G

1)|/|V(G2)|)

4. PageRank計算範 VQ

VQ Vb

Vu 変化 点,辺

変化 点,辺

VQ: (変化 点集合)

変化 到達

/ GIM-V 計算対象 Vb: (無変化 点集合:境界)

VQ以外 VQ 隣接 / 計算対象外 Vu: (無変化 点集合)

VQ : PageRank再計算 対象 Vb : VQ

Vu : 以外

(13)

2.4. 手法 : 提案モデル Incremental GIM-V

Incremental GIM-V

Incremental PageRank 手順 GIM-V 実行

手順

1. 新規 追加

初期値 設定 関数init 実行

2. 既存 ,計算結果

調整 関数scale 実行

3. 同様VQ , Vb , Vu 計算

4. 計算範 VQ Vb

GIM-V 計算 実行

(VQ : combine2,combineAll,assign) (Vb : combine2 )

VQ Vb

Vu 変化 点,辺

変化 点,辺

VQ: (変化 点集合)

変化 到達

/ GIM-V 計算対象 Vb: (無変化 点集合:境界)

VQ以外 VQ 隣接 / 計算対象外 Vu: (無変化 点集合)

VQ, Vb以外/ 計算対象外

V

Q

: GIM-V 計算 対象

V

b

: V

Q

V

u

: 以外

(14)

2.5. 手法 : アルゴリ ムインターフェー

(PageRank )

以 ン フ

(C++) 実装

関数

combine2(Mij,vj) : 乗算

combineAll(list) : 総和

assign(vi, vi_new) : 代入

( ) : assign 実装

scale(vi, i) : 計算結果 調整

init(vi, i) : 初期値設定

型定義

TM : 行列 要素

(辺 )

Tv : 要素

( )

Tc : combine2

定数

IT_LIMIT : 復計算 限 復回数

(15)

2.6. 手法 : インターフェー 実装例 (PageRank)

: PageRank

関数

combine2(Mij,vj) = Mij×vj

combineAll(list) = 0.85×sum(list)+0.15/n

assign(vi, vi_new) = vi_new

( ) : abs((vi_new -vi)/vi)<1.0×10-5

scale(vi, i) = vi×nG1/nG2

init(vi, i) = 1/nG2

型定義

TM , Tv, Tc : double(倍精度浮動小数点数型)

定数

IT_LIMIT ( 復回数): 32

(16)

3. 設計

1.

背景

2.

手法

3.

設計

4.

評価

5.

議論

6.

関連研究

7.

(17)

3.1. 設計 : データフロー図

IBM System S 実装

UDOP 以外 組込

UDOP( 定義 )

今回実装 (C++)

UDOP : Master

動作状態( ) 管理

UDOP : Worker 1 ~ K

処理 担当

散保持

番号 i (0, 1, 2, …) i mod K + 1 Worker 担当

Source (M)

Source (G) Master (M)

[UDOP]

Split (G)

Sink (M) Bundle (M)

Worker(W1) [UDOP]

(W2) [UDOP]

(WK) [UDOP] Sink

(W1)

(W2)

(WK)

Split (W1) (W2) (WK)

Bundle (W1) (W2) (WK)

MasterWorker Worker

K

フ入力

(18)

3.2. 設計 : テム動作状態

初期状態 機状態

Q

計算 移行

各状態,各 ップ 動作

管理

Q

計算 GIM-V 計算

1 ップ 完了

復 ップ実行

ップ 終了

機状態 戻

機状態 VQ計算

Vb計算

GIM-V計算

結果出力

VQ : GIM-V再計算 対象 Vb : VQ

Vu : 以外

(19)

3.3. 設計 : 動作 : 待機状態

Source (M)

Source (G) Master (M)

[UDOP]

Split (G)

Sink (M) Bundle (M)

Worker(W1) [UDOP]

(W2) [UDOP]

(WK) [UDOP] Sink

(W1)

(W2)

(WK)

Split (W1) (W2) (WK)

Bundle (W1) (W2) (WK)

MasterWorker Worker

状態 フ入力

(辺情報) 受け付け

他 状態 フ入力

与え , 機状態

戻 映 い.

辺情報 適 ワ

振 当 .( ン ビン)

解析開始 通知

外部 発行 ,

状態 V

Q計算 移行

変化 辺 両端 V

Q

VQ : GIM-V再計算 対象 Vb : VQ

Vu : 以外

(20)

3.4. 設計 : 動作 :V

Q

計算

Source (M)

Source (G) Master (M)

[UDOP]

Split (G)

Sink (M) Bundle (M)

Worker(W1) [UDOP]

(W2) [UDOP]

(WK) [UDOP] Sink

(W1)

(W2)

(WK)

Split (W1) (W2) (WK)

Bundle (W1) (W2) (WK)

MasterWorker Worker

ワ 指示 送 .

直前 ップ V

Q 追加

点 ,隣 合う 点

VQ 追加 う指示

指示 受け 点 V

Q 追加

VQ 変更 状態 移行. 変更 あ 場合 , う一度

状態 一連 流 ( ップ)

実行 .

以 終了

通知 .

VQ : GIM-V再計算 対象 Vb : VQ

Vu : 以外

(21)

3.5. 設計 : 動作 :V

b

計算

Source (M)

Source (G) Master (M)

[UDOP]

Split (G)

Sink (M) Bundle (M)

Worker(W1) [UDOP]

(W2) [UDOP]

(WK) [UDOP] Sink

(W1)

(W2)

(WK)

Split (W1) (W2) (WK)

Bundle (W1) (W2) (WK)

MasterWorker Worker

ワ 指示 送 .

VQ ,隣 合う VQ 確認

確認 条件 合う 点 Vb 追加

次 状態 移行.

以 終了

通知 .

新規 点 init 実行. 既存 点 scale 実行.

VQ : GIM-V再計算 対象 Vb : VQ

Vu : 以外

(22)

3.6. 設計 : 動作 :GIM-V 計算

Source (M)

Source (G) Master (M)

[UDOP]

Split (G)

Sink (M) Bundle (M)

Worker(W1) [UDOP]

(W2) [UDOP]

(WK) [UDOP] Sink

(W1)

(W2)

(WK)

Split (W1) (W2) (WK)

Bundle (W1) (W2) (WK)

MasterWorker Worker

ワ 指示 送 .

V

b ,VQ 隣接

combine2 実行 ,結果 V

Q combine2 計算結果

combineAll 実行 .

全 点 値 束 ,

あ い 規定回数 ップ 実行

以 終了

通知 .

V

Q 結果 assign

点 値 更新 .

束 定 行う.

VQ : GIM-V再計算 対象 Vb : VQ

Vu : 以外

(23)

3.7. 設計 : 動作 : 結果出力

Source (M)

Source (G) Master (M)

[UDOP]

Split (G)

Sink (M) Bundle (M)

Worker(W1) [UDOP]

(W2) [UDOP]

(WK) [UDOP] Sink

(W1)

(W2)

(WK)

Split (W1) (W2) (WK)

Bundle (W1) (W2) (WK)

MasterWorker Worker

ワ 指示 送 .

各 点 計算結果

( ) 出力

全 点 V

Q, Vb 解除

機状態 戻 .

映 フ情報

あ 映 .

以 終了

通知 .

VQ : GIM-V再計算 対象 Vb : VQ

Vu : 以外

(24)

4. 評価

1.

背景

2.

手法

3.

設計

4.

評価

5.

議論

6.

関連研究

7.

(25)

4.1. 評価 : 実験内容

実験

PageRank

実験内容

G

1

G

2

用意

記二通 計算 計算時間 比較

1.

G

1

PageRank 計算結果 利用

G

2

PageRank Incremental GIM-V 計算

2.

G

2

PageRank 通常 GIM-V 計算

(26)

4.2. 評価 : 実験条件 : データ

実験 ( )

G

1

条件 従い 生成

点数 : 10000

辺数 : 対数正規 従う乱数( 127.1)

(合計辺数 : 127.1)

Web 対数正規 従う*

G

2

条件 従う11 生成

G1 VQ 割合(変化率r)

0%, 10%, …, 100% G1 変化

* : G. Malewicz et al, “Pregel: A System for Large-Scale Graph Processing”, ACM 2010.

VQ : GIM-V再計算 対象 Vb : VQ

Vu : 以外

変化率r

= VQ 割合 = GIM-V計算対象 割合

(27)

4.2. ( 補足 ) 実験データについて

全体 点数 1 , 127

Incremental GIM-V G

2

PageRank 計算 行う際

GIM-V 再計算 (= 変化率 r = V

Q

割合 )

0% , 10%, …, 90%, 100% 変動 実験

V

Q

V

u,

V

b G1 G2

変化 点,辺

(28)

4.3. 評価 : 実験条件 : 環境

実験環境

計算機 (5 ) : AMD Phenom X4 2.5GHz

L2 512KB (4 cores), Memory 8GB

1 (4 ) , 4 (16 )

( :64)

OS : CentOS 5.22.6

DSMS : InfoSphereStreams 1.2 (System S)

: gcc 4.1.2

(29)

4.4. 評価 : 実験結果

通常 GIM-V

PageRank 計算

Incremental GIM-V

用い 高

計算 能.

変化率r

: VQ(GIM-V再計算対象)

割合

(Incremental PageRank

同様 結果 あ )

0.0 5.0 10.0 15.0 20.0 25.0 30.0 35.0

0% 10% 20% 30% 40% 50% 60% 70% 80% 90%100%

(秒)

変 化 率(r) Incremental GIM-V GIM-V

5.0 6.3 5.9

4.5 4.7 2.9

4.4

2.5 2.1 2.4

0.0 1.1

1.0 2.0 3.0 4.0 5.0 6.0 7.0

0% 10% 20% 30% 40% 50% 60% 70% 80% 90%100%

Incremental GIM-V

(30)

目次

1.

背景

2.

手法

3.

設計

4.

評価

5.

議論

6.

関連研究

7.

(31)

5. 議論

適用範

今回, PageRank Incremental GIM-V 適用

今後,ほ フ処理 適用

検討 必要 あ

: Random Walk with Restart

最短経路問題

Incremental GIM-V

無向辺 フ 処理 高 化 見込 い

計算簡略化

手法 処理 化手法

計算 簡略化 必要

計算精度 犠牲

(32)

6. 関連研究

Pregel

*1

, PEGASUS

*2

既存 大規模 フ処理

処理

Incremental PageRank

*3

, Adaptive PageRank

*4

PageRank 計算 化手法

*1 : G. Malewicz et al, “Pregel: A System for Large-Scale Graph Processing”, ACM 2010.

*2 : U Kang et al, “PEGASUS: A Peta-Scale Graph Mining System - Implementation and Observations”, ICDM 2009.

*3 : P. Desikan et al, “Incremental Page Rank Computation on Evolving Graphs”, ACM 2005.

*4 : S. Kamvar et al, “Adaptive methods for the computation of PageRank”, Linear Algebra and its Applications 386 (2004) 51-65.

(33)

7. まとめ

フ処理 計算

Incremental GIM-V 考案

IBM System S 実装

今後 課題

( ) 計算 考案

適用範 広い計算 考案

: ,最短路問題

清聴あ

(34)

補足 : 実験時の GIM-V 計算反復回数

1

29

21

23

15

22

13

18

16

13

7 9

32

9

0

4

8

12

16

20

24

28

32

0% 10% 20% 30% 40% 50% 60% 70% 80% 90%100%

復 回 数 (3 2回 )

変 化 率 (r)

Incremental GIM-V

GIM-V

参照

関連したドキュメント

and Nakano, Y., 2002, Middle Miocene ostracods from the Fujina Formation, Shimane Prefecture, South- west Japan and their paleoenvironmental significance. Tansei-maru Cruise KT95-14

Key words: planktonic foraminifera, Helvetoglobotruncana helvetica, bio- stratigraphy, carbon isotope, Cenomanian, Turonian, Cretaceous, Yezo Group, Hobetsu, Hokkaido.. 山本真也

We have investigated rock magnetic properties and remanent mag- netization directions of samples collected from a lava dome of Tomuro Volcano, an andesitic mid-Pleistocene

In this study, we evaluated the impact of climate change on explosive cyclone using the large ensemble climate prediction data (d4PDF) of present climate experiment 3,000 years

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

Leighl NB, Page RD, Raymond VM, et al: Clinical Utility of Comprehensive Cell-free DNA Analysis to Identify Genomic Biomarkers in Patients with Newly Diagnosed

In Section 3, we construct a semi-graph with p-rank from a vertical fiber of a G-stable covering in a natural way and apply the results of Section 2 to prove Theorem 1.5 and

I claim that the parser uses not only information of case-markers but also lexical information in processing left clause boundaries in Japanese. A self-paced reading