Алгоритмы операций all-to-all стандарта MPI с использованием разделяемой памяти

Бесплатный доступ

Предложены алгоритмы реализации коллективных операций стандарта MPI Alltoall и Alltoallv с использованием разделяемой памяти многопроцессорных серверов и механизма ядра Linux СМА. Алгоритмы используют для обмена сообщениями систему очередей или системные вызовы СМА. Программная реализация выполнена на базе библиотеки Open MPI в виде отдельного компонента coll/sharm. При проведении экспериментов на сервере с архитектурой х86-64 для операции MPI_Alltoall получено наибольшее сокращение времени до 1.48 раз и MPI_Alltoal.lv в 1.37 раза по сравнению с реализацией в компонентах coll/tuned и coll/ucc библиотеки Open MPI. Предложены рекомендации по использованию алгоритмов для различных размеров сообщений.

коллективные операции \ вычислительные системы

Похожие статьи в разделе Информационные технологии. Вычислительная техника. Обработка данных

Многоуровневые алгоритмы отображения параллельных МР1-программ на вычислительные кластеры
Многоуровневые алгоритмы отображения параллельных МР1-программ на вычислительные кластеры

Пазников Алексей Александрович, Курносов Михаил Георгиевич, Куприянов Михаил Степанович

Оптимизация отображения неоднородно взаимодействующих MPI процессов на вычислительную архитектуру
Оптимизация отображения неоднородно взаимодействующих MPI процессов на вычислительную архитектуру

Гетманский Виктор Викторович, Чалышев Владимир Сергеевич, Крыжановский Дмитрий Иванович, Лексиков Евгений Иванович

Короткий адрес: https://sciup.org/143183324

IDS: 143183324   |   УДК: 004   |   DOI: 10.24412/2073-0667-2024-3-72-81

Algorithms for MPI all-to-all exchange using shared memory

Proposed algorithms for implementing MPI_Alltoall and MPI_Alltoallv collective operations using shared memory of multiprocessor servers and the Linux kernel CMA mechanism. The algorithms use either a queue system or CMA system calls for message exchange. The software implementation is based on the Open MPI library as a separate component coll/sharm. In experiments conducted on a server with x86-64 architecture, the MPI_Alltoall operation achieved the greatest time reduction by 1.48 times and MPI_Alltoallv by 1.37 times compared to implementations in the coll/tuned and coll/ucc components of the Open MPI library. Recommendations for using the algorithms for different message sizes are proposed

Список литературы Алгоритмы операций all-to-all стандарта MPI с использованием разделяемой памяти

  • A Message-Passing Interface Standard Version 4.0. [El. Res.]: http://www.mpi-forum.org/ docs/mpi-4.0Zmpi40-report.pdf. (Дата обращения: 25 мая 2024).
  • Open Source High Performance Computing. [El. Res.]: http://www.open-mpi.org. (Дата обращения: 25 мая 2024).
  • Cross Memory Attach. [El. Res.]: https://lwn.net/Articles/405284/. (Cited 25 May 2024).
  • Linux Cross-Memory Attach. [El. Res.]: https://github.com/hjelmn/xpmem. (Cited 25 May 2024).
  • Graham R. L., Shipman G. MPI Support for Multi-core Architectures: Optimized Shared Memory Collectives // Proc, of the 15th European PVM/MPI Users' Group Meeting, 2008. P. 130-140.
  • MVAPICH: MPI over InfiniBand, Omni-Path, Ethernet/iWARP, RoCE, and Slingshot. [El. Res.]: https://mvapich.cse.ohio-state.edu/. (Дата обращения: 25 мая 2024).
  • Unified Communication X. [El. Res.]: https://github.com/openucx/ucx. (Дата обращения: 25 мая 2024).
  • Unified Collective Communication. [El. Res.]: https://github.com/openucx/ucc. (Дата обращения: 25 мая 2024).
  • Романюта А. А., Курносов М. Г. Алгоритмы редукции и широковещательной рассылки MPI на базе разделяемой памяти многопроцессорных узлов // Вычислительные методы и программирование. Т. 24. Выпуск 4. 2023. (Дата обращения: 25 мая 2024).
  • Intel(R) MPI Benchmarks. [El. Res.]: https://github.com/intel/mpi-benchmarks. (Дата обращения: 25 мая 2024).
Еще