Reconfigurable MPI:A reconfigurable communication framework for HPC applications
Communication efficiency strongly influences HPC application performance. Providing a customized communication subsystem for the application improves its performance. The consequence of customized system providing appropriate protocols for data transfer, functionality that suits application’s QOS requirements and has little software overhead. However, customizing communication subsystem for every application requires enormous software effort. If, other- wise, we use a single generalized system for all the applications. It will need lesser software effort than required by the customized approach. However, this system suffers from ineffi- ciencies of software generality and redundant functionalities. Extensibility is important for the communication subsystems as modern HPC applications have diverse, dynamic and evolving communication requirements. However, for the generalized system, adding new functional- ity requires redesigning and re-implementing the whole system. To retain the advantages of both customized approach and generalized approach, we propose reconfigurable approach of building communication subsystems for HPC applications.
In reconfigurable approach, a communication subsystem is functionally reconfigurable at runtime to match the application requirements. The communication subsystem is composed of reusable building blocks called modules, which are also units of reconfiguration. The modules define protocols for data transfer, reliability, flow control or algorithms for group communica- tion. It may be used to implement hardware drivers, demultiplexers, hardware-specific opti- mizations, application-specific optimizations or data structures required for bookkeeping. The modules are composed at compile time to define a communication service and reconfigured at runtime based on application’s communication and QOS requirements, input data or any other runtime parameters. Also at runtime, user-defined policy will select appropriate application- specific and hardware-specific optimizations to enhance application performance. We will implement MPI, based on this approach to prove advantages of the reconfigurable communi- cation subsystem for HPC applications. Experiments on our prototype MPI implementation, demonstrates the advantages of runtime reconfiguration and potential of this approach to im- prove HPC application performance.
Publications
People
Manjunath Gorentla
Patrick Bridges