設計空間探索とMCSoCの生成に適しているparameterizable NoC

設計空間探索と MCSoC の生成に適している parameterizable
NoC(PNoC) のハードウェア設計と事前評価
三浦
翔平†
BenA. Abderazek†
黒田
研一†
† 会津大学コンピュータ理工学部
E-mail: †s1140204@u-aizu.ac.jp
あらまし
現在のマルチコア・システムオンチップ (MCSoC) は並列処理を必要とするアプリケーションを高速に
実行することができる。バス型アーキテクチャで規模の大きいシステムを設計すると様々な問題や限界があるが、
Network-on-Chip(NoC) はその多くを軽減することができる。NoC は固定あるいはアドホックなトポロジを有してい
るため、この機能検証はシステムの正確性や性能を評価するのに必要である。この論文では、MCSoC と NoC を融合
した、フレキシブルな評価環境を提案する。本評価環境は少ないパラメータの変更で、広範囲の NoC による解決法
の探索、評価、比較を行うことができ、FPGA 上に実装することができる。この評価方法により、設計者は多彩な解
決法を探索できると同時に、性能を評価することができる。今回は Altera 社 StratixIII 向けにバッファサイズ、ペイ
ロードサイズ、及びトポロジの変更した回路を生成し、論理合成ができることを確認した。
キーワード
ネットワークオンチップ, パラメータ, 設計空間探索
Design and Preliminary Evaluation of a Parameterizable NoC for
MCSoC Generation and Design Space Exploration
Shohei MIURA† , Ben A. ABDERAZEK† , and Kenichi KURODA†
† School of Computer Science and Engineering, The University of Aizu, Aizu-Wakamatsu, Fukushima, Japan
E-mail: †s1140204@u-aizu.ac.jp
Abstract Current Multicore Systems-On-Chip (MCSoC) execute applications that need highly parallel processing. Networks-On-Chip (NoC) largely alleviate the limitations of bus-based solutions. NoCs can have regular or ad
hoc topologies, and functional validation is essential to estimate their correctness and performance. In this paper,
we present a flexible emulation environment implemented on an FPGA that is suitable to explore, evaluate and
compare a wide range of NoC solutions with a very limited effort. With our emulation approach, designers can
explore a various range of solutions, as well as quickly characterize performance figures.
Key words Networks-On-Chip, parameterizable, design space exploration
—1—
1. 背
景
一 つ の チップ 上 に 集 積 で き る コ ア の 数 の 増 加 と と も に 、
System-on-Chip(SoC) などの技術を用いることによって、複
雑なアプリケーションを実装が可能となってきた。これらのア
プリケーションは多くの通信を行うため、将来のマルチコア・
システムオンチップには拡張性のある通信アーキテクチャを効
果的に実装することが必要となる。しかし、バス型アーキテ
クチャでは拡張性の欠如、消費電力、及び性能の点において、
これらのアプリケーションの条件を満たすことは難しい。加え
てコア数の増加によってシステムの規模が大きくなり、バス型
アーキテクチャでは通信のボトルネックの問題が浮上し、マル
チコア・システムに適しているとは言い難い [1]。図 1 は今まで
のバス型アーキテクチャを示す。
Network-on-Chip(NoC) [2], [3](図 2) が小面積で拡張性のあ
るアーキテクチャであるといわれているが、これは具体的な
図 2 Network-on-Chip 型アーキテクチャ.
ハードウェア実装を指しているものではない。理論的な研究は
主にシミュレーションによって裏付けられるため、用いられる
1 つの出力方向は複数の入力方向からのフリットを転送するこ
ネットワークトラフィックは実際のアプリケーションの近似で
とはできない。この動きはアロケーター内の状態遷移制御で管
あるにすぎない [5]。以前より、実際の NoC のトポロジやネッ
理されている。ワームホール・ルーティングの利点はヘッダ・
トワークインターフェイスのオプションは異なる抽象レベルで
フリットが次のルートを確保している間、1つのバッファで全
提案されている。しかし、FPGA 上へ実装及び評価を行う場合
てのフリットを保持する必要がないことである。その為、より
は、柔軟性が制限されるため、異なる抽象度を持つ NoC シス
小面積のバッファで十分である。一つのパケットは経路上の複
テムのテストを行うことが出来ない。
数のスイッチを同時に占有する。この利点のため、ワームホー
この論文では parametrizable NoC(PNoC) と呼ばれる NoC
ル・ルーティングではネットワーク接続のオン・チップマルチプ
の特性を簡単に生成・探索することのできる、NoC の設計及
ロセッサにおいて理想的なスイッチング技術である。しかしフ
びプロトタイピングのためのプラットフォームを提案する。ま
リットがバッファと回路を占有するため、ワームホール・ルー
た今回は現状の PNoC システムが論理合成可能かどうか確か
ティングはデッド・ロックの可能性が高くなるという欠点があ
める。
る [3], [4]。加えて、フリットがバッファをブロックすると、回
線利用率は減少する可能性がある。
図1
典型的なバス型アーキテクチャ.
図 3 PNoC パケット構造.
2. PNoC システム
PNoC ではワームホール・パケットスイッチングを使用する。
これは各パケットがフリットに分割され、入力と出力のバッファ
2. 1 ル ー タ
ルータは PNoC アーキテクチャの基盤となる重要な部分
である。図 4 のように 5 つの入力ポートと出力ポートがある。
が僅かなフリットのみを保持するだけでよい構造になっている。
うち 4 つは隣接するルータに接続されていて、1 つはローカル
その為、スイッチ内部に必要なバッファの大きさは通常のパケッ
ノードに繋がっている。ルータを構成している主なモジュール
トスイッチングに比べ小さく済む。図 3 は PNoC のフリット
は (1) 入力バッファ、(2) スイッチ・アロケーター/アービター、
の構造を示す。フリット一つ一つがルーティング情報を持ち、
そして (3) クロスバーの 3 つである。
その情報を基に各ルータで転送方向を決定する。ルータ内で、
フリットがルータに入力されると、先頭のフリットはバッファ
—2—
に保持される。そして入力ポートから 2 つのリクエスト信号
をアロケーターに送る。アロケーターは全てのポートからリク
エスト信号を受け取り、どのフリットをどの向きに出力するか
を決定する。出力方向の決定後、グラント信号が入力ポートに
送られ、バッファ内のフリットがクロスバーに出力される。最
後にクロスバーからアロケーターで決められた方向に対してフ
リットが出力される。
図 6 バッファ・アンダーフロー.
図 4 PNoC ルータ・ブロックダイアグラム.
2. 3 フリット及びパケット
パケットはヘッダ、ペイロード、テイルの 3 つのフリットに
2. 2 バッファ
分けられる。ヘッダは常にパケットの先頭にあり、ルーティン
バッファは PNoC システムの性能を左右するモジュールであ
グの情報で構成されている。この情報は各ルータ内でルーティ
る。もし複数のフリットを保持するために小さいバッファが使
ングを決定する際に使用され、目的地の座標を表す。ペイロー
われれば、そのバッファは全てのフリットを保持できず、図 5
ドはヘッダの後に続き、分割されたデータが格納される。テイ
のようにバッファ・オーバーフローが起きる。この場合、フリッ
ルはパケットが終了したことを意味し、ルータが保持している
トを失う可能性が増加する。フリット消失の可能性を減らす
経路を開放する。
ために、バッファサイズをパラメータ化する。一方、図 6 のよ
ペイロードサイズは使用されるアプリケーションの特性に大
うにバッファが大き過ぎる場合がある。この場合、バッファは
きく依存する。もしペイロードサイズが小さくデータが多く
多くの電力や回路面積を消費する。これらのことにより、バッ
のパケットに分割された場合、目的地でパケットを再構成する
ファサイズの設計は非常に重要である。
オーバーヘッドが大きくなる。一方、ペイロードサイズがあま
りにも大きい場合には、パケットが何サイクルも経路を塞ぎ、
他の通信を妨げ、システム全体の性能に影響を及ぼす。その為、
最適なパケットサイズを探索することもネットワーク・リソー
スを最大限に活用するために重要である。
2. 4 ト ポ ロ ジ
NoC のトポロジはどのようにルータが接続されているかに
よって定義される。トポロジはシステムの規模や配置によって
変化する。PNoC ではメッシュとトーラスの 2 つの種類のトポ
ロジが採用されている。メッシュ・トポロジ (図 7) は単純な形
をしており、XY 座標の形をしている。そのため、メッシュ・ト
ポロジ上でのルーティングは容易である。トーラス・トポロジ
(図 8) はメッシュと似ているが、外側のルータが反対側のルー
タとも接続されている。これにより通過するルータ数を減らす
ことができ、回路の混雑も減らすことができる。
図 5 バッファ・オーバーフロー.
—3—
ている。
今回の事前評価により、現状の PNoC システムが論理合成で
きるということを確認した。またバッファサイズとペイロード
サイズ及びトポロジを変更させることにより、回路規模と性能
のトレードオフを選択できることを確認した。
4. ま と め
この論文では設計空間探索と MCSoC の生成に適している
parameterizable NoC(PNoC) のハードウェア設計と事前評価
を行った。この PNoC はフレキシブルな評価環境を FPGA 上
図 7 4x4 メッシュ・トポロジ.
に構築し、小ないパラメータの変更で広範囲の NoC による解
決法の探索、評価、比較を行うのに適している。この評価方法
により、ハードウェア設計者は広範囲の解決法を探索できると
共に、その性能を素早く数値化することができる。今回はこれ
らの評価環境において事前評価を行った。この事前評価により
現状の PNoC が論理合成可能であることを確認したと同時に、
各パラメータを変更させることで、回路規模と性能のトレード
オフの選択が可能であるということも確認した。今後はさらに
大規模なシステムを FPGA に実装するため、ルータの改良を
模索する。 加えてさらなる最適化を調査し、ベンチマーク用
いて評価を行う。また PNoC の構造を使用し、MCSoC ジェネ
レータの関連項目の研究も行う。
文
図 8 4x4 トーラス・トポロジ.
表1
StratixIII FPGA 実装時のメッシュ・トポロジ PNoC のハードウェア規模
Payload Buffer ALUTs Speed(MHz)
4
1665
239.52
16
8
2345
229.83
16
2695
225.98
4
1870
234.91
32
8
2740
226.40
16
3074
202.51
4
2253
221.91
64
8
3497
211.37
16
3856
209.12
表2
StratixIII FPGA 実装時のトーラス・トポロジ PNoC のハードウェア規模
Payload
16
32
64
Buffer
4
8
16
4
8
16
4
8
16
ALUTs
3779
4894
5489
4403
5751
6446
5564
7680
8468
Speed(MHz)
192.23
175.87
173.19
189.97
183.62
175.72
170.68
168.21
166.78
献
[1] Wayne Wolf: Bus-Based Computer Systems, Computers as
Components: Principles of Embedded Computing System
Design, pp. 153-207, 2008.
[2] W. J. Dally and B. Towles:“ Route Packets, Not Wires: OnChip Interconnection Networks ”, Proceedings of the Design
Automation Conference, pp. 684-689 ,2001.
[3] L. Benini et al., Networks on chips: A new SoC paradigm,
IEEE Computer, vol. 36, no. 1, pp. 7078, Jan. 2002.
[4] P.P. Pande et al., Performance Evaluation and Design
Trade-offs for Network-on-Chip Interconnect Architectures,
・IEEE Trans. Computers, vol. 54, no. 8, Aug. 2005, pp.
1025-1040.
[5] A. Ben Abdallah, M.Sowa, Basic Network-on-Chip Interconnection for Future Gigascale MCSoCs Applications: Communication and Computation Orthogonalization, JASSST2006, Dec. 4-9th, 2006.
3. 事 前 評 価
PNoC は Verilog HDL で設計され、パラメータとしてバッ
ファサイズ、ペイロードサイズ、トポロジを決定できるよう
に記述した。また、合成ツールとして Altera QuartusII 9.0
sp1 を使用した。ターゲット・デバイスには Altera Stratix III
EP3SL150F1152N を指定している。表 1 はバッファサイズを
4, 8, 16 パケットとした際の各ペイロードサイズ(16,32,64 bit)
におけるメッシュトポロジを使用した 2 × 2 システムのハード
ウェア規模を表している。また表 2 は同様の条件でトーラス・
トポロジを使用した 2 × 2 システムのハードウェア規模を示し
—4—