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