Saturday, April 24, 2010

advanced grid computing

With the furtherance of technology, life is becoming simpler and less demanding. The conglomeration of three major disciplines, Computers, Communications and Electronics unleashes a vast amount of power in terms of technology. In an era of cost-cutting ,when companies are faced with a growing need to maximize and/or improve efficiencies of existing IT investments, organizations are turning to Grid Computing as a strategic solution.
This paper seeks to introduce this Grid Computing as an emerging computing model that provides the ability to perform higher throughput computing by taking advantage of many networked computers to model virtual computer architecture.
Further, it enumerates on how the Grids use the resources of many separate computers connected through a network to solve large-scale computation problems. It explains how the Grids provide the ability to perform computations on large data sets, by breaking them down into many smaller ones, or provide the ability to perform many more computations at once than would be possible on a single computer, by modeling a parallel division of labor between processes.
Finally the paper puts forth the Future of Grid Computing with a case-study and enlightens on how organizations can optimize computing and data resources, pool them for large capacity workloads, share them across networks and enable collaboration.

Grid computing can mean different things to different individuals. The grand vision is often presented as an analogy to power grids where users (or electrical appliances) get access to electricity through wall sockets with no care or consideration for where or how the electricity is actually generated. In this view of grid computing, computing becomes pervasive and individual users (or client applications) gain access to computing resources (processors, storage, data, applications, and so on) as needed with little or no knowledge of where those resources are located or what the underlying technologies, hardware, operating system, and so on are.
With grid computing, an organization can transform its distributed and difficult-to-manage systems into a large virtual computer that can be set loose on problems and processes too complex for a single computer to handle efficiently. The problems to be solved can involve data processing, network bandwidth, or data storage. The systems linked in a grid might be in the same room or distributed around the world. They might be running different operating systems on many hardware platforms. They might even be owned by different organizations. Regardless of the depth of a grid's resources, the entire grid user experiences the processing resources of a very large virtual computer.

2.Definition of Grid Computing
Because it is an emerging technology, grid computing can mean different things to different people.
“Grid computing allows you to unite pools of servers, storage systems, and networks into a single large system so that you can deliver the power of multiple-systems resources to a single user point for a specific purpose.” To a user, data file, or an application, the system appears to be a single enormous virtual computing system.
3.Grid Network
3.1 A Simple Grid Network:

Illusion of a Virtual Computing Environment

Grid computing is the next logical step in distributed networking. A simple Grid Network contains a Grid Software which acts as an interface between any user (normal user, administrator) and the virtual computing environment (a superset of PC’s, Workstations, Super Computers).
3.2 Components of Grid Network:
Clusters, Workstations, Desktop PC’s, Super Computers contribute to the components of a grid. Each component might be an important component of a grid, but by itself doesn’t constitute a grid.
4.Evolution of Grid
In fact, grid can be seen as the latest and most complete evolution of more familiar developments — such as distributed computing, the Web, peer-to-peer computing and virtualization technologies.
4.1 The Time Is Right:
Many organizations feel that this is the right time to encourage Grid Computing for the following reasons:
- Unprecedented pressure to lower costs
- Inexpensive, commodity blade servers
- Inexpensive OS optimized for1-4CPUs
- Storage no longer tied to a single server

When you deploy a grid, it will be to meet a set of customer requirements. To better match grid computing capabilities to those requirements, it is useful to keep in mind the reasons for using grid computing. This section describes the most important capabilities of grid computing.
5.1 Optimal usage of resources:
 Remote Applicability: The easiest use of grid computing is to run an existing application on a different machine.
 Utility of un-used disk drive: Grid computing can be used to aggregate the unused storage into a much larger virtual data store.
 Resource Utilization: Many resources such as CPU, Storage and so on, can be used with the principle of optimality.
5.2. Parallel CPU capacity:
A CPU intensive grid application can be thought of as many smaller “sub jobs,” each executing on a different machine in the grid. For example, a job finishes 10 times faster if it uses 10 times the number of processors.

5.3 Virtual resources and virtual organizations for Collaboration:
In the past, distributed computing promised collaboration among a wider audience, and achieved it to some extent. Grid computing can take these capabilities to an even wider audience, while offering important standards that enable very heterogeneous systems to work together to form the image of a large virtual computing system offering a variety of resources.
5.4 Access to additional resources:
In addition to CPU and storage resources, a grid can provide access to other resources in additional numbers and/or capacity.
5.5 Resource balancing:
For applications that are grid-enabled, the grid can offer a resource balancing effect by scheduling grid jobs on machines with low utilization. Without a grid infrastructure, balancing decisions are difficult to prioritize and execute.
5.6 Reliability And Management:
As there are various supplementary resources available for each resource, reliability is achieved to a greater extent.
The Grid software itself takes care of all the management among the various Grid components.
6.Grid Architecture
6.1 Layers of Grid Architecture:
Fabric Layer: It provides access to some shared resources using Grid Protocols. Shared Resources can be computational resources, storage systems, catalogs, network resources, and sensors.
Connectivity Layer: It defines the core communication and authentication protocols required for grid-specific network functions.
Resources Layer: It defines protocols for secure negotiations, initiation and monitoring the control of sharing operations on individual resources. Information and management protocols define this layer.
Collective Layer: It contains protocols and services that capture interactions among a collection of resources.
Application Layer: User applications operate in this layer by using the services of other layers.
6.2 Grid Topology:
Intra grid:
A typical intra grid topology exists within a single organization. The primary characteristics of an intra grid are a single security provider, bandwidth on the private network is high and always available, and there is a single environment within a single network.
Extra grid:
Based on a single organization, the extra grid expands on the concept by bringing together two or more intra grids. An extra grid, typically involves more than one security provider, and the level of management complexity increases. The primary characteristics of an extra grid are dispersed security, multiple organizations, and WAN connectivity.
Inter grid:
The primary characteristics of an inter grid include dispersed security, multiple organizations, and WAN connectivity. The data in an inter grid is global public data, and applications must be modified for a global audience.

6.3 Grid Software:
There are many aspects to grid computing that typically are controlled through software. These functions can be handled across a spectrum of very manual procedures to processes being handled through sophisticated software.
 Donor software
 Management Software
 Communications Software
 Schedulers Software
7.Grid Security
In a grid, the member machines are configured to execute programs rather than moving data. This makes an unsecured grid potentially fertile ground for viruses and Trojan horse programs. For this reason, it is important to understand which components of the grid must be rigorously secured. The high level grid security requirements are:
 Authorization
 Privacy
 Confidentiality
 Manageability
 Firewall
8.Case Study

Task: To Find the Annual Income of all the employees of an organization that is wide spread through out the world.
Assignment: This task is assigned to a processor of a grid.
• This processor initially checks if the task is too large for a single processor to handle.
• If so, distributes the task among various devices of the grid, here comes the aspect of Parallel CPU Capacity. The processors job is to collect the Incoming data files and this is simply done through WAN/Internet.
• The Annual Incomes of the employees starts getting accumulated in the disk drive of the processor. Once there is no more disk space left with it, it has a privilege of using the storage device that has been idle for the past few hours in the same grid network; the functional Application Exploiting under Utilized Resources is taken advantage of at this point.
• Suppose a high priority task has been assigned to this device, it has a capability to transfer the relatively low priority task to some other device of the network and can finish its high priority task as per the dead line, thereby Utilizing Resources.

It is important to know that grid is not a silver bullet that can take any application and run it a 1000 times faster without the need for buying any more machines or software. 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.
(3) Because it suggests that the resources of many computers can be cooperatively and perhaps synergistically harnessed and managed as collaboration towards a common objective.

2. ECECS (Lecture 18) Grid Computing by B.Ramamurthy.
3. Towards a Grid Architecture Roadmap: Malcolm Atkinson

No comments:

Post a Comment