Skip to main content
QUICK REVIEW

[Paper Review] C-Balancer: A System for Container Profiling and Scheduling

Akshay Dhumal, D. Janakiram|arXiv (Cornell University)|Sep 18, 2020
Cloud Computing and Resource Management13 references4 citations
TL;DR

C-Balancer is a container scheduling framework that uses runtime profiling to optimize container placement across nodes, reducing resource contention and improving performance. By dynamically rebalancing containers based on CPU, memory, and I/O metrics, it achieves up to 58% higher throughput and 60% lower resource utilization variance in mixed workloads.

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.

Motivation & Objective

  • Address the lack of intelligent container scheduling in existing orchestration tools like Docker Swarm and Kubernetes.
  • Reduce performance degradation caused by resource contention when multiple containers share the same node.
  • Enable proactive container migration in response to resource contention or security threats.
  • Improve overall cluster stability and resource utilization through dynamic, metric-driven scheduling decisions.
  • Provide a scalable, extensible framework that supports future enhancements like GPU acceleration and hardware performance counters.

Proposed method

  • Periodically profiles container workloads using runtime metrics such as CPU, memory, I/O, and network usage.
  • Applies a scheduling optimizer that evaluates container-node affinity based on resource profiles to minimize contention.
  • Uses container migration with two file system synchronization techniques to relocate containers across nodes.
  • Employs a load-balancing strategy that prioritizes even distribution while minimizing performance degradation.
  • Leverages lightweight profiling to avoid high monitoring overhead, enabling scalability across large clusters.
  • Supports integration with existing orchestration platforms by operating as a scheduling layer on top of Docker Swarm.

Experimental results

Research questions

  • RQ1How can container scheduling be improved to reduce performance degradation due to shared resource contention?
  • RQ2What runtime metrics are most effective for predicting and mitigating resource contention in containerized workloads?
  • RQ3Can dynamic container migration based on real-time profiling lead to measurable improvements in throughput and resource utilization?
  • RQ4How does the proposed scheduling framework compare to default strategies like spread, bin-packing, and random in terms of performance and stability?
  • RQ5To what extent can the framework be extended to support advanced features like GPU acceleration and security-driven migration?

Key findings

  • C-Balancer achieves a maximum performance improvement of 58% for a mixed workload of Stress-NG and iPerf benchmarks.
  • The framework reduces the variance in resource utilization across the cluster by 60% on average, enhancing cluster stability.
  • Memory-intensive and network-intensive containers show the highest performance gains, with up to 58% reduction in dropped packets.
  • The approach significantly reduces the S-value (a metric for resource contention), with an average reduction of 61% across all workloads.
  • The performance improvement is most pronounced for I/O and memory-intensive workloads, where contention has a greater impact than CPU contention.
  • The system is scalable and can be extended to leverage GPU acceleration for faster scheduling decisions in large clusters.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.