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