Алгоритмы редукции и широковещательной рассылки MPI на базе разделяемой памяти многопроцессорных узлов
Авторы
-
А. А. Романюта
-
М. Г. Курносов
Ключевые слова:
Bcast
Reduce
Allreduce
коллективные операции
MPI
вычислительные системы
Аннотация
Предложены алгоритмы реализации коллективных операций MPI_Bcast, MPI_Reduce, MPI_Allreduce с использованием разделяемой памяти многопроцессорных серверов. Алгоритмы создают сегмент разделяемой памяти и систему очередей в нем, через которые выполняется передача блоков сообщений. Программная реализация выполнена на базе библиотеки Open MPI в виде изолированного компонента coll/sharm. В отличие от существующих алгоритмов, взаимодействие с системой очередей организовано через активное ожидание, что сокращает количество барьерных синхронизаций и атомарных операций. При проведении экспериментов на сервере с архитектурой x86–64 для операции MPI_Bcast получено наибольшее сокращение времени в 6.5 раз (на 85% меньше) и MPI_Reduce в 3.3 раза (на 70% меньше) по сравнению с реализацией в компоненте coll/tuned библиотеки Open MPI. Предложены рекомендации по использованию алгоритмов для различных размеров сообщений.
Раздел
Параллельные программные средства и технологии
Библиографические ссылки
- MPI: A Message-Passing Interface Standard. Version 4.0.
http://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf . Cited September 21, 2023.
- S. Jain, R. Kaleem, M. G. Balmana, et al., “Framework for Scalable Intra-Node Collective Operations Using Shared Memory,” in Proc. Int. Conf. on High Performance Computing, Networking, Storage, and Analysis, Dallas, USA, November 11-16, 2018 (IEEE Press, Piscataway, 2018), Vol. 1, pp. 374-385.
doi 10.1109/SC.2018.00032
- J. S. Ladd, M. G. Venkata, P. Shamis, and R. L. Graham, “Collective Framework and Performance Optimizations to Open MPI for Cray XT Platforms,” in Proc. 53rd Cray User Group Meeting, Fairbanks, Alaska, USA, May 23-26, 2011.
https://www.ornl.gov/publication/collective-framework-and-performance-optimizations-open-mpi-cray-xt-platforms . Cited September 22, 2023.
- High-Performance Portable MPI.
https://www.mpich.org/.Cited September 22, 2023.
- Cross Memory Attach.
https://lwn.net/Articles/405284/.Cited September 22, 2023.
- High-Performance Intra-Node MPI Communication.
https://knem.gitlabpages.inria.fr . Cited September 22, 2023.
- B. Goglin and S. Moreaud, “KNEM: a Generic and Scalable Kernel-Assisted Intra-Node MPI Communication Framework,” J. Parallel Distrib. Comput. 73 (2), 176-188 (2013).
doi 10.1016/j.jpdc.2012.09.016
- Linux Cross-Memory Attach.
https://github.com/hjelmn/xpmem . Cited September 22, 2023.
- Open Source High Performance Computing.
http://www.open-mpi.org . Cited September 22, 2023.
- R. L. Graham and G. Shipman, “MPI Support for Multi-Core Architectures: Optimized Shared Memory Collectives,” in Lecture Notes in Computer Science (Springer, Heidelberg, 2008), Vol. 5205, pp. 130-140.
doi 10.1007/978-3-540-87475-1_21.
- MVAPICH: MPI over InfiniBand, Omni-Path, Ethernet/iWARP, RoCE, and Slingshot.
https://mvapich.cse.ohio-state.edu/. Cited September 22, 2023.
- M. Kurnosov and E. Tokmasheva, “Shared Memory Based MPI Broadcast Algorithms for NUMA Systems,” in Communications in Computer and Information Science (Springer, Cham, 2020), Vol. 1331, pp. 473-485.
doi 10.1007/978-3-030-64616-5_41
- S. Li, T. Hoefler, and M. Snir, “NUMA-Aware Shared-Memory Collective Communication for MPI,” in Proc. 22nd Int. Symposium on High-Performance Parallel and Distributed Computing, New York, USA, June 17-21, 2013 (ACM Press, New York, 2013), pp. 85-96.
doi 10.1145/2462902.2462903
- M. G. Kurnosov, “Analysis of the Scalability of Collective Exchange Algorithms on Distributed Computing Systems,” in Proc. 4th All-Russian Scientific and Technical Conf. on Supercomputer Technologies, Rostov-on-Don, Russia, September 19-24, 2016 (Southern Federal Univ. Press, Rostov-on-Don, 2016), Vol. 2, pp. 48-52 [in Russian].