Abstract

Modern cloud applications are complex distributed systems with tens or hundreds of interacting software components. An important management task in cloud computing platforms is to predict the impact of a certain workload or reconfiguration change on the performance of the application. Such predictions require the design of "what-if" models of the application that take as input hypothetical changes in the application's workload or environment and estimate its impact on performance. We present a workload-based what-if analysis system that uses commonly available monitoring information in large scale systems to enable the administrators to ask a variety of workload-based "what-if" queries about the system. We use a network of queues to analytically model the behavior of large distributed cloud applications. Our system automatically generates node-level queueing models and then uses model composition to build system-wide models. We employ a simple what-if query language and an intelligent query execution algorithm that employs on-the-fly model construction and a change propagation algorithm to efficiently answer queries on large scale systems. We have built a prototype and have used traces from two large production cloud bapplications from a financial institution as well as real-world synthetic applications to evaluate its what-if modeling framework. Our experimental evaluation validates the accuracy of our node-level resource usage, latency and workload models and then shows how our system enables what-if analysis in four different cloud applications.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call