並列処理プロセッサのスケーラビリティの検証 ~ pso...
DESCRIPTION
並列処理プロセッサのスケーラビリティの検証 ~ PSO アルゴリズムを中心として~. 数理情報科学専攻 福永研究室 大井 謙. 研究背景 並列処理とスケーラビリティ TPCORE の開発 研究の動機 検証方法 PSO アルゴリズムと その並列化 TPCORE ネットワークの構成 検証結果 まとめと今後の展望. 目次. 2. :計算時間. :スケジューリング. 研究背景 - 並列処理とスケーラビリティ. 並列処理 1 つの処理を複数に分割して同時に行うこと ( ⇔逐次処理 ) 処理内容を共有するため互いが通信する必要がある. 時間. 1. - PowerPoint PPT PresentationTRANSCRIPT
2012.02.01 Y.Oi首都大学東京 修士論文発表会 1
並列処理プロセッサのスケーラビリティの検証~ PSO アルゴリズムを中心として~
数理情報科学専攻 福永研究室大井 謙
2012.02.01 Y.Oi首都大学東京 修士論文発表会 2
目次• 研究背景
– 並列処理とスケーラビリティ– TPCORE の開発– 研究の動機
• 検証方法– PSO アルゴリズムと その並列化– TPCORE ネットワークの構成
• 検証結果
• まとめと今後の展望2
2012.02.01 Y.Oi首都大学東京 修士論文発表会 3
研究背景 - 並列処理とスケーラビリティ• 並列処理
– 1 つの処理を複数に分割して同時に行うこと (⇔ 逐次処理 )
– 処理内容を共有するため互いが通信する必要がある
逐次処理 並列処理(2 分割 )
並列処理(4 分割 )
時間
1
1/2
1/4
:計算時間
:スケジューリング逐次処理では必要ない( オーバーヘッド )
2012.02.01 Y.Oi首都大学東京 修士論文発表会 4
研究背景 - 並列処理とスケーラビリティ• 並列処理
– 1 つの処理を複数に分割して同時に行うこと (⇔ 逐次処理 )
– 処理内容を共有するため互いが通信する必要がある– 分割した中で最も遅いものが性能を決めるので
均等に分割した方が良い:計算時間
:スケジューリング逐次処理では必要ない( オーバーヘッド )時間
均等でない並列処理(4 分割 )
均等な並列処理(4 分割 )
この幅が性能の差になる
2012.02.01 Y.Oi首都大学東京 修士論文発表会 5
研究背景 - 並列処理とスケーラビリティ• スケーラビリティ
– ネットワークやアルゴリズムが持つ拡張性のこと
• 並列処理におけるスケーラビリティ– 前述のオーバーヘッドにより
分割する数を増やしすぎると処理効率が落ちる– 「いくつまでの拡張ならば効率的なのか」を検証する
• 検証するもの– 並列処理プロセッサ TPCORE
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 構造
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 構造
2012.02.01 Y.Oi首都大学東京 修士論文発表会 8
研究背景 - 動機• これまでの研究方針からの課題
– ハードウェア実装の優先により複雑なソフトウェア実装による検証が検討課題となっていた
• 「電動車椅子危険探知および回避システム」の開発– これは当研究室で現在推し進めているプロジェクトで
ある– 危険感知・回避という性質から高速処理が求められるた
めハード・ソフト両面からの処理能力に焦点を当てたい
– しかしこのシステムはまだ構想段階にある
並列処理研究でよく用いられるアルゴリズムを Occam にて実装
TPCOREのネットワークごとに処理効率を検証した
2012.02.01 Y.Oi首都大学東京 修士論文発表会 9
検証方法 -PSO アルゴリズム• PSO(Particle Swarm Optimization)
– James Kennedy と Russell C. Eberhart による (1995)– 自然界で群れを成す動物に見られる
一匹が経路を発見すると残りが素早くそれに倣う性質をparticle(粒子 ) の群でモデル化したアルゴリズム
– 解が点や面で表される問題の最適解を探索する
2012.02.01 Y.Oi首都大学東京 修士論文発表会 10
検証方法 -PSO アルゴリズム• ランダムに配置された各 particle は規定回数移動
し「良い位置」についての情報を交換しながら収束する
一つ一つの particleが
自発性を持って移動している
それらの計算は独立しているため
並列性がある
particle は中央に収束した
「良い位置」 = 中央
その評価基準は ?
2012.02.01 Y.Oi首都大学東京 修士論文発表会 11
検証方法 -PSO アルゴリズム• particle の位置評価方法
– 評価用の関数 ( フィットネス関数: f) を用いる– 各 particle の位置情報 を f に入力– 評価値 f(X) の中で最小となるものを最適値とし
このときの位置情報を「最も良い位置」とする
• 検証に使うフィットネス関数– ベンチマーク関数としてよく使われているものを選択
した• Ridge関数• Ackley関数
– ともに X = (0, 0, … , 0) にて f(X) = 0 ( 最小値 ) となる
),,,( 21 nxxxX
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 次元の場合である
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
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
・・・
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
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
2012.02.01 Y.Oi首都大学東京 修士論文発表会 17
まとめと今後の展望• 今回の検証の結果
– TPCORE のみを用いた並列化では7台の Tree 構造で最大 5.9倍の効率
– VirtualChannel&Router を用いた並列化では6台の Fully Connected 構造で最大 4.8倍の効率
– 台数効率は直線を維持している
• 今後の展望– 現在の開発環境は容量の関係上これが限界の台数なので将来はこれ以上のネットワークを構築できる余地がある
– 「電動車椅子危険探知および回避システム」においても並列化の効率はこの結果を参考に開発する事ができる