130 likes | 241 Vues
This document explores dynamic request allocation methods in cloud environments, emphasizing context-aware scheduling that adheres to service level agreements (SLAs). It discusses strategies for managing different user classes with varying SLAs, optimizing task completion rates, and minimizing data migration times. Techniques such as FIFO and Weighted Round Robin are evaluated, along with adaptive scheduling that leverages global SLA compliance levels across data centers. A focus on maximizing profit through efficient server allocations while maintaining compliance is central to the presented system model.
E N D
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?
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
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. 464- 472, 2010.