FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

20
FPGA ををををををををを ををををををを SMYLEref をををををををを をををををを ををを をををを をを をを ををを をを をを をををを をを をを をを をを

description

FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築. 電気通信大学 グェン チュオン ソン 、 レイ ジャオ 、 近藤 正章 九州大学 平尾 智也、井上 弘士. 発表の概要. SMYLE プロジェクトの紹介 SMYLEref アーキテクチャ FPGA における SMYLEref 評価環境の構築. メニーコアプロセッサの発展. 現在のマイクロプロセッサは,数個から十数個程度 のコアを 1 チップに 搭載している傾向 将来的には 数十個から数百個の多数 のコアを搭載したメニーコアが有望視されて いる - PowerPoint PPT Presentation

Transcript of FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

Page 1: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築電気通信大学グェン チュオン ソン、レイ ジャオ、近藤 正章九州大学平尾 智也、井上 弘士

Page 2: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

発表の概要• SMYLE プロジェクトの紹介• SMYLEref アーキテクチャ• FPGA における SMYLEref 評価環境の構築

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 2

Page 3: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

メニーコアプロセッサの発展• 現在のマイクロプロセッサは,数個から十数個程度のコアを 1 チップに搭載している傾向• 将来的には数十個から数百個の多数のコアを搭載したメニーコアが有望視されている• 高性能・低消費電力なメニーコアプロセッサの実現と、メニーコアプロセッサの組み込みシステムへの応用展開が研究課題となっている

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 3

Page 4: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

SMYLE プロジェクト• NEDO 極低電力回路・システム技術開発(グリーン IT プロジェクト)– 「低消費電力メニーコア用アーキテクチャとコンパイラ技術」– 2011 年 1 月~ 2013 年 2 月– 九州大学,立命館大学,電気通信大学,株式会社フィックスターズ,株式会社トプスシステムズ

• 本プロジェクトの目的:  「高性能・低消費電力なメニーコアシステムの実現」– 組込みシステム応用を意識した高効率な超並列処理の実現– 大幅な動作時消費電力の削減– ソフトウェア生産性の向上

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 4

Page 5: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

戦略

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

Page 6: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

仮想アクセラレータ( VAM )• 目的– マルチスレッド・マルチプログラム環境での効率的な実行

• 特徴– 複数仮想アクセラレータを同時にマッピング

• タスクマッピング、最粒度タスク間通信の HW/SW 支援– 各コアは極低電圧でのプログラムを実行を想定

• 豊富なコア資源を利用したばらつきへの対処• きめ細かな電圧/周波数制御

  コア数にスケール可能な高性能化/低消費電力化FPGA を用いた SMYLEref の評価環境の構

築2012/1/20 6

Page 7: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

メニーコアアーキテクチャ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

Page 8: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

• プロセッサコア– 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 の構成 ( コア・クラスタ )

Page 9: FPGA を用いたメニーコア・アーキテクチャ 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

Page 10: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

VAM 向けの拡張点• 再構成可能 L1 キャッシュ

– コア毎に L1 キャッシュをキャッシュ /もしくは SPM として利用– VAM の特性に応じてコンパイラにより決定

• 分散共有 L2 キャッシュの拡張– 基本構成: L2 キャッシュは全クラスタで共有– 拡張構成: VAM毎に L2 キャッシュグループを構成 → 各 VAM で占有

• VAM 間での L2 キャッシュ競合の回避• 専用のアドレス変換機構により L2 キャッシュロケーションを決定• アドレス変換テーブルはソフトウェアにより設定

• グループ・ハードウェアバリア– 各 VAM に割り当てられたコアグループを対象にしたハードウェアバリアをサポート

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 10

Page 11: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

FPGA における評価環境の構築• FPGA を利用した評価環境の構築– 大規模メニーコアも評価可能なスケーラビリティ– HDL設計により正確・詳細な評価や検証が可能– LSI チップ開発への継続性

• 数百コア規模のメニーコア評価のために…– 複数 FPGA チップを結合して実際に並列に実行– 市販の FPGA 評価ボードを利用

• 開発期間の短縮• 評価環境の導入/利用の容易化

2012/1/20 FPGA を用いた SMYLEref の評価環境の構築 11

Page 12: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

開発環境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

Page 13: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

クラスタの実装

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 13

Geyser

Routerボード間通信機構

SMYLEref アーキテクチャ

Peripheral Cluster

SDRAMPeripherals

Proc. Cluster

L2 cache

ML605 評価ボード

. . .

L2 cache

FPGA を用いた評価環境

SMA ケーブル

Page 14: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

評価環境の外観

2012/1/20 FPGA を用いた SMYLEref の評価環境の構築 14

Page 15: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

クラスタ間通信の実装• 今回の FPGA では Geyser コアを 8 個程度しか搭載できない→ 複数のボードを結合し、ルータ間の通信をボード間に 跨がって行うことでメニーコアの評価環境を実現する• ボード間通信の実装

– ルータモジュール内にボード間通信機構を実装– Xilinx IP コアで提供されるシリアル通信プロトコル( aurora )を利用

• 最大5Gbps でシリアルデータの送信が可能• コアクロック(現在は 10MHz )に対して十分な転送するバンド幅を確保• 1flit (38-bit) を 1 コアクロックで転送可能

– 物理的なインタフェースは SMA 規格• 理論的には数百個以上のコアを持つメニーコアの評価環境を構築することが可能となる

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 15

Page 16: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

ハードウェアの回路規模スライス数( %)

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

Page 17: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

評価の仮定• ハードウェア

– 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

Page 18: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

評価結果

• 全プログラムともにコア数を増やすことで性能が向上する• LUや Cholesky ではスケーラビリティが得られていない

– 同期や排他制御の度にキャッシュをフラッシュするためFPGA を用いた SMYLEref の評価環境の構築2012/1/20 18

Page 19: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

まとめと今後の課題• 高性能・低消費電力メニーコアプロセッサの実現を目指した SMYLEref アーキテクチャ

– VAM の概念を導入• FPGA による評価環境の紹介

– SPLASH2 ベンチマークプログラムによる初期評価を実施• 並列プログラムを正しく実行できることを確認

– 将来的にはできる限りオープンソース化する予定• 今後の課題

– L2 キャッシュやコヒーレンス機構の実装– VAM 向け拡張機能の実装と評価

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 19

Page 20: FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築

ご静聴ありがとうございました。

FPGA を用いた SMYLEref の評価環境の構築2012/1/20 20