1. Description
- PGARP is a parallel version of the GARP algorithm as it is implemented on the openmodeller library. It is based on two parallel computer models: BSP [Valiant] and CGM [Dehne].
- PAGRP internals
- The Master/Slave paradigm in the PGARP implementation: From the point of view of its operation PGARP can be viewed as iteration of the following Superstep (as opposited of the steps a sequencial algorithm executes):
- Local computation round: in which is used the best available algorithm.
- Comunication round: each processor exchange data with the other.
- The PGarp::iterate() method: This method determines whether it is running on the "0" processor, in which case it calls the "master" method; otherwise it calls the "slave" method.
- The PGarp::GARPiterate() method: This is "exactly" the GARP::iterate() method.
- The master()method: This method, running on the "0" processor, executes "GARPiterate()" (local computation round) and waits for the other processors complete their computations. Once it has received the data sended by other processor (communication round), the master method combinates the received data (local computation round) and, after combination, send the best fittest population to the other processors (communication round).
- The slave() method
- The PGarpMPI_Recv() method
- The PGarpMPI_Recv() method
- The pGarpRule datatype
- The pGarpRuleSet datatype
The bool PGarp::PGarpMPI_DatatypeConstruction ()
- The int PGarp::PGarpInitialize() method
- The int PGarp::iterate() method
- The void PGarp::master () method
- The void PGarp::slave () method
- The void PGarp::PGarpMPI_Send () method
The GarpRuleSet * PGarp::PGarpMPI_Recv () method
- The Master/Slave paradigm in the PGARP implementation: From the point of view of its operation PGARP can be viewed as iteration of the following Superstep (as opposited of the steps a sequencial algorithm executes):
[Dehne] [Valiant]