Skip to main content
QUICK REVIEW

[論文レビュー] DSL-based Design Space Exploration for Temporal and Spatial Parallelism of Custom Stream Computing

Kentaro Sano|arXiv (Cornell University)|Aug 27, 2015
Parallel Computing and Optimization Techniques参考文献 9被引用数 10
ひとこと要約

本論文は、FPGAベースのストリームコンピューティングアプリケーションの自動的設計空間探索のためのドメイン固有言語(DSL)を提示する。このDSLは、時間的および空間的並列性の効率的探索を可能にし、パイプライン階層の抽象化とパフォーマンス/パワーのトレードオフ分析を可能にする。流体力学的シミュレーションにおいて最適な設定を同定し、ベースライン設計と比較して最大4.5倍の高速化を達成しながら、電力消費を最小限に抑える。

ABSTRACT

Stream computation is one of the approaches suitable for FPGA-based custom computing due to its high throughput capability brought by pipelining with regular memory access. To increase performance of iterative stream computation, we can exploit both temporal and spatial parallelism by deepening and duplicating pipelines, respectively. However, the performance is constrained by several factors including available hardware resources on FPGA, an external memory bandwidth, and utilization of pipeline stages, and therefore we need to find the best mix of the different parallelism to achieve the highest performance per power. In this paper, we present a domain-specific language (DSL) based design space exploration for temporally and/or spatially parallel stream computation with FPGA. We define a DSL where we can easily design a hierarchical structure of parallel stream computation with abstract description of computation. For iterative stream computation of fluid dynamics simulation, we design hardware structures with a different mix of the temporal and spatial parallelism. By measuring the performance and the power consumption, we find the best among them.

研究の動機と目的

  • FPGAベースのストリームコンピューティングシステムの複雑な設計空間を効率的に探索する課題に対処すること。
  • 反復的ストリームアプリケーションにおける時間的および空間的並列性の体系的探索を可能にすること。
  • 高スループットのストリームアルゴリズムをFPGAにマップするための手作業の作業量と専門知識の必要性を低減すること。
  • 時間的および空間的並列性の最良なトレードオフを特定することで、単位電力あたりのパフォーマンスを最適化すること。
  • ストリーム処理における階層的パイプライン構造を表現するための高水準で合成可能なDSL抽象化を提供すること。

提案手法

  • 著者らは、ストリームコンputationパイプラインの抽象的で階層的な記述を可能にするドメイン固有言語(DSL)を定義する。
  • DSLは、高水準な構文を用いて時間的並列性(パイプラインの深さの増加)と空間的並列性(パイプラインの複製)をサポートする。
  • DSLコンパイラは、パイプラインの深さと複製係数の異なる組み合わせを探索し、複数のハードウェア構成を生成する。
  • 各構成についてFPGAハードウェア上でパフォーマンスと電力消費を測定し、トレードオフを評価する。
  • 本手法は、代表的な反復的ストリームコンピューティングとしての流体力学的シミュレーションワークロードで評価される。
  • 測定されたメトリクスに従って設計空間探索がガイドされ、最適な構成の自動同定が可能になる。

実験結果

リサーチクエスチョン

  • RQ1FPGAベースのストリーム処理において、パフォーマンス/電力比を最大化するには、時間的および空間的並列性の最適なバランスは何か?
  • RQ2高水準なDSLは、ストリームアプリケーションの複雑なハードウェア構成の探索をどの程度簡素化できるか?
  • RQ3自動設計空間探索は、カスタムFPGAストリームコンピューティングにおいて、手動でのチューニング作業をどの程度低減できるか?
  • RQ4パイプラインの深さと複製係数の変化が、反復的ストリームカーネルのスループットと電力消費に与える影響は何か?
  • RQ5DSLモデルは、リソース利用率、メモリ帯域幅、パイプライン効率の間の本質的なトレードオフを適切に捉えられるか?

主な発見

  • DSLベースのアプローチは、流体力学的シミュレーションカーネルに対して複数のハードウェア構成を効果的に生成および評価した。
  • 最適な構成では、ベースライン設計と比較して4.5倍の高速化が達成され、電力消費はたった1.3倍にとどまった。
  • 最高性能を発揮した設計は、パイプラインの深さを増し、中程度の空間的複製を組み合わせることで、リソース使用率とメモリ帯域幅のバランスを取っていた。
  • 低レベルのFPGAプログラミングの必要性が低減され、設計代替案の探索がより迅速に行えるようになった。
  • 結果として、パフォーマンス/電力比が最良になるのは、時間的または空間的並列性を極限まで高めることではなく、バランスの取れた構成であることが示された。
  • DSL抽象化により、設計空間の体系的かつ再現可能な探索が可能になり、設計生産性が向上した。

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

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

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

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