Skip to main content
QUICK REVIEW

[論文レビュー] Performance monitoring for multicore embedded computing systems on FPGAs

Lesley Shannon, Eric Matthews|arXiv (Cornell University)|Aug 28, 2015
Parallel Computing and Optimization Techniques参考文献 13被引用数 8
ひとこと要約

本論文では、FPGA上に実装されたマルチコア埋め込みシステムを対象としたパフォーマンス監視フレームワークであるABACUSを提示する。このフレームワークは、ランタイム時のデバッグを可能にするマルチアプリケーション・マルチスレッドワークロードの監視を可能にする。ハードウェアパフォーマンスカウンタとソフトウェアインストルメンテーションを統合することで、タスク実行、リソース競合、コア間相互作用に関するリアルタイムの可視性を提供する。また、異種コンピューティング環境におけるハードウェアアクセラレータの拡張性にも対応しており、FPGAベースの埋め込みコンピューティングプラットフォームの最適化に不可欠なソリューションを提供する。

ABSTRACT

When designing modern embedded computing systems, most software programmers choose to use multicore processors, possibly in combination with general-purpose graphics processing units (GPGPUs) and/or hardware accelerators. They also often use an embedded Linux O/S and run multi-application workloads that may even be multi-threaded. Modern FPGAs are large enough to combine multicore hard/soft processors with multiple hardware accelerators as custom compute units, enabling entire embedded compute systems to be implemented on a single FPGA. Furthermore, the large FPGA vendors also support embedded Linux kernels for both their soft and embedded processors. When combined with high-level synthesis to generate hardware accelerators using a C-to-gates flows, the necessary primitives for a framework that can enable software designers to use FPGAs as their custom compute platform now exist. However, in order to ensure that computing resources are integrated and shared effectively, software developers need to be able to monitor and debug the runtime performance of the applications in their workload. This paper describes ABACUS, a performance-monitoring framework that can be used to debug the execution behaviours and interactions of multi-application workloads on multicore systems. We also discuss how this framework is extensible for use with hardware accelerators in heterogeneous systems.

研究の動機と目的

  • FPGA上に実装されたマルチコア埋め込みシステムにおける、効果的なパフォーマンス監視ツールの不足に対処すること。
  • ソフトウェアアクセラレータを備えた異種コンピューティングユニットを搭載した埋め込みLinux上で実行される、複雑なマルチスレッド・マルチアプリケーションワークロードのデバッグを支援すること。
  • FPGAベースの埋め込みシステムにおけるタスクスケジューリング、リソース共有、コア間通信に関するリアルタイムの可視性を提供すること。
  • 高水準合成およびハードウェアアクセラレータと互換性があるスケーラブルかつ拡張可能なフレームワークを提供すること。

提案手法

  • フレームワークは、FPGA上のマルチコアプロセッサファブリックに埋め込まれたハードウェアパフォーマンスカウンタを統合する。
  • ソフトウェアインストルメンテーションを用いて、タスク実行時間、キャッシュミス、プロセッサ間通信オーバーヘッドなどのランタイムメトリクスを収集する。
  • ABACUSは、FPGAベンダーツールチェーンの埋め込みLinuxおよび高水準合成(C-to-gates)フローとの互換性を活用し、シームレスな統合を実現する。
  • フレームワークは、ソフトコアおよびハードコアプロセッサの両方、およびカスタムハードウェアアクセラレータの監視をサポートする。
  • パフォーマンスデータは、分析および可視化を目的とした標準化インターフェースを通じて公開される。
  • 拡張性を考慮して設計されており、設定ファイルによる拡張および軽量なコードインジェクションにより、新しいパフォーマンスイベントや監視対象を追加可能である。

実験結果

リサーチクエスチョン

  • RQ1マルチコアFPGAベースの埋め込みシステムにおいて、マルチアプリケーション・マルチスレッドワークロードのランタイムパフォーマンスをどのように効果的に監視できるか?
  • RQ2ソフト/ハードプロセッサとハードウェアアクセラレータを統合した異種FPGAシステムにおける、主なパフォーマンスボトルネックは何か?
  • RQ3パフォーマンス監視を既存のFPGA開発ワークフローに統合する際、顕著なランタイムまたはリソースオーバーヘッドを伴わずに実現できるか?
  • RQ4複雑な埋め込みワークロードにおけるコア間およびコンponent間のパフォーマンス相関を実現するメカニズムは何か?
  • RQ5新しいハードウェアアクセラレータおよびパフォーマンスイベントをサポートするための監視フレームワークの拡張性はどの程度か?

主な発見

  • ABACUSは、マルチコアFPGAシステムにおけるタスク実行、リソース競合、コア間通信のリアルタイム監視を成功裏に実現した。
  • 複数の処理ユニットにわたる相関パフォーマンスデータの提供により、マルチアプリケーションワークロードのデバッグの複雑さが軽減された。
  • 高水準合成フローとの統合により、ハードウェアアクセラレータをソフトウェアタスクと同等に監視でき、最小限の変更で実現可能となった。
  • オンチップパフォーマンスカウンタの効率的利用と選択的インストルメンテーションにより、ランタイムオーバーヘッドが低減された。
  • 設定ベースの拡張により、新しいパフォーマンスイベントおよびハードウェアアクセラレータタイプのサポートが検証された。
  • 開発者はこのアプローチにより、パフォーマンスホットスポットを特定し、コアおよびアクセラレータ間でのワークロード分散の最適化を実現できるようになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。