43
1 コココココココココココココココココ コココココ ココココココココココココココ 今今 今今 コココ コ ココ ココ ココ ココ ココ ココ ココココ ココココココココココココ

コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

  • Upload
    lenci

  • View
    35

  • Download
    1

Embed Size (px)

DESCRIPTION

コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案. ○ 今村 智史  佐々木 広 福本 尚人 井上 弘士 村上 和彰 九州大学 大学院システム情報科学府. 目次. メニーコア・プロセッサの課題 提案手法:DCFS 性能評価 まとめと今後の課題. 目次. メニーコア・プロセッサの課題 提案手法:DCFS 性能評価 まとめと今後の課題. メニーコア・プロセッサの登場. 現在、マルチコア・プロセッサが主流 微細化技術の発達に伴いチップ上のコア数が増加 メニーコア・プロセッサの時代到来 1チップに数十・数百のコアを搭載 - PowerPoint PPT Presentation

Citation preview

Page 1: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

1

コア数と動作周波数の動的変更によるメニーコア・プロセッサ性能向上手法の提案

○ 今村 智史 佐々木 広 福本 尚人井上 弘士 村上 和彰

九州大学 大学院システム情報科学府

Page 2: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

2

目次

• メニーコア・プロセッサの課題

• 提案手法: DCFS

• 性能評価

• まとめと今後の課題

Page 3: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

3

目次

• メニーコア・プロセッサの課題

• 提案手法: DCFS

• 性能評価

• まとめと今後の課題

Page 4: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

4

メニーコア・プロセッサの登場• 現在、マルチコア・プロセッサが主流• 微細化技術の発達に伴いチップ上のコア数が増加• メニーコア・プロセッサの時代到来

- 1 チップに数十・数百のコアを搭載- 並列処理により単一プログラムの実行を高速化可能

Page 5: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

5

メニーコアの課題

• 低消費電力化に対する要求の拡大- 例:大規模なデータセンタ

‣ 負荷に応じた消費電力の変化によりピーク消費電力削減

消費電力制約下において効率的な並列処理が必要消費電力制約下において効率的な並列処理が必要

Page 6: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

6

性能を決定する 2 つの要因• 動作周波数と使用コア数

• プログラム間 / 内で異なる並列プログラムの性能特性- 動作周波数に対するセンシティビティ- コア数に対するスケーラビリティ

プログラムの種類やその振る舞いに応じて適切な構成を選択する必要ありプログラムの種類やその振る舞いに

応じて適切な構成を選択する必要あり

Page 7: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

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

Page 8: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

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

Page 9: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

9

blackscholes

プログラム間で異なる性能特性

x264 dedup

Page 10: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

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

Page 11: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

11

研究目的

• 消費電力制約下でのメニーコアにおける並列プログラム実行時の性能最大化- 着眼点:プログラム間 / 内で異なる性能特性

‣ 動作周波数に対するセンシティビティ‣ コア数に対するスケーラビリティ

➡性能を最大化できるコア数と動作周波数間のトレードオフポイントを動的に選択

Page 12: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

12

目次

• メニーコア・プロセッサの課題

• 提案手法: DCFS

• 性能評価

• まとめと今後の課題

Page 13: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

13

提案手法 DCFS の概要(Dynamic Core count and Frequency

Scaling)

• 実行プログラムの特性に応じてコア数と動作周波数を動的に制御

blackscholes

- 高並列なプログラム‣ 可能な限り多くのコアを用

いて並列処理

- 中 / 低並列なプログラム‣ 稼働させるコア数を制限‣ 休止させたコア分の消費電

力バジェットを動作周波数上昇に再割当て

dedup

Page 14: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

14

コア数の変更方法• “ スレッドパッキング手法 *” を採用

- 全コア数と等しい 64 スレッドを生成- それらを指定した数のコアに割当て

‣ プログラムを修正する必要なし8 スレッドを 8 コアに割り当てる例

8 スレッドを 2 コアに割り当てる例

Page 15: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

15

DCFS の実装• 2 種類のフェイズから構成

- トレーニングフェイズ‣ 構成(コア数と動作周波数の組み合わせ)を変更しつつ

プログラムを実行‣各構成で一定時間 IPS ( Instructions Per Second)を計測‣計測した IPS の値から性能を最大化する構成を推測

- 実行フェイズ‣推測した構成によりプログラムを実行‣ 一定時間毎の IPS計測によりプログラムの特性変化を確認

Page 16: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

16

最適な構成の探索方法• 2 種類の探索アルゴリズムを実装

全探索法全探索法 ヒルクライム法法

ヒルクライム法法

推測推測

制約を違反する構成

制約を違反する構成

制約を違反する構成

制約を違反する構成

Page 17: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

17

最適な構成の探索方法• 2 種類の探索アルゴリズムを実装

全探索法全探索法 ヒルクライム法法

ヒルクライム法法

推測推測

制約を違反する構成

制約を違反する構成

制約を違反する構成

制約を違反する構成

コア数

IPS

64483224

1.4GHz1.7GHz2.0GHz

推測推測

単峰性関数を仮定

Page 18: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

18

目次

• メニーコア・プロセッサの課題

• 提案手法: DCFS

• 性能評価

• まとめと今後の課題

Page 19: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

19

評価結果

•比較対象:計 7 種類の実行- 構成を静的に決定した実行

‣ 18, 24, 32, 48 コア@それぞれの最大動作周波数- 64 コア@ 1.4GHz- 提案手法

‣ 全探索法: DCFS-EXH, ヒルクライム法: DCFS-HILL

Page 20: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

20

評価結果 (1/4)

提案手法静的な構成の決定 64

Page 21: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

21

評価結果 (1/4)

高並列高並列

Page 22: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

22

評価結果 (2/4)

最適な構成を静的に決定した場合と同等の性

能向上

最適な構成を静的に決定した場合と同等の性

能向上

3.7倍3.7倍

Page 23: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

23

評価結果 (3/4)

最適な構成を静的に決定した場合と性能に差

があり

最適な構成を静的に決定した場合と性能に差

があり

Page 24: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

24

評価結果 (4/4)

実行時間によって異なる性能特性に対応

実行時間によって異なる性能特性に対応

計 12個のプログラムの平均

計 12個のプログラムの平均

22%22%

Page 25: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

25

目次

• メニーコア・プロセッサの課題

• 提案手法: DCFS

• 性能評価

• まとめと今後の課題

Page 26: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

26

まとめ

• メニーコアの課題- 消費電力制約下における性能の最大化

• 提案手法: DCFS- 実行プログラムの性能特性に応じてコア数と動作周波数を動的

に変化- 実行中の特性変化を検知

•計 12個のベンチマークによる性能評価- 全コア実行に対し最大で 3.7倍、平均で 22% の性能向上

Page 27: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

27

今後の課題

•静的に構成を決定する実行と提案手法による実行間の性能差の原因を調査

• 異なる消費電力制約下における性能評価

• 消費電力の計測による消費エネルギーの評価

Page 28: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

28

BACKUP SLIDES

Page 29: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

29

消費電力制約• 全 64 コアが最低周波数で稼働する際の消費電力

- コア数が の際の消費電力が制約を超えないよう動作周波数 と供給電圧 を設定

 :スイッチング確率   :チップ上の全コア数  : 1 コアあたりの負荷容量 :最低周波数      :最低供給電圧

Page 30: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

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

Page 31: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

31

構成によらず一定な実行命令数

Page 32: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

32

freqmine の性能特性

コア数と性能の関係が単峰性のグラフになっていない

コア数と性能の関係が単峰性のグラフになっていない

Page 33: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

33

評価結果( fluidanimate)

中程度の並列性にも関わらず全コア実行により最大性能達成

中程度の並列性にも関わらず全コア実行により最大性能達成

Page 34: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

34

メモリバウンドなプログラムの性能特性

動作周波数上昇による性能向上が小さい動作周波数上昇による性能向上が小さい

Page 35: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

35

2 種類のスレッドパッキング手法Sparse allocationSparse allocationDense allocationDense allocation

•L3 キャッシュに格納されたデータへの アクセスレイテンシが短い•利用できる L3 キャッシュの容量が小さい

•利用できる L3 キャッシュの容量が大きい•L3 キャッシュに格納されたデータへの アクセスレイテンシが長い

Page 36: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

36

目次

• メニーコア・プロセッサの課題

• 提案手法: DCFS

• 性能評価

• まとめと今後の課題

Page 37: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

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:

Page 38: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

38

評価結果( blackscholes,swaptions,vips)

64

Dense allocation:Sparse allocation:

DenseSparse提案手法

Page 39: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

39

評価結果( blackscholes,swaptions,vips)

Dense allocation:Sparse allocation:

高並列高並列 高並列高並列 高並列高並列

Page 40: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

40

評価結果( bodytrack,dedup,x264)

Dense allocation:Sparse allocation:

性能特性が実行中に変化しない

性能特性が実行中に変化しない

3.7倍3.7倍

Page 41: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

41

評価結果( bodytrack,dedup,x264)

Dense allocation:Sparse allocation:

L3 キャッシュ上のデータへのアクセスレイテンシが短いほうが良い

L3 キャッシュ上のデータへのアクセスレイテンシが短いほうが良い

Page 42: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

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 キャッシュミス削減

Page 43: コア数と動作周波数の動的変更による メニーコア・プロセッサ性能向上手法の提案

43

評価結果( ferret,freqmine,facesim)

Dense allocation:

Sparse allocation:

実行時間によって異なる性能特性に対応

実行時間によって異なる性能特性に対応

計 12個のプログラムの平均

計 12個のプログラムの平均

22%22%