Slotted Virtual Grids
We are currently developing an enhanced virtual grid architecture that allows users to specify, find, and bind resources across time. Our goals include adding support for space-shared (batch queues) and provisioned (lease-based) resources. We call this the slotted virtual grid (SVG), and it accommodates resources that arrive and depart according to information in the virtual grid request. This collection of enhancements supports dynamic workflow scheduling across resources available at different points in time.
The virtual grid request describes how resources arrive and depart through time; it may specify a slot for any resource set. A slot is a window of contiguous time defined by a {start, duration} tuple. The figure below illustrates a virtual grid request with four slots. The height of the slot represents resource quantity while its length represents how long the application requires those resources. vgES finds resources that meet the constraints of kind, number, and slot;. delivers those resources to the user when the slot begins; and removes them when the slot ends. Resource arrival is equivalent to a bound resource; it is available for job submission or interactive use through an ssh-like facility.
vgES provides the underlying resource management so that resources arrive and depart according to the slot schedule. The underlying resources for a slot may come from one or more sites, hosting facilities or data centers. vgES interacts with site resource managers, a service provider that grants access to resources for some interval of time, to bind resources for a particular slot. For various reasons, resources may arrive early or late; vgES provides the necessary upcalls to inform the user of resource arrival and departure. Extensions to the virtual grid APIs allow the user to adjust their resource requirements in the face of these changes.
Our work on slotted VGs is still in its early stages. Our ultimate goal is to better understand how resources can be provisioned automatically for use by applications. A near-term project is to adapt our scheduling methods to take slots into account. We eventually expect to use slotted virtual grids to support resource selection and management for LEAD.
The virtual grid request describes how resources arrive and depart through time; it may specify a slot for any resource set. A slot is a window of contiguous time defined by a {start, duration} tuple. The figure below illustrates a virtual grid request with four slots. The height of the slot represents resource quantity while its length represents how long the application requires those resources. vgES finds resources that meet the constraints of kind, number, and slot;. delivers those resources to the user when the slot begins; and removes them when the slot ends. Resource arrival is equivalent to a bound resource; it is available for job submission or interactive use through an ssh-like facility.
vgES provides the underlying resource management so that resources arrive and depart according to the slot schedule. The underlying resources for a slot may come from one or more sites, hosting facilities or data centers. vgES interacts with site resource managers, a service provider that grants access to resources for some interval of time, to bind resources for a particular slot. For various reasons, resources may arrive early or late; vgES provides the necessary upcalls to inform the user of resource arrival and departure. Extensions to the virtual grid APIs allow the user to adjust their resource requirements in the face of these changes.
Our work on slotted VGs is still in its early stages. Our ultimate goal is to better understand how resources can be provisioned automatically for use by applications. A near-term project is to adapt our scheduling methods to take slots into account. We eventually expect to use slotted virtual grids to support resource selection and management for LEAD.