Current Grid Activities
As described earlier, initially, the focused Grid Computing activities were in the areas of computing power, data access, and storage resources.
The definition of Grid Computing resource sharing has since changed, based upon experiences, with more focus now being applied to a sophisticated form of coordinated resource sharing distributed throughout the participants in a virtual organization. This application concept of coordinated resource sharing includes any resources available within a virtual organization, including computing power, data, hardware, software and applications, networking services, and any other forms of computing resource attainment. This concept of coordinated resource sharing is depicted in Figure 1.1.
Figure 1.1. Dynamic benefits of coordinated resource sharing in a virtual organization.
As depicted in the previous illustration, there are a number of sharable resources, hardware and software applications, firmware implementations, and networking services, all available within an enterprise or service provider environment. Rather than keeping these resources isolated within an atomic organization, the users can acquire these resources on a "demand" basis. Through implementing this type of Grid Computing environment, these resources are immediately available to the authenticated users for resolving specific problems. These problems may be a software capability problem (e.g., modeling, simulation, word processing, etc.) or hardware availability and/or computing capacity shortage problems (e.g., processor computing resources, data storage/access needs, etc.). While on another level, these problems may be related to a networking bandwidth availability problem, the need for immediate circuit provisioning of a network, a security event or other event correlation issue, and many more types of critical environmental needs.
Based upon the specific problem dimension, any given problem may have one or more resolution issues to address. For example, in the above case there is two sets of users, each with a need to solve two different types of problems. You will note that one has to resolve the weather prediction problem, while the other has to provide a financial modeling case. Based upon these problem domains noted by each of the user groups, their requirements imply two types of virtual organizations. These distinct virtual organizations are formulated, sustained, and managed from a computing resource viewpoint according to the ability to access the available resources. Let us further explore this concept of "virtualization" by describing in more detail the usage patterns found within each of the virtual organizations.
-
A virtual organization for weather prediction. For example, this virtual organization requires resources such as weather prediction software applications to perform the mandatory environmental simulations associated with predicting weather. Likewise, they will require very specific hardware resources to run the respective software, as well as high-speed data storage facilities to maintain the data generated from performing the simulations.
-
A virtual organization for financial modeling. For example, this virtual organization requires resources such as software modeling tools for performing a multitude of financial analytics, virtualized blades[1] to run the above software, and access to data storage facilities for storing and accessing data.
These virtual organizations manage their resources and typically will provision additional resources on an "as-needed" basis. This on-demand approach provides tremendous values toward scalability, in addition to aspects of enhanced reusability. This approach is typically found in any "on-demand" environment. This capability is based upon a utility infrastructure, where resources are allocated as, and when, they are required. Likewise, their utility pricing scenarios are always based upon the capturing of usage metrics.
The following discussion introduces a number of requirements needed for such Grid Computing architectures utilized by virtual organizations. We shall classify these architecture requirements into three categories. These resources categories must be capable of providing facilities for the following scenarios:
-
The need for dynamic discovery of computing resources, based on their capabilities and functions.
-
The immediate allocation and provisioning of these resources, based on their availability and the user demands or requirements.
-
The management of these resources to meet the required service level agreements (SLAs).
-
The provisioning of multiple autonomic features for the resources, such as self-diagnosis, self-healing, self-configuring, and self-management.
-
The provisioning of secure access methods to the resources, and bindings with the local security mechanisms based upon the autonomic control policies.
Virtual organization must be capable of providing facilities for:
-
The formation of virtual task forces, or groups, to solve specific problems associated with the virtual organization.
-
The dynamic collection of resources from heterogeneous providers based upon users' needs and the sophistication levels of the problems.
-
The dynamic identification and automatic problem resolution of a wide variety of troubles, with automation of event correlation, linking the specific problems to the required resource and/or service providers.
-
The dynamic provisioning and management capabilities of the resources required meeting the SLAs.
-
The formation of a secured federation (or governance model) and common management model for all of the resources respective to the virtual organization.
-
The secure delegation of user credentials and identity mapping to the local domain(s).
-
The management of resources, including utilization and allocation, to meet a budget and other economic criteria.
Users/applications typically found in Grid Computing environments must be able to perform the following characteristics:
-
The clear and unambiguous identification of the problem(s) needing to be solved
-
The identification and mapping of the resources required solve the problem
-
The ability to sustain the required levels of QoS, while adhering to the anticipated and necessary SLAs
-
The capability to collect feedback regarding resource status, including updates for the environment's respective applications
The above discussion helps us now to better understand the common requirements for grid systems. In the subsequent chapters in this section, and moreover throughout this book, we discuss the many specific details on the Grid Computing architecture models and emerging Grid Computing software systems that have proven valuable in supporting the above requirements.
The following section will provide treatment toward some of the more common Grid Computing business areas that exist today, and those areas that will typically benefit from the above concepts of Grid Computing. It is worthy to mention that these business areas are most often broadly classified, and based upon the industry sector where they reside.