Work

Automatic, Run-time and Dynamic Adaptation of Distributed Applications Executing in Virtual Environments

Public Deposited

In the last decade we have seen tremendous increases in computer and network speeds and performance, resulting in the emergence of wide-area distributed computing. However, its potential has not been realized, primarily due to lack of security and isolation, provisioning issues and challenges involved in developing distributed applications. We present the design, implementation and evaluation of a virtual distributed execution environment consisting of operating system level virtual machines connected by virtual networks. Such environments make possible low-level, application-, developer-, and user-independent adaptation mechanisms such as virtual machine migration, overlay topology configuration and routing, network and CPU reservations. This dissertation argues that automatic, run-time and dynamic adaptation in these environments is the key to addressing issues in traditional distributed computing. In particular, it presents the answer to the question, is there a single adaptation scheme that exploits these mechanisms and is effective for a range of distributed applications. I formalized the adaptation problem and characterized its complexity and hardness of approximation. We found the problem to be NP-hard and hard to approximate. In response to these results, I designed and implemented fifteen variations of greedy adaptation schemes that heuristically attempt to optimize objective functions. I designed these adaptation schemes using insights gained while studying three classes of distributed applications and evaluated them in the context of a different set of seven application classes. I found that a single adaptation scheme that does a variation of load balancing to determine migration of virtual machines and attempts to optimize a function that is a combination of latency and bandwidth for pairs of communicating virtual machines to be effective for 70\% of application classes studied. I present two taxonomies for distributed applications based on their resource demands and their suitability to automatic adaptation driven by my suggested adaptation scheme. This work fills an important gap in distributed systems research by providing an automatic, run-time and dynamic adaptation scheme that leverages the powerful paradigm of virtualization and is effective for a range of unmodified distributed applications running on unmodified operating systems without requiring any developer interaction

Last modified
  • 05/10/2018
Creator
DOI
Subject
Keyword
Date created
Resource type
Rights statement

Relationships

Items