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