This paper discusses algorithmic issues when computing with a heterogeneous network of work-stations (the typical poor man's parallel computer). Dealing with processors of different speeds requires to use more involved strategies than block-cyclic data distributions. Dynamic data distribution is a first possibility but may prove impractical and not scalable due to communication and control overhead. Static data distributions tuned to balance execution times constitute another possibility but may prove ineffcient due to variations in the processor speeds (e.g. because of different workloads during the computation). We introduce a static distribution strategy that can be refined on the fly, and we show that it is well-suited to parallelizing scientific computing applications such as finite-difference stencils or LU decomposition.
['Pierre Boulet', 'Jack Dongarra', 'Fabrice Rastello', 'Yves Robert', 'Frédéric Vivien']
Algorithmic issues on heterogeneous computing platforms