Personal tools
You are here: Home Research Execution System Virtual Grids
Document Actions

Virtual Grids

by Charles Koelbel last modified 2009-09-30 05:31
NOTE: The VGrADS Project completed its work on September 30, 2009. These pages are retained for archival purposes, but are not actively updated.

While the success and acceptance of Grids continues in scientific and commercial computing communities, the technology required to achieve the grid vision -- flexible, adaptive computing on demand for a wide range of applications -- is still in its infancy.  In fact, the applications that are easily portable into the grid environment, while numerous, are mostly limited to a few paradigms (loosely-coupled parallel, asynchronous workflow, and multi-tier web-appserver-database applications).  Applications that require more tightly coupled coordination, high performance data movement coordinated with computation, and real-time coupling of instruments remain difficult to design, implement, and manage to run well.  These are serious hindrances to VGrADS’ goal of broadening the class of application types viable on grids.

We attack these problems by providing the notion of Virtual Grids (VGs), which provide a simple, yet scalable, abstraction of the distributed grid environment.  Our fundamental assumption is that grid platforms are dynamic, shared resource environments of massive scale.  This implies a range of limitations.

  • Applications cannot individually scan or select from all of the resources, as the number is too vast.  As a foundation, we presume a scalable resource information service.
  • Resources are shared, widely distributed, and heterogeneous, so they may be unavailable for a wealth of reasons (other use, network disconnection, machine failure, etc.).
  • Scaling and robustness for high load factors in the grid are desirable, both for good resource behavior and for reasonable turnaround times for applications.
  • A separation of the application and resource management system is desirable, allowing the sharing of effort in the resource management system across multiple applications and the isolation of individual applications from grid idiosyncrasies.  
Our work on VGs directly reduces the burden of these limitations on the application programmer by expressing critical application structure, yet describing the resource needs simply. This enables a multitude of possible solutions, scales to millions of resources, and achieves quantifiably good solutions.  

Virtual grids are described by a virtual grid resource specification (usually specified in our Virtual Grid Definition Language (vgDL)) presented by the application to acquire resources for execution.  A programmer can use vgDL to capture the desired resources for an application, including its parallelism and communication capabilities.  These specifications are designed to be simple and flexible, maximizing the opportunity to match resources.  To enable applications to guide detailed choices amongst resources to optimize performance, a “ranking function” is available for system use.

The pages listed at left outline some of the advances we have made in defining and using VGs.

« September 2010 »
Su Mo Tu We Th Fr Sa

VGrADS Collaborators include:


Powered by Plone