Autonomous resource management in dynamic data centers
Autoren
Mehr zum Buch
Software as a Service (SaaS) providers offer customers easy and spontaneous access to applications that are usually run on virtualized hardware. While virtualization enables flexible administration and better hardware utilization, it turns the data centers into stochastic environments where it is hard to avoid overprovisioning and at the same time guarantee an agreed quality of service (QoS). The number of users and services increases, which makes it impossible to manage user requests manually. This thesis presents a control theory framework for ensuring the QoS for any given SaaS. For this the resources of the system – such as resource allocations and configuration parameters – are adapted during runtime. The framework supports the adjustment of multiple resources and, in contrast to previous work, also allows for resources whose reconfiguration causes long delays. The concepts are integrated into a multi-agent system consisting of a scheduler agent and multiple worker agents. Each user request is controlled by an autonomous worker agent, which is equipped with controller implementations and application-specific knowledge allowing it to estimate the type and number of necessary resources. All worker agents interact with the scheduler agent, which takes care of limited resources and does a cost-aware scheduling by assigning jobs to times with low costs. The lowest layer of the system has a rule-based mapping algorithm assigning virtual machines (VMs) to the hosts according to different policies. The control cycles have been evaluated with two different applications, a high performance computing (HPC) software and an e-commerce benchmark. An energy-aware and SLO fulfilling SaaS stack was built up including a scheduler agent that assigns jobs according to an energy function and a mapper that considers an energy metric.