200 likes | 348 Views
FPGA を用いたメニーコア・アーキテクチャ SMYLEref の評価環境の構築. 電気通信大学 グェン チュオン ソン 、 レイ ジャオ 、 近藤 正章 九州大学 平尾 智也、井上 弘士. 発表の概要. SMYLE プロジェクトの紹介 SMYLEref アーキテクチャ FPGA における SMYLEref 評価環境の構築. メニーコアプロセッサの発展. 現在のマイクロプロセッサは,数個から十数個程度 のコアを 1 チップに 搭載している傾向 将来的には 数十個から数百個の多数 のコアを搭載したメニーコアが有望視されて いる
E N D
FPGAを用いたメニーコア・アーキテクチャSMYLErefの評価環境の構築FPGAを用いたメニーコア・アーキテクチャSMYLErefの評価環境の構築 電気通信大学 グェン チュオン ソン、レイ ジャオ、近藤 正章 九州大学 平尾 智也、井上 弘士
発表の概要 • SMYLEプロジェクトの紹介 • SMYLErefアーキテクチャ • FPGAにおけるSMYLEref評価環境の構築 FPGAを用いたSMYLErefの評価環境の構築
メニーコアプロセッサの発展 • 現在のマイクロプロセッサは,数個から十数個程度のコアを1チップに搭載している傾向 • 将来的には数十個から数百個の多数のコアを搭載したメニーコアが有望視されている • 高性能・低消費電力なメニーコアプロセッサの実現と、メニーコアプロセッサの組み込みシステムへの応用展開が研究課題となっている FPGAを用いたSMYLErefの評価環境の構築
SMYLEプロジェクト • NEDO 極低電力回路・システム技術開発(グリーンITプロジェクト) • 「低消費電力メニーコア用アーキテクチャとコンパイラ技術」 • 2011年1月~2013年2月 • 九州大学,立命館大学,電気通信大学,株式会社フィックスターズ,株式会社トプスシステムズ • 本プロジェクトの目的: 「高性能・低消費電力なメニーコアシステムの実現」 • 組込みシステム応用を意識した高効率な超並列処理の実現 • 大幅な動作時消費電力の削減 • ソフトウェア生産性の向上 FPGAを用いたSMYLErefの評価環境の構築
戦略 • 仮想アクセラレータVAMの概念を導入 • (VAM: Virtual Accelerator on Many-core) • 小規模コアを多数用いてメニーコアを構成 • メニーコアを仮想アクセラレータ実現のためのハードウェアプラットフォームとして活用 タスクA タスクB タスクC c c c c c 汎用処理部 加速実行部 汎用処理部 加速実行部 汎用処理部 加速実行部 c c c c c c c c c c c c c c c P P P VAM 16-Core VAM 64-Core VAM 32-Core c c c c c c c c c c c c c c c 仮想アクセラレータ P ホストコア • 様々な並列性を活用 • VAM内:データ/スレッド並列 • VAM間:タスク/アプリ並列 P FPGAを用いたSMYLErefの評価環境の構築
仮想アクセラレータ(VAM) • 目的 • マルチスレッド・マルチプログラム環境での効率的な実行 • 特徴 • 複数仮想アクセラレータを同時にマッピング • タスクマッピング、最粒度タスク間通信のHW/SW支援 • 各コアは極低電圧でのプログラムを実行を想定 • 豊富なコア資源を利用したばらつきへの対処 • きめ細かな電圧/周波数制御 コア数にスケール可能な高性能化/低消費電力化 FPGAを用いたSMYLErefの評価環境の構築
メニーコアアーキテクチャSMYLEref • VAMの実装のリファレンスアーキテクチャ • 数個のプロセッサコアをバスで結合したクラスタを構成する • クラスタを2次元メッシュのオンチップネットワーク(NoC)で結合する Proc. Cluster IL1 IL1 IL1 IL1 Scalar Core Scalar Core Scalar Core Scalar Core DL1 DL1 DL1 DL1 Router Packet Cont. L2$ DL1 DL1 DL1 DL1 Scalar Core Scalar Core Scalar Core Scalar Core IL1 IL1 IL1 IL1 Mem. Controller I/O Controller Peripherals SDRAM FPGAを用いたSMYLErefの評価環境の構築
SMYLErefの構成(コア・クラスタ) • プロセッサコア • JST CRESTの研究プロジェクトで開発されたGeyserコアを利用 • 「革新的電源制御による次世代超低電力高性能システムLSIの研究(代表:東大 中村宏教授)」 • MIPS R3000ベース、LSI実装の実績あり • クラスタの構成 • Processor Cluster • 複数個のコア、L2キャッシュ、ルータがCluster-Busを通して接続 • Peripheral Cluster • DRAMコントローラなどのチップ外部とのインターフェースを持つ • 主記憶やI/Oアクセスの際はProcessor/Peripheral Cluster間で通信 FPGAを用いたSMYLErefの評価環境の構築
Routing Computation Output VC Access Control NoC構成 Switch Allocator Crossbar Switch • スケーラビリティの確保と拡張性を考慮して2次元メッシュを採用する • ルータの構造 • 5本の入出力ポート、2個のVC(仮想チャネル) • ビット幅: 32-bit • XYルーティング • スイッチ割当ての確定をしながらVC割当てを行うことで各ルータで通信パケットを1サイクルで転送 → 通信レイテンシの削減 Input N Output N VCs (InputS, E, W) (OutputS, E, W) Input L Output L VCs ルータアーキテクチャ FPGAを用いたSMYLErefの評価環境の構築
VAM向けの拡張点 • 再構成可能L1キャッシュ • コア毎にL1キャッシュをキャッシュ/もしくはSPMとして利用 • VAMの特性に応じてコンパイラにより決定 • 分散共有L2キャッシュの拡張 • 基本構成:L2キャッシュは全クラスタで共有 • 拡張構成:VAM毎にL2キャッシュグループを構成 → 各VAMで占有 • VAM間でのL2キャッシュ競合の回避 • 専用のアドレス変換機構によりL2キャッシュロケーションを決定 • アドレス変換テーブルはソフトウェアにより設定 • グループ・ハードウェアバリア • 各VAMに割り当てられたコアグループを対象にしたハードウェアバリアをサポート FPGAを用いたSMYLErefの評価環境の構築
FPGAにおける評価環境の構築 • FPGAを利用した評価環境の構築 • 大規模メニーコアも評価可能なスケーラビリティ • HDL設計により正確・詳細な評価や検証が可能 • LSIチップ開発への継続性 • 数百コア規模のメニーコア評価のために… • 複数FPGAチップを結合して実際に並列に実行 • 市販のFPGA評価ボードを利用 • 開発期間の短縮 • 評価環境の導入/利用の容易化 FPGAを用いたSMYLErefの評価環境の構築
開発環境 • 評価ボード: Xilinx Virtex-6を搭載するML605評価ボード • 回路設計: Verilog HDL • 論理合成、マッピング、配置配線: Xilinx ISE FPGAを用いたSMYLErefの評価環境の構築
クラスタの実装 Geyser L2 cache L2 cache Router ボード間通信機構 FPGAを用いた評価環境 SMYLErefアーキテクチャ … Proc. Cluster ML605評価ボード . . . SMAケーブル … Peripherals SDRAM Peripheral Cluster FPGAを用いたSMYLErefの評価環境の構築
評価環境の外観 FPGAを用いたSMYLErefの評価環境の構築
クラスタ間通信の実装 • 今回のFPGAではGeyserコアを8個程度しか搭載できない→ 複数のボードを結合し、ルータ間の通信をボード間に跨がって行うことでメニーコアの評価環境を実現する • ボード間通信の実装 • ルータモジュール内にボード間通信機構を実装 • Xilinx IPコアで提供されるシリアル通信プロトコル(aurora)を利用 • 最大5Gbpsでシリアルデータの送信が可能 • コアクロック(現在は10MHz)に対して十分な転送するバンド幅を確保 • 1flit (38-bit)を1コアクロックで転送可能 • 物理的なインタフェースはSMA規格 • 理論的には数百個以上のコアを持つメニーコアの評価環境を構築することが可能となる FPGAを用いたSMYLErefの評価環境の構築
ハードウェアの回路規模 • 8コアのプロセッサクラスタを構成する場合、ルータ等のリソースの消費量は小さい 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の評価環境の構築
評価結果 • 全プログラムともにコア数を増やすことで性能が向上する • LUやCholeskyではスケーラビリティが得られていない • 同期や排他制御の度にキャッシュをフラッシュするため FPGAを用いたSMYLErefの評価環境の構築
まとめと今後の課題 • 高性能・低消費電力メニーコアプロセッサの実現を目指したSMYLErefアーキテクチャ • VAMの概念を導入 • FPGAによる評価環境の紹介 • SPLASH2ベンチマークプログラムによる初期評価を実施 • 並列プログラムを正しく実行できることを確認 • 将来的にはできる限りオープンソース化する予定 • 今後の課題 • L2キャッシュやコヒーレンス機構の実装 • VAM向け拡張機能の実装と評価 FPGAを用いたSMYLErefの評価環境の構築
ご静聴ありがとうございました。 FPGAを用いたSMYLErefの評価環境の構築