01-02-2013, 02:57 PM
Grid computing: What are the key components?
1Grid computing.doc (Size: 160 KB / Downloads: 47)
ABSTRACT
Grid computing is gaining a lot of attention within the IT industry. Although it has been used within the academic and scientific community for some time, standards, enabling technologies, toolkits, and products are becoming available that allow businesses to use and reap the advantages of Grid computing. As with many emerging technologies, you will find almost as many definitions of Grid computing as people you ask. However, one of the most used toolkits for creating and managing a grid environment is the Globus Toolkit. In this article, we give you an overview of the key components that make up a Grid environment, and we present most of our information and concepts within the context of the Globus Toolkit.
High-level overview of Grid computing
The most common description of Grid computing includes an analogy to a power grid. When you plug an appliance or other object requiring electrical power into a receptacle, you expect that there is power of the correct voltage available, but the actual source of that power is not known. Your local utility company provides the interface into a complex network of generators and power sources and provides you with (in most cases) an acceptable quality of service for your energy demands. Rather than each house or neighborhood having to obtain and maintain its own generator of electricity, the power grid infrastructure provides a virtual generator. The generator is highly reliable and adapts to the power needs of the consumers based on their demand.
The vision of Grid computing is similar. Once the proper kind of infrastructure is in place, a user will have access to a virtual computer that is reliable and adaptable to the user's needs. This virtual computer will consist of many diverse computing resources. But these individual resources will not be visible to the user, just as the consumer of electric power is unaware of how their electricity is being generated. To reach this vision, there must be standards for Grid computing that will allow a secure and robust infrastructure to be built. Standards such as the Open Grid Services Architecture (OGSA) and tools such as those provided by the Globus Toolkit provide the necessary framework. Initially, businesses will build their own infrastructures (what we might call intra-grids), but over time, these grids will become interconnected. This interconnection will be made possible by standards such as OGSA and the analogy of Grid computing to the power grid will become real.
Types of grids
Grid computing can be used in a variety of ways to address various kinds of application requirements. Often, grids are categorized by the type of solutions that they best address. The three primary types of grids are summarized below. Of course, there are no hard boundaries between these grid types and often grids may be a combination of two or more of these. However, as you consider developing applications that may run in a grid environment, remember that the type of grid environment that you will be using will affect many of your decisions.
Computational grid
A computational grid is focused on setting aside resources specifically for computing power. In this type of grid, most of the machines are high-performance servers.
Scavenging grid
A scavenging grid is most commonly used with large numbers of desktop machines. Machines are scavenged for available CPU cycles and other resources. Owners of the desktop machines are usually given control over when their resources are available to participate in the grid.
Data grid
A data grid is responsible for housing and providing access to data across multiple organizations. Users are not concerned with where this data is located as long as they have access to the data. For example, you may have two universities doing life science research, each with unique data. A data grid would allow them to share their data, manage the data, and manage security issues such as who has access to what data.
Another common distributed computing model that is often associated with or confused with Grid computing is peer-to-peer computing. In fact, some consider this another form of Grid computing. For a more detailed analysis and comparison of Grid computing and peer-to-peer computing, see the article On Death, Taxes, and the Convergence of Peer-to-Peer and Grid Computing, by Ian Foster and Adriana Iamnitchi. (See Resources.)
Grid components: a high-level perspective
In this section, we describe at a high level the primary components of a grid environment. Depending on the grid design and its expected use, some of these components may or may not be required, and in some cases they may be combined to form a hybrid component. However, understanding the roles of the components as we describe them here will help you understand the considerations when developing grid-enabled applications.
Portal/user interface
Just as a consumer sees the power grid as a receptacle in the wall, a grid user should not see all of the complexities of the computing grid. Although the user interface can come in many forms and be application-specific, for the purposes of our discussion, let's think of it as a portal. Most users today understand the concept of a Web portal, where their browser provides a single interface to access a wide variety of information sources. A grid portal provides the interface for a user to launch applications that will use the resources and services provided by the grid. From this perspective, the user sees the grid as a virtual computing resource just as the consumer of power sees the receptacle as an interface to a virtual generator.