ABSTRACT
MPI (Message Passing Interface) offers a suite of APIs for inter-process communication among parallel processes. We have approached to the acceleration of MPI collective communication such as MPI_Bcast and MPI_Allreduce, taking advantage of network programmability brought by Software Defined Networking (SDN). The basic idea is to allow a SDN controller to dynamically control the packet flows generated by MPI collective communication based on the communication pattern and the underlying network conditions. Although our research have succeeded to accelerate an MPI collective communication in terms of execution time, the switching of network control functionality for MPI collective communication along MPI program execution have not been considered yet. This paper presents a mechanism that provides the control sequence for SDN controller to control packet flows based on the communication plan for the entire MPI application. The control sequence encloses a chronologically ordered list of the MPI collectives operated in the MPI application and the process-related information of each in the list. To verify if the SDN-enhanced MPI collectives can be used in combination with the proposed mechanism, the envisioned environment was prototyped. As a result, SDN-enhanced MPI collectives were able to be used in combination.
- Apache Hadoop. https://hadoop.apache.org/.Google Scholar
- Full-Stack OpenFlow Framework in Ruby and C. http://trema.github.io/trema/.Google Scholar
- Message Passing Interface (MPI). https://computing.llnl.gov/tutorials/mpi/.Google Scholar
- MVAPICH: MPI over InfiniBand, 10GigE/iWARP and RoCE. http://mvapich.cse.ohio-state.edu/.Google Scholar
- Performance Visualization for Parallel Programs. http://www.mcs.anl.gov/research/projects/perfvis/.Google Scholar
- Stanford University Clean State Program. http://cleanslate.stanford.edu/.Google Scholar
- Top 500. http://www.top500.org/.Google Scholar
- Writing Netfilter modules. 2012.Google Scholar
- T. Adachi, N. Shida, K. Miura, S. Sumimoto, A. Uno, M. Kurokawa, F. Shoji, and M. Yokokawa. The design of ultra scalable MPI collective communication on the K computer. Computer Science-Research and Development, 28(2-3):147--155, 2013. Google ScholarDigital Library
- G. Almási, P. Heidelberger, C. J. Archer, X. Martorell, C. C. Erway, J. E. Moreira, B. Steinmacher-Burow, and Y. Zheng. Optimization of MPI collective communication on BlueGene/L systems. In Proceedings of the 19th Annual International Conference on Supercomputing, pages 253--262. ACM, 2005. Google ScholarDigital Library
- M. Blocksome et al. Optimizing MPI collectives using efficient intra-node communication techniques over the BlueGene/P supercomputer. Technical report, IBM, 2010.Google Scholar
- W. Braun and M. Menth. Software-Defined Networking using OpenFlow: Protocols, applications and architectural design choices. Future Internet, 6(2):302--336, 2014.Google ScholarCross Ref
- A. Chan, W. Gropp, and E. Lusk. User's guide for MPE extensions for MPI programs. Technical report, Argonne National Laboratory, 1998.Google Scholar
- K. Dashdavaa, S. Date, H. Yamanaka, E. Kawai, Y. Watashiba, K. Ichikawa, H. Abe, and S. Shimojo. Architecture of a high-speed MPI Bcast leveraging Software-Defined Network. In Euro-Par 2013: Parallel Processing Workshops, pages 885--894. Springer, 2014.Google Scholar
- E. Gabriel, G. E. Fagg, G. Bosilca, T. Angskun, J. J. Dongarra, J. M. Squyres, V. Sahay, P. Kambadur, B. Barrett, A. Lumsdaine, et al. Open MPI: Goals, concept, and design of a next generation MPI implementation. In Recent Advances in Parallel Virtual Machine and Message Passing Interface, pages 97--104. Springer, 2004.Google ScholarCross Ref
- W. Gropp, E. Lusk, N. Doss, and A. Skjellum. A high-performance, portable implementation of the MPI message passing interface standard. Parallel Computing, 22(6):789--828, 1996. Google ScholarDigital Library
- R. Hempel. The MPI standard for message passing. In High-Performance Computing and Networking, pages 247--252. Springer, 1994. Google ScholarDigital Library
- ONF. Software-Defined Networking: The new norm for networks. Technical report, Open Networking Foundation, 2012.Google Scholar
- P. Qin, B. Dai, B. Huang, and G. Xu. Bandwidth-aware scheduling with sdn in hadoop: A new trend for big data. arXiv preprint arXiv:1403.2800, 2014.Google Scholar
- J. M. Squyres and A. Lumsdaine. A component architecture for LAM/MPI. In Recent Advances in Parallel Virtual Machine and Message Passing Interface, pages 379--387. Springer, 2003.Google Scholar
- K. Takahashi, D. Khureltulga, Y. Watashiba, Y. Kido, S. Shimojo, et al. Performance evaluation of SDN-enhanced MPI_Allreduce on a cluster system with fat-tree interconnect. In High Performance Computing & Simulation (HPCS), 2014 International Conference on, pages 784--792. IEEE, 2014.Google ScholarCross Ref
- R. Thakur and W. D. Gropp. Improving the performance of collective operations in MPICH. In Recent Advances in Parallel Virtual Machine and Message Passing Interface, pages 257--267. Springer, 2003.Google ScholarCross Ref
- G. Wang, T. Ng, and A. Shaikh. Programming your network at run-time for big data applications. In Proceedings of the first workshop on Hot topics in software defined networks, pages 103--108. ACM, 2012. Google ScholarDigital Library
- M. Yokokawa, F. Shoji, A. Uno, M. Kurokawa, and T. Watanabe. The K computer: Japanese next-generation supercomputer development project. In Proceedings of the 17th IEEE/ACM International Symposium on Low-power Electronics and Design, pages 371--372. IEEE Press, 2011. Google ScholarDigital Library
Index Terms
- Design and implementation of control sequence generator for SDN-enhanced MPI
Recommendations
Concept and Design of SDN-Enhanced MPI Framework
EWSDN '15: Proceedings of the 2015 Fourth European Workshop on Software Defined NetworksIn general, modern high-performance computing systems are built as cluster systems. We have been investigating the feasibility of optimizing MPI communications by integrating the dynamic network control realized by SDN. In this paper, we present a ...
A transmission optimization method for MPI communications
AbstractIn recent years, MPI has been widely used as a communication protocol for massively parallel computing tasks, and the performance of MPI interprocess communications has become a major constraint for large-scale scalability. By analyzing the ...
Tools-supported HPF and MPI parallelization of the NAS parallel benchmarks
FRONTIERS '96: Proceedings of the 6th Symposium on the Frontiers of Massively Parallel ComputationHigh Performance Fortran (HPF) compilers and communication libraries with the standardized Message Passing Interface (MPI) are becoming widely available, easing the development of portable parallel applications. The Annai tool environment supports ...
Comments