Energy-Efficient Core Allocation and Deployment for Container-Based Virtualization

Infrastructure-as-a-Service (IaaS) is a popular form of cloud computing that provides virtualized computing resources. The current trend of IaaS is moving from virtual machine-based into container-based. In this paper, we study the energy-efficient resource allocation problem for container-based virtualization in a data center. Our goal is to minimize the energy consumption by determining 1) the number of cores allocated to a container, 2) the operating frequency of the container, and 3) the deployment of the container to server. Every container has to meet its service level agreement (SLA). We propose dynamic programming algorithms that can be used under different scenarios, depending on the affordable time complexity. The performance of the proposed algorithms is evaluated with energy consumption data collected from experiments.

[1]  Jeffrey D. Ullman,et al.  Worst-Case Performance Bounds for Simple One-Dimensional Packing Algorithms , 1974, SIAM J. Comput..

[2]  Christoph W. Kessler,et al.  Fast Crown Scheduling Heuristics for Energy-Efficient Mapping and Scaling of Moldable Streaming Tasks on Manycore Systems , 2015, ACM Trans. Archit. Code Optim..

[3]  Safia Kedad-Sidhoum,et al.  Scheduling Independent Moldable Tasks on Multi-Cores with GPUs , 2017, IEEE Transactions on Parallel and Distributed Systems.

[4]  Ching-Chi Lin,et al.  Energy-efficient Virtual Machine Provision Algorithms for Cloud Systems , 2011, 2011 Fourth IEEE International Conference on Utility and Cloud Computing.

[5]  Zhenhuan Gong,et al.  PRESS: PRedictive Elastic ReSource Scaling for cloud systems , 2010, 2010 International Conference on Network and Service Management.

[6]  Rajkumar Buyya,et al.  Managing Overloaded Hosts for Dynamic Consolidation of Virtual Machines in Cloud Data Centers under Quality of Service Constraints , 2013, IEEE Transactions on Parallel and Distributed Systems.

[7]  Rajkumar Buyya,et al.  Elastic Load Balancing for Dynamic Virtual Machine Reconfiguration Based on Vertical and Horizontal Scaling , 2019, IEEE Transactions on Services Computing.

[8]  Peter Sanders,et al.  Energy Efficient Frequency Scaling and Scheduling for Malleable Tasks , 2012, Euro-Par.

[9]  Rajkumar Buyya,et al.  Vertical and horizontal elasticity for dynamic virtual machine reconfiguration , 2016 .

[10]  David Bernstein,et al.  Containers and Cloud: From LXC to Docker to Kubernetes , 2014, IEEE Cloud Computing.

[11]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[12]  Yves Robert,et al.  Co-scheduling algorithms for high-throughput workload execution , 2013, Journal of Scheduling.

[13]  Mohsen Guizani,et al.  Energy-Efficient Resource Allocation and Provisioning Framework for Cloud Data Centers , 2015, IEEE Transactions on Network and Service Management.

[14]  Joseph Y.-T. Leung,et al.  Complexity of Scheduling Parallel Task Systems , 1989, SIAM J. Discret. Math..

[15]  Chia Chun Shih,et al.  Job Dispatching and Scheduling for Heterogeneous Clusters -- A Case Study on the Billing Subsystem of CHT Telecommunication , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[16]  Richard E. Brown,et al.  United States Data Center Energy Usage Report , 2016 .

[17]  Xiaohu Wu,et al.  Simple Algorithms for Scheduling Monotonic Moldable Tasks , 2016, ArXiv.

[18]  Keqin Li,et al.  Energy efficient scheduling of parallel tasks on multiprocessor computers , 2012, The Journal of Supercomputing.