Dashboard > GridGain User Guide > Table Of Contents > Computational Grids
Computational Grids
Added by architect, last edited by architect on Jul 14, 2007  (view change)
Labels: 
(None)


Computational Grids

Grid computing is usually defined by two broad categories: data grids and computational grid (also sometimes called a compute grid). In a nutshell, data grids distribute data and computational grids distribute processing. Both types of grid computing are trying to improve the performance and/or scalability of the application running on the grid.

GridGain is a computational grid framework.

Computational grids are sometime mischaracterized as applicable only for calculation/computational tasks. In fact, however, you can just replace word "computational" with word "processing" and you will get a clearer meaning. Word "computational" traditionally stuck with this type of grid computing due to historical context from which grid computing has originated, namely High Performance Computing (HPC) and clustered computing used initially in academic quantitative research.

Map/Reduce a.k.a. Split and Aggregate

Like in traditional HPC systems (such as MPI) the trademark of computational grids is ability to split process into a set of sub-processes, execute them in parallel, and aggregate sub-results into the one final result (note that split can and often does occur recursively).

Split and aggregate (a.k.a Map/Reduce) design allows to parallelize the process of task execution gaining performance and/or scalability: with two nodes in the grid you can achieve up to 2 times performance increase, with 3 nodes - up to 3 times performance increase, and so on. For a example, with simple and inexpensive 10-nodes grid you can achieve "an order of magnitude" performance increase for your applications.

In GridGain a grid task is a responsible for split and aggregation and grid job provides distributable unit of work. Essentially grid task splits into grid jobs that are executed on grid nodes. Following diagram illustrates the basics of split and aggregate logic:

  1. Task execution request
  2. Task splits (maps) into jobs
  3. Result of job execution
  4. Aggregation (reduction) of job results into task result

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.2.10 Build:#528 Nov 29, 2006) - Bug/feature request - Contact Administrators