インテリジェントホームオートメーションシステム アーキテクチャ設計書 · インテリジェントホームオートメーションシステム アーキテクチャ設計書
FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築
description
Transcript of FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築
FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築電気通信大学グェン チュオン ソン、レイ ジャオ、近藤 正章九州大学平尾 智也、井上 弘士
発表の概要• SMYLE プロジェクトの紹介• SMYLEref アーキテクチャ• FPGA における SMYLEref 評価環境の構築
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 2
メニーコアプロセッサの発展• 現在のマイクロプロセッサは,数個から十数個程度のコアを 1 チップに搭載している傾向• 将来的には数十個から数百個の多数のコアを搭載したメニーコアが有望視されている• 高性能・低消費電力なメニーコアプロセッサの実現と、メニーコアプロセッサの組み込みシステムへの応用展開が研究課題となっている
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 3
SMYLE プロジェクト• NEDO 極低電力回路・システム技術開発(グリーン IT プロジェクト)– 「低消費電力メニーコア用アーキテクチャとコンパイラ技術」– 2011 年 1 月~ 2013 年 2 月– 九州大学,立命館大学,電気通信大学,株式会社フィックスターズ,株式会社トプスシステムズ
• 本プロジェクトの目的: 「高性能・低消費電力なメニーコアシステムの実現」– 組込みシステム応用を意識した高効率な超並列処理の実現– 大幅な動作時消費電力の削減– ソフトウェア生産性の向上
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 4
戦略
cccc
ccc
cccc
ccc
cccc
ccc
cccc
ccc
cccc
ccc
P
P
タスクA
汎用処理部 加速実行部P VAM
16-Core
タスクB
汎用処理部 加速実行部P VAM
64-Core
タスクC
汎用処理部 加速実行部P VAM
32-Core
仮想アクセラレータホストコア 様々な並列性を活用• VAM 内:データ / スレッド並列• VAM 間:タスク / アプリ並列
• 仮想アクセラレータ VAM の概念を導入– (VAM: Virtual Accelerator on Many-core)– 小規模コアを多数用いてメニーコアを構成– メニーコアを仮想アクセラレータ実現のためのハードウェアプラットフォームとして活用
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 5
仮想アクセラレータ( VAM )• 目的– マルチスレッド・マルチプログラム環境での効率的な実行
• 特徴– 複数仮想アクセラレータを同時にマッピング
• タスクマッピング、最粒度タスク間通信の HW/SW 支援– 各コアは極低電圧でのプログラムを実行を想定
• 豊富なコア資源を利用したばらつきへの対処• きめ細かな電圧/周波数制御
コア数にスケール可能な高性能化/低消費電力化FPGA を用いた SMYLEref の評価環境の構
築2012/1/20 6
メニーコアアーキテクチャSMYLEref
• VAM の実装のリファレンスアーキテクチャ– 数個のプロセッサコアをバスで結合したクラスタを構成する– クラスタを 2 次元メッシュのオンチップネットワーク (NoC) で結合する
Packet Cont.Router
ScalarCore
ScalarCore
ScalarCore
ScalarCore
L2$
IL1 IL1 IL1 IL1
DL1 DL1 DL1 DL1
ScalarCore
ScalarCore
ScalarCore
ScalarCore
DL1 DL1 DL1 DL1
IL1 IL1 IL1 IL1
Proc. Cluster
Mem. ControllerI/O Controller
SDRAM Peripherals
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 7
• プロセッサコア– JST CREST の研究プロジェクトで開発された Geyser コアを利用– 「革新的電源制御による次世代超低電力高性能システム LSI の研究 ( 代表:東大 中村宏教授 ) 」– MIPS R3000 ベース、 LSI 実装の実績あり
• クラスタの構成– Processor Cluster
• 複数個のコア、 L2 キャッシュ、ルータが Cluster-Bus を通して接続– Peripheral Cluster
• DRAM コントローラなどのチップ外部とのインターフェースを持つ• 主記憶や I/O アクセスの際は Processor / Peripheral Cluster 間で通信
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 8
SMYLEref の構成 ( コア・クラスタ )
NoC 構成• スケーラビリティの確保と拡張性を考慮して
2 次元メッシュを採用する• ルータの構造
– 5 本の入出力ポート、2 個の VC (仮想チャネル)
– ビット幅 : 32-bit– XY ルーティング– スイッチ割当ての確定をしながら VC割当てを行うことで各ルータで通信パケットを1サイクルで転送→ 通信レイテンシの削減
VCs
Crossbar Switch
RoutingComputation
Output N
Output L
Input N
Output VCAccess Control
SwitchAllocator
VCs
Input L
(OutputS, E, W)
(InputS, E, W)
ルータアーキテクチャ
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 9
VAM 向けの拡張点• 再構成可能 L1 キャッシュ
– コア毎に L1 キャッシュをキャッシュ /もしくは SPM として利用– VAM の特性に応じてコンパイラにより決定
• 分散共有 L2 キャッシュの拡張– 基本構成: L2 キャッシュは全クラスタで共有– 拡張構成: VAM毎に L2 キャッシュグループを構成 → 各 VAM で占有
• VAM 間での L2 キャッシュ競合の回避• 専用のアドレス変換機構により L2 キャッシュロケーションを決定• アドレス変換テーブルはソフトウェアにより設定
• グループ・ハードウェアバリア– 各 VAM に割り当てられたコアグループを対象にしたハードウェアバリアをサポート
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 10
FPGA における評価環境の構築• FPGA を利用した評価環境の構築– 大規模メニーコアも評価可能なスケーラビリティ– HDL設計により正確・詳細な評価や検証が可能– LSI チップ開発への継続性
• 数百コア規模のメニーコア評価のために…– 複数 FPGA チップを結合して実際に並列に実行– 市販の FPGA 評価ボードを利用
• 開発期間の短縮• 評価環境の導入/利用の容易化
2012/1/20 FPGA を用いた SMYLEref の評価環境の構築 11
開発環境ML605ボード FPGA デバイス Virtex-6 XCVLX240T
SDRAM DDR3 SO-DIMM
搭載 I/Oポート UART, USB, DVI出力、 CF 、 SMA等 クロック入力 200MHz & 66 MHz オシレータVirtex-6 ( XCVLX240T) テクノロジ 65nm CMOS, 1.0V
Logic Cells 241,152
CLB Slices 37,680
Block RAM 14,975 Kbit
ユーザー I/O 数 720
• 評価ボード: Xilinx Virtex-6 を搭載する ML605 評価ボード• 回路設計: Verilog HDL• 論理合成、マッピング、配置配線: Xilinx ISE
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 12
クラスタの実装
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 13
Geyser
Routerボード間通信機構
SMYLEref アーキテクチャ
Peripheral Cluster
SDRAMPeripherals
Proc. Cluster
L2 cache
ML605 評価ボード
…
…
. . .
L2 cache
FPGA を用いた評価環境
SMA ケーブル
評価環境の外観
2012/1/20 FPGA を用いた SMYLEref の評価環境の構築 14
クラスタ間通信の実装• 今回の FPGA では Geyser コアを 8 個程度しか搭載できない→ 複数のボードを結合し、ルータ間の通信をボード間に 跨がって行うことでメニーコアの評価環境を実現する• ボード間通信の実装
– ルータモジュール内にボード間通信機構を実装– Xilinx IP コアで提供されるシリアル通信プロトコル( aurora )を利用
• 最大5Gbps でシリアルデータの送信が可能• コアクロック(現在は 10MHz )に対して十分な転送するバンド幅を確保• 1flit (38-bit) を 1 コアクロックで転送可能
– 物理的なインタフェースは SMA 規格• 理論的には数百個以上のコアを持つメニーコアの評価環境を構築することが可能となる
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 15
ハードウェアの回路規模スライス数( %)
Flip-Flops (%) LUTs (%)
コアクラスタ Geyser コア (1 コア )
2,897 (7.69%) 5,836 (1.94%) 9,641 (6.40%)
ルータ 1,170 (3.11%) 838 (0.28%) 3,400 (2.26%)
パケットコントローラ
80 (0.21%) 79 (0.03%) 189 (0.13%)
ボード間通信機構 220 (0.58%) 568 (0.19%) 407 (0.27%)
ペリフェラルクラスタ I/O コントローラ 1,596 (4.24%) 6,007 (1.99%) 2,577 (1.71%)
ルータ 1,170 (3.11%) 838 (0.28%) 3,400 (2.26%)
パケットコントローラ
112 (0.30%) 94 (0.03%) 230 (0.15%)
• 8 コアのプロセッサクラスタを構成する場合、ルータ等のリソースの消費量は小さいFPGA を用いた SMYLEref の評価環境の構築2012/1/20 16
評価の仮定• ハードウェア
– 4 コア x 2 クラスタ + 1ペリフェラルクラスタ (1ボードのみで評価 )– L2 キャッシュなし– コア: 10MHz 、内部バス・ルータ: 5MHz 、 DDR3 SDRAM‐ :
100MHz– コヒーレンス制御 ( 現在は未実装 )
• 共有データ領域は uncacheable で実行• ソフトウェア
– ベンチマーク: SPLASH2 の FFT, LU, Cholesky– コンパイラ : MIPS 用のコードを生成する gcc 4.4.6
• 浮動小数点演算:ソフトウェアエミュレーション (Soft Float)
• 並列処理 API– SMYLEref 評価環境向け簡易版 pthread ライブラリFPGA を用いた SMYLEref の評価環境の構
築2012/1/20 17
評価結果
• 全プログラムともにコア数を増やすことで性能が向上する• LUや Cholesky ではスケーラビリティが得られていない
– 同期や排他制御の度にキャッシュをフラッシュするためFPGA を用いた SMYLEref の評価環境の構築2012/1/20 18
まとめと今後の課題• 高性能・低消費電力メニーコアプロセッサの実現を目指した SMYLEref アーキテクチャ
– VAM の概念を導入• FPGA による評価環境の紹介
– SPLASH2 ベンチマークプログラムによる初期評価を実施• 並列プログラムを正しく実行できることを確認
– 将来的にはできる限りオープンソース化する予定• 今後の課題
– L2 キャッシュやコヒーレンス機構の実装– VAM 向け拡張機能の実装と評価
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 19
ご静聴ありがとうございました。
FPGA を用いた SMYLEref の評価環境の構築2012/1/20 20