今村 智史 - 九州大学

Download Report

Transcript 今村 智史 - 九州大学

コア数と動作周波数の動的変更による
メニーコア・プロセッサ性能向上手法の提案
○今村 智史 佐々木 広 福本 尚人
井上 弘士 村上 和彰
九州大学 大学院システム情報科学府
1
目次
• メニーコア・プロセッサの課題
• 提案手法:DCFS
• 性能評価
• まとめと今後の課題
2
目次
• メニーコア・プロセッサの課題
• 提案手法:DCFS
• 性能評価
• まとめと今後の課題
3
メニーコア・プロセッサの登場
• 現在、マルチコア・プロセッサが主流
• 微細化技術の発達に伴いチップ上のコア数が増加
• メニーコア・プロセッサの時代到来
1チップに数十・数百のコアを搭載
- 並列処理により単一プログラムの実行を高速化可能
-
4
メニーコアの課題
• 低消費電力化に対する要求の拡大
-
例:大規模なデータセンタ
‣
負荷に応じた消費電力の変化によりピーク消費電力削減
消費電力制約下において
効率的な並列処理が必要
5
性能を決定する2つの要因
• 動作周波数と使用コア数
• プログラム間/内で異なる並列プログラムの性能特性
動作周波数に対するセンシティビティ
- コア数に対するスケーラビリティ
-
プログラムの種類やその振る舞いに
応じて適切な構成を選択する必要あり
6
実験環境
プロセッサの構成
プロセッサ
AMD Opteron 6282 SE
コア数
16
L1 I/D キャッシュ
L2 キャッシュ
共有 L3 キャッシュ
主記憶
48 KB
1
•
•
-
ベンチマーク・プログラム
PARSEC 2.1
入力サイズ
native
MB
12 MB
32 GB (DDR3-1333)
7
消費電力制約
• 全64コアが最低周波数で稼働する際の消費電力
- 消費電力が制約を超えないようコア数に応じて動
作周波数と供給電圧を設定
コア数
1 - 18
19 - 24
25 - 32
33 - 48
49 - 64
動作周波数[GHz]
2.6
2.3
2.0
1.7
1.4
供給電圧[V]
1.30
1.21
1.12
1.00
0.95
8
プログラム間で異なる性能特性
blackscholes
x264
dedup
9
プログラム内で異なる性能特性
18 24 32 48 64
18 24 32 48 64
18 24 32 48 64
18 24 32 48 64
18 24 32 48 64
10
研究目的
• 消費電力制約下でのメニーコアにおける並列プログラ
ム実行時の性能最大化
-
着眼点:プログラム間/内で異なる性能特性
‣
動作周波数に対するセンシティビティ
‣
コア数に対するスケーラビリティ
➡性能を最大化できるコア数と動作周波数間の
トレードオフポイントを動的に選択
11
目次
• メニーコア・プロセッサの課題
• 提案手法:DCFS
• 性能評価
• まとめと今後の課題
12
提案手法 DCFS の概要
(Dynamic Core count and Frequency Scaling)
• 実行プログラムの特性に応じてコア数と動作周波数を
動的に制御
-
高並列なプログラム
‣
可能な限り多くのコアを用
いて並列処理
blackscholes
-
中/低並列なプログラム
稼働させるコア数を制限
‣ 休止させたコア分の消費電
力バジェットを動作周波数
上昇に再割当て
‣
dedup
13
コア数の変更方法
• “スレッドパッキング手法*”を採用
全コア数と等しい64スレッドを生成
- それらを指定した数のコアに割当て
-
プログラムを修正する必要なし
8スレッドを8コアに割り当てる例
‣
8スレッドを2コアに割り当てる例
14
DCFSの実装
• 2種類のフェイズから構成
-
トレーニングフェイズ
‣
構成(コア数と動作周波数の組み合わせ)を変更しつつ
プログラムを実行
各構成で一定時間IPS(Instructions Per Second)を計測
‣ 計測したIPSの値から性能を最大化する構成を推測
‣
-
実行フェイズ
‣
推測した構成によりプログラムを実行
‣
一定時間毎のIPS計測によりプログラムの特性変化を確認
15
最適な構成の探索方法
• 2種類の探索アルゴリズムを実装
ヒルクライム法
法
全探索法
推測
制約を違反
する構成
制約を違反
する構成
16
最適な構成の探索方法
• 2種類の探索アルゴリズムを実装
推測
IPS
全探索法
ヒルクライム法
法
1.4GHz
1.7GHz
2.0GHz
推測
制約を違反
制約を違反
する構成
する構成
単峰性関数を仮定
24
32
48
コア数
64
17
目次
• メニーコア・プロセッサの課題
• 提案手法:DCFS
• 性能評価
• まとめと今後の課題
18
評価結果
•
比較対象:計7種類の実行
-
構成を静的に決定した実行
‣
18, 24, 32, 48コア@それぞれの最大動作周波数
64コア@1.4GHz
- 提案手法
-
‣
全探索法:DCFS-EXH, ヒルクライム法:DCFS-HILL
19
評価結果(1/4)
静的な構成
提案手法
の決定 64
20
評価結果(1/4)
高並列
21
評価結果(2/4)
3.7倍
最適な構成を静的に決
定した場合と同等の性
能向上
22
評価結果(3/4)
最適な構成を静的に決
定した場合と性能に差
があり
23
評価結果(4/4)
実行時間によって異なる
性能特性に対応
計12個のプログ
ラムの平均
22%
24
目次
• メニーコア・プロセッサの課題
• 提案手法:DCFS
• 性能評価
• まとめと今後の課題
25
まとめ
• メニーコアの課題
-
消費電力制約下における性能の最大化
• 提案手法:DCFS
実行プログラムの性能特性に応じてコア数と動作周波数を
動的に変化
- 実行中の特性変化を検知
-
• 計12個のベンチマークによる性能評価
-
全コア実行に対し最大で3.7倍、平均で22%の性能向上
26
今後の課題
• 静的に構成を決定する実行と提案手法による実行間の
性能差の原因を調査
• 異なる消費電力制約下における性能評価
• 消費電力の計測による消費エネルギーの評価
27
BACKUP SLIDES
28
消費電力制約
• 全64コアが最低周波数で稼働する際の消費電力
-
コア数が
動作周波数
の際の消費電力が制約を超えないよう
と供給電圧 を設定
:スイッチング確率
:チップ上の全コア数
:最低周波数
:最低供給電圧
:1コアあたりの負荷容量
29
プログラムの分類
並列性
高
中
低
プログラム
64コア実行時の
1コア実行時に対する性能比
blackscholes
swaptions
vips
ferret
fluidanimate
freqmine
x264
canneal
bodytrack
streamcluster
54.9x
51.7x
44.9x
29.0x
24.0x
20.1x
16.0x
12.7x
8.2x
4.3x
30
構成によらず一定な実行命令数
31
freqmineの性能特性
コア数と性能の関係が単峰性のグ
ラフになっていない
32
評価結果
(fluidanimate)
中程度の並列性にも関わらず全コア
実行により最大性能達成
33
メモリバウンドなプログラム
の性能特性
動作周波数上昇による性能向上が小さい
34
2種類のスレッドパッキング手法
Dense allocation
•L3キャッシュに格納されたデータへの
アクセスレイテンシが短い
•利用できるL3キャッシュの容量が小さい
Sparse allocation
•利用できるL3キャッシュの容量が大きい
•L3キャッシュに格納されたデータへの
アクセスレイテンシが長い
35
目次
• メニーコア・プロセッサの課題
• 提案手法:DCFS
• 性能評価
• まとめと今後の課題
36
評価結果
Dense allocation:
Sparse allocation:
•
比較対象:計13種類の実行
-
構成を静的に決定した実行(Dense/Sparse allocation)
‣
18, 24, 32, 48コア@それぞれの最大動作周波数
従来実行:1.4GHzの64コアによる実行
- 提案手法
-
‣
DCFS-EXH-DENSE, DCFS-HILL-DENSE, DCFS-EXH-SPARSE, DCFS-HILL-SPARSE 37
評価結果
(blackscholes,swaptions,vips)
Dense allocation:
Sparse allocation:
64 提案手法
Dense Sparse
38
評価結果
(blackscholes,swaptions,vips)
Dense allocation:
Sparse allocation:
高並列
高並列
高並列
39
評価結果
(bodytrack,dedup,x264)
Dense allocation:
Sparse allocation:
3.7倍
性能特性が実行中に
変化しない
40
評価結果
(bodytrack,dedup,x264)
Dense allocation:
Sparse allocation:
L3キャッシュ上のデータへ
のアクセスレイテンシが短
いほうが良い
41
評価結果
(streamcluster,canneal)
Dense allocation:
Sparse allocation:
メモリバウンド*
Dense allocation に比べよ
り大きな容量のL3キャッシ
ュを利用可能
→L3キャッシュミス削減
*Bienia, C et al.: The PARSEC benchmark suite: characterization and archi- tectural implications, PACT , 2008.
42
評価結果
(ferret,freqmine,facesim)
Dense allocation:
Sparse allocation:
実行時間によって異なる
性能特性に対応
計12個のプログ
ラムの平均
22%
43