DOI: https://doi.org/10.26089/NumMet.v24r424

Алгоритмы редукции и широковещательной рассылки 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. Предложены рекомендации по использованию алгоритмов для различных размеров сообщений.


Загрузки

Опубликован

2023-10-16

Выпуск

Раздел

Параллельные программные средства и технологии

Авторы

А. А. Романюта

М. Г. Курносов


Библиографические ссылки

  1. 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.
  2. 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
  3. 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.
  4. High-Performance Portable MPI.
    https://www.mpich.org/.Cited September 22, 2023.
  5. Cross Memory Attach.
    https://lwn.net/Articles/405284/.Cited September 22, 2023.
  6. High-Performance Intra-Node MPI Communication.
    https://knem.gitlabpages.inria.fr . Cited September 22, 2023.
  7. 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
  8. Linux Cross-Memory Attach.
    https://github.com/hjelmn/xpmem . Cited September 22, 2023.
  9. Open Source High Performance Computing.
    http://www.open-mpi.org . Cited September 22, 2023.
  10. 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.
  11. MVAPICH: MPI over InfiniBand, Omni-Path, Ethernet/iWARP, RoCE, and Slingshot.
    https://mvapich.cse.ohio-state.edu/. Cited September 22, 2023.
  12. 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
  13. 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
  14. 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].