FPGAによるメニーコア・プロセッサSMYLErefの評価環境の構築 グェン チュオン ソン, レイ ジャオ, 近藤 正章 (電気通信大学) 平尾 智也, 曽我 武史, 井上 弘士 (九州大学) 1. プロジェクト紹介 我々は,高性能・低消費電力なメニーコアプロセッサの実現と,その組み込みシステムへの応用展開を目的とし,NEDOのプロジェクトの中で,「低消費電力メ ニーコア用アーキテクチャとコンパイラ技術」の研究課題を実施している.本プロジェクトは,1) 組込みシステムを意識した高効率な超並列処理の実現,2) 大幅な 動作時消費電力の削減,3) ソフトウェア生産性の向上,を重要な研究課題と位置付け,それらを解決する一方策として「仮想アクセラレータ(VAM: Virtual Accelerator on Many-core)」の概念を導入し,その実行プラットフォームとしてメニーコアアーキテクチャSMYLErefとプログラム開発環境の構築を行っている. 2. メニーコア・アーキテクチャSMYLEref IL1 タスクA 汎用 処理部 加速実行部 P P VAM 16-Core 汎用 処理部 P VAM 64-Core DL1 加速実行部 VAM DL1 32-Core P P ホストコア c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c DL1 DL1 L2$ DL1 DL1 DL1 DL1 Proc. Cluster Scalar Scalar Scalar Scalar Core Core Core Core 仮想アクセラレータ c IL1 Scalar Scalar Scalar Scalar Core Core Core Core タスクC 加速実行部 IL1 Router Packet Cont. 汎用 処理部 タスクB IL1 IL1 様々な並列性を活用 • VAM内:データ/スレッド並列 • VAM間:タスク/アプリ並列 IL1 IL1 IL1 Mem. Controller I/O Controller SDRAM • 仮想アクセラレータVAM: 多数の小規模コアを仮想アクセラレータ実 現のためのハードウェアプラットフォームとして活用.一方でコンパイラ や並列プログラムはアプリケーション特性に応じて自らがVAMの構成 を決定しつつ,それに基づきコード生成や実行を行う. Peripherals • SMYLErefの構成: 数個のプロセッサコア(JST CRESTプロジェクトのGeyser )をバ スで結合したクラスタを,2次元メッシュのオンチップネットワーク(NoC)で接続. クラスタには,コアやL2キャッシュを備えるプロセッサクラスタと,チップ外部との インターフェース(SDRAMコントローラなど)を持つペリフェラルクラスタがある. 3. コンパイルフロー 4. FPGAにおける評価環境の構築 C Source Program • CLtrump:株式会社フィックスターズで開 CLtrump (C to OpenCL C) Host Program (OpenCL C) 発された、CプログラムをOpenCLに変換 するツール.ユーザによるインタラクティ ブな並列化を支援.ホストプロセッサと、 アクセラレータ用のコードを出力. Accelerator Accelerator Program Accelerator Program (OpenCL C) Program (OpenCL C) (OpenCL C) Accelerator Program (OpenCL C) Processor Cluster Processor Cluster ルータ ML605評価ボード ボード間通信 コントローラ • OpenCLのサポート: ヘ テ ロ ジ ニ ア ス アーキテクチャに対応、かつプラット フォーム非依存なプログラム開発環境の 提供. •Bin. Generation •VAM Architecture Synthesis •Run-time Lib. VAM Bin. L2 cache SMA ケーブル Peripheral Cluster SMYLE OpenCL Compiler Host Bin. L2 cache L2 cache Peripherals SDRAM Processor Cluster L2 cache Processor Cluster • SMYLE OpenCL Compiler:コア数やメ モリ構成などのVAM構成を、コンパ イル時に決定. VAM Config. SMYLEref Architecture P c c c c c c c c c c c c c c Graphics c c c c c c c c HD c Video c Encoder c c c c c c c c c c c c c c c c c Auc cdioc c c c c c c c c c c c c Imaging P c c c c c c c c • SMYLErefの評価・検証を目的に,我々はFPGAを利用してSMYLErefの評価環境を 構築している.複数コアをFPGA上に構築し,それらを並列に動作させることで,評 価に要する時間の短縮や,OSやシステムソフトウェアの評価・検証も可能に. • Xilinx社製のFPGAチップであるVirtex-6 (Virtex-6 XC6VLX240T)を使用.1ボードに Geyserコアを8個程度しか実装することができないため,複数のボードを結合し, ルータ間の通信をボード間に跨がって行うことでメニーコアの評価環境を実現. ボード間の通信には高速シリアル通信インターフェースであるrocket I/Oを使用. 5. 評価 評価の仮定 • 各クラスタのL2キャッシュは不使用.周波数はGeyserコアが10MHz,クラスタ内部バスや ルータが5MHz,DDR3-SDRAMが100MHzである. • OpenCLのコンパイルフローは現在実装中であり、並列化にはSMYLEref評価環境向けに 最低限の機能を持つ簡易版pthreadライブラリを実装して評価.キャッシュコヒーレンス 機構が未実装なため,共有データ領域はuncachable領域として評価. 考察 • FFTではコア数分ではないものの,32コアまで性能が向上. • LUでは,4コアの場合に比べ8コアを用いると性能が低下.ヒープ領域をuncachable領域 とし,同期や排他制御の度にその他データに対してもキャッシュフラッシュをしているた め,コア数が増えるとバスやネットワーク混雑で性能が低下してしまうためと考えられる. 今後の課題: ① VAM向けの拡張を実装し,種々のアプリケーションで評価をしつつ,メニーコアプロセッサのあるべきアーキテクチャを検討していく予定である. ② 評価環境の設計データはできる限り公開し,メニーコアプロセッサのアーキテクチャ・ソフトウェア開発・評価環境として広く利用してもらうことを考えている.
© Copyright 2024 ExpyDoc