Distributing data is a fundamental problem in implementing efficient distributed-memory parallel programs. The problem becomes more difficult in environments where the participating nodes are not dedicated to a parallel application. We are investigating the data distribution problem in non-dedicated environments in the context of explicit message-passing programs. To address this problem, we have designed and implemented an extension to MPI called dynamic MPI (Dyn-MPI). The key component of Dyn-MPI is its run-time system, which efficiently and automatically redistributes data on the fly when there are changes in the application or the underlying environment. Dyn-MPI supports efficient memory allocation, precise measurement of system load and computation time, and node removal. Performance results show that programs that use Dyn-MPI execute efficiently in non-dedicated environments, including up to almost a threefold improvement compared to programs that do not redistribute data and a ...
D. Brent Weatherly, David K. Lowenthal, Mario Naka