Saturday, April 24, 2010

grid computing

GRID COMPUTING
(An Overview)

ABSTRACT

The Grid has the potential to fundamentally change the way science and engineering are done. Aggregate power of computing resources connected by networks—of the Grid— exceeds that of any single supercomputer by many orders of magnitude. At the same time, our ability to carry out computations of the scale and level of detail required, for example, to study the Universe, or simulate a rocket engine, are severely constrained by available computing power. Hence, such applications should be one of the main driving forces behind the development of Grid computing.
Grid computing is emerging as a new environment for solving difficult problems. Linear and nonlinear optimization problems can be computationally expensive. The resource access and management is one of the most important key factors for grid computing. It requires a mechanism with automatically making decisions ability to support computing tasks collaborating and scheduling.
Grid computing is an active research area which promises to provide a flexible infrastructure for complex, dynamic and distributed resource sharing and sophisticated problem solving environments. The Grid is not only a low level infrastructure for supporting computation, but can also facilitate and enable information and knowledge sharing at the higher semantic levels, to support knowledge integration and dissemination.

CONTENTS
• Introduction
• Types of grids
• Grids versus conventional supercomputers
• Design considerations and variations
• Working
• Applications
• Advantages and Disadvantages
• Conclusion

INTRODUCTION:
The term Grid computing originated in the early 1990 as a metaphor for making computer power as easy to access as an electric power grid in Ian Foster and Carl Kesselmans seminal work, "The Grid: Blueprint for a new computing infrastructure". The ideas of the grid (including those from distributed computing, object oriented programming, cluster computing, web services and others) were brought together by Ian Foster, Carl Kesselman and Steve Tuecke, widely regarded as the "fathers of the grid".
Grid Computing is a form of distributed computing based on the dynamic sharing of resources between participants, organizations and companies to by combining them, and thereby carrying out intensive computing applications or processing very large amounts of data. Such applications would not be possible within a single body or company. A well-known example of grid computing in the public domain is the ongoing SETI (Search for Extraterrestrial Intelligence) @Home project in which thousands of people are sharing the unused processor cycles of their PCs in the vast search for signs of "rational" signals from outer space.
Grid computing is applying the resources of many computers in a network to a single problem at the same time - usually to a scientific or technical problem that requires a great number of computer processing cycles or access to large amounts of data. Grid computing requires the use of software that can divide and farm out pieces of a program to as many as several thousand computers. Grid computing can be thought of as distributed and large-scale cluster computing and as a form of network-distributed parallel processing.
Grid computing appears to be a promising trend for three reasons:
(1) its ability to make more cost-effective use of a given amount of computer resources, (2) as a way to solve problems that can't be approached without an enormous amount of computing power, and
(3) because it suggests that the resources of many computers can be cooperatively and perhaps synergistically harnessed and managed as a collaboration toward a common objective.

TYPES OF GRIDS:
Grid is a type of parallel and distributed system that enables the sharing, selection, and aggregation of geographically distributed "autonomous" resources dynamically at runtime depending on their availability, capability, performance, cost, and users' quality-of-service requirements.
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. 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.


GRIDS VERSUS CONVENTIONAL SUPERCOMPUTERS:
Grid computing is a special type of parallel computing which relies on complete computers (with onboard CPU, storage, power supply, network interface, etc.) connected to a network by a conventional network interface, such as Ethernet. This is in contrast to the traditional notion of a supercomputer, which has many processors connected by a local high-speed computer bus.
The primary advantage of distributed computing is that each node can be purchased as commodity hardware, which when combined can produce similar computing resources to a multiprocessor supercomputer, but at lower cost. Because the economies of scale of producing commodity hardware, compared to the lower efficiency of designing and constructing a small number of custom supercomputers. The primary performance disadvantage is that the various processors and local storage areas do not have high-speed connections. This arrangement is thus well-suited to applications in which multiple parallel computations can take place independently, without the need to communicate intermediate results between processors.
The high-end scalability of geographically dispersed grids is generally favorable, due to the low need for connectivity between nodes relative to the capacity of the public Internet. Conventional supercomputers also create physical challenges in supplying sufficient electricity and cooling capacity in a single location. Both supercomputers and grids can be used to run multiple parallel computations at the same time, which might be different simulations for the same project, or computations for completely different applications. The infrastructure and programming considerations needed to do this on each type of platform are different, however.
It can be costly and difficult to write programs so that they can be run in the environment of a supercomputer, which may have a custom operating system, or require the program to address concurrency issues. If a problem can be adequately parallelized, a "thin" layer of "grid" infrastructure can allow conventional, standalone programs to run on multiple machines (but each given a different part of the same problem). This makes it possible to write and debug programs on a single conventional machine, and eliminates complications due to multiple instances of the same program running in the same shared memory and storage space at the same time
DESIGN CONSIDERATIONS AND VARIATIONS:
One feature of distributed grids is that they can be formed from computing resources belonging to multiple individuals or organizations (known as multiple administrative domains). This can facilitate commercial transactions, as in utility computing, or make it easier to assemble volunteer computing networks.
One disadvantage of this feature is that the computers which are actually performing the calculations might not be entirely trustworthy. The designers of the system must thus introduce measures to prevent malfunctions or malicious participants from producing false, misleading, or erroneous results, and from using the system as an attack vector. This often involves assigning work randomly to different nodes (presumably with different owners) and checking that at least two different nodes report the same answer for a given work unit. Discrepancies would identify malfunctioning and malicious nodes.
Due to the lack of central control over the hardware, there is no way to guarantee that nodes will not drop out of the network at random times. Some nodes (like laptops or dialup Internet customers) may also be available for computation but not network communications for unpredictable periods. These variations can be accommodated by assigning large work units (thus reducing the need for continuous network connectivity) and reassigning work units when a given node fails to report its results as expected.
The impacts of trust and availability on performance and development difficulty can influence the choice of whether to deploy onto a dedicated computer cluster, to idle machines internal to the developing organization, or to an open external network of volunteers or contractors.
In many cases, the participating nodes must trust the central system not to abuse the access that is being granted, by interfering with the operation of other programs, mangling stored information, transmitting private data, or creating new security holes. Other systems employ measures to reduce the amount of trust "client" nodes must place in the central system such as placing applications in virtual machines.

WORKING:
All the available resources (work stations, servers, software, storage, etc.) as well as a set of tools that could be compared to an operating system, make up the computing grid. To optimize its functioning, the resources must be defined beforehand and as precisely as possible. They may be geographically remote and work according to different rules.
At the core of the system is an element called a resource broker, which handles resource supply and demand according to technical and economic criteria. Next comes a scheduler which is responsible for distributing resources to the various machines. Security and access are in turn managed by the Grid Security Infrastructure, which handles the identification of each resource solicitor as well as access authorization up to a certain level to guarantee confidentiality.

APPLICATIONS:
Grid Computing has many application fields. It is being used more and more systematically, and for many reasons. The first is the improvement of performance and the reduction of costs due to the combining of resources. The possibility of creating virtual organizations to establish collaboration between teams with scarce and costly data and resources is another.
Scientists, who use applications that require enormous resources in terms of computing or data processing, are large consumers of computational grids. One finds for instance many grids in particle-physics experiments. Nor are leading industries staying behind: grids are massively present in the automobile and aeronautical business, where digital simulation plays an important part. In practice, grids are very useful in crash simulations, as well as for computer-aided design.
More recently, grids have emerged in other areas with the purpose of optimising company business. The aim is to combine material resources for several services by reallocating them in a dynamic way depending on performance peaks. This strategy offers considerable cost cutting thanks to better management of resources, administrative tasks and maintenance. This last application field is of particular interest to France Telecom, as we shall see.
ADVANTAGES:
• Can solve larger, more complex problems in a shorter time
• Easier to collaborate with other organizations
• Make better use of existing hardware
DISADVANTAGES:
• Grid software and standards are still evolving
• Learning curve to get started
• Non-interactive job submission

CONCLUSION:
Grid computing provides a framework and deployment platform that enables resource sharing, accessing, aggregation, and management in a distributed computing environment based on system performance, users' quality of services, as well as emerging open standards, such as Web services. This is the era of Service Computing.
Grid computing technologies are entering the mainstream of computing in the financial services industry. It is, slowly but surely, changing the face of computing in our industry. Just as the internet provided an means for explosive growth in information sharing, grid computing provides an infrastructure leading to explosive growth in the sharing of computational resources. This is making possible functionality that was previously unimaginable -- near real time portfolio rebalancing scenario analysis; risk analysis models with seemingly limitless complexity; and content distribution with speed and efficiency hereunto unparalleled.

1 comment:

  1. This post includes each and every detail of grid computing. This is very important topic so I want to understand it from basic to advance. Where grid computing is used? I appreciate your effort. Thanks for this information.
    digital signature FAQ

    ReplyDelete