並列処理プロセッサのスケーラビリティの検証 ~ pso...

17
2012.02.01 首首首首首首 首首首首首首首 Y.Oi 1 首首首首首首首首首首首首首首首首首首首首首 PSO 首首首首首首首首首首首首首首首首首首首首 首首首首首 首首

Upload: ebony-blake

Post on 02-Jan-2016

62 views

Category:

Documents


0 download

DESCRIPTION

並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~. 数理情報科学専攻 福永研究室 大井 謙. 研究背景 並列処理とスケーラビリティ TPCORE の開発 研究の動機 検証方法 PSO アルゴリズムと その並列化 TPCORE ネットワークの構成 検証結果 まとめと今後の展望. 目次. 2. :計算時間. :スケジューリング. 研究背景 - 並列処理とスケーラビリティ. 並列処理 1 つの処理を複数に分割して同時に行うこと ( ⇔逐次処理 ) 処理内容を共有するため互いが通信する必要がある. 時間. 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 1

並列処理プロセッサのスケーラビリティの検証~ PSO アルゴリズムを中心として~

数理情報科学専攻 福永研究室大井 謙

Page 2: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 2

目次• 研究背景

– 並列処理とスケーラビリティ– TPCORE の開発– 研究の動機

• 検証方法– PSO アルゴリズムと その並列化– TPCORE ネットワークの構成

• 検証結果

• まとめと今後の展望2

Page 3: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 3

研究背景 - 並列処理とスケーラビリティ• 並列処理

– 1 つの処理を複数に分割して同時に行うこと (⇔ 逐次処理 )

– 処理内容を共有するため互いが通信する必要がある

逐次処理 並列処理(2 分割 )

並列処理(4 分割 )

時間

1

1/2

1/4

:計算時間

:スケジューリング逐次処理では必要ない( オーバーヘッド )

Page 4: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 4

研究背景 - 並列処理とスケーラビリティ• 並列処理

– 1 つの処理を複数に分割して同時に行うこと (⇔ 逐次処理 )

– 処理内容を共有するため互いが通信する必要がある– 分割した中で最も遅いものが性能を決めるので

均等に分割した方が良い:計算時間

:スケジューリング逐次処理では必要ない( オーバーヘッド )時間

均等でない並列処理(4 分割 )

均等な並列処理(4 分割 )

この幅が性能の差になる

Page 5: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 5

研究背景 - 並列処理とスケーラビリティ• スケーラビリティ

– ネットワークやアルゴリズムが持つ拡張性のこと

• 並列処理におけるスケーラビリティ– 前述のオーバーヘッドにより

分割する数を増やしすぎると処理効率が落ちる– 「いくつまでの拡張ならば効率的なのか」を検証する

• 検証するもの– 並列処理プロセッサ TPCORE

Page 6: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 6

研究背景 -TPCORE の開発• 当研究室で開発している並列処理プロセッサ• Inmos 社の Transputer-T425 互換を目指し作成

(2005)• 並列プログラミング言語 Occam を実行可能

– 言語自体が並列処理の仕組みを持っており OS が必要ない

• TPCORE は 4 本の Link を持っておりこれを用いることで様々なネットワークを構成できる

TP

TP

TPTP

TPTPTP

TPCORE

TP

TP

TP

TP TP TP

TP

TPCORE と Link Pipeline 構造 Star 構造 Tree 構造

Page 7: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 7

研究背景 -TPCORE

• VirtualChannel&Router によりネットワークトポロジの制限から開放 (2009)

• T425 の次世代プロセッサ T800 と互換性をもたせたハードウェアによる実数演算が実現 (2010)

Router

TP

TP

TP

TP

TP

TP

TP TPTP TPTP

TP

TP

TP

TP

TP

TP

TPRouter の開発によってすべての TPCORE を

1 対 1 で接続できるようになったFully Connected 構造

Star 構造

Page 8: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 8

研究背景 - 動機• これまでの研究方針からの課題

– ハードウェア実装の優先により複雑なソフトウェア実装による検証が検討課題となっていた

• 「電動車椅子危険探知および回避システム」の開発– これは当研究室で現在推し進めているプロジェクトで

ある– 危険感知・回避という性質から高速処理が求められるた

めハード・ソフト両面からの処理能力に焦点を当てたい

– しかしこのシステムはまだ構想段階にある

並列処理研究でよく用いられるアルゴリズムを Occam にて実装

TPCOREのネットワークごとに処理効率を検証した

Page 9: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 9

検証方法 -PSO アルゴリズム• PSO(Particle Swarm Optimization)

– James Kennedy と Russell C. Eberhart による (1995)– 自然界で群れを成す動物に見られる

一匹が経路を発見すると残りが素早くそれに倣う性質をparticle(粒子 ) の群でモデル化したアルゴリズム

– 解が点や面で表される問題の最適解を探索する

Page 10: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 10

検証方法 -PSO アルゴリズム• ランダムに配置された各 particle は規定回数移動

し「良い位置」についての情報を交換しながら収束する

一つ一つの particleが

自発性を持って移動している

それらの計算は独立しているため

並列性がある

particle は中央に収束した

「良い位置」 = 中央

その評価基準は ?

Page 11: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 11

検証方法 -PSO アルゴリズム• particle の位置評価方法

– 評価用の関数 ( フィットネス関数: f) を用いる– 各 particle の位置情報 を f に入力– 評価値 f(X) の中で最小となるものを最適値とし

このときの位置情報を「最も良い位置」とする

• 検証に使うフィットネス関数– ベンチマーク関数としてよく使われているものを選択

した• Ridge関数• Ackley関数

– ともに X = (0, 0, … , 0) にて f(X) = 0 ( 最小値 ) となる

),,,( 21 nxxxX

Page 12: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 12

検証方法 -PSO アルゴリズム• Ridge関数 • Ackley関数

n

i

i

jjxXf

1

2

1

)()(

22.0,20

))cos(1

exp()1

exp()(11

2

cba

eaxcn

xn

baXfn

ii

n

ii

図はともに 2 次元の場合である

Page 13: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 13

検証方法 - 並列化• どのように並列化するのか (負荷分割 )

– PSO の計算負荷は particle 数にほぼ比例するので各 TPCORE の扱う particle 数が均等になるように分割する

– particle が持つ「良い位置」についての情報は各 TPCORE が通信する事によって交換されるTPCORE

TPCORE

TPCORE

TPCORE

12

3

4

56

7

89

1011

12

1, 2, 3

4, 5, 6

7, 8, 9

10, 11, 12

Page 14: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 14

• TPCORE のみを用いた並列化– 1台での逐次処理にかかる時間を基準とする– ネットワークに制限があるため , 2台 , 3台 , 7台のみ

• Router を用いた並列化– 2台~ 6台の Fully Connected 構造

検証方法 -TPCORE のネットワーク構成

TP

TP

TP

TP TP

TP

TP

TPTP

TPTPTP

Router

TP

TP

TP

TP

TP

TP

Router

TP TP

・・・

Page 15: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 15

Ridge関数

0.0

1.0

2.0

3.0

4.0

5.0

6.0

7.0

8.0

9.0

10.0

1 2 3 4 5 6 7TPCORE ( )の数 台

( )時間 秒

0.0

1.0

2.0

3.0

4.0

5.0

6.0

7.0

( )効率 倍

TPCORE ( )のみ 時間Router ( )使用 時間TPCORE ( )のみ 効率Router ( )使用 効率

検証結果• Ridge関数の実行結果

5.9

1.9

5.0

8.9

1.5

4.7

3.4

4.1

2.172.6

1.0

1.8

2.6

3.4

Page 16: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 16

Ackley関数

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

1 2 3 4 5 6 7TPCORE ( )の数 台

( )時間 秒

0.0

1.0

2.0

3.0

4.0

5.0

6.0

( )効率 倍

TPCORE ( )のみ 時間Router ( )使用 時間TPCORE ( )のみ 効率Router ( )使用 効率

検証結果• Ackley関数

5.5

4.8

29.0

1.0

16.5

1.8

15.0

1.9

10.4

5.3

10.18.1 7.3

6.1

4.03.62.92.8

Page 17: 並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~

2012.02.01     Y.Oi首都大学東京 修士論文発表会 17

まとめと今後の展望• 今回の検証の結果

– TPCORE のみを用いた並列化では7台の Tree 構造で最大 5.9倍の効率

– VirtualChannel&Router を用いた並列化では6台の Fully Connected 構造で最大 4.8倍の効率

– 台数効率は直線を維持している

• 今後の展望– 現在の開発環境は容量の関係上これが限界の台数なので将来はこれ以上のネットワークを構築できる余地がある

– 「電動車椅子危険探知および回避システム」においても並列化の効率はこの結果を参考に開発する事ができる