+seele network     +blog
 
Home >> Parallel Programming
 
 
 
 
 
 
 
 
 
 
Parallel Programming
 
Parallel programming techniques developed as a means of improving performance and efficiency. In a parallel program,
the processing is divided into parts, with each part then being executed concurrently. The code from each part runs
simultaneously on different CPUs. These CPUs can be on one machine or distributed over a network of CPUs.

One of the first steps in building parallel programs is to identify sets of tasks that are able to run concurrently. If the same
processing is required for a set of tasks with no dependencies in the computations and no communication is required
between tasks, you have an ideal parallel computing opportunity.

   
  MapReduce Algorithm
 
MapReduce is a distributed computing paradigm which allows you divide up tasks into smaller jobs and "map" them to a
unique key. It is then possible to distribute these jobs over a compute grid and "reduce" all of the job results back into the
original task The MapReduce algorithm allows for the simultaneous execution of software code and the processing of certain
kinds of distributable problems using a large number of compute nodes.

"Map" step: The master node takes the input, divides it up into smaller sub-problems and distributes those to worker nodes.
A worker node may repeat this step again in turn. Eventually the worker node processes the smaller sub-problem and passes
the result back to the master node.

"Reduce" step: The master node takes the results of all the sub-problems and combines them to get a final output, which
is the original task that was executed.

 

 
 
The advantage of MapReduce is that it allows for distributed processing of the map and reduction operations.
SEELE Compute Platform's implementation of MapReduce differs from other platform implementations by altering
the cardinality or the type of mapping operation. In a conventional approach the worker nodes pull the sub-tasks
for execution. SEELE Compute Platform's sub-tasks are pushed to the worker nodes and the process is initially
controlled by the task.
         
         
Seele Compute Platform  Consulting  About Us  Featured White Papers  Press Releases
Seele Application Integrator  Support & Training  Contact or How to Buy?  Demos & Evaluations  
Seele Platform Studio      Success Stories
Seele Management Console      Webcasts & Videos