What is Grid Computing?
It is a computer network in which all resources are utilized or shared by all the computers connected to each other. The resources can be memory, processors, and data.
Concepts
A grid is just a collection of various computers, processors, clients or engines. These all contribute something to make the grid. Some resources are circumscribed to unauthorized users and other resources can be accessed by the registered users.
Computation
The most essential factor is computing cycles provided by the processors of the machines on the grid. The processors can be discriminated according to the architecture, storage, speed and by many other terms.
There are three ways to make optimum use of the computation resources of a grid:
· The first and easiest way is to run your application on grid rather than on local machine.
· The second way is dissolute your application into small components and execute on homogeneous processors in the grid. By doing so, you can reduce the time consumed by one processor.
· The third is to execute your application on various series of processors in contiguous manner. E.g., Suppose there is an application,which needs to be transferred to different processors one by one to complete its task can use this third option.
Scalability is a measure of how efficiently the multiple processors on a grid are used. If twice as many processors makes an application complete in one half the time, then it is said to be perfectly scalable.
Scalable property also has some limitation such as if the application demands for four different processors to complete its task, but unfortunately if there are two processors to fulfill its task and two are missing, then whole job will have to wait till the required resources gets available.
Storage
Another the most important component of grid is storage. If a grid provides an integrated view of whole database then sometimes it is also referred as data grid.
To make a database huge, all machines connected in the gird share their databases. Storage can be primary memory (RAM), secondary storage (hard disk) or permanent storage. When any application needs more storage than what local machine provides (by operating system), grid is the best option in order to diminish the organization cost. A unified file system can also provide a single uniform name space for grid storage. This makes it easier for users to reference data residing in the grid, without regard for its exact location.
Communication
The communication capability now-a-days has increased among machines that makes grid computing practical, compared to the limited bandwidth available when distributed computing came into market. So it is not wrong to say that even communication play a vital role in grid computing.
This encompasses communication within the grid and external to the grid. Communication within the grid is too important when jobs are processed on different nodes. Some jobs require to process large amount of data which is not on the same machine where job is functioning. At this situation, communication becomes a bridge between various nodes to make the task of the job to be completed easily.
Software and licenses
The software installed in grid may be too expensive to install on every grid machine. The job which wants this software for its process, that sort of jobs is sent to the machine where software is installed. When licensing fees is an obstacle for any organization, this approach is beneficial.
Some software licensing arrangements permit the software to be installed on number of machines, but at a time, simultaneously only limited machines can run this software. License management software keeps track of how many concurrent copies of the software are being used and prevents more than number from executing at any given time. The grid job schedulers can be configured to take software licenses into account, optionally balancing them against other priorities or policies.
Jobs and applications
Jobs are programs that are executed at various points in grid. They may compute something, execute one or more system commands, move or collect data, or operate machinery. A grid application that is organized as a collection of jobs is usually designed to have jobs execute in parallel on different machines in the grid.
The jobs may have specific dependencies that may prevent them from executing in parallel in all cases. For example, there are three processes named A, B, and C. A process named“A” gets processed by machine and produces the output. This output becomes an input for the process B and in the same way for process C, process B’s output will be as input. So processes named B and C have to wait unnecessarily tillprocess A finishes its task.
Scheduling, Scavenging, and Reservation
The grid system is responsible to send the job to the machine for processing. Here, user can select the machine to execute his application by simply passing the grid command with a machine name and application name. Another side, there is a management component (job scheduler) of a grid that maintains the scheduling process of jobs automatically. Job scheduler finds the resources which are suitable for the application and assign that stipulated resource to it.
In a scavenging grid system, any machine that is idle sends the idle status report to the grid management node. This node assigns the job to the machine that can fulfill applications criteria.
As a further step, some resources can be blocked or reserved for a certain time to complete the job fully. For example, if a process “A” requires a printer, hard disk, and processor, allthese resources will be reserved for process A till it finishes its task. These resources cannot be released in between for any other process demanding the same resources.
Compiled By: Chaudhary Amit V.
Comments
Post a Comment