Cloud Scheduling Dynamic Request Allocation with Respect to Context and SLA Charles Snyder The Problem • Applications use some “context” data ▫ Accessed by context id ▫ Burst access is common ▫ Minimize data migration time • Profit determined by SLA conformance ▫ User classes with different SLA’s ▫ Some % of requests completed on time ▫ Profit only charged if SLA is met • How do we maximize profit? System Model Simple Solutions • Static Allocation ▫ Each context maps to a particular machine ▫ Can cause build-up • Scheduling ▫ FIFO Complete tasks quickly ▫ Weighted Round Robin (WRR) Complete high-profit tasks first Algorithm • Divide execution into subintervals with 2 steps: • Adaptation ▫ Compute global SLA compliance levels • Allocation ▫ Find the best-suited server Appropriate context Appropriate service-endpoint Least loaded ▫ Servers schedule their own queues Adaptation • Each data center sends interval data to all others ▫ Authors assume communication time is negligible • All data centers compute: for (each class of user) current compliance = prev compliance * prev # serviced + # on time total # serviced Before Allocation • Quantify risk-reward for SLA ▫ Profit Score • For a given user class: if (current compliance < SLA compliance) profit score = profit / (SLA compliance – current compliance) else profit score = 0 Allocation • Servers keep lookup table for loaded contexts and service-endpoints for (each server with context) if (server is “compatible” with task) allocate task for (each server with service-endpoint) if (server is “compatible” with task) allocate task allocate task to least loaded server Compatibility Check add new request to queue sort queue by profit score sort queue by deadlines create approximate schedule average position in both sorts if (deadline of new request will be met) compatible else incompatible Server Scheduling • gi-FIFO • Pick user class with highest profit score • Modified FIFO ▫ Pick task with longest wait that can be completed on time ▫ Otherwise, FIFO Performance Static vs Dynamic Allocation Resources • K. Boloor, R. Chirkova, Y. Viniotis, and T. Salo. “Dynamic request allocation and scheduling for context aware applications subject to a percentille response time SLA in a distributed cloud.” Proc. IEEE 2nd Int. Conf. on Cloud Computing Technology and Science, pp. 464472, 2010.