Multicomputer Technology Initiative

Preliminary MPICH Results

The results that are presented here are in two formats. Graphs of process timings are shown in order to give a feel for the gains made by using multiple processors. Process visualisation output from Upshot is given in order to show the internal workings of MPICH and the various algorithms that have been implemented.

The Upshot output takes the form of a timeline, with bars representing each process running on the cluster. The left margin of the bar chart has numbers that represent the task IDs for the process, with '0' indicating the 'master' process. The bars are coloured according to the MPI functions that are being executed at any point in time. The key above the graph indicates the functions that are represented by different colours. The units on the x-axis are seconds. In contrast with the XPVM output (see PVM results), Upshot gives detail about the MPI functions that are executing, rather than the overall program state. There is thus no direct indication of when processing is being performed. It should also be noted that, although there are arrows representing message-passing via MPI_Send, the messages corresponding to an MPI_Bcast are not shown explicitly.

All results have been obtained using MPICH version 1.1.2. The hardware used is described here.
 

PBIL Algorithm

We have used MPICH to implement an antenna design algorithm, based on PBIL. Population Based Incremental Learning is a type of Genetic Algorithm which functions by randomly generating solution vectors and selecting the best of these according to pre-defined criteria.

The algorithm has been run using different numbers of processors in order to indicate the advantage of implementing a parallel solution. Each run was performed for 3 generations and a population vector size of 100. Upshot has been used to visualise program/process status during a sample run. The adjacent graph shows plots for different numbers of processors, with MPICH running with the logging library linked in. Interesting features of the data include:

  1. The improvement in processing time flattens off exponentially, yielding diminishing returns for increased numbers of processors.
The above results show that the PBIL algorithm is one which can be efficiently parallelised, yielding greatly improved processing times. The amount of data that is passed between processes is small relative to the time to process the data, resulting in large speed improvements with increasing numbers of processors. This is a characteristic of this algorithm and it should not be inferred that this magnitude of speed up will occur in all cases.
 



to MTI home page