Prudens Information Resources for the Internet


The Emergence of Grid Computing

Computing, Software & Infrastructure

A Prudens E-Report

The Distributed Computing Ideal | Supercomputers | Computational Clusters | Grid Computing
Public Grid Applications | Grid Computing in Business | Grid Computing for Economic Development
Grid Computing for Learning | Sensor Grids: Internet Zero & The EPCglobal Network | Grid Standards
Grid Security | Benefits and Challenges of Grid Computing | Enabling Virtual Organizations and Communities



The Distributed Computing Ideal

Distributed computing attempts to fully utilize all of the computing resources connected to a network. It requires a management system, a form of middleware, that accesses and makes available network resources, controls and schedules computations, and optimizes the storage and flow of data in the network. Middleware has been a subject of study from the early days of computing and was a major component in the development of time-sharing, client-server services and data communications. However, distributed computing on the Internet, a public network with unknown numbers of users and types of equipment, is significantly different from these early approaches.

Distributed computing may be known cluster computing, where many smaller computers work together to perform operations normally done by a supercomputer. When distributed computing takes place over a network that meets various constraints (e.g. access), it is a form of grid computing. There is also computing between two nodes on the grid, or on any network, which is known as peer-to-peer (P2P) computing. Both grid and P2P systems can serve as platforms for web services.

Distributed computing, as we know it today, has its origins in Service-Oriented Architecture (SOA). This approach calls for software modules that are potentially interactive, or extensible, and represent components of business activity which aggregate to a business model. This allows the functional analysts to adjust the business model, and indirectly rearrange the software modules, while the programmers focus on improving the software code. These modules can be combined to form applications known as services, such as business services, grid services or web services.

Supercomputers

Computers are sometimes built with multiple processors, which are synchronized under the control of a single operating system. When fast processors are linked in a carefully designed internal data communications network, an efficient operating system can achieve extremely fast processing speeds, measured in teraflops, or trillions of floating point operations per second. Seymour Cray, founder of Cray Computers, was very successful in designing this type of computer, which is known as a supercomputer.

Like all computers, supercomputers perform sequential processor operations. When processors perform operations at the same time, they are said to perform parallel processing. In this case the computation should be separable into small parts so that the parallel program can simultaneously compute each part with a different processor and integrate all of the outputs into a solution. Otherwise, problems that are not separable may be unsuited for parallel computation.

Computational Clusters

Cluster computing is early form of grid computing that sets up a network of computers to perform a single calculation. It is also known as a computational cluster, or super cluster. Due to its speed of computation, it is recognized as a form of supercomputer. Its primary benefit is its low cost compared to that of a traditional supercomputer. The "Top 500" site,2 which tracks the fastest 500 supercomputers, counts high-speed computational clusters among the fastest supercomputers.

In addition to being designed for speed, clusters can be organized for fault tolerance where one or more computers or servers back up a primary computer. Using a different type of middleware, a cluster, or server farm, can provide scaling and backup for high traffic web sites in order to prevent the site from crashing - a "must" in e-Commerce, as well as sites, such as online banking, that depend on reliability. Clusters are frequently found at data centers as part of a storage and reliability program. Clusters can also facilitate back-end operations, and play a role in site security.

Cluster computing is also a form of grid computing when all of the computers, or nodes, are dedicated to a particular task and where little or no services are offered other than the middleware that manages the application between the nodes.

Grid Computing

Grid computing occurs on a network of computing resources managed with advanced forms of middleware, which are called grid services. Grid services provide access control, security, access to data, including digital libraries and deep web databases, and access to large-scale interactive (e.g. server farms) and long-term (digital archives) storage facilities. Grid services are being replaced by open source web services, which perform the same tasks and have been developed over a longer period of time.

The driver for the growth of grid computing is the potential for an organization to reduce the capital and operating costs of its computing resources, while maintaining the computing capability it requires. The reason is that the computing resources of most organizations are vastly underutilized, but are necessary for certain operations. Thus the ROI on computing investments can increase through participation in grid computing, even though networking and service costs may also increase to some extent.

Successful grid computing requires:

The continuing drop in the cost of data storage has encouraged the capture and storage of very large data sets, especially in the sciences. This coincides with the recent expansion of the computing, networking and storage needs associated with bioinformatics, as well as unmet needs in astronomy and other sciences to process extremely large data sets. A grid that enables and manages the storage, transfer, and computation of large data sets is known as a data grid or information grid. Typical data grid activities include the:

In the use of data grids, data is most efficiently analyzed when the communication between the source and the destination is minimized, or, secondarily, when the processing is done as close to the data source as possible. Otherwise, the efficiency of computations will depend on the characteristics of the network rather than on those of the computational and storage resources.

Grids offer the possibility to carry out extraordinarily lengthy calculations which, in the past, were not infeasible even with high speed computers. Grids that specialize in computation, or computational grids can use either dedicated computers or computers as they are available, a process known as CPU scavenging or cycle scavenging. Scientific grids are usually established as dedicated computational grids, while business grid systems may be more flexible. Public grids are almost certainly designed to work when CPU cycles are available.

When a node on the grid has a special resource, such as a supercomputer, a special scientific instrument, or a special software program, then it may have particular access and management challenges and will be treated as a special portal on the grid. For example, a science portal on a computational grid may have the software to provide real-time analysis for a specific type of scientific experiment or a type of astronomical observation, and thus provide immediate feedback to the researcher that will help him or her to decide on the next observation. Therefore services which manage continuous processing at one or more portals plus communications over the grid could be critical for the successful completion of an experiment.

Dedicated grid processing is also known as computing on demand or utility computing, since it is available when requested, just like water, electricity or natural gas. Since some types of business and some scientific disciplines may occasionally require intensive calculations, it could be possible to use utility computing when needed rather than to invest in high-speed computing equipment. This type of grid computing is sometimes called an access grid, since the emphasis is on access to a grid where computing resources are available.

Some vendors describe the "on-demand" computational and storage capability of a grid as a virtualization of resources in order to create the appearance that the user is controlling a single system from the desktop. In other words, the user doesn't need to be concerned about which resources are being utilized, just as if he or she were using a telephone (e.g. across different phone company systems), or performing a search on the Internet (e.g. across the different public data networks that comprise the Internet).

Public Grid Applications

The public grid application involves PCs connected to a central host, via the Internet, to form a large computational cluster, or computational network. This network of volunteer nodes provides free computing power to solve a range of problems, which are usually of interest to the public. If large numbers of Internet users can be persuaded to make their PC available for use in a calculation, then extremely large computational projects can be attempted.

The most famous public grid application is the Seti@Home project with more than five million Internet participants. Other projects with a high level of public participation include "Compute Against Cancer", "Fight AIDS at Home" and the World Community Grid, currently under development.3

Research Grids

Research grids or cyberinfrastructure connect the computing resources and data of research centers to provide a shared computing infrastructure for use by each center on the grid. Cutting-edge research grids include the recently started TeraGrid,4 which is expected to become the backbone of science research in the US. Another example is the grid being established to analyze the vast amount of data that will be generated by the Large Hadron Collider,5 just as NASA has done with its immense calculation requirements.6

Bioinformatics Grids

Grids have been established for bioinformatics, by medical research organizations, or biotech companies. Examples are the:

Grid Computing in Business

Businesses are beginning to establish enterprise grids. Intel, for example, has large computations associated with microprocessor design and also has thousands of work stations that can be accessed in the evening, and on weekends and holidays. Many other organizations such as research and engineering design labs, insurance companies, and biotech and pharmaceutical companies are benefiting from internal grids, or clusters. Not only are the computers freely available, but the computations can be done in a secure environment.

Enterprises may be slow to adopt grid computing outside of the enterprise because of an overriding concern about return on investment (ROI) and security. In response, Sun Microsystems is offering access to a world-wide computation grid to small businesses for $1 dollar per computer central processing unit (CPU) hour, or the actual time the computer is engaged in processing the solution. Grid services providers have also organized to address issues of interest to potential grid users in the Enterprise Grid Alliance.9 Others are beginning to take a more active role in the Globus Alliance, a grid standards body, discussed in a following section.

Grid Computing for Economic Development

Grids are being recognized by government officials around the world as a tool for economic development and are being integrated into national, state and local policies to promote:

This is occurring not only the United States but in other countries around the world ranging from China to Singapore, and global regional entities such as the European Union.

States, such as North Carolina,10 and other state and regional economic development organizations have begun to recognize the value of grid computing to foster small business and assist in the startup of new businesses. Some businesses are unable to afford the necessary computing resources and related expertise when they are starting up and access to a computing grid could be very valuable. North Carolina is in the process of leveraging its BioGrid infrastructure to support small and medium sized enterprises (SMEs). Other states, including Colorado and West Virginia are developing similar economic development grids.11

Grid Computing for Learning

K-12 schools and school districts could expect to receive some benefit by using a grid for shared projects, and for sharing administrative tools. Since school computer systems are vastly underutilized due to short days and vacations, schools could benefit by contracting cycles to grid users during the night hours and on other occasions. In addition to monetary compensation, schools could benefit by having the grid users update their computing resources on a periodic basis.

Sensor Grids

A grid of sensors, or machines, has also been called the Internet of Things where Machine-to-Machine (M2M) communications take place. In the Internet of Things, machines or appliances use sensors to report status or problems (e.g. the availability of vending machine products). Sensors can be placed on a wide variety of machines or inanimate objects, even the ground (to measure soil attributes). Some of these sensors, such as medical monitoring devices, can be placed on humans. This type of grid is a special purpose grid, where operations and management requirements should be well understood.

Specific topics that have surfaced in the Internet of Things are Internet Zero and the Global Commerce Network. M2M communications also provide the foundation for the Semantic Web, which makes it different from web services where human interaction is necessary. These sensor grids will be affected by the emerging wireless technologies that will link sensors and machines. For example, sensors can communicate using an inexpensive and easily mobilized smart dust technology, a machine peer-to-peer network using MEMS-scale microchips that can be disbursed by air currents.

Internet Zero

Because of its slow speed the name Internet Zero was given to the appliance network of the MIT demonstration project, Media House, in comparison to Internet2, a high speed network. A network for well-defined appliances and sensors can operate better and is less costly if it matches the characteristics of its components, in this case the network of appliances and sensors that are simpler and slower, than the Internet. This is an outgrowth of the end-to-end principle, one of the two design principles of the Internet, the other being the use of Packet Switching. The End-to-End Principle states that the behavior of the network should be determined by what is connected to it, rather than having the network design dictate what can be connected to it. In practice, however, since so many different types of servers and applications are connected to the Internet, it has evolved into a faster and more complex system than is needed for some uses - such as automated building controls.

By using a relatively slow signal, the control of an Internet Zero network is simple since the need to manage the myriad of signals between application layers in different media (e.g. wireless, wireline, etc.) in the network lessens significantly. The Internet Zero design philosophy works in a closed environment such as a building, which can be designed to have more than enough signal capacity, or bandwidth. Also, in Internet Zero each household device is essentially a server that can receive, store and send signals, independently of other devices, using the Internet Protocol (IP) and open standards.12

The EPCglobal Network

Open standards for M2M communications networking are being implemented by the nonprofit organization, EPCGlobal, Inc.13 Each item and transaction to be tracked in the grid is assigned an electronic product code (EPC), similar to a bar code, which will describe the contents and history of the item. Separate EPC codes are to be assigned to the transport containers of the items. The EPC will be encoded on the RFID tag that all transported items are to display. In addition to the EPC code and RFID technology, the EPCglobal network includes supporting communications and software to capture and communicate EPC data to all authorized parties including those who will use it to insure security. The purpose of the network is to establish a global supply chain that reduces the uncertainty and costs of the modern global market. It will enable many e-business applications from point-of-sale to supply chain operations to be conducted using the M2M communication of EPC data.

Another beneficial, yet controversial use of the EPC is to track humans, such as the use of a specific medicine by a specific patient. Technologies could also track individuals by tracking their belongings (e.g. their luggage or purchases) and are the concern of privacy advocates opposed to government "snooping" or by abuses of enterprising criminals. The successful implementation of EPC will depend largely on how it addresses its potential misuse.

Grid Standards

The consideration of grid standards becomes critically important when the grid network is established between organizations over the Internet, versus the operation of a single organization grid. Grid standards address the challenges of interoperability, large-scale operations and security.

Two major efforts for the development of grid middleware are the Global Grid Forum, which is focusing on the development of open standards and open source middleware for grid architectures, and the Globus Alliance, which is developing the Globus Toolkit.

Global Grid Forum

The Global Grid Forum14 is developing open source / open standard tools, specifically Open Grid Services Architecture (OGSA) and the OGSI for grid applications. That the Global Grid Forum is cooperating with the Globus Alliance in the development of grid standards points to the emergence of the grid as a disruptive technology.

In one area of cooperation, the Global Grid Forum is working to include open source web services standards, such as XML, Universal Description, Discovery, and Integration (UDDI), Web Services Description Language (WSDL) and Simple Object Access Protocol (SOAP) with OSGA, and to enable them to work with the standards developed by the Globus Project.

The Globus Alliance

The Globus Alliance15 developer of the Globus Toolkit. After an initial emphasis on science and engineering applications, Globus is also assisting to develop business grid applications standards. A number of businesses have formed the Globus Consortium to develop business-oriented tools.

The Globus Alliance is assisting the Global Grid Forum to transform the Globus Toolkit to OGSA, an open source grid system architecture based on Web services concepts and technologies. The release of the Globus Toolkit, version 3, offers an open source implementation of version 1 of the Open Grid Services Infrastructure (OGSI) specification. Future versions will continue the movement toward open source standards.17 This effort compliments the adoption of OSGA by the e-Science program of the United Kingdom18 and furthers its adoption as a truly international standard.

The Semantic Grid

The Semantic Grid refers to a standard for grid communications and processing using open standards and XML, which would ease grid computing. It would be the grid counterpart of the Semantic Web, but where computing would be easier since the computing resources of the grid are well defined, whereas those of the Internet are not. The Global Grid Forum is continuing to develop the concept of the Semantic Grid.

Web Services

Web services are the computer applications that are available to users over the Internet regardless of the user's software and hardware environment. Web services may be conceived as a form of P2P computing between two parties on the Internet, or as a session between existing members of a grid. The idea behind web services is that if data on different web sites is defined or structured in the same way then distributed computing can occur.

There is an effort to make the standards for grid services and web services compatible in order to make the usefulness of web services available to grid computing. In web services, the transmission of computer code and data is decoupled from its execution, use, and management, based on the principles of service-oriented architecture (SOA). This allows the sending and receiving organizations to change their computer systems according to their internal needs if certain fundamental requirements, such as the use of XML, are met. This realistic approach enhances the success of grid computing by not constraining participating organizations from striving to meet their individual goals and objectives.

As previously noted grid standards of the Globus Project are being combined with web services standards to develop an Open Grid Services Architecture (OGSA). The use of open standards in grid computing will allow the use of web services over a grid.

Grid Security

The grid will be available for use by authenticated users, whose identity may be established by an identity service provider. Once this is done, a single sign-on for each user will allow access to specific resources and data sets on the grid according to the user's identity. The use of the grid may require access to a variable number of sites for resources, depending on the type of computation, including interim calculations, the availability of computing and network resources on the grid, and on the requirements of other users. In this case federated identity management may be enabled, where the guaranty of the user is made by another organization, and authentication weakens as the user access resources further from the source of his or her original authentication.

The grid management system must also be pass through local security requirements at each node, which will vary from site to site. On the other hand, as an organization makes its computer resources available for access from the grid, it must also take steps to secure its sensitive data from unauthorized access. In addition to identity constraints, encryption and firewall access can be used to protect sensitive assets.

Benefits and Challenges of Grid Computing

The benefits that make distributed computing attractive to a range of users revolve around cost and access to computing resources. Many institutions have computing resources that are vastly underutilized. This has led to suggestions to develop of technology centers, or learning centers, where a range of computing and learning resources could be shared by the education and business (primarily start-ups) communities. To date these have largely failed because organizations have been unwilling to expand their visions to take on activities beyond their charters. Basically organizations don't want to be bothered with activities for which they wouldn't be rewarded, even though in theory it can be shown that by combining resources each organization will benefit according to Total Cost of Ownership (TCO) or ROI analyses.

Research grids may be easier to fund than business grids since their users have common goals and often work together. Further, the government sources of funding (e.g. National Science Foundation) can see the enormous benefit of grid computing and have shaped their programs to support the grid approach rather than duplicating computational investments. For example the enormous investment in the Large Hadron Collider, to be built by the European Community, will be complimented with data and computational grids to analyze the data it produces.

One need not look further than the Internet to realize the importance of government investment in a technical approach to solve a particular type of problem. It seems inevitable that the benefits of government investment in grid computing will spill over into the private sector.

Besides the need for separable problems, grid computing also depends on reliable and inexpensive data communications in order to be successful. The cost of improving data transmission speed should be compared to the cost of improving local computational resources. As mentioned above, data should be processed as close to its storage location to reduce networking costs.

Another concern is the stability of the data. The ideal is to work with data that isn't frequently entered, updated or corrected. These changes will cause a need to rerun the computation and thus increase computing time, the cost of transmitting data on the network, and cause an increase in network congestion. Data intensive problems are best handled where computing and network time is minimized - as onsite with a supercomputer.

Enabling Virtual Organizations and Communities

When grid computing projects are implemented they come under the control of a planned or de facto virtual organization. Therefore, it is desirable to form a virtual organization to manage long-term grid applications. Sometimes, virtual organization and virtualizing are used to describe the grid infrastructure rather than its management. virtualized infrastructure or virtualization architecture, may be more appropriate. The potential to organize and build advanced grids for use in business and other non-research applications have led to discussions of intelligent infrastructure or e-Infrastructure.

The evolution of digital exchanges / digital markets, described in the Prudens e-Report E-Commerce Update shows that third parties will eventually be driven out of the market of providing grid services, except in unusual situations where they provide value to the community of grid users. Ultimately the main users must control the grid just as they operate or control the large digital exchanges.

As public and private organizations resolve the challenges of grid computing, they lay the basis for building and managing international grid infrastructures. These types of grids may be adopted by others, outside of the technical community, to form webs within webs. By controlling access, resource availability, security and other facets of online activity, grid technology may become an enabler of online community. Some groups that band together to perform grid applications, such as computing to find new prime numbers, are already considered communities.

At this early stage of Internet development, it appears that distributed computing in the form of grid computing will become one of the "killer apps" of the Internet. Interestingly, it is oriented toward the organization and community rather than the individual. This may be a precursor to the future development of Internet applications




Dr. James E. Burke is a Principal in Burke Technology Services (BTS). BTS provides business assistance to startup technology companies, or organizations planning or integrating new technologies; develops and manages technology projects; performs technology evaluation and commercialization, and assists in technology-based economic development.

Related Prudens e-Reports: P2P Computing | The Semantic Web | Web Services


Home | e-Reports | Knowledgebase | Books | Glossary


This web site is maintained by Burke Business Services. Copyright © 2005-2008 PIRI. All rights reserved.