Ananth I. Sundararaj, Manan Sanghi, John R. Lange and Peter A. Dinda
@cs.northwestern.edu Department of Electrical Engineering and Computer Science Northwestern University, Evanston IL, USA
Over the past decade, wide-area distributed computing has emerged as a powerful computing paradigm. However, developingapplications to execute over the wide-area has remained a challenge, primarily due to issues involved in providing automatic,dynamic and run-time adaptation. A virtual execution environment consisting of virtual machines (VMs) interconnected withvirtual networks provides opportunities to dynamically optimize, at run-time, the performance of existing, unmodiﬁed distributedapplications without any user or programmer intervention. Along with resource monitoring, inference and application-independentadaptation mechanisms, efﬁcient adaptation algorithms are key to the success of such an effort. In this paper we formalize theadaptation problem in virtual execution environments. We show that this adaptation problem is NP-hard. Further, we characterizethe adaptation problem’s hardness of approximation and show that it is NP-hard to approximate within a factor of
is the number of edges in the virtual overlay graph. We then present greedy adaptation algorithms followedby an evaluation that shows that the greedy strategy works well in practice.
Over the past decade, wide-area distributed comput-ing has emerged as a powerful computing paradigm [1–3]. However, developing applications for such environ-ments has remained a challenge, primarily due to the is-sues involved in designing automatic, dynamic and run-time adaptation schemes. Any application running in adistributedenvironment needs toadapt toavailable com-putational and network resources to optimize its per-formance. Despite many efforts [4,5], until recently, alladaptation in distributed applications had remained ap-plication speciﬁc and dependent on direct involvementof the developer or user. Such custom adaptation involv-ing the user or developer is extremely difﬁcult due tothe dynamic nature of application demands and resourceavailability.Since then it has been argued that OS-level virtualmachines (VMs)  provide a very ﬂexible and pow-erful abstraction to perform wide-area distributed com-puting [7–9]. In particular, we have previously shownthat virtual execution environments consisting of virtualmachines tied together via virtual networks provide anopportunity to dynamically optimize, at run-time, theperformance of existing,
distributed applica-tions running on existing, unmodiﬁed operating systemswithout any user or programmer intervention [10,11].The relative virtualization overhead has been previouslyshown to be less than 5% [7,12], deeming this abstrac-tion feasible.Such virtual execution environments  providean ideal platform for inferring application resourcedemands and measuring available computational andnetwork resources. Further, they also make availableapplication independent adaptation mechanisms suchas VM migration, overlay network topology and rout-ing changes and resource reservations. However, thekey to success is an efﬁcient algorithm to drive theseadaptation mechanisms as guided by the measured andinferred data. To gain a better understanding of theadaptation problem and to devise efﬁcient algorithmsit is important to formalize and characterize the adap-tation problem.In this paper we provide a rigorous formalization of