|
Configuration of collective operations in LAM/MPI by use of scripting
18.03.2005
Abstract
This thesis describes an extension to LAM/MPI1[6] which allows collective operations to be modified and configured by using a high level scripting language. Doing so have the potential of giving the user better control of how the cluster resources are being utilized and thus giving better performance.
Such languages are generally considered to be too slow to be used in high performance computing, but as will be shown later, by choosing the appropriate language implementation this is not necessary the case.
This system is also designed a general framework which may be used for doing research and experiments with collective operations, without having to modify existing applications.
The background for this thesis was experiments done by Bjørndalen et. a1. [2][3] which showed that considerable improvement in execution speed is possible if the topology of the underlying network is taken into consideration when doing collective operations. These experiments were conducted using PATHS[4] to simulate an MPI environment. But it was clear that being able to do this in a real MPI implementation would be of great advantage. The MPI specification[10] actually contains a facility to specify, so called virtual topologies, but this is not very well supported by, current MPI implementations and it requires applications to be modified and recompiled which may not be possible with some applications.
The goal of this work is to show that scripting languages may be used in high performance computing without scarifying performance. While doing so a framework for doing experiments with collective operations in LAM/MPI will be provided, which would then be used to solve the problem of reconfiguring collective operation to achieve better performance, without modifying existing applications.
|