核心概念
クラウド環境におけるアクセラレータのSLO違反は、計算リソースではなく、通信リソースの競合が主要因であり、トラフィックシェーピングによる解決が有効である。
摘要
研究の概要
本論文は、クラウド環境におけるアクセラレータのサービスレベル目標(SLO)管理における課題と、その解決策としてトラフィックシェーピングを用いたArcusという新しいシステムを提案しています。
背景
クラウドサービスでは、CPU効率の向上のために、暗号化、圧縮、ハッシュなどの一般的なタスクにアクセラレータが使用されています。しかし、既存のアクセラレータ管理システムは、計算リソースとメモリリソースの分離や公平な割り当てに焦点を当てており、通信リソースの競合を考慮に入れていません。その結果、アクセラレータ関連の競合が発生し、ユーザーのSLOが満たされないケースが増加しています。
Arcusの提案
Arcusは、アクセラレータのSLO管理を、通信リソースの競合を考慮したトラフィック管理として捉え、プロアクティブなトラフィックシェーピングを用いることで、SLO保証を実現します。具体的には、以下のコンポーネントで構成されています。
- SLO対応プロトコル: トラフィックシェーピングをサポートするアーキテクチャ上で実現され、ホストソフトウェアとVMとのやり取りを管理します。
- オフロードされたインターフェース: すべてのトラフィックをインターセプトし、監視、管理するためのインターフェースをアクセラレータ側にオフロードすることで、ホストリソースの競合を回避し、高性能を実現します。
- フロー単位のSLO対応トラフィックシェーピングメカニズム: 各フローのトラフィックパターンをプロアクティブにシェーピングすることで、SLOを満たします。
- プロファイリング支援トラフィックシェーピング: オフラインプロファイリングにより、トラフィックパターン、パスモードの組み合わせ、システム設定などを考慮した上で、アクセラレータの利用可能な容量を学習し、トラフィックシェーピングの意思決定に活用します。
評価
FPGAベースのプロトタイプを用いた評価の結果、Arcusは、ベースラインと比較して、SLOを維持できることが確認されました。また、スループットとテールレイテンシの分散はほぼゼロで、正確なSLOを実現できることも示されました。
結論
Arcusは、クラウド環境におけるアクセラレータのSLO管理に効果的なアプローチであり、プロバイダーはCPU効率、全体的なスループット、アクセラレータの利用率を向上させることができます。また、Arcusの予測可能性により、オーバーサブスクリプションなどの柔軟なリソース管理も可能になります。
統計資料
セキュリティとデータ処理などの一般的なタスクは、クラウドのCPUサイクルの最大82%を消費する可能性があります。
Arcusは、99.9%のレイテンシを最大45%削減し、スループットの分散を1%未満に抑えます。
Arcus対応システムは、RocksDBアプリケーションのスループットを最大1.43倍向上させ、CPUサイクルを58.9%削減します。
引述
"The focus of this work is meeting SLOs in accelerator-rich systems."
"We present Arcus, treating accelerator SLO management as traffic management with proactive traffic shaping."
"We guarantee accelerator SLO for various circumstances, with up to 45% tail latency reduction and less than 1% throughput variance."