Upload
leigh-silva
View
23
Download
4
Embed Size (px)
DESCRIPTION
NoC のための 多電源可変パイプラインルータ. ( 東京大学 ) ( 慶應義塾大学 ) ( 国立情報学研究所 ) ( 芝浦工業大学 ) ( 東京大学 ) ( 慶應義塾大学 ). 松谷 宏紀 枚田 優人 鯉渕 道紘 宇佐美 公良 中村 宏 天野 英晴. 最近のメニーコアプロセッサ. picoChip PC102. picoChip PC205. 256. ClearSpeed CSX700. 128. Intel 80-core. ClearSpeed CSX600. 64. TILERA TILE64. Intel SCC. 32. - PowerPoint PPT Presentation
Citation preview
NoC のための多電源可変パイプラインルータ
松谷 宏紀枚田 優人鯉渕 道紘宇佐美 公良中村 宏 天野 英晴
( 東京大学 )
( 慶應義塾大学 )
( 国立情報学研究所 )
( 芝浦工業大学 )
( 東京大学 )
( 慶應義塾大学 )
最近のメニーコアプロセッサ
4
8
16
32
64
128
256
2002 2004 2006 2008 2010
MIT RAW
STI Cell BE
Sun T1 Sun T2
TILERA TILE64
Intel Core, IBM Power7AMD Opteron
Intel 80-coreClearSpeed CSX600
ClearSpeed CSX700
picoChip PC102 picoChip PC205
UT TRIPS (OPN)
Nu
mb
er o
f P
Es
(cac
hes
are
no
t in
clu
ded
)
2
Fujitsu SPARC64
Intel SCC
チップ内のメニーコア同士をつなぐために、Network-on-Chip (NoC) が使われている
共有メモリ型 CMP: Network-on-Chip
• タイル型 CMP の構成例– 各タイルは、プロセッサ、 L1 キャッシュ、 L2 キャッ
シュバンク– L2 バンクは全体として 1 つの共有メモリ NUCA
UltraSPARC
L1 キャッシュ (I & D)
L2 キャッシュバンク ( 各 16kB)
( 各 256kB 、 4-way)
[Hardavellas, ISCA’09]
共有メモリ型 CMP: Network-on-Chip
• タイル型 CMP の構成例– 各タイルは、プロセッサ、 L1 キャッシュ、 L2 キャッ
シュバンク– L2 バンクは全体として 1 つの共有メモリ NUCA– タイル間の接続 Network-on-Chip
UltraSPARC
L1 キャッシュ (I & D)
L2 キャッシュバンク ( 各 16kB)
( 各 256kB 、 4-way)
[Hardavellas, ISCA’09]
オンチップルータ CMP 向け Network-on-Chip の低消費電力化について検討
問題点 : DVFS for Network-on-Chip• 各ルータに DVFS を適用すると、
– 動作周波数がルータごとに異なる– 異なる周波数ドメイン間の通信が必要
333MHz 400MHz
問題点 : DVFS for Network-on-Chip• 各ルータに DVFS を適用すると、
– 動作周波数がルータごとに異なる– 異なる周波数ドメイン間の通信が必要
333MHz 400MHz 一般的な解決策
1. 隣接ルータの動作周波数比を 1:k に制限 (k は整数 )– E.g., 150MHz 、 300MHz
2. 思い切って、非同期 NoC にする– 万能だが、コストが高い解決策 1 、 2 の代替案として、多電源可変パイプラインルータ
を提案
多電源可変パイプラインルータ• DVFS for NoC の問題点
– ルータごとに周波数が異なる– 異なる周波数ドメイン間の通信が発生
• 多電源可変パイプラインルータ– 全ルータが同じ動作周波数で動作– 電圧とルータパイプラインの深さを変える
パイプライン、電圧の切り替えポリシの例• 低負荷時は、 3 サイクルモード @ Vdd-low
• 高負荷時は、 2 サイクルモード @ Vdd-high
• 常温動作時は、 2 サイクルモード @ Vdd-high
• 高温動作時は、 3 サイクルモード @ Vdd-high
発表の流れ : 多電源可変パイプラインルータ
• DVFS for NoC の問題点– ルータごとに周波数が異なる– 異なる周波数ドメイン間の通信が発生
• 多電源可変パイプラインルータ– 全ルータが同じ動作周波数で動作– 電圧とルータパイプラインの深さを変える
• 切り替えポリシ– 低消費電力化ポリシ– タイミング違反回避ポリシ
• 評価– 回路レベル評価– システムレベル評価
Arbiter
X+
X-
Y+
Y-
Core
X+
X-
Y+
Y-
Core
5x5Crossbar
FIFO
FIFO
FIFO
FIFO
FIFO
オリジナルルータ : パイプライン構造Routing comp (RC)Arbitration (VSA)
Switch traversal (ST)
Link traversal (LT)
X+
X-
Y+
Y-
Core
FIFO
FIFO
FIFO
FIFO
FIFO
X+
X-
Y+
Y-
Core
Arbiter
5x5Crossbar
多電源可変パイプラインルータ
切り替え信号
Vdd-high Vdd-low
電圧スイッチ
X+
X-
Y+
Y-
Core
FIFO
FIFO
FIFO
FIFO
FIFO
切り替え信号
Vdd-high Vdd-low
電圧スイッチ
X+
X-
Y+
Y-
Core
レベルシフタArbiter
5x5Crossbar
多電源可変パイプラインルータ
X+
X-
Y+
Y-
Core
X+
X-
Y+
Y-
Core
FIFO
FIFO
FIFO
FIFO
FIFO
Pipeline control U
出力ラッチのバイパス用
出力ラッチをバイパスするかどうかで、パイプライン段数が切り替わる
Arbiter
5x5Crossbar
多電源可変パイプラインルータ
切り替え信号
Vdd-high Vdd-low
電圧スイッチ
レベルシフタ
可変パイプライン : パイプラインモード 3 種
• 3 サイクルモード– 出力ラッチを使う
通信遅延が大きい (3-cycle per hop)
クリティカルパス遅延が小
Vdd-low ( 省電力 )
• 2 サイクルモード– 出力ラッチはバイパスす
る
通信遅延が小さい (2-cycle per hop)
クリティカルパス遅延が大
Vdd-high ( 電力喰い )
RC/VSA
ST LT RC/VSA
ST LT
@Router 1 @Router 2
RC/VSA
ST,LT
@Router 1 @Router 2
RC/VSA
ST,LT
すべてのルータに同じ周波数を与える
• 4 サイクルモード– 適応型ルーティングを使用
可
通信遅延が大きい (4-cycle per hop)
混雑リンク、故障ルータを動的に回避できる
VSA ST LT ST LT
@Router 1 @Router 2
RC VSARC
4x4 NoC ( ホットスポット 1 ヶ所 )
4 サイクルモードは、ホットスポット発生時や故障時に効果を発揮する
可変パイプライン : パイプラインモード 3 種
すべてのルータに同じ周波数を与える
• スタンダードセル– Fujitsu 65nm– 電圧スイッチ、レベルシフ
タ は芝浦工大・宇佐美研製
• 論理合成– Synopsys Design Compiler
• 配置配線– Synopsys IC Compiler
• RC 抽出– Cadence QRC
• 回路レベルシミュレーション– Synopsys HSIM
Fujitsu 65nm (0.8V1.2V, 25C)
Vdd-low
VDD
Clock
Select
Energy is consumed
Clock is stopped not to affect the current
Vdd-high
Voltage switch
多電源可変パイプラインルータ : 実装
Current (VddH)
可変パイプライン : 周波数と電圧の設定例
• 3 サイクルモード– 出力ラッチを使う
通信遅延が大きい (3-cycle per hop)
遅延: 1831psec @ 1.2V
Vdd-low : 0.83V
• 2 サイクルモード– 出力ラッチはバイパスす
る
通信遅延が小さい (2-cycle per hop)
遅延: 2550psec @ 1.2V
Vdd-high : 1.20V
RC/VSA
ST LT RC/VSA
ST LT
@Router 1 @Router 2
RC/VSA
ST,LT
@Router 1 @Router 2
RC/VSA
ST,LT
すべてのルータが 392.2MHz で動作する
全ルータは 392.2MHz 動作、 3 サイクルは 0.83V 、 2 サイクルは 1.2V
発表の流れ : 多電源可変パイプラインルータ
• DVFS for NoC の問題点– ルータごとに周波数が異なる– 異なる周波数ドメイン間の通信が発生
• 多電源可変パイプラインルータ– 全ルータが同じ動作周波数で動作– 電圧とルータパイプラインの深さを変える
• 切り替えポリシ– 低消費電力化ポリシ– タイミング違反回避ポリシ
• 評価– 回路レベル評価– システムレベル評価
ポリシ 1: スタンバイ時の低消費電力化• 先読みルーティングによ
り、パケット到着を予期
• パケットが来たら、– 3 サイクル 2 サイクル1. 電圧を Vdd-high にする2. パイプライン段の切り換
え
• パケットが通過したら、– 2 サイクル 3 サイクル1. パイプライン段の切り替
え2. 電圧を Vdd-low にする
[ 松谷 , ASPDAC’08]
ポリシ 1: スタンバイ時の低消費電力化• 先読みルーティングによ
り、パケット到着を予期
• パケットが来たら、– 3 サイクル 2 サイクル1. 電圧を Vdd-high にする2. パイプライン段の切り換
え
• パケットが通過したら、– 2 サイクル 3 サイクル1. パイプライン段の切り替
え2. 電圧を Vdd-low にする
[ 松谷 , ASPDAC’08]
昇圧は高々 2 サイクル
3cycle
昇圧
1 ホップ目の先読みは困難
1 ホップ目のみ 3 サイクル転送[ 松谷 , NOCS’10]
ポリシ 1: スタンバイ時の低消費電力化• 先読みルーティングによ
り、パケット到着を予期
• パケットが来たら、– 3 サイクル 2 サイクル1. 電圧を Vdd-high にする2. パイプライン段の切り換
え
• パケットが通過したら、– 2 サイクル 3 サイクル1. パイプライン段の切り替
え2. 電圧を Vdd-low にする
3cycle
昇圧
2cycle
[ 松谷 , ASPDAC’08]
昇圧は高々 2 サイクル1 ホップ目の先読みは困難
1 ホップ目のみ 3 サイクル転送[ 松谷 , NOCS’10]
ポリシ 1: スタンバイ時の低消費電力化• 先読みルーティングによ
り、パケット到着を予期
• パケットが来たら、– 3 サイクル 2 サイクル1. 電圧を Vdd-high にする2. パイプライン段の切り換
え
• パケットが通過したら、– 2 サイクル 3 サイクル1. パイプライン段の切り替
え2. 電圧を Vdd-low にする
3cycle
昇圧
2cycle 2cycle
[ 松谷 , ASPDAC’08]
昇圧は高々 2 サイクル1 ホップ目の先読みは困難
1 ホップ目のみ 3 サイクル転送[ 松谷 , NOCS’10]
ポリシ 1: スタンバイ時の低消費電力化• 先読みルーティングによ
り、パケット到着を予期
• パケットが来たら、– 3 サイクル 2 サイクル1. 電圧を Vdd-high にする2. パイプライン段の切り換
え
• パケットが通過したら、– 2 サイクル 3 サイクル1. パイプライン段の切り替
え2. 電圧を Vdd-low にする
3cycle 2cycle 2cycle 2cycle
[ 松谷 , ASPDAC’08]
昇圧は高々 2 サイクル
[ 松谷 , NOCS’10]
スタンバイ時は Vdd-low 、パケットが来たら 2 サイクル @ Vdd-high
1 ホップ目の先読みは困難
1 ホップ目のみ 3 サイクル転送
ポリシ 2: 温度変化によるタイミング違反回避
• ルータが温度センサを持ち、遅延マージンの変化を検出
近隣プロセッサによってルータも温度変化する
Normal temp.(2-cycle@Vdd-high)
High temp.(3-cycle@Vdd-high)
ポリシ 2: 温度変化によるタイミング違反回避
• ルータが温度センサを持ち、遅延マージンの変化を検出
• 動作温度が急上昇したら、– 遅延マージンを増やす– 2 サイクル @ Vdd-high
3 サイクル @ Vdd-high
• 常温に戻ったら、– 遅延マージンを有効活用– 3 サイクル @ Vdd-high
2 サイクル @ Vdd-high
近隣プロセッサによってルータも温度変化する
Normal temp.(2-cycle@Vdd-high)
High temp.(3-cycle@Vdd-high)
発表の流れ : 多電源可変パイプラインルータ
• DVFS for NoC の問題点– ルータごとに周波数が異なる– 異なる周波数ドメイン間の通信が発生
• 多電源可変パイプラインルータ– 全ルータが同じ動作周波数で動作– 電圧とルータパイプラインの深さを変える
• 切り替えポリシ– 低消費電力化ポリシ– タイミング違反回避ポリシ
• 評価– 回路レベル評価 (面積、切り替え遅延、エネルギー、 BET)
– システムレベル評価 ( アプリ性能、スタンバイ電力 )
回路評価 : 面積オーバヘッド
Arbiter
X+
X-
X+
X-
FIFO
FIFO
切り替え信号
Vdd-high Vdd-low
電圧スイッチ
レベルシフタ
出力ラッチのバイパス用
Pipeline control U
回路評価 : 面積オーバヘッド
Arbiter
X+
X-
X+
X-
FIFO
FIFO
切り替え信号
Vdd-high Vdd-low
電圧スイッチ
レベルシフタ
出力ラッチのバイパス用
Pipeline control U
Router Level shifter Voltage switch Total
Original 59.41 0 0 59.41
Proposed 63.13 4.11 0.54 67.78 (+14.1%)
オリジナルルータ、多電源可変パイプラインルータのゲート数 [kilo gates]
回路評価 : 切り替え遷移時間、エネルギー
• Vdd-low から Vdd-high– E.g., 0.8V から 1.2V へ
遷移時間は 3.1 nsec
231 pJ 消費
• Vdd-high から Vdd-low– E.g., 1.2V から 0.8V へ
遷移時間は 5.3 nsec
148 pJ チャージ
Vdd-high は 1.2V 、 Vdd-low は 0.6V~ 1.1V
切り替えエネルギー (左軸 ) 切り替え時間 (右軸 )
Energy consumed
Energy charged
回路評価 : 切り替えエネルギーの損益分岐点
• Vdd-low から Vdd-high– E.g., 0.8V から 1.2V へ
遷移時間は 3.1 nsec
231 pJ 消費
• Vdd-high から Vdd-low– E.g., 1.2V から 0.8V へ
遷移時間は 5.3 nsec
148 pJ チャージ
Vdd-high は 1.2V 、 Vdd-low は 0.6V~ 1.1V
切り替えエネルギー (左軸 ) 切り替え時間 (右軸 )
Energy consumed
Energy charged
一度の電圧切り替えで 83 pJ (=231-148) 消費
Vdd-low にすればスタンバイ電力が減るが、 頻繁に電圧切り替えを行うと、逆に消費電
力が増える
Break-even time (BET) は、オーバヘッドエネルギー 83 pJ を償却するのに必要な時間
BET は 58 nsec (23 サイクル @392.2MHz)
CMP シミュレータ : GEMS/Simics• フルシステムシミュレーション
– 16 タイル構成、 4x4 メッシュ NoC– Sun Solaris 9 、 Sun Studio 12– NAS Parallel Bench (16 スレッド )
UltraSPARC
L1 キャッシュ (I & D)
L2 キャッシュバンク ( 各 16kB)
( 各 256kB 、 4-way)
[Hardavellas, ISCA’09]
オンチップルータ
OpenMP version
IS, DC, MG, EP, LU, SP, BT, FT
CMP シミュレータ : GEMS/Simics• フルシステムシミュレーション
– 16 タイル構成、 4x4 メッシュ NoC– Sun Solaris 9 、 Sun Studio 12– NAS Parallel Bench (16 スレッド )
UltraSPARC
L1 キャッシュ (I & D)
L2 キャッシュバンク ( 各 16kB)
( 各 256kB 、 4-way)
[Hardavellas, ISCA’09]
オンチップルータ
• L2 共有型– L2 バンクを全タイルで共有 1 つの大きな共有
キャッシュ– トラフィック量が多い
• L2 非共有型– タイルごとに、プライベートな L1/L2 キャッシュを持つ
– トラフィック量が少ない
省電力ポリシ : アプリ性能オーバヘッド
スタンバイ時は 3-cycle @ Vdd-lowパケットが来たら可能な限り 2-cycle @ Vdd-high
提案ポリシ常に 2 サイクル転送 常に 3 サイクル転送@ Vdd-high @ Vdd-low
省電力ポリシ : アプリ性能オーバヘッド
• L2 共有型 CMP– トラフィック多い– All 2-cycle @ Vdd-high
と比べて、性能 2.1% 減
• L2 非共有型 CMP– トラフィック少ない– All 2-cycle @ Vdd-high
と比べて、性能 1.0% 減
スタンバイ時は 3-cycle @ Vdd-lowパケットが来たら可能な限り 2-cycle @ Vdd-high
提案ポリシ常に 2 サイクル転送 常に 3 サイクル転送@ Vdd-high @ Vdd-low
省電力ポリシ : NoC スタンバイ電力削減量
スタンバイ時は 3-cycle @ Vdd-lowパケットが来たら可能な限り 2-cycle @ Vdd-high
提案ポリシ常に 2 サイクル転送 常に 3 サイクル転送@ Vdd-high @ Vdd-low
省電力ポリシ : NoC スタンバイ電力削減量
• L2 共有型 CMP– トラフィック多い– All 2-cycle @ Vdd-high
と比べて、電力 10.4% 減
• L2 非共有型 CMP– トラフィック少ない– All 2-cycle @ Vdd-high
と比べて、電力 44.4% 減
スタンバイ時は 3-cycle @ Vdd-lowパケットが来たら可能な限り 2-cycle @ Vdd-high
提案ポリシ常に 2 サイクル転送 常に 3 サイクル転送@ Vdd-high @ Vdd-low
BET以下の切り替え多発
まとめ : 多電源可変パイプラインルータの提案
• DVFS for NoC の問題点– ルータごとに周波数が異なる– 異なる周波数ドメイン間の通信が発生
• 多電源可変パイプラインルータ– 動作周波数は固定で、電圧とパイプラインの深さを変える– パイプラインモード 3 種類
• 切り替えポリシ– 低消費電力化ポリシ、タイミング違反回避ポリシ
• 評価結果– 面積オーバヘッドは 14.1% 、 BET は 23 サイクル– アプリ性能は 1.0~ 2.1%減、スタンバイ電力は 10.4~
44.4%減
今後の課題• 温度センサの実装
– 温度変化によるタイミング違反の検出– Oscillation-Ring based Thermal Sensor (ORTS)
• Break-even time を考慮した切り替えポリシ– 現状では、 BET をまったく考慮していないため、– オーバヘッド電力の影響で低消費電力化のメリットが
小さい– E.g., 高負荷時は 2 サイクル @ Vdd-high モードに固
定
[Yang, ASPDAC’09]
[Wolpert, NOCS’10]
Enable
Pulse counter Thermal level