Skip to main content
QUICK REVIEW

[論文レビュー] SQUASH: Simple QoS-Aware High-Performance Memory Scheduler for Heterogeneous Systems with Hardware Accelerators

Hiroyuki Usui, Lavanya Subramanian|arXiv (Cornell University)|May 27, 2015
Parallel Computing and Optimization Techniques参考文献 37被引用数 8
ひとこと要約

SQUASH は、CPU とハードウェアアクセラレータ(HWA)を備えた異種システムを対象とした QoS 対応メモリスケジューラであり、分散型優先度、アプリケーションに特化した優先順位付け、デッドラインベースのスケジューリングを用いて、すべての HWA がデッドラインを満たす一方で、先行研究と比較して最大 24.0% の CPU 性能向上を実現する。これは、メモリアクセスパターンと短いデッドラインを持つ HWA の最悪ケース遅延推定値に基づいて、動的にスケジューリングを調整することで達成される。

ABSTRACT

Modern SoCs integrate multiple CPU cores and Hardware Accelerators (HWAs) that share the same main memory system, causing interference among memory requests from different agents. The result of this interference, if not controlled well, is missed deadlines for HWAs and low CPU performance. State-of-the-art mechanisms designed for CPU-GPU systems strive to meet a target frame rate for GPUs by prioritizing the GPU close to the time when it has to complete a frame. We observe two major problems when such an approach is adapted to a heterogeneous CPU-HWA system. First, HWAs miss deadlines because they are prioritized only close to their deadlines. Second, such an approach does not consider the diverse memory access characteristics of different applications running on CPUs and HWAs, leading to low performance for latency-sensitive CPU applications and deadline misses for some HWAs, including GPUs. In this paper, we propose a Simple Quality of service Aware memory Scheduler for Heterogeneous systems (SQUASH), that overcomes these problems using three key ideas, with the goal of meeting deadlines of HWAs while providing high CPU performance. First, SQUASH prioritizes a HWA when it is not on track to meet its deadline any time during a deadline period. Second, SQUASH prioritizes HWAs over memory-intensive CPU applications based on the observation that the performance of memory-intensive applications is not sensitive to memory latency. Third, SQUASH treats short-deadline HWAs differently as they are more likely to miss their deadlines and schedules their requests based on worst-case memory access time estimates. Extensive evaluations across a wide variety of different workloads and systems show that SQUASH achieves significantly better CPU performance than the best previous scheduler while always meeting the deadlines for all HWAs, including GPUs, thereby largely improving frame rates.

研究の動機と目的

  • 異種システムにおける HWA のデッドライン遵守と高い CPU 性能の両立に失敗する既存のメモリスケジューラの限界を解消すること。
  • デッドラインに近づいた時点で HWA の優先度を上げるだけでは、デッドライン違反が発生し、性能が最適でないことを特定すること。
  • CPU アプリケーションと HWA の多様なメモリアクセス特性を考慮することで、全体のシステム効率を向上させるスケジューラを設計すること。
  • GPU を含むすべての HWA が一貫してデッドラインを満たす一方で、遅延に敏感な CPU ワークロードへの干渉を最小限に抑えること。
  • 共有メモリ SoC におけるハードウェアアクセラレータのリアルタイム保証を損なわず、高いシステム性能を達成すること。

提案手法

  • SQUASH は、HWA の進行状況を継続的に監視し、HWA がデッドラインの進行状況から遅れを示した場合に優先度を引き上げる分散型優先度を採用する。これは、最終段階にのみ優先度を予約するのではなく、進行状況に応じて優先度を動的に変更する。
  • HWA を、メモリ遅延にあまり影響されないメモリ集約型 CPU アプリケーションよりも優先する。これにより、CPU 性能への影響を最小限に抑えながら HWA の進行を加速できる。
  • 短いデッドラインを持つ HWA に対しては、最悪ケースのメモリアクセス時間の推定値に基づいて、短時間の高優先度スケジューリングを実施することで、タイムリーな完了を保証する。
  • スケジューリング単位(SchedulingUnit)を 1000 サイクル、スイッチング単位(SwitchingUnit)を 500 サイクルとして設定し、性能と公平性のバランスを最適化する。この値は経験的に選定された。
  • リアルタイムでの進行状況の追跡に基づいて、HWA の緊急性を動的に分類し、それに応じて優先度確率を調整する。
  • SQUASH は、ソーススローティングやバンクパーティショニングなどの既存のメモリ管理技術と統合され、補完的なスケジューリング基盤として機能する。

実験結果

リサーチクエスチョン

  • RQ1メモリスケジューラは、異種システムにおいて HWA のデッドラインを効果的に満たしつつ、高い CPU 性能を維持できるか?
  • RQ2HWA のデッドラインに近づいた段階での優先順位付けのみでは、デッドライン違反が発生し、性能が最適でないのか?
  • RQ3メモリアクセス特性に基づくアプリケーションに特化した優先順位付けは、HWA のデッドライン遵守と CPU 性能の両方を向上させられるか?
  • RQ4最悪ケースのメモリアクセス時間の推定値に基づくスケジューリングは、短いデッドラインを持つ HWA の性能にどのような影響を与えるか?
  • RQ5単純で予測機能を備えないスケジューリング機構は、実世界のワークロードにおいて、複雑なデッドライン対応スケジューラを上回る性能を発揮できるか?

主な発見

  • SQUASH は、最高の先行スケジューラと比較して、CPU 性能を最大 24.0% 向上させながら、すべての HWA のデッドラインを常に満たす。
  • GPU を含むすべての HWA のデッドライン満足率は 100% に達し、QoS の遵守が一貫的で信頼性が高いことが示された。
  • SQUASH は、必要に応じてのみスケジューリングを行う知的で効率的な戦略により、HWA が遅延に敏感な CPU アプリケーションよりも優先される回数を削減した。
  • 分散型優先度の採用により、デッドライン期間の初期段階で性能のずれを事前に特定し、最終段階でのデッドライン違反を防げる。
  • SQUASH は、多様なワークロードにおいて、最先端の CPU-GPU スケジューラ [17] よりも高いシステム性能とデッドライン満足率を達成した。
  • 最適な構成は、SchedulingUnit を 1000 サイクル、SwitchingUnit を 500 サイクルとして設定したものであり、性能と公平性のバランスを最適に保っていた。

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

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

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

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