Andrew Turner Defense

Andrew Turner Defense

Starts at: December 18, 2013 2:00 PM

Ends at: 5:00 PM

Location: HH D210


Enterprise applications are increasingly being deployed to Cloud computing environments. Cloud computing reduces data center costs by running applications inside of Virtual Machines (VMs). This allows many different applications and customers to share hardware, increasing the hardware utilization levels and reducing related costs. Cloud computing providers also allow customers to dynamically – or “elastically” – scale-up and scale-down their number of VMs. This allows customers to change their resource allocation based upon the workload level of their applications.

Despite Cloud computing reducing the management burden of the customers, the Cloud itself is still a set of hardware that must be managed. As Clouds host many different types of applications and span thousands of physical hosts this is becoming increasingly difficult. Varying workload levels change the amount of resources that each customer will consume. This in turn changes the perform level of a customer’s application, and also the perform levels of other customers’ applications that utilize the same shared hardware. So while Cloud computing offers convenient resource scaling, it cannot guarantee good application level performance.

We propose a Cloud Input Shaper and Dynamic Resource Controller to provide application level quality of service guarantees in Cloud computing environments. The Input Shaper splits the Cloud into two areas; one for shaped traffic that achieves quality of service targets, and one for overflow traffic that may not achieve its target. The Dynamic Resource Controller profiles a customer’s application, then calculates and allocates the resources required by the application to achieve a given quality of service target. The Input Shaper then shapes the rate of incoming requests to ensure the application achieves its quality of service target based on the amount of allocated resources. Incoming requests that will cause the application to fail to achieve its target are redirected to an overflow area of the datacenter. This allows the shaped zone of the datacenter to have both predictably high performance and high resource utilization levels. It further provides isolation between applications to prevent a surge in one customer’s workload from degrading the performance of another customer’s application.

To evaluate our system we create a new benchmark application that is suitable for use in Cloud computing environments. It is designed to reflect the current design of Cloud based applications and can dynamically scale at each application tier to handle large and varying workload levels. The benchmark includes the complexity of a production integrating 7 different applications, 80,000 lines of program code and 10,000 lines of test code. In addition, the client that drives the benchmark also mimics realistic user behaviors such as browsing from multiple tabs, using JavaScript, and variable thinking and typing speeds. We show that a Cloud management system evaluated using previous benchmarks could violate its estimated quality of service achievement rate by over 20%.

The Input Shaper and Dynamic Resource Controller system consists of an application performance modeler, a resource allocator, and an Apache HTTP server module to reshape the rate of incoming web requests. As we implemented the Input Shaper as an Apache HTTP server module our system will work with a majority of web based applications – currently 54% of websites use Apache HTTP server. We show that by dynamically allocating resource to application’s their response time can be improved by as much as 30%. Also, the amount of resources required to host applications can be decreased by 20% while achieving quality of service targets due to reduced resource waste.