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