Autonomic Cloud Management System
By Cihan Tunc and Farah Fargo
With the rapid growth of data centers and clouds, the power consumption and power cost for such systems have become critically important to be managed efficiently. Several research studies have shown that data servers typically operate at a low utilization of 10% to 15%, while their power consumption is close to those at peak loads. With this significant fluctuation in the workloads, an elastic delivery of computing services with an efficient power provisioning mechanism becomes an important design goal. Our work presents an autonomic power and performance management system that utilizes AppFlow-based reasoning to configure virtual machine (VM) resource allocation dynamically during runtime. Our approach, shown in Figure 1, continuously monitors the workload behavior to determine the current operating point of workloads and the VMs running these workloads, and then predicts the next operating point for these workloads. This enables the system to allocate the appropriate amount of VM resources to efficiently run the workloads with minimum power consumption. We have experimented with and evaluated our approach to manage the VMs running RUBiS bidding application. Our experimental results showed that our approach can reduce the VMs’ power consumption up to 84% compared to static resource allocation and up to 30% compared to other methods with minimum performance degradation.
Our framework is shown in the Figure 2: Offline training phase (Figure 2.a) and online plan execution phase (Figure 2.b). During the offline training phase, we build information on the workloads' behavior. First, we monitor the systems and collect information about their runtime system behavior to identify and characterize different workload types. We map the workloads to different AppFlow types in this phase. Finally, we decide which configurations to use for each AppFlow type that will reduce power consumption without sacrificing performance in the Plan Generation module. In the Plan Generation module, we also need the Application SLA documentation (which is prepared by the application users and cloud providers) to create effective plans.
During the online plan execution phase (Figure 2.b), the managed systems are monitored during runtime to predict the current operating AppFlow types. Once the operating AppFlow type is identified, using Plan Selection module, the right configuration will be determined associated with the selected AppFlow type. Next, Plan Execution module will be invoked to apply the decided configuration for that AppFlow type. The current configuration will only be changed if it is determined that the previously selected AppFlow type does not accurately model the current workload.