Efficient massively parallel implementation of some combinatorial algorithms
Theoretical Computer Science
We describe our implementation of several efficient parallel algorithms on the massively parallel SIMD machine MasPar MP-1 with virtual processing. The MPL language that we used on the MasPar MP-1 does not support virtual processing. In this paper, we describe the implementation of virtual processing for several combinatorial algorithms using the MPL language. We present our data allocation scheme for virtual processing and code rewriting rules for converting a code that uses no virtual
... rs into a code with virtual processing. We then describe the implementation of virtual processing and the fine-tuning of a set of commonly used routines. In coding these routines, we tried different underlying (deterministic and randomized) algorithms. We present the performance data for our different implementations. We also compared the performance of several of the parallel routines with their sequential implementations. The performance of our code tracks theoretical predictions quite well for the range of values for virtual processing, that we tested. We used techniques presented in this paper to convert non-virtual processing code for undi-rected graph algorithms into virtual processing code. Our experimental data suggests that by using our techniques, one can implement parallel algorithms with virtual processing quite effectiveI> on the MasPar MP-1 using the MPL language.