Skip to main content
QUICK REVIEW

[論文レビュー] High-Level Synthesis Case Study: Implementation of a Memcached Server

Kimon Karras, Michaela Blott|arXiv (Cornell University)|Aug 21, 2014
Embedded Systems Design Techniques参考文献 12被引用数 6
ひとこと要約

本論文では、Vivado HLSを用いてメモリキャッシュキー値ストアのハイレベル合成(HLS)実装を提示し、手動で書かれたRTL設計と同等の性能を達成しながら、コードサイズを3倍削減し、開発時間を2倍短縮し、遅延を7–30%改善し、リソース使用量を22%(LUT)および35%(レジスタ)削減した。設計は10Gbpsラインレートで動作するXilinx VC709ボードで検証された。

ABSTRACT

High-Level Synthesis (HLS) aspires to raise the level of abstraction in hardware design without sacrificing hardware efficiency. It has so far been successfully employed in signal and video processing but has found only limited use in other areas. This paper utilizes a commercial HLS tool, namely Vivado(R) HLS, to implement the processing of a common data center application, the Key-Value Store (KVS) application memcached, as a deeply pipelined dataflow architecture. We compared our results to a fully equivalent RTL implementation done previously in our group and found that it matches its performance, yields tangible improvements in latency (between 7-30%) and resource consumption (22% in LUTs and 35% in registers), all while requiring 3x less lines of code and 2x less development time. The implementation was validated in hardware on a Xilinx(R) VC709 development board, meeting timing requirements for 10Gbps line rate processing.

研究の動機と目的

  • ハイレベル合成(HLS)が一般用途のデータセンタワークロード、特にmemcachedキー値ストアの実装に実用的であるかを評価すること。
  • 性能、リソース使用量、開発作業の観点から、HLSで生成されたハードウェアと手動最適化されたRTL実装を比較すること。
  • HLSが、従来の信号処理や動画処理にとどまらず、キー値ストレージのような非伝統的分野においても高い性能と効率を達成できることを示すこと。
  • Xilinx VC709 FPGA開発ボード上で10Gbpsラインレートで実ハードウェアでのHLS設計の検証を行うこと。
  • 生産用途のアプリケーションにHLSを用いる際の、開発生産性とハードウェア効率のトレードオフを定量すること。

提案手法

  • Vivado HLSを用いて、メモリキャッシュの処理論理を深くパイプライン化されたデータフロー・アーキテクチャとして実装した。
  • HLSディレクティブを用いて、C++ベースのアルゴリズム記述をハードウェアにマッピングし、高レベル最適化を可能にした。
  • 並列処理とパイプライン化を活用して、10Gbpsラインレート処理に耐えうる高スループットを実現するHLSアーキテクチャを設計した。
  • C++コードからHLSを用いてハードウェアを生成し、物理的検証を目的としてXilinx VC709 FPGAをターゲットにした。
  • 比較のためのパフォーマンスベースラインとして、以前の研究から得られた完全に同等のRTL実装を用いた。
  • 10Gbpsスループット要件を満たすために、タイミングクロージャ技術と制約を適用した。

実験結果

リサーチクエスチョン

  • RQ1ハイレベル合成(HLS)は、手動最適化されたRTLと同等の性能を達成できる生産用途のキー値ストア(memcached)を効果的に実装できるか?
  • RQ2従来のRTL設計と比較して、HLSは開発時間とコード複雑性をどの程度削減できるか?
  • RQ3このワークロードにおいて、HLSとRTLを比較した場合、遅延とリソース使用量にどのような改善が見られるか?
  • RQ4HLSで生成された設計は、実ハードウェアで10Gbpsラインレート処理という厳しいパフォーマンス要件を満たすことができるか?
  • RQ5LUT、レジスタ、および全体の効率の観点から、HLSの出力品質は手動最適化されたRTLと比べてどの程度か?

主な発見

  • HLSで生成されたmemcached実装は、以前のRTL実装と同等のスループットおよびラインレート能力を達成した。
  • HLS設計は、RTLベースラインと比較して7–30%の遅延改善を達成し、より優れたタイミング最適化を示した。
  • リソース使用量は顕著に削減された:LUTは22%少なく、レジスタは35%少なくHLS版で使用された。
  • HLS実装は、同等のRTL設計と比較して、コード量が3倍少なく、開発時間が2倍短かった。
  • 設計はタイミング要件を満たし、Xilinx VC709 FPGAボード上で10Gbpsラインレートで実ハードウェアで正常に検証された。
  • 結果から、HLSは信号処理分野にとどまらず、キー値ストレージのような非信号処理ワークロードに対しても実用的かつ有益であることが示された。

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

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

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

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