Saturday, February 9, 2008

Grid Computing

Abstract

In this developed and demanding realm of scientific and technical computing, Grid computing and its capabilities brought a new change in the Computer technology (especially in parallel processing) .This sharing of computing (Grid computing) capacity is transforming a number of business processes in a variety of industries. From solving emergency scenarios at a space agency in a fraction of time through “in-silico” testing, computing grids enables organizations to complete and compute intensive jobs faster than before.

Grid computing mainly enables the virtualization of distributed computing and data resources such as processing, network bandwidth and storage capacity to create a single system image, granting users and applications seamless capabilities to vast IT capabilities. Just as internet user views a unified instance of content via web, a grid user essentially sees a single, large virtual computer.

The main purpose of this paper is to discuss the benefits of Grid computing that lead to advancement in technology.













Contents


1. Introduction
2. Distributed computing
Advantages of distributed computing
Disadvantages of distributed computing
3. Grid computing
3.1 What is grid computing?
3.2 Definitions
3.3 Origin
3.4 Features
4. Conceptual Framework
4.1 Virtual Organization
4.2 Resources
5. Evolution of Grid architecture
5.1 Grid architecture model
5.2 OGSA architecture model
6. Standards
6.1 OGSI Standard
6.2 WSRF Standard
7. Advantages of grid computing
8. Disadvantages of grid computing
9. Applications
10. Conclusion


Reference
www.ibm.com/grid/
www.gridcomputing.org
www.keepmedia.com
1. INTRODUCTION
The rapid pace of change that has always characterized computer technology continues with no letup. These changes cover all aspects of computer technology, from underlying integrated circuit technology used to construct computer components to the increasing use of parallel organization concepts in combining those components. Further these changes also covered computing methods which enable to improve system’s scalability, through put, reliability. The recent computing methods like distributed computing, grid computing also enhance the processing speed.

2. DISTRIBUTED COMPUTING
Distributed computing is a type of parallel processing and a method of computer processing in which different parts of a program run simultaneously on two or more computers that are communicating with each other over a network.
An example of distributed computing is BOINC, a service in which large problems can be divided into many small problems which are distributed to many computers. Later the small results are reassembled into a larger solution.

2.1 Advantages of distributed computing:-
1. Openness
2. Scalability
3. Monotonicity
4. Pluralism
5. Unbounded non determinism

2.2 Drawbacks and disadvantages:-
1. A distributed system can decrease the overall reliability of computations if the unavailability of a node can cause a disruption of other nodes if they are not connected or planned properly.
2. Trouble shooting and diagnosing problems in a distributed system can also become more difficult, because the analysis may now require connecting to remote nodes or inspecting communications being sent between nodes.
3. Only few types of computations are well suited for distributed environments, due to the amount of network communication or synchronization required between nodes.
4. A distributed system consists of a set of software agents that work together to implement some intended functionality. Because the agents in a distributed system don’t operate in a uniform processing environment, they must communicate by protocol stacks that are intrinsically less reliable than direct code invocation and shared memory.

The above bottlenecks due to distributed computing can be solved by GRID COMPUTING

3. GRID COMPUTING
3.1 What is grid computing?
Grid computing is an emerging computing model that provides the ability to perform higher throughput computing by taking advantage of many networked computers to model a virtual computer architecture that is able to distribute process execution across a parallel infrastructure. Grids use the resources of many separate computers connected by a network and provide ability to perform many computations at once than would be possible on single computer.

Grid computing has emerged as one of the key computing paradigms thatenable the creation and management of Internet-based utility computinginfrastructure, called Cyberinfrastructure, for realization of e-Scienceand e-Business at the global level

3.2 Definitions
The term GRID COMPUTING originated in the early 1990s as a metaphor for making computer power as easy to access as electric power grid.
Today there are many definitions of grid computing.
Some of them are as follows:
· The definitive definition of a grid is provided by lan foster as a three point check list. The three points of check list are
1. Computing resources are not administered centrally
2. Open standards are used
3. Non trivial quality of service is achieved
· Plaszczak/wellner defines grid technology as “The technology that enables resource virtualization, on demand provisioning, and service (resource) sharing between organizations.”
· IBM defines grid computing as “the ability using a set of open standards and protocols, to gain access to applications and data, processing power, storage capacity and vast array of other computing resources over the internet. A grid is a type of parallel and distributed system that enables the sharing, selection, and aggregation of resources distributed across ‘multiple’ administrative domains based on their (resources) availability, capacity, performance, cost, and users quality of service requirements.”

3.3 Origin
Like the internet, the grid computing evolved from computational needs of “Big science”. Fully functional Proto-Gird systems date back to the early 1970’s with distributed computing system (DCS) project at the University of California, Irvine. David Farber was the main architect. This projects final report was published in 1977.This technology was mostly abandoned in 1980’s and seen as insurmountable as the administrative and security issues involved in having many machines did not control the computation.
In early 1990’s the ideas of grid were again brought together by Ian Foster, Carl Kesselman and Steve Tuecke, the so called “Fathers of the Grid”. They led the effort to create the Globus Toolkit incorporating not just CPU management but also storage management, security provisioning, data movement, monitoring and a toolkit for developing additional services based on the same infrastructure including agreement negotiation, notification, trigger mechanisms, and information aggregation.


3.4 Features
· Grid computing offers a model for solving massive computational problems by making use of the unused resources (CPU cycles and/ or disk storage) of large numbers of disparate computers, often desktop computers, treated as virtual cluster embedded in a distributed telecommunications infrastructure.
· Grid computing focus on the ability to support computation across administrative domain seta apart from the traditional computer cluster or traditional distributed computing.
· Grid offers a way to solve Grand challenge problems like protein Folding, financial modeling, earth quake simulation, climate/weather modeling and a way of using Information technology resources optimally inside an organization.
· Grid computing has the design goal of solving problems too big for any single super computer, whilst retaining the flexibility to work on multiple smaller programs. Thus grid computing provides a multi user environment.
· This approach implies the use of secure authorization techniques to allow remote users to control resources.
· Grid computing involves sharing heterogeneous resources (based on different plat forms, hardware/ software architectures and computing languages), located in different places belonging to different administrative domains over a network using open standards. In short we can say Virtualzing computing resources.
· Grid computing is often confused with cluster computing. The key difference is that a cluster is a single set of nodes in one location , while a grid is composed of many clusters and other kinds of resources (eg: networks ,storage facilities)
4. Conceptual framework
Grid computing reflects a conceptual framework rather than a physical resource. The grid approach is utilized to provision a computational task with administratively-distant resources. The focus of grid technology is associated with the issues and requirements of flexible computational provision beyond the local administrative domain.

4.1 Virtual organization
A grid environment is created to address resource needs. The use of that resources (e.g.: CPU cycles, disk storage, data, software programs, peripherals) is usually characterized by its availability outside of the context of the local administrative domain. The ‘external provisioning’ approach entails creating a new administrative domain referred to a virtual organization (VO) with a distinct and separate set of administrative policies. The context for Grid ‘job execution’ is distinguished by the requirements created when operating outside of the home administrative context. Grid technology is employed to facilitate formalizing and complying with the Grid context associated with your application execution.
.

4.2 Resources
One characteristic that currently distinguishes Grid computing from distributed computing is the abstraction of a ‘distributed resource ‘into grid resource. One result of abstraction is that allows resource substitution to be easily accomplished. Some of overhead associated with this flexibility is reflected in the middleware layer and temporal latency associated with the access of a grid resource. This overhead, especially the temporal latency, must be evaluated in terms of the impact on computational performance when grid resource is employed

5. Evolution of grid computing architecture
In 1998, it was stated that “a computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, primarily centered on the computational aspects of grids. Later iterations broadened this definition with more focus on coordinated resource sharing and problem solving in multi-institutional virtual organizations.
Assigning users, resources and organizations from different domains to VO remains one of the key technical challenges in grid computing. The task includes the determination of a definition of resources mechanisms, such as identifications and application of appropriate resource sharing methods, specification and application of rules and conditions for member assignment, security federation or delegation and access control among participants.

The above characteristics and requirements lead to the definition of architecture of VO
Many architectural models have been developed. Few of them are
5.1. Grid architecture model:
A new architecture model and technology has been developed for establishment and management of cross organizational resource sharing. This new architecture, called Grid architecture, identifies the basic components of a grid system. The grid architecture defines the purpose and functions of its components, while indicating how these components interact with one another. The main focus of the architecture is on interoperability among resource providers and users in order to establish the sharing relationships. The interoperability, in turn, necessitates common protocols at each layer of the architecture model, which leads to the definition of a grid protocol architecture as shown in figure 1
The above figure shows the component layers of the grid architecture and the capabilities of each layer. Each layer shares the behavior of the underlying component layers.
· Fabric layer:- This layer defines the interface to local resources, which may be shared. This includes computational resources, data storage, networks, etc.
· Connectivity layer:-this layer defines the basic communication and authentication protocols required fro grid-specific networking-service transactions.
· Resource layer:- this layer uses communication and security protocols to control secure negotiation, initiation, monitoring, accounting, and payment for the sharing of functions to access and control local resources.
· Collective layer: - While the resource layer manages an individual resource, the collective layer is responsible for all global resources.
· Application layer:- This layer enables resources in a grid environment through various collaboration and resource access protocols.
5.2. OGSA architecture and goal:-
The grid architecture is designed for controlled resource sharing. In contrast, emerging architectures help the earlier- defined grid architecture quickly adapt to a wider technology domain. OGSA is layered architecture, with clear separation of the functionalities at each layer.
As shown in figure2 the core architecture layers are Open Grid Services Infrastructure (OGSI) and OGSA platform services. The platform services establish a set of standard services including policy, logging, and networking services. High-level applications and services use these lower-layer platform core components to become a part of resource- sharing grid.
The Global Grid Forum(GGF) has adopted the OSGA platform.
The IBM vision of the OGSA can be summarized as shown in figure3. This is a layered architecture, with the lowest layer comprising the basic IT resources, such as servers, storage and network services. This includes the hardware and corresponding software support for operating systems, subsystems, and the components that control them. The layer above IT resources handles security, workflow, databases, file systems, directories and messaging software.



6. Standards
Standards are critical to interoperability within a distributed computing platform, especially an advanced platform that provides a service-oriented, loosely coupled, cross-platform programming model. Standards enable platform services to more simply integrate with middleware and also helps to reduce complexity to heterogeneous and cross-enterprise orchestration and integration.
There are two core standards that are available in the grid standardization
6.1. The OGSI standard:
The base component of the OGSA architecture is OGSI. This is a grid software infrastructure standard based on the emerging web services standards. The goal of OGSI is to provide maximum interoperability among OGSA software components.
Figure 4 shows the layering of The OSGI components in a web service with new interfaces and behaviors. The most notable point is the extension of WSDL to provide additional state description mechanisms. In addition to this ,the specification is a set of behaviors and interfaces to support service life-cycles stages: for example collection management, state-change notifications, service creation mechanisms and instance reference mechanisms.
Message-level interoperability is a key feature of this standard, and it is achieved by using XML as the core message format and schema. One of the requirements of the services defined by OGSI is the ability to describe the concepts of state data, life-cycle properties, and instance behaviors using an OGSI description model.
6.2. The WSRF standard:
WSRF is a collection of specifications to support grid services or other stateful resources and is comparable to OGSI. There are many motivations behind WSRF specifications and the most notable contribution is the intersection of grid computing and web services standards and their alignment with SOA principles.
This alignment will continue to help define open standards through interoperable and compatible plug-and-play service extensions to the grid architectures, thereby increasing acceptance and facilitating integration. Through this alignment with the web service as stack Grid services can use existing web services standards, such as WS-Notification, WS-Addressing and WS-Security and build extensions for extended capabilities such a service state data, lifetime, grouping and reference management.


7. Advantages of grid computing
Grid computing has evolved into an important discipline within the computer industry by differentiating itself from distributed computing through an increased focus on resource sharing, manageability and high performance.
1. Consolidation: - From servers to applications to whole sites, consolidation is a key benefit of Grid computing model, especially in the data center. Consolidation not only minimizes the infrastructure necessary to meet an enterprise’s business demands, but also reduces costs by migrating from proprietary or single-use systems to commercial off-the-shelf(COTS)-based systems that can be shared by multiple applications.
2. Modular computing: - Modular computing, especially in the data center, minimizes and simplifies the infrastructure using building blocks that address higher density, lower power, lower thermals, simplified cabling, and ease of upgrading and management. Blade
Servers are an excellent example of modularity.
3.Virtualization: - By creating pools of resources enabled by highly automated management capabilities, virtualization can enable an IT system administrator to utilize far resources in data center, making the resources accessible to more than single application sitting on single physical server.
4. Utility computing: -Utility computing allows an infrastructure to be managed analogously to an electric utility, applying a pay-per-use model, thereby optimizing and balancing the computing needs of an enterprise, and allowing it to run maximum efficiency.
8. Disadvantages of Grid computing
There are some disadvantages with grid computing.
1. Resource sharing is further complicated when grid is introduced as a solution for utility computing where commercial applications and resources become available as shareable and on demand resources.
2. The concept of commercial on-demand shareable adds new, more difficult challenges to the already complicated grid problem list including service level features, accounting, usage metering, flexible pricing, federated security, scalability, and open-ended integration.
9. Applications
Grid computing is applied in many fields. Some of them are
1. Oracle application server 10g, component of oracle fusion middleware has been specifically designed to run enterprise applications on computing grids.
2. IBM, seeking to push grid computing beyond its scientific and technical roots and into mainstream of commercial business enterprises.


10. Conclusion
The grid architecture and global standards serve a major role in determining the adoption rate of grids in the commercial world. Grid services convections are non trivial in their functions; they solve some of the fundamental issues in distributed computing. With these intersections of services and standards enables a transformation by applying the full power of traditional distributed systems to grids, including naming and binding techniques, across the widest possible set of web services.
Thus I conclude that emergence of grid computing is an important milestone in the development of global web services because it provides uniformity and consistency for many vital distributed system functions.

No comments: