Introduction to mpC

Alexey Lastovetsky · 2003

The subset of the mpC language presented in this chapter addresses some primary challenges of heterogeneous parallel computing. Namely, it focuses on uneven distribution of computations in heterogeneous parallel algorithms and heterogeneity of physical processors of the executing network. The programmers can explicitly specify the uneven distribution of computations across parallel processes dictated by the implemented heterogeneous parallel algorithm. The mpC compiler will use the provided information to map the parallel processes to the executing network of computers. A simple model of the executing network is used when parallel processes of the mpC program are mapped to physical processors of the network. The relative speed of the physical processors is a key parameter in the model. In heterogeneous environments, the parameter is very sensitive to both the particular code executed by the processors and their current workload by external computations. The programmers can control the accuracy of this model at runtime, and adjust its parameters to their particular applications by using the recon statement. This statement provides a test code that should be used to estimate the relative speed of physical processors, and specifies the exact point in the program where the test code should be executed to modify parameters of the underlying model of the network of computers.

Read the paper · More papers on PaperTik