Litcius/Paper detail

Metis: Learning to Schedule Long-Running Applications in Shared Container Clusters at Scale

Luping Wang, Qizhen Weng, Wei Wang, Chen Chen, Bo Li

202043 citationsDOI

Abstract

Online cloud services are increasingly deployed as long-running applications (LRAs) in containers. Placing LRA containers is known to be difficult as they often have sophisticated resource interferences and I/O dependencies. Existing schedulers rely on operators to manually express the container scheduling requirements as placement constraints and strive to satisfy as many constraints as possible. Such schedulers, however, fall short in performance as placement constraints only provide qualitative scheduling guidelines and minimizing constraint violations does not necessarily result in the optimal performance.In this work, we present Metis, a general-purpose scheduler that learns to optimally place LRA containers using deep reinforcement learning (RL) techniques. This eliminates the complex manual specification of placement constraints and offers, for the first time, concrete quantitative scheduling criteria. As directly training an RL agent does not scale, we develop a novel hierarchical learning technique that decomposes a complex container placement problem into a hierarchy of subproblems with significantly reduced state and action space. We show that many subproblems have similar structures and can hence be solved by training a unified RL agent offline. Large-scale EC2 deployment shows that compared with the traditional constraint-based schedulers, Metis improves the throughput by up to 61%, optimizes various performance metrics, and easily scales to a large cluster where 3K containers run on over 700 machines.

Topics & Concepts

Computer scienceScheduling (production processes)Distributed computingReinforcement learningMetisScheduleContainer (type theory)Software deploymentArtificial intelligenceMathematical optimizationSoftware engineeringOperating systemDatabaseMathematicsEngineeringMechanical engineeringCloud Computing and Resource ManagementIoT and Edge/Fog ComputingSoftware System Performance and Reliability
Metis: Learning to Schedule Long-Running Applications in Shared Container Clusters at Scale | Litcius