Efficient MPI Broadcast Communication and File Distribution

Michael Brim and Joel Sommers

Abstract: Large clusters of commodity workstations have become a popular system architecture for parallel computing tasks. A common need in these clusters is the distribution of files to subsets of the nodes. Without an underlying distributed file system (as is often the case), this task is usually carried out with ad hoc tools, or better, solutions which use parallel programming models. For instance, collective communication operations in MPI can be effectively exploited for cluster file distribution. Distributions of MPI such as MPICH and LAM/MPI, however, implement the MPI_Bcast collective operation as serial MPI_Send operations, effectively limiting the scalability of this approach. Our work explores both the optimization of MPI collective operations through use of network broadcast mechanisms and the addition of a user-level library to facilitate file distribution across a local-area cluster. Inconsistent (but repeatable) experimental results across two test configurations do not allow us to make wide claims for our methods, but our results do indicate that our mechanisms are more scalable than existing file distribution methods, including those based on the LAM/MPI implementation of MPI.

Paper available as: Postscript or PDF


FBCAST: Group File Distribution Utility and Libary

FBCAST is a software package containing an MPI application and library to enable group whole-file distribution on networks of workstations (NOWs) or clusters. FBCAST uses the MPI_BCAST function to efficiently distribute chunks of file data as MPI messages to nodes in an MPI communicator. FBCAST was originally designed to make use of an optimized version of MPI_BCAST, but is general enough for use with standard MPI distributions.

Get FBCAST: Gzipped Tarball