Skip to main content
QUICK REVIEW

[論文レビュー] C-Balancer: A System for Container Profiling and Scheduling

Akshay Dhumal, D. Janakiram|arXiv (Cornell University)|Sep 18, 2020
Cloud Computing and Resource Management参考文献 13被引用数 4
ひとこと要約

C-Balancer は、実行時プロファイリングを用いてノード間でのコンテナ配置を最適化するコンテナスケジューリングフレームワークであり、リソースの競合を低減し、パフォーマンスを向上させます。CPU、メモリ、I/O メトリクスに基づいて動的にコンテナを再バランスすることで、混合ワークロードにおいて最大 58% の高いスループットと 60% の低いリソース利用率のばらつきを達成しています。

ABSTRACT

Linux containers have gained high popularity in recent times. This popularity is significantly due to various advantages of containers over Virtual Machines (VM). The containers are lightweight, occupy lesser storage, have fast boot-up time, easy to deploy and have faster auto-scaling. The key reason behind the popularity of containers is that they leverage the mechanism of micro-service style software development, where applications are designed as independently deployable services. There are various container orchestration tools for deploying and managing the containers in the cluster. The prominent among them are Docker Swarm and Kubernetes. However, they do not address the effects of resource contention when multiple containers are deployed on a node. Moreover, they do not provide support for container migration in the event of an attack or increased resource contention. To address such issues, we propose C-Balancer, a scheduling framework for efficient placement of containers in the cluster environment. C-Balancer works by periodically profiling the containers and deciding the optimal container to node placement. Our proposed approach improves the performance of containers in terms of resource utilization and throughput. Experiments using a workload mix of Stress-NG and iPerf benchmark shows that our proposed approach achieves a maximum performance improvement of 58% for the workload mix. Our approach also reduces the variance in resource utilization across the cluster by 60% on average.

研究の動機と目的

  • Docker Swarm や Kubernetes などの既存のオーケストレーションツールに見られる知能的なコンテナスケジューリングの欠如に対処すること。
  • 複数のコンテナが同じノードを共有する場合に発生するリソース競合によるパフォーマンス劣化を軽減すること。
  • リソース競合やセキュリティ脅威に応じてプロアクティブにコンテナを移行できるようにすること。
  • 動的なメトリクス駆動のスケジューリング意思決定により、全体的なクラスタの安定性とリソース利用効率を向上させること。
  • 将来の拡張機能(例:GPUアクセラレーション、ハードウェアパフォーマンスカウンター)をサポートできるスケーラブルで拡張可能なフレームワークを提供すること。

提案手法

  • CPU、メモリ、I/O、ネットワーク使用量などの実行時メトリクスを用いて、コンテナワークロードを定期的にプロファイリングする。
  • リソースプロファイルに基づいてコンテナ-ノードの適合度を評価し、競合を最小限に抑えるスケジューリング最適化を適用する。
  • ノード間でのコンテナの移動に、2つのファイルシステム同期技術を用いる。
  • パフォーマンス劣化を最小限に抑えつつ、均等な分散を優先するロードバランシング戦略を採用する。
  • 高い監視オーバーヘッドを避けるために、軽量なプロファイリングを活用し、大規模クラスタでのスケーラビリティを実現する。
  • Docker Swarm の上位レイヤーとしてスケジューリング層として動作することで、既存のオーケストレーションプラットフォームとの統合をサポートする。

実験結果

リサーチクエスチョン

  • RQ1共有リソースの競合によるパフォーマンス劣化を低減するため、コンテナスケジューリングをどのように改善できるか?
  • RQ2コンテナライズドワークロードにおけるリソース競合の予測と緩和に最も効果的な実行時メトリクスは何か?
  • RQ3リアルタイムプロファイリングに基づく動的コンテナ移行は、スループットとリソース利用効率に測定可能な改善をもたらすか?
  • RQ4提示されたスケジューリングフレームワークは、スプレッド、ビンパッキング、ランダムなどのデフォルト戦略と比較して、パフォーマンスと安定性においてどのように異なるか?
  • RQ5GPUアクセラレーションやセキュリティ駆動の移行といった高度な機能をサポートするために、このフレームワークはどの程度拡張可能か?

主な発見

  • C-Balancer は、Stress-NG と iPerf ベンチマークの混合ワークロードにおいて、最大 58% のパフォーマンス向上を達成した。
  • フレームワークは、クラスタ全体のリソース利用率のばらつきを平均で 60% 減少させ、クラスタの安定性を向上させた。
  • メモリ集約的およびネットワーク集約的なコンテナは、最大 58% のパケット損失削減という最も顕著なパフォーマンス向上を示した。
  • リソース競合の指標である S-値は、すべてのワークロードで平均で 61% 減少し、顕著な改善が得られた。
  • I/O やメモリ集約的ワークロードでは、CPU 競合よりも影響が大きいことから、パフォーマンス向上が特に顕著であった。
  • 本システムはスケーラブルであり、大規模クラスタにおけるスケジューリング意思決定を高速化するための GPU アクセラレーションの活用にも拡張可能である。

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

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

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

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