We have demonstrated that a wide range of scientific problems can be efficiently solved on heterogeneous networks of computers. We considered the design of the parallel block cyclic algorithm of matrix multiplication on heterogeneous NoCs and its portable implementation in the mpC language. We also considered parallel algorithms solving on the heterogeneous NoCs a more demanding linear algebra problem: Cholesky factorization of a symmetric, positive-definite matrix.
We introduced a relatively simple approach for assessing a heterogeneous parallel algorithm via comparing its efficiency with the efficiency of its homogeneous prototype. We also presented two design approaches for parallel algorithms that solve regular problems on heterogeneous NoCs. The first approach involved a one-process per-processor configuration of the parallel program with the workload unevenly distributed over the processes. The second approach involved a mutliple-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 discussed the results of the experiments with the N-body mpC application described in Section 7.1, showing them to be an example of an inherently irregular problem. We showed that a heterogeneous parallel algorithm solving such a problem would be naturally deduced from the problem itself rather than from the parallel environment executing the algorithm. We also provided in detail a design of the parallel adaptive quadrature routine for numerical approximation to definite integrals on heterogeneous NoCs and its portable mpC implementation.
We concluded in recalling an experience of solving a real-life regular problem—that of oil extraction, which we simulated in a heterogeneous parallel environment. While all the experiments presented in the chapter were conducted on relatively small heterogeneous NoCs, heterogeneous parallel computing make sense on large heterogeneous networks as well. Indeed, recent experiments with an mpC application simulating a supernova explosion, carried out by researchers at the Russian Academy of Sciences on a heterogeneous network of some 500 processors, have proved that a very complex scientific problem can be efficiently solved on a large heterogeneous NoC.