Scientific Applications
Alexey Lastovetsky · 2003
In this chapter, we demonstrate that a wide range of scientific problems can be efficiently solved on heterogeneous networks of computers. We consider in details the design of the parallel block-cyclic algorithm of matrix multiplication on heterogeneous NoCs and its portable implementation in the mpC language. We also consider parallel algorithms solving on heterogeneous NoCs a more demanding linear algebra problem - Cholesky factorization of a symmetric, positive-definite matrix. We present a relatively simple approach to assessment of a heterogeneous parallel algorithm via comparing its efficiency with the efficiency of its homogeneous prototype. We present two approaches to design of parallel algorithms solving regular problems on heterogeneous NoCs. The first approach supposes a one-process-per-processor configuration of the parallel program with the workload unevenly distributed over the processes. The second approach assumes a multiple-processes-per-processor configuration of the parallel program, when the workload is evenly distributed over the processes while the number of processes on each processor is proportional to its speed. We experimentally compared the approaches and described their portable mpC implementation. We present the results of the experiments with the N-body mpC application, which is an example of inherently irregular problem. A heterogeneous parallel algorithm solving such a problem is naturally deduced from the problem itself rather than from the parallel environment executing the algorithm. We also consider in details the design of the parallel adaptive quadrature routine for numerical approximation to definite integrals on heterogeneous NoCs and its portable mpC implementation. In conclusion, we present an experience of solving a real-life regular problem - simulation of oil extraction - in a heterogeneous parallel environment.