演算 / メモリ性能バランスを考慮した...
DESCRIPTION
演算 / メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法. ○福本 尚人 , 井上 弘士,村上 和彰 九州大学. マルチコア・プロセッサ. 1 チップに複数のプロセッサコアを搭載 複数コアによる並列処理により高性能化 性能だけでなく、消費エネルギーも重要. 並列 プログラム. Core i7 (Intel ). Core i7 (Intel ). Cell/B.E.( ソニー / 東芝 /IBM). - PowerPoint PPT PresentationTRANSCRIPT
演算 / メモリ性能バランスを考慮したマルチコア向けオンチップメモリ貸与法
○ 福本 尚人 , 井上 弘士,村上 和彰九州大学
• 1 チップに複数のプロセッサコアを搭載• 複数コアによる並列処理により高性能化• 性能だけでなく、消費エネルギーも重要
マルチコア・プロセッサ
Cell/B.E.( ソニー / 東芝 /IBM) Core i7 (Intel)
IBM:http://domino.research.ibm.com/comm/research_projects.nsf/pages/multicore.CellBE.html
http://ascii.jp/elem/000/000/124/124281/img.html 2
Core i7 (Intel)
並列プログラム
マルチコアにおけるメモリウォール問題
• メモリ性能によるトータル性能の抑制– 大きな主記憶アクセスレイテンシ– オフチップメモリバンド幅の不足
プログラム: Cholesky
1 2 3 4 5 6 7 802468
1012
実行コア数
Spee
dUp
256KB private memory
Idealmemory
プログラム: Barnes
1 2 3 4 5 6 7 802468
10
実行コア数
Spee
dUp
256KB privatememory
Ideal memory
Ideal との差が小さい コア数に見合う性能が得られない 3
○ ×
提案手法の狙い• 用途に応じてコアを使い分け
– メインコア:並列プログラム実行用– ヘルパーコア:メモリ性能向上用
• コア同士で協調実行– 演算性能とメモリ性能のバランシング
4
1 2 3 4 5 6 7 802468
1012
実行コア数
Spee
dUp
プログラム : Cholesky
256KB privatememory
Ideal memory 本研究
のねらい コア コア コア コア
コア コア コア コア
従来の 8 並列実行
メインコア
メインコア
メインコア
メインコア
メインコア
メインコア
6 並列実行+ 2 サポート実行
ヘルパーコア
ヘルパーコア
本手法を実装し、評価した結果、• 最大、 46% の実行時間、 32% の消費エネルギーを削
減• ハードウェアコストなし
発表手順• マルチコアにおけるメモリウォール問題• 演算 / メモリ性能バランスを考慮したマル
チコア向けオンチップメモリ貸与法– 基本アイディア– 詳細な実装(ソースコードの自動変換)
• 貸与メモリのデータ割当て決定• ヘルパーコア数決定
• 評価• まとめと今後の課題
5
対象マルチコア・プロセッサ
6
コア
SPM SPM
コア
SPM
コア コア
SPM
コア
SPM
コア
SPM
コア
SPM
オンチップ接続
主記憶
ソフトウェア制御
オンチップメモリ
並列プログラム チップ
マルチコア向けオンチップメモリ貸与法
• メインコア– 並列プログラムを実行
• ヘルパーコア– メインコアに自身のメモリを
提供(階層メモリとして活用される)
– アイドル
• ヘルパーコアを増やすと○ メモリ性能が向上○ 消費電力が減少× 演算性能が低下
コア
SPM
コア
SPM
コア
SPM
コア
SPM
オンチップ接続
主記憶
ロード
ヘルパーコアIdle
7
並列プログラム
メインコア
メモリ性能改善効果>演算性能低下効果
となるようにヘルパーコア数を決定
プログラムの特徴に応じたコアの使い分け
8
○ メモリ性能向上による性能向上 大
○ 演算性能低下による性能低下 小○ コアの消費電力の削減
コア
SPM
コア
SPM
コア
SPM
コア
SPM
オンチップ接続
メインコア数 3 ヘルパーコア数 1コア
SPM
コア
SPM
コア
SPM
コア
SPM
オンチップ接続
全てメインコア
○ 従来の全コア実行により高性能化
プログラム : Barnes
1 2 3 4 5 6 7 802468
10
実行コア数
Spee
dup
256KB private memory
Ideal memory
1 2 3 4 5 6 7 802468
1012
実行コア数
Spee
d up
プログラム : Cholesky
256KB private memory
Ideal memory
SPM
プログラムの特徴に応じて適切なコアの配分を決定
発表手順• マルチコアにおけるメモリウォール問題• 演算 / メモリ性能バランスを考慮したマル
チコア向けオンチップメモリ貸与法– 基本アイディア– 詳細な実装(ソースコードの自動変換)
• 貸与メモリのデータ割当て決定• ヘルパーコア数決定
• 評価• まとめと今後の課題
9
提案手法の適用手順
10
並列化ソースコー
ド
事前実行
プロファイル情報
メインコアソースコー
ドヘルパーコアソースコード
貸与メモリのデータ割当て決定
コア配分決定
貸与メモリデータ割当て
コア配分
入力
ソースコード生成
ハードウェア
情報
コア数 1 で事前実行
DMA 転送トレース逐次処理時間の割合・・・
貸与メモリのデータ割当て決定法• 目標:メインコアの主記憶アクセス回数が最
小となる貸与メモリのデータ割当ての算出• 決定手順
1. プロファイル情報を元に各データごとのアクセス回数を集計
2. アクセス回数の多い順にデータを貸与メモリへ配置
11
プロファイル情報
1. アクセス回数の集計
0100020003000400050006000
アドレス
アク
セス
回数
DMA 転送トレース
貸与メモリデータ割当て
2. 保持するデータの選択
ヘルパーコア数決定法• 目標 : 最も高性能となるヘルパーコア数の算出• 決定手順
1. 性能モデルにプロファイル情報を代入することで全てのコア配分の実行時間を予測
2. 最も実行時間の短いコア配分を選択
プロファイル情報
1:6 2:5 3:4 4:3 5:2 6:1 7:00
0.20.40.60.8
メインコア : ヘルパーコア
実行
時間
性能予測
コア配分
実行時間の比較
予測実行時間
•逐次実行時間の割合 ・・・
12
ハードウェア情報
•DMA 転送に関する情報•搭載コア数・・・
並列化ソースコード
事前実行
プロファイル情報
メインコアソースコード
ヘルパーコアソースコード
貸与メモリのデータ割当て決定
コア配分決定 貸与メモリデータ割当て
コア配分
入力
ソースコード生成
ハードウェア情報
自動ソースコード変換
メモリ貸与法適用時にプログラマが行う作業
• 元ソースコードの並列実行部の前後に目印の挿入• スレッド生成部の修正• 他は全て自動で適用される
13
プロファイル情報取得用の関数の挿入 主記憶アクセス数最
小となる割当て決定
性能モデルによる実行時間の予測
アドレス変換処理の挿入実行コア数の変更貸与メモリのデータ入替え
発表手順• マルチコアにおけるメモリウォール問題• 演算 / メモリ性能バランスを考慮したマル
チコア向けオンチップメモリ貸与法– 基本アイディア– 詳細な実装(ソースコードの自動変換)
• 貸与メモリのデータ割当て決定• ヘルパーコア数決定
• 評価• まとめと今後の課題
14
評価環境• Cell/B.E. の実機( Cell reference set )で評価• 実行プログラム
– HIMENO, LU (SPLASH-2), FFT (CellSDK), Matrix_mul (CellSDK)• SPE の実行時間を計測
SPU
LS
SPE
Element Interconnect Bus (204.8GB/s)
L2$
SPU
LS
SPU
LS
SPU
LS
SPU
LS
SPU
LS
SPU
LS
256KB
L1$ PPU
PPE MIC BIC
25.6GB/s
Off-chipMain
Memory
•7個の SPE に対して、オンチップメモリ貸与法を適用•適切なコアの配分の算出法
• 性能モデルを用いて予測 (PB-PREDICT)
• 事前実行を全パタン行い予測 (PB-MEASURE) 【最適な配分】
15
実行時間
0 0 03
21 2
3
1 1
1 11
0 0 0 0 00 00
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
HIMENO(SS)
HIMENO (S) LU (256) LU (512) LU (1024) FFT Matrix_mul
00.20.40.60.8
11.2
演算 DMA転送によるストールアドレス変換
正規
化実
行時
間
16最大で 46% の実行時間の削減
メインコア数 6 ヘルパーコア数 1
実行時間
0 0 03
21 2
3
1 1
1 11
0 0 0 0 00 00
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
HIMENO(SS)
HIMENO (S) LU (256) LU (512) LU (1024) FFT Matrix_mul
00.20.40.60.8
11.2
演算 DMA転送によるストールアドレス変換
正規
化実
行時
間
17主記憶アクセス削減によるストール時間の削減 >メインコア減少による演算時間増加 + アドレス変換時間増加
従来実行が最も性能が高いと予測した場合
メインコア数 6 ヘルパーコア数 1
実行時間
0 0 03
21 2
3
1 1
1 11
0 0 0 0 00 00
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
HIMENO(SS)
HIMENO (S) LU (256) LU (512) LU (1024) FFT Matrix_mul
00.20.40.60.8
11.2
演算 DMA転送によるストールアドレス変換
正規
化実
行時
間
18最適なヘルパーコア数を予測することで性能向上ヘルパーコア数を正しく予測できていないが、従来実行と比較して性能は低下していない
メインコア数 6 ヘルパーコア数 1
実行時間
0 0 03
21 2
3
1 1
1 11
0 0 0 0 00 00
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
BASE
PB-P
RED
ICT
PB-M
EASU
RE
HIMENO(SS)
HIMENO (S) LU (256) LU (512) LU (1024) FFT Matrix_mul
00.20.40.60.8
11.2
演算 DMA転送によるストールアドレス変換
正規
化実
行時
間
19最大で 46% の実行時間の削減
メインコア数 6 ヘルパーコア数 1
消費エネルギー評価方法• 消費エネルギーモデルを用いて評価
– SPU, LS, 主記憶の動的消費エネルギー
20
SPU
LS
SPE
Element Interconnect Bus (204.8GB/s)
L2$
SPU
LS
SPU
LS
SPU
LS
SPU
LS
SPU
LS
SPU
LS
256KB
L1$ PPU
PPE MIC BIC
25.6GB/s
Off-chipMain
Memoryアクセス回数 * アクセス当たりの消費エネルギー
消費電力 * 実行時間 :非ストール時の消費電力 :ストール時の消費電力 :非ストール時の実行時間 :ストール時間• とする( α=0~ 1 )•ヘルパーコアの は読込み完了までの時間とする
stallstallactact TPTP actP
actTstallP
stallT
actstall PP actT
•メモリ貸与法の適用により、• 動作コア数減少、ストール時間削減→ SPU の消費エネルギー削減
(ストール時の消費電力が大きいほど、削減効果大)• 主記憶アクセスが LS 間転送へ→ DMA 転送の消費エネルギー削減
α に対する消費エネルギーの変化(α: ストール時の消費電力の割合 /通常実行時の消費電力 )
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
-30%
-20%
-10%
0%
10%
20%
30%
40%
50%
60%
HIMENO (SS)HIMENO (S)LU (256)LU (512)LU (1024)FFTMatrix_mul
α
消費
エネ
ルギ
ー削
減率
α=1 のとき、最大 52% の消費エネルギー削減α=0 のとき、最大 12% の消費エネルギー削減
性能向上が大きいプログラムでは α に対する変化
が大きい
ヘルパーコア実行ならびにアドレス変換による処理の増加> DMA 転送のエネルギー
削減
21
消費エネルギー (α=0.4)
22
BASE
PB-P
REDI
CT
PB-M
EASU
RE
BASE
PB-P
REDI
CT
PB-M
EASU
RE
BASE
PB-P
REDI
CT
PB-M
EASU
RE
BASE
PB-P
REDI
CT
PB-M
EASU
RE
BASE
PB-P
REDI
CT
PB-M
EASU
RE
BASE
PB-P
REDI
CT
PB-M
EASU
RE
BASE
PB-P
REDI
CT
PB-M
EASU
RE
HIMENO(SS)
HIMENO (S)
LU (256) LU (512) LU (1024) FFT Matrix_mul
00.20.40.60.8
11.2
SPU LS 主記憶
正規
化消
費エ
ネル
ギー
0 0 0
321
2 31 1
1 1 10 0 0 0 00 00
最大で 32% の消費エネルギーの削減実行コア数減少、実行時間削減→ SPU の消費エネルギー削減主記憶アクセスが LS 間転送に置き換え→ DMA 転送の消費エネルギー削減
まとめと今後の課題• プログラムの特徴に応じて演算性能とメモリ性能の
バランスをとるマルチコア向けオンチップメモリ貸与法– 適切なヘルパーコア数と貸与メモリのデータ割当てを決定– 自動ソースコード変換により実装– 最大で、 46% の実行時間の削減と 32% の消費エネルギーの
削減を達成
• 今後の課題– 詳細な消費エネルギー評価
• コア、オンチップメモリ、主記憶のエネルギー比を変更– 消費エネルギーを考慮したヘルパーコア数決定法の考案 23
Backup slides
SS S 256 512 1024HIMENO LU FFT Matrix_
mul
0%
20%
40%
60%
80%
100%
PB-PREDICT PB-MEASURE
主記
憶ア
クセ
ス削
減率
主記憶アクセス削減率
00 0 0
111
11
21
2
3 3
25
使用メモリ量
26
BASE
PB-P
RED
ICT
PB-M
EASU
RETH
ROTT
LEBA
SEPB
-PRE
DIC
TPB
-MEA
SURE
THRO
TTLE
BASE
PB-P
RED
ICT
PB-M
EASU
RETH
ROTT
LEBA
SEPB
-PRE
DIC
TPB
-MEA
SURE
THRO
TTLE
BASE
PB-P
RED
ICT
PB-M
EASU
RETH
ROTT
LEBA
SEPB
-PRE
DIC
TPB
-MEA
SURE
THRO
TTLE
BASE
PB-P
RED
ICT
PB-M
EASU
RETH
ROTT
LE
HIMENO(SS)
HIMENO (S) LU (256) LU (512) LU (1024) FFT Matrix_mul
00.20.40.60.8
11.2
演算 DMA転送によるストールアドレス変換
正規
化実
行時
間既存研究との比較
27
0 0 03
21
2
3
1 1
1 1 10 0 0 0 00 00 1 0 0 0 0 0 0