1 / 38

NoC のための 多電源可変パイプラインルータ

NoC のための 多電源可変パイプラインルータ. ( 東京大学 ) ( 慶應義塾大学 ) ( 国立情報学研究所 ) ( 芝浦工業大学 ) ( 東京大学 ) ( 慶應義塾大学 ). 松谷 宏紀 枚田 優人 鯉渕 道紘 宇佐美 公良 中村 宏 天野 英晴. 最近のメニーコアプロセッサ. picoChip PC102. picoChip PC205. 256. ClearSpeed CSX700. 128. Intel 80-core. ClearSpeed CSX600. 64. TILERA TILE64. Intel SCC. 32.

leigh-silva
Download Presentation

NoC のための 多電源可変パイプラインルータ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NoCのための多電源可変パイプラインルータ (東京大学) • (慶應義塾大学) (国立情報学研究所) (芝浦工業大学) (東京大学) (慶應義塾大学) 松谷 宏紀 枚田 優人 鯉渕 道紘 宇佐美 公良 中村 宏 天野 英晴

  2. 最近のメニーコアプロセッサ 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

  3. 共有メモリ型 CMP: Network-on-Chip • タイル型 CMP の構成例 • 各タイルは、プロセッサ、L1キャッシュ、L2キャッシュバンク • L2バンクは全体として1つの共有メモリ  NUCA [Hardavellas, ISCA’09] UltraSPARC L1キャッシュ (I & D) (各 16kB) L2キャッシュバンク (各 256kB、4-way)

  4. 共有メモリ型 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 の低消費電力化について検討

  5. 問題点: DVFS for Network-on-Chip • 各ルータに DVFS を適用すると、 • 動作周波数がルータごとに異なる • 異なる周波数ドメイン間の通信が必要 333MHz 400MHz

  6. 問題点: DVFS for Network-on-Chip • 各ルータに DVFS を適用すると、 • 動作周波数がルータごとに異なる • 異なる周波数ドメイン間の通信が必要 1. 隣接ルータの動作周波数比を 1:k に制限(k は整数) • E.g., 150MHz、300MHz 2. 思い切って、非同期 NoCにする • 万能だが、コストが高い 一般的な解決策 333MHz 400MHz 解決策 1、2 の代替案として、多電源可変パイプラインルータを提案

  7. 多電源可変パイプラインルータ • DVFS for NoCの問題点 • ルータごとに周波数が異なる • 異なる周波数ドメイン間の通信が発生 • 多電源可変パイプラインルータ • 全ルータが同じ動作周波数で動作 • 電圧とルータパイプラインの深さを変える • パイプライン、電圧の切り替えポリシの例 • 低負荷時は、3サイクルモード @ Vdd-low • 高負荷時は、2サイクルモード @ Vdd-high • 常温動作時は、2サイクルモード @ Vdd-high • 高温動作時は、3サイクルモード @ Vdd-high

  8. 発表の流れ: 多電源可変パイプラインルータ • DVFS for NoCの問題点 • ルータごとに周波数が異なる • 異なる周波数ドメイン間の通信が発生 • 多電源可変パイプラインルータ • 全ルータが同じ動作周波数で動作 • 電圧とルータパイプラインの深さを変える • 切り替えポリシ • 低消費電力化ポリシ • タイミング違反回避ポリシ • 評価 • 回路レベル評価 • システムレベル評価

  9. オリジナルルータ: パイプライン構造 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

  10. 多電源可変パイプラインルータ Vdd-high Vdd-low 切り替え信号 電圧スイッチ Arbiter X+ X+ FIFO X- X- FIFO Y+ Y+ FIFO Y- Y- FIFO 5x5 Crossbar Core Core FIFO

  11. 多電源可変パイプラインルータ Vdd-high Vdd-low 切り替え信号 電圧スイッチ レベルシフタ Arbiter X+ X+ FIFO X- X- FIFO Y+ Y+ FIFO Y- Y- FIFO 5x5 Crossbar Core Core FIFO

  12. 多電源可変パイプラインルータ 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 出力ラッチをバイパスするかどうかで、パイプライン段数が切り替わる

  13. 可変パイプライン: パイプラインモード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

  14. 可変パイプライン: パイプラインモード3種 • 4サイクルモード • 適応型ルーティングを使用可 通信遅延が大きい  (4-cycle per hop) 混雑リンク、故障ルータを動的に回避できる すべてのルータに同じ周波数を与える @Router 1 @Router 2 ST LT ST LT RC VSA RC VSA 4x4 NoC (ホットスポット1ヶ所) 4サイクルモードは、ホットスポット発生時や故障時に効果を発揮する

  15. 多電源可変パイプラインルータ: 実装 • スタンダードセル • 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.8V1.2V, 25C)

  16. 可変パイプライン: 周波数と電圧の設定例 • 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

  17. 発表の流れ: 多電源可変パイプラインルータ • DVFS for NoCの問題点 • ルータごとに周波数が異なる • 異なる周波数ドメイン間の通信が発生 • 多電源可変パイプラインルータ • 全ルータが同じ動作周波数で動作 • 電圧とルータパイプラインの深さを変える • 切り替えポリシ • 低消費電力化ポリシ • タイミング違反回避ポリシ • 評価 • 回路レベル評価 • システムレベル評価

  18. ポリシ1: スタンバイ時の低消費電力化 • 先読みルーティングにより、パケット到着を予期 • パケットが来たら、 • 3サイクル 2サイクル • 電圧を Vdd-high にする • パイプライン段の切り換え • パケットが通過したら、 • 2サイクル  3サイクル • パイプライン段の切り替え • 電圧を Vdd-low にする [松谷, ASPDAC’08]

  19. ポリシ1: スタンバイ時の低消費電力化 • 先読みルーティングにより、パケット到着を予期 • パケットが来たら、 • 3サイクル 2サイクル • 電圧を Vdd-high にする • パイプライン段の切り換え • パケットが通過したら、 • 2サイクル  3サイクル • パイプライン段の切り替え • 電圧を Vdd-low にする 昇圧は高々2サイクル 1ホップ目の先読みは困難 1ホップ目のみ3サイクル転送 [松谷, ASPDAC’08] [松谷, NOCS’10] 昇圧 3cycle

  20. ポリシ1: スタンバイ時の低消費電力化 • 先読みルーティングにより、パケット到着を予期 • パケットが来たら、 • 3サイクル 2サイクル • 電圧を Vdd-high にする • パイプライン段の切り換え • パケットが通過したら、 • 2サイクル  3サイクル • パイプライン段の切り替え • 電圧を Vdd-low にする 昇圧は高々2サイクル 1ホップ目の先読みは困難 1ホップ目のみ3サイクル転送 [松谷, ASPDAC’08] [松谷, NOCS’10] 昇圧 3cycle 2cycle

  21. ポリシ1: スタンバイ時の低消費電力化 • 先読みルーティングにより、パケット到着を予期 • パケットが来たら、 • 3サイクル 2サイクル • 電圧を Vdd-high にする • パイプライン段の切り換え • パケットが通過したら、 • 2サイクル  3サイクル • パイプライン段の切り替え • 電圧を Vdd-low にする 昇圧は高々2サイクル 1ホップ目の先読みは困難 1ホップ目のみ3サイクル転送 [松谷, ASPDAC’08] [松谷, NOCS’10] 昇圧 3cycle 2cycle 2cycle

  22. ポリシ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

  23. ポリシ2: 温度変化によるタイミング違反回避 • ルータが温度センサを持ち、遅延マージンの変化を検出 近隣プロセッサによって ルータも温度変化する Normal temp. (2-cycle@Vdd-high) High temp. (3-cycle@Vdd-high)

  24. ポリシ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)

  25. 発表の流れ: 多電源可変パイプラインルータ • DVFS for NoCの問題点 • ルータごとに周波数が異なる • 異なる周波数ドメイン間の通信が発生 • 多電源可変パイプラインルータ • 全ルータが同じ動作周波数で動作 • 電圧とルータパイプラインの深さを変える • 切り替えポリシ • 低消費電力化ポリシ • タイミング違反回避ポリシ • 評価 • 回路レベル評価 (面積、切り替え遅延、エネルギー、BET) • システムレベル評価 (アプリ性能、スタンバイ電力)

  26. 回路評価: 面積オーバヘッド Vdd-high Vdd-low 切り替え信号 出力ラッチのバイパス用 電圧スイッチ レベルシフタ Arbiter X+ X+ FIFO X- X- FIFO Pipeline control U

  27. 回路評価: 面積オーバヘッド Vdd-high Vdd-low オリジナルルータ、多電源可変パイプラインルータのゲート数 [kilo gates] 切り替え信号 出力ラッチのバイパス用 電圧スイッチ レベルシフタ Arbiter X+ X+ FIFO X- X- FIFO Pipeline control U

  28. 回路評価: 切り替え遷移時間、エネルギー • 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 切り替えエネルギー (左軸) 切り替え時間 (右軸)

  29. 回路評価: 切り替えエネルギーの損益分岐点 • 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 切り替えエネルギー (左軸) 切り替え時間 (右軸)

  30. 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) オンチップルータ

  31. 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) オンチップルータ

  32. 省電力ポリシ: アプリ性能オーバヘッド スタンバイ時は 3-cycle @ Vdd-low パケットが来たら可能な限り 2-cycle @ Vdd-high 常に2サイクル転送 常に3サイクル転送 提案ポリシ @ Vdd-high @ Vdd-low

  33. 省電力ポリシ: アプリ性能オーバヘッド スタンバイ時は 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

  34. 省電力ポリシ: NoCスタンバイ電力削減量 スタンバイ時は 3-cycle @ Vdd-low パケットが来たら可能な限り 2-cycle @ Vdd-high 常に2サイクル転送 常に3サイクル転送 提案ポリシ @ Vdd-high @ Vdd-low

  35. 省電力ポリシ: 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以下の切り替え多発

  36. まとめ: 多電源可変パイプラインルータの提案 • DVFS for NoCの問題点 • ルータごとに周波数が異なる • 異なる周波数ドメイン間の通信が発生 • 多電源可変パイプラインルータ • 動作周波数は固定で、電圧とパイプラインの深さを変える • パイプラインモード3種類 • 切り替えポリシ • 低消費電力化ポリシ、タイミング違反回避ポリシ • 評価結果 • 面積オーバヘッドは 14.1%、BET は23サイクル • アプリ性能は1.0~2.1%減、スタンバイ電力は10.4~44.4%減

  37. 今後の課題 • 温度センサの実装 • 温度変化によるタイミング違反の検出 • 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

  38. ご清聴ありがとうございました

More Related