This research focuses on a "utility provider" model that targets service-oriented computing. We reserve the term "grid" for cross-organizational platforms and use the phrase Utility Computing for Internet Applications (UCIA) for service-oriented computing platforms operated by a single administrative domain. We believe UCIA platforms are the right approach to service-oriented computing when no multiple organizations are involved, because they allow tighter cooperation between different components, enabling different mechanisms than traditional grids.
Our overriding goal is to gain understanding of basic principles in designing and building a global UCIA platform that would be highly responsive in resource reallocation, provide resource isolation to different applications, and support heterogeneous execution environments. This work encompasses a number of specific directions that when put together will result in a significant impact on service-oriented computing. We will study tradeoffs between different architectures for resource sharing in global UCIA, which will provide foundation for more focused research in this area. We will also investigate the interaction between two foundational technologies in global UCIA, wide-area application clustering and virtual machines, and propose new mechanisms for resource allocation that promise to speed up resource redistribution by an order of magnitude. We will investigate efficient algorithmic appproaches to request distribution and application placement that account for the computational cost of executing the algorithm and the interaction of these two policies---two aspects that have not received much attention to date. A necessary component of our work is solving the performance monitoring problem to provide input data needed by these algorithms. Finally, a key piece of work is to develop an integrated testing and simulation environment to simplify performance studies of current and future solutions. Problems with existing tools point to the need for common tools that can both be used to compare approaches as well as provide data for simulation of different scenarios.
The intellectual merits of our work are to understand the tradeoffs of architectural alternatives for application clusters considering emerging virtual machine technology while also examining how to gather and use information for deployment of applications across geographically dispersed clusters. Resource allocation and provisioning in this environment is a fundamental issue to provide responsiveness for these applications requiring coordination of decisions both within and across application clusters. As part of this work, we will develop an integrated testing and simulation environment to simplify performance studies of current and future solutions.
The project will have a significant broader impact to society as well as the research and educational communities. For society, the domain of service-oriented utility computing is of central importance as the Internet continues to evolve and provide an ever-increasing number of applications to businesses and to the home. Research is crucial to this evolution and this proposal will have a significant impact as it helps understand tradeoffs with existing technology and examines better approaches. In addition, this work will be significant for other researchers as we develop an integrated testing and simulation environment that will be made available to other researchers. The work will be integrated with educational efforts at our respective institutions and disseminated to both the research and educational communities.
This material is based upon work supported by the National Science Foundation under Grant No. 0615079. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.