アプリケーションでのリソース干渉を管理するためのフレームワーク
新しいフレームワークは、遅延が重要なサービスのパフォーマンス問題を減らすことを目指している。
― 1 分で読む
目次
今日のコンピューティング環境では、いろんなアプリケーションが同じ物理サーバーで一緒に動いて、リソースをうまく使うようになってる。これ、効率的なこともあるけど、パフォーマンスの問題が起きることもあって、特に素早いレスポンスが必要なアプリには影響があるんだ。この素早いレスポンスが必要なアプリをレイテンシークリティカルサービス(LCS)って呼んでて、逆にあまり時間に敏感じゃないアプリはベストエフォートジョブ(BEJ)って呼んでる。一緒に同じサーバーで動くと、CPUやメモリみたいなリソースを争うことになるから、LCSのパフォーマンスが悪くなっちゃうんだ。
いろんなプロダクションクラスターからのデータを詳しく分析した結果、BEJはリソースの使い方に定期的なパターンがあることが分かった。これがLCSに干渉して、BEJの種類によってLCSのパフォーマンスに与える影響が違うんだ。この問題を解決するために、BEJからLCSが受けるパフォーマンスの干渉を評価して減らすためのフレームワークを提案するよ。
レイテンシークリティカルサービスとベストエフォートジョブの理解
LCSは、ユーザーのリクエストに素早く応える必要があるアプリで、オンラインショッピングやメッセージング、ウェブ検索みたいなタスクを含むんだ。これらはリクエストを素早く処理するために、いくつかのインスタンスをいろんなサーバーで動かしてる。需要に応じてLCSのインスタンス数は変わることがあるよ。
一方、BEJは、大量のデータを処理するために作られたバッチジョブで、レスポンス時間に厳密な要件はない。データ処理に集中していて、即座の結果は必要ない。このBEJが多くのリソースを使うから、LCSと一緒に動くときのスケジューリングがきちんと管理されることが大事なんだ。
干渉の問題
LCSとBEJが同じサーバーで動くと、リソースを巡る競争のせいでパフォーマンスの問題が起こる。この競争はLCSのパフォーマンスを遅くしちゃうから、サービスの質を保つためには大事な問題なんだ。これをうまく解決するのが課題なんだよ。
生産クラスターで干渉を管理しようとするときの複雑なポイントは3つあるよ:
多様なリソースのニーズ:アプリによってリソースの要件が違うから、パフォーマンスの結果も変わってくる。
相互干渉:多くのアプリが同じサーバーで動いてると、どのアプリがパフォーマンスの低下を引き起こしているのか特定するのが難しい。
動的なワークロード:アプリが使うリソースの種類や量が急速に変わるから、安定した干渉管理プランを作るのが難しい。
BEJのスケジューリングを工夫してLCSへの悪影響を最小限にする戦略を考えるのが大切だよ。
データ分析からの洞察
2つの大規模プロダクションクラスターからの実際のデータを詳しく分析した結果、いくつかの重要な観察が得られた:
BEJがサーバーのリソース利用を支配していて、それがLCSにパフォーマンスの問題を引き起こしている。
多くのBEJが時間をかけて実行パターンを繰り返す。
BEJが同じリソースレベルを使っても、種類によってLCSのパフォーマンスへの干渉が異なる。
動的なクラスターの特性を考慮して、個々のBEJを分析するのではなく、BEJの集合的な影響を理解することに焦点を当てることにしたよ。
提案するフレームワーク:PISM
BEJによる干渉を解決するために、パフォーマンス干渉スコアリングと緩和フレームワーク(PISM)を開発した。PISMの働きはこんな感じ:
BEJの特性化:まず、PISMはリソースの使い方でBEJを特定して分類する。行動やリソースの要求に基づいてグループ化することで、干渉分析の複雑さを簡略化する。
関係のモデリング:PISMはサーバー上の異なるBEJの組み合わせとLCSのレスポンスタイムとの相互作用をモデル化する。これにより、どの程度の干渉が起こるかの予測ができる。
干渉スコアリング:PISMはLCSのレスポンスタイムに基づいて干渉を定量化するスコアリングシステムを作成する。これでBEJのスケジューリングの際にインフォームドな判断ができて、LCSが良い条件で動くようにできる。
PISMの評価
PISMフレームワークの効果は小規模クラスターでテストされ、広範なシミュレーションを通じて大きな改善が見られた。PISMは干渉を最大41.5%削減できたし、処理で最も負担のかかるLCSのスループットが76.4%も向上した。
ジョブスケジューリング戦略
LCSとBEJが同じサーバーをシェアする時、ワークロードの管理が大事。BEJのスケジューリングはLCSへのパフォーマンスへの影響を最小限にするために慎重に行う必要がある。いくつかのスケジューリング戦略が使えるよ:
予測に基づくスケジューリング:この方法は、アプリが共存する時の期待されるパフォーマンスを推定する。どのサーバーが最小限の干渉を引き起こすかを特定するのに役立つ。
リソース予約:LCSのために特定のCPUやメモリの量を予約することで、この戦略はBEJがパフォーマンス低下を引き起こすほどにリソースを消費するのを防ぐ。
負荷バランシング:ワークロードをサーバー間で均等に分配することで、リソースの要求をうまく管理できて、ボトルネックの可能性を減らせる。
これらの戦略はそれぞれ単独でも、または組み合わせても利用できて、アプリケーションの特定の要件に応じることができる。
実世界データからの結果
プロダクションクラスターのデータを使って、次のことが分かった:
BEJによるリソースの支配:サーバーのリソース利用のほとんどはBEJに帰属し、LCSは厳密なリソースレベルを必要としながらも、利用率が低いことが多い。
BEJ実行の繰り返し:多くのBEJが予測可能な実行パターンに従っていて、分類やスケジューリングがしやすい。
パフォーマンスの敏感さ:異なるLCSがBEJの干渉に対して異なるレベルの敏感さを示していて、特定のアプリは他のアプリよりもリソース競合からの保護が必要なことを示している。
将来の研究への影響
この発見は、重要なLCSのパフォーマンスを損なうことなくリソース利用を改善するための将来の研究への道を示している。異なるBEJの構成やリソース要求の特定の影響を調査することで、より洗練されたスケジューリングアルゴリズムに繋がるかもしれない。
結論
私たちの研究は、LCSとBEJが共存する生産クラスターでのリソーススケジューリングのための強力なフレームワークを提示する。アプリケーションのパフォーマンスと干渉のダイナミクスを理解することで、LCSのレスポンスタイムを改善しながら、利用可能なリソースを最大限に活用できる。このアプローチはLCSのパフォーマンスを高めるだけでなく、同時に動いているBEJのパフォーマンスにも良い影響を与えることができる。
生産環境が進化し続ける中で、効果的なリソーススケジューリングの必要性はさらに重要になってきていて、アプリがユーザーの要求を信頼性高く効率的に満たせるようにしなきゃいけない。
PISMフレームワークは、この目標を達成するための有望な一歩で、さまざまなクラスター環境でのさらなる開発と応用の可能性があるよ。
タイトル: Mitigating Interference of Microservices with a Scoring Mechanism in Large-scale Clusters
概要: Co-locating latency-critical services (LCSs) and best-effort jobs (BEJs) constitute the principal approach for enhancing resource utilization in production. Nevertheless, the co-location practice hurts the performance of LCSs due to resource competition, even when employing isolation technology. Through an extensive analysis of voluminous real trace data derived from two production clusters, we observe that BEJs typically exhibit periodic execution patterns and serve as the primary sources of interference to LCSs. Furthermore, despite occupying the same level of resource consumption, the diverse compositions of BEJs can result in varying degrees of interference on LCSs. Subsequently, we propose PISM, a proactive Performance Interference Scoring and Mitigating framework for LCSs through the optimization of BEJ scheduling. Firstly, PISM adopts a data-driven approach to establish a characterization and classification methodology for BEJs. Secondly, PISM models the relationship between the composition of BEJs on servers and the response time (RT) of LCSs. Thirdly, PISM establishes an interference scoring mechanism in terms of RT, which serves as the foundation for BEJ scheduling. We assess the effectiveness of PISM on a small-scale cluster and through extensive data-driven simulations. The experiment results demonstrate that PISM can reduce cluster interference by up to 41.5%, and improve the throughput of long-tail LCSs by 76.4%.
著者: Dingyu Yang, Kangpeng Zheng, Shiyou Qian, Jian Cao, Guangtao Xue
最終更新: 2024-07-16 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2407.12248
ソースPDF: https://arxiv.org/pdf/2407.12248
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。