CoMPI- Configuration of Collective Operations in LAM/MPI Using the Scheme Programming Language

This paper describes CoMPI, an extension to LAM/MPI, which enables the user to configure collective operations by using the high level programming language Scheme. A high level language is used to achieve flexibility. When using CoMPI, applications do not have to be modified or recompiled. We implemented the allreduce collective operation in Scheme, preserving the original LAM/MPI algorithm as implemented in C. We measured the performance and found that the overhead using Scheme was insignificant. Using CoMPI to reconfigure the allreduce communication pattern taking the network topology into account, significant improvement in performance on a multi-cluster was achieved.