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