Department of Computer Engineering
CS 690 SEMINAR
Achieving Fairness and Utilization in Cloud-Native Workloads Using Intelligent Container Consolidation with Linux Cgroups
Computer Engineering Department
Cloud-native is a newly coined term for applications and systems that can exploit the advantages of cloud computing delivery model, to achieve building distributed systems capable of scaling to tens of thousands of nodes. Cloud-native applications are often packaged as containers, meant to run in smart orchestrators like Kubernetes. However, as the new paradigm recommends building focused, small scale, but higher quantity applications, the need of proper scheduling and placement of the batch and interactive workloads gains emphasis in order to utilize the resources and achieve cost effectiveness. Compared to traditional Virtual Machine based deployments, containers allow usage of single operating system kernel in isolation and with almost zero overhead, meaning multiple containers can be deployed safely to same operating system. In our work, we focus on proper sharing of the computing resources to preserve fairness among multiple containers and achieve high utilization by sharing and limiting the CPU bandwidth under Linux using CGroups CPU weight and bandwidth limitation configuration of Completely Fair Scheduler (CFS). We also investigate the challenges of scheduling both batch and interactive workloads, since their SLA requirements differ, whereas the realtime jobs are sensitive to individual request latencies and the batch jobs are expected to be completed in a given deadline. We analyze how the CPU time is spent with several sample applications and show what kind of tasks should be colocated and how can we identify such tasks in an automated manner and use the task classification information in future scheduling decisions.
DATE: 19 March, 2018, Monday, CS590 & CS690 presentations begin at @ 15:40