|Abstract:||IT systems in todays' enterprises are spread across organizations, are heterogeneous, and have high infrastructure and management costs. With the growing complexity of software and hardware, such costs are expected to rise exponentially. A new computing model termed as Utility Systems is emerging that consolidates IT infrastructure in centralized data centers, shares resources across users, allocates resources on-demand to user applications, and does pay-per-use accounting based on resource usage. Such a computing model is envisioned to reduce infrastructure costs through sharing of resources; as well as management costs by eliminating duplication of management processes, and of superfluous resources. However, a shared utility infrastructure leads to workloads competing for resources, dynamically changing workload demands, and a heterogeneous mix of applications. Existing resource management solutions for such systems either over-provision resources resulting in system inefficiency, or under-provision resources leading to unsatisfied service guarantees. As a result, with these resource management solutions, there exists a hindrance towards broader adoption of the utility model.
We propose model-driven resource management techniques and mechanisms that provide application QoS guarantees, while maintaining efficient utilization of resources. Our approach is based on creating application models that aid in prediction of performance and the behavior of applications. Creating models is challenging due to hard-to-predict workloads, complexity of application structure, scale of applications, competing customer requirements, and need for elaborate measurements for analysis.
We make the following major contributions. First, we present a methodology for application model-driven resource management. We define a general application model consisting of a QoS model, dependency model, workload model, and performance model. The methodology consists of characterizing application workloads and dependencies, profiling application usage, developing statistical and analytical model equations, and extending them for dependencies.
Second, we apply the methodology to a remote desktop utility, in which the users' desktop applications are hosted in a utility system, and the user accesses the remote desktop session through a thin client. We have created novel models for remote desktop sessions. The modeling derivation for a desktop session is split in two stages. In the first stage, the derivation process is applied to each application to be executed in the desktop session. We illustrate this derivation by case study of an e-mail application. In the second stage, we apply a timing dependency structure for a set of applications that would execute in the desktop session. Timing dependencies refers to the execution order in which applications are started within a desktop session.
Our third major contribution is the application of remote desktop models to resource management functions. We have developed admission control and resource assignment systems that rely on the remote desktop models to obtain the predicted resource allocation shares required to meet the SLA requirements.
Validation experiments show that the prediction obtained through a model-driven approach results in combined user perceived performance guarantees and efficient utilization of resources.