Resource Attributes and VG Selection (Find-and-Bind)
The heart of vgES is the ability to form meaningful VGs based on the properties of available resources. We conceptualize this as “Find and Bind”, meaning that we first “Find” a resource (i.e. select it based on known capabilities), then “Bind” it (i.e. prepare to use it).
Whereas most resource brokering systems separate the selection from the binding, VGrADS has integrated these operations. The traditional approach allows sophisticated resource specification languages and resource selection algorithms, but cannot deal with binding failures (due to, for example, authentication failure or contention for popular resources) efficiently. The key issue is that these cannot be resolved until the system attempts to bind the resources after the resources have been selected. The integrated VGrADS approach avoids this common difficulty for the application by providing the recovery within the system.
Resource selection requires information about the resources, which we store in resource attributes. vgES includes two types of resource attributes. The first type, selection attributes, is used by vgFAB to guide the selection and binding of resources to form the VG specified by a vgDL query. These selection attributes include traditional resource attributes such as CPU type, speed, memory, disk available, etc. vgES also includes a second type of resource attribute, used at runtime in the VG resource abstraction to provide convenient information access for the application through the VG abstraction. The figure below shows how VG resource attributes connect application controllers (applications), VGs, and a collection of information services. Application controllers use vgReadAttribute() to access information, while vgAgent (and sometimes the application controllers) use vgWriteAttribute() to define new attributes.
We have included both of these resource attribute systems in the form of the vgAgent and vgFAB since the first vgES prototypes. These implementations define the standard attributes and how applications and information providers can flexibly extend the set of attributes. In addition, in the vgAgent, several update models (variants on traditional push and pull models) have been explored and are implemented. Together, this base system implementation and extensibility comprises a basic and powerful research substrate for a wide range of experiments.
Resource binding in VGrADS treats binding as a first-class constraint during resource selection. Several features, such as composition operators in our resource description language (vgDL) and our data representation (resource classification and database schema), enable this approach. This combination allows us to efficiently allocate complex resource collections even in the presence of competition for resources. Our empirical evaluation shows that the integrated approach produces higher-quality solutions with lower cost than the traditional separate approach. In fact, the integrated approach can tolerate as much as 15%- 60% lower resource availability than the separate approach. Moreover, most requests have at least the 98th percentile rank and can be found in 6 seconds with a population of 1 million hosts using standard SQL technology on today’s hardware.
Whereas most resource brokering systems separate the selection from the binding, VGrADS has integrated these operations. The traditional approach allows sophisticated resource specification languages and resource selection algorithms, but cannot deal with binding failures (due to, for example, authentication failure or contention for popular resources) efficiently. The key issue is that these cannot be resolved until the system attempts to bind the resources after the resources have been selected. The integrated VGrADS approach avoids this common difficulty for the application by providing the recovery within the system.
Resource selection requires information about the resources, which we store in resource attributes. vgES includes two types of resource attributes. The first type, selection attributes, is used by vgFAB to guide the selection and binding of resources to form the VG specified by a vgDL query. These selection attributes include traditional resource attributes such as CPU type, speed, memory, disk available, etc. vgES also includes a second type of resource attribute, used at runtime in the VG resource abstraction to provide convenient information access for the application through the VG abstraction. The figure below shows how VG resource attributes connect application controllers (applications), VGs, and a collection of information services. Application controllers use vgReadAttribute() to access information, while vgAgent (and sometimes the application controllers) use vgWriteAttribute() to define new attributes.
We have included both of these resource attribute systems in the form of the vgAgent and vgFAB since the first vgES prototypes. These implementations define the standard attributes and how applications and information providers can flexibly extend the set of attributes. In addition, in the vgAgent, several update models (variants on traditional push and pull models) have been explored and are implemented. Together, this base system implementation and extensibility comprises a basic and powerful research substrate for a wide range of experiments.
Resource binding in VGrADS treats binding as a first-class constraint during resource selection. Several features, such as composition operators in our resource description language (vgDL) and our data representation (resource classification and database schema), enable this approach. This combination allows us to efficiently allocate complex resource collections even in the presence of competition for resources. Our empirical evaluation shows that the integrated approach produces higher-quality solutions with lower cost than the traditional separate approach. In fact, the integrated approach can tolerate as much as 15%- 60% lower resource availability than the separate approach. Moreover, most requests have at least the 98th percentile rank and can be found in 6 seconds with a population of 1 million hosts using standard SQL technology on today’s hardware.