Skip to main content
QUICK REVIEW

[論文レビュー] High Level Programming for Heterogeneous Architectures

Oren Segal, Martin Margala|arXiv (Cornell University)|Aug 21, 2014
Parallel Computing and Optimization Techniques参考文献 7被引用数 11
ひとこと要約

この論文は、OpenCL用のハイレベルJavaフレームワークであるAPARAPIを拡張し、FPGAのハイレベルプログラミングを可能にすることで、プログラマビリティと抽象化を向上させた。NBodyシミュレーションでは最大80%の電力削減と5.3倍の高速化を達成し、MapReduceワークロードを介したKMeansでは最大80%の電力削減と7倍の高速化を実現した。これにより、FPGAを含む異種アーキテクチャにおいて顕著な性能およびエネルギー効率の向上が示された。

ABSTRACT

This work presents an effort to bridge the gap between abstract high level programming and OpenCL by extending an existing high level Java programming framework (APARAPI), based on OpenCL, so that it can be used to program FPGAs at a high level of abstraction and increased ease of programmability. We run several real world algorithms to assess the performance of the framework on both a low end and a high end system. On the low end and high end systems respectively we observed up to 78-80 percent power reduction and 4.8X-5.3X speed increase running NBody simulation, as well as up to 65-80 percent power reduction and 6.2X-7X speed increase for a KMeans, MapReduce algorithm running on top of the Hadoop framework and APARAPI.

研究の動機と目的

  • ハイレベルな抽象化を提供するJavaによるプログラミングにより、特にFPGAを含む異種アーキテクチャのプログラミングの複雑さを低減すること。
  • ハイレベルプログラミングモデルとFPGAのような低レベルのハードウェアターゲットとの間の意味的ギャップを埋めること。
  • 低性能および高性能システムの両方において、拡張されたフレームワークの性能およびエネルギー効率を評価すること。
  • FPGA上で計算集約的ワークロードを高速化するためのハイレベルフレームワークの実用可能性を示すこと。

提案手法

  • OpenCLにコンパイルするJavaベースのフレームワークであるAPARAPIを拡張し、FPGAコード生成をサポートするようにした。
  • 既存のOpenCLコンパイルパイプラインを活用して、FPGAハードウェアをターゲットとしつつもハイレベルな意味論を保持した。
  • アノテートされたJavaメソッドをハードウェアカーネルに変換するためのジャストインタイム(JIT)コンパイルモデルを採用した。
  • Hadoop MapReduceフレームワークを介して、NBodyシミュレーションやKMeansクラスタリングといった実世界のワークロードを実行した。
  • ランタイム最適化およびハードウェアリソースマッピングを用いて、性能およびエネルギー効率を向上させた。
  • スケーラビリティおよび効率性を評価するために、低性能および高性能システムの両方でフレームワークを検証した。

実験結果

リサーチクエスチョン

  • RQ1低レベルのコーディングを最小限に抑えて、ハイレベルなJavaフレームワークをFPGAに効果的に拡張できるか?
  • RQ2このフレームワークは、異種アーキテクチャにおいてどの程度性能およびエネルギー効率を向上させるか?
  • RQ3低性能から高性能のさまざまなハードウェアプラットフォームにわたって、このフレームワークはどの程度スケーリングするか?
  • RQ4ハイレベルな抽象化を用いてFPGAでNBodyおよびKMeansワークロードを高速化する際の、性能と電力のトレードオフはどのようなものか?

主な発見

  • 高機能システムでは、NBodyシミュレーションで最大80%の電力削減と5.3倍の高速化を達成した。
  • 低機能システムでは、NBodyシミュレーションで最大78%の電力削減と4.8倍の高速化を達成した。
  • 高機能システムでは、MapReduceを介したKMeansクラスタリングで最大80%の電力削減と7倍の高速化を達成した。
  • 低機能システムでは、KMeansワークロードで最大65%の電力削減と6.2倍の高速化を達成した。
  • 結果として、FPGA上でハイレベルな抽象化が競争力のある性能およびエネルギー効率を達成できることを示した。
  • 拡張されたAPARAPIフレームワークは、測定可能な性能向上を伴いながら、ポータブルかつ生産性の高いFPGAプログラミングを成功裏に実現した。

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

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

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

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