Tutorial

 

Desktop Grid Computing

What is Grid Computing?

Grid computing is a form of distributed computing that involves the coordination and sharing of geographically distributed networked computational resources.  This technology is the result of distributed computing research conducted in the early 1990’s that focused on developing the necessary tools for high performance computer systems to behave as a super metacomputer.  By the end of the 1990’s systems were developed that led to an infrastructure that integrated high performance computers, networks, databases and scientific instruments shared by geographically dispersed organizations (Foster and Kesselman, 1988a).  Today, grid computing includes high performance computing, cluster computing, peer-to-peer computing and Internet computing.

What is Desktop Grid Computing?

One of the important uses that emerged under this paradigm is that of yoking together underutilized computational resources into a high-power virtual computing resource.  Idle CPU time on desktop computers can provide a substantial computational resource when aggregated.  For example, most educational institutions use about 10% to 30% of the capacity of installed computational resources (Mutka and Livny, 1991; Foster and Kesselman, 1998b; grid.org, 2004), yoking these resources on a large scale provides an opportunity to transform the way in which these resources are used (Foster, 2003) and to provide a high capacity computational tool at a low cost.

Figure 1 shows a simplified grid configuration.  The basic resources consist of distributed computers on a WAN and a grid server.  The computers run an agent that communicates what resources are available on that machine to the grid computing server.  The Server sends a package consisting of an executable file a data set to the available computers.  Each one of the computers executes the program with the corresponding data set and sends the results back to the server, where the results are aggregated.  Note that the executable sent to the distributed computers may be the same for all machines or different for all or groups of machines.  Also, nodes on the grid may or may not communicate with each other to pass data or objects.

Figure describing the three steps in a desktop grid computation.

 

What is Parallelization?

Because using a grid implies concurrent computation, computational problems must be divisible and carried out in parallel.  Numerical methods are often used when the analytical solution to a mathematical problem is difficult or impossible.  The use of numerical methods in simulation of physical systems generally implies a discrete representation in time and space.  Computation of these problems is generally implemented as a series of tasks.   However, some computational problems related to simulation may be carried out in parallel in order to reduce computational response time and lower computing costs (Santo, 2002). 

Problems that can be parallelized in such a way that various data segments are processed with the same set of instructions are referred to as “embarrassingly parallel”.  In this type of problem data segments are divided and processed in different processors using the same executable code.  Currently, commercially available grid computing systems are available that can be applied to embarrassingly parallel computing problems (United Devices, 2004). Thus, in order to take advantage of grid computing, the solution to a computational problem must be parallelized.

References

Grid.Org.  http://www.grid.org/about/gc/. Accessed  4/15/2004

Foster, I.  C. Kesselman. 1998a.The Globus Project: A Status Report Proc. IPPS/SPDP '98 Heterogeneous Computing Workshop, pp. 4-18.

Foster, I and C. Kesselman.  1998b. Computational Grids in: The Grid: Blueprint for a Future

Computing Infrastructure, I. Foster and C. Kesselman (Eds), Morgan Kaufmann Publishers. Pp:1-29.

Foster, I. 2003. The Grid: Computing without boundaries. Scientific American. April Issue.

Mutka,  M. and M. Livny.  1991. The available capacity of a privately owned workstation environment. Performance Evaluation, 12(4)269-284.

Santo Orcero, David. 2002. Parallel simulation and optimization of silicon clusters.  Disertation written to obtain the degree of Ms. on Computer Science at Málaga  (Spain).

United Devices Web Page. http://www.ud.com/home.htm. Accessed 9/26/2004. 

Go to the top of the page...