<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">sibsutis</journal-id><journal-title-group><journal-title xml:lang="ru">Вестник СибГУТИ</journal-title><trans-title-group xml:lang="en"><trans-title>The Herald of the Siberian State University of Telecommunications and Information Science</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1998-6920</issn><publisher><publisher-name>СибГУТИ</publisher-name></publisher></journal-meta><article-meta><article-id custom-type="elpub" pub-id-type="custom">sibsutis-7</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>Статьи</subject></subj-group></article-categories><title-group><article-title>Алгоритм широковещательной передачи стандарта MPI на базе разделяемой памяти многопроцессорных NUMA-узлов</article-title><trans-title-group xml:lang="en"><trans-title>Shared memory based MPI broadcast algorithm for NUMA systems</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Курносов</surname><given-names>М. Г.</given-names></name><name name-style="western" xml:lang="en"><surname>Kurnosov</surname><given-names>M. ..</given-names></name></name-alternatives><email xlink:type="simple">mkurnosov@gmail.com</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Токмашева</surname><given-names>Е. И.</given-names></name><name name-style="western" xml:lang="en"><surname>Tokmasheva</surname><given-names>E. ..</given-names></name></name-alternatives><email xlink:type="simple">eliz_tokmasheva@sibguti.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff xml:lang="ru" id="aff-1"><institution>Сибирский государственный университет телекоммуникаций и информатики</institution><country>Russian Federation</country></aff><pub-date pub-type="collection"><year>2020</year></pub-date><pub-date pub-type="epub"><day>18</day><month>04</month><year>2022</year></pub-date><volume>0</volume><issue>1</issue><fpage>42</fpage><lpage>59</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Курносов М.Г., Токмашева Е.И., 2022</copyright-statement><copyright-year>2022</copyright-year><copyright-holder xml:lang="ru">Курносов М.Г., Токмашева Е.И.</copyright-holder><copyright-holder xml:lang="en">Kurnosov M..., Tokmasheva E...</copyright-holder><license xml:lang="ru" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>Данная работа распространяется под лицензией Creative Commons Attribution 4.0.</license-p></license><license xml:lang="en" license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://vestnik.sibsutis.ru/jour/article/view/7">https://vestnik.sibsutis.ru/jour/article/view/7</self-uri><abstract><p>Предложен алгоритм реализации операции MPI_Bcast широковещательной передачи через разделяемую память многопроцессорных NUMA-узлов. Алгоритм основан на создании системы очередей в сегменте разделяемой памяти, через которые корневой процесс выполняет конвейерную передачу фрагментов сообщения (pipelining). Для сокращения накладных расходов на копирование между NUMA-узлами выполняется динамический анализ топологии MPI-коммуникатора и размещение очередей в памяти локальных NUMA-узлов процессов. Выполнен теоретический и экспериментальный анализ эффективности алгоритма. В рамках рассматриваемой модели найдены оптимальные значения размера фрагмента и длины очереди. Алгоритм реализован авторами на базе Open MPI и в среднем на 20-60 % сокращает время выполнения операции MPI_Bcast по сравнению с алгоритмами в библиотеках MVAPICH и Open MPI (coll/sm).</p></abstract><trans-abstract xml:lang="en"><p>Broadcast collective communication operation is used by many scientific applications and tend to limit overall parallel application scalability. As the number of cores per computer node keeps increasing, it becomes important for MPI to leverage shared memory for intranode communication. This paper investigates the design and optimization of Bcast operation for SMPlNUMA nodes. We describe an algorithm for Bcast that takes advantage of NUMA-specific placement of queues in memory for message transferring. On a Xeon Nehalem and Xeon Broadwell NUMA nodes, our implementation achieves on average 20-60 % speedup over Open MPI and MVAPICH.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>коллективные операции</kwd><kwd>параллельное программирование</kwd><kwd>вычислительные системы</kwd></kwd-group><kwd-group xml:lang="en"><kwd>Bcast</kwd><kwd>broadcast</kwd><kwd>MPI</kwd><kwd>NUMA</kwd></kwd-group></article-meta></front><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Thakur R., Rabenseifner R., Gropp W. Optimization of Collective Communication Operations in MPICH // High Performance Computing Applications. 2005. V. 19 (1). P. 49-66.</mixed-citation><mixed-citation xml:lang="en">Thakur R., Rabenseifner R., Gropp W. Optimization of Collective Communication Operations in MPICH // High Performance Computing Applications. 2005. V. 19 (1). P. 49-66.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Sanders P., Speck J., Traff J. L. Two-Tree Algorithms for Full Bandwidth Broadcast, Reduction and Scan // Parallel Computing. 2009. V. 35 (12). P. 581-594.</mixed-citation><mixed-citation xml:lang="en">Sanders P., Speck J., Traff J. L. Two-Tree Algorithms for Full Bandwidth Broadcast, Reduction and Scan // Parallel Computing. 2009. V. 35 (12). P. 581-594.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Traff J., Ripke A. Optimal Broadcast for Fully Connected Processor-node Networks // Parallel and Distributed Computing. 2008. V. 68 (7). P. 887-901.</mixed-citation><mixed-citation xml:lang="en">Traff J., Ripke A. Optimal Broadcast for Fully Connected Processor-node Networks // Parallel and Distributed Computing. 2008. V. 68 (7). P. 887-901.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Bin Jia. Process Cooperation in Multiple Message Broadcast // Parallel Computing. 2009 V. 35. P. 572-580.</mixed-citation><mixed-citation xml:lang="en">Bin Jia. Process Cooperation in Multiple Message Broadcast // Parallel Computing. 2009 V. 35. P. 572-580.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Lameter C. NUMA (Non-Uniform Memory Access): An Overview // ACM Queue. 2013. V. 11 (7). P. 1-12.</mixed-citation><mixed-citation xml:lang="en">Lameter C. NUMA (Non-Uniform Memory Access): An Overview // ACM Queue. 2013. V. 11 (7). P. 1-12.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Li S., Hoefler T. and Snir M. NUMA-Aware Shared Memory Collective Communication for MPI // Proc. of the 22nd Int. symposium on High-performance parallel and Distributed computing, 2013. P. 85-96.</mixed-citation><mixed-citation xml:lang="en">Li S., Hoefler T. and Snir M. NUMA-Aware Shared Memory Collective Communication for MPI // Proc. of the 22nd Int. symposium on High-performance parallel and Distributed computing, 2013. P. 85-96.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Wu M., Kendall R and Aluru S. Exploring Collective Communications on a Cluster of SMPs // Proc. of the HPCAsia, 2004. P. 114-117.</mixed-citation><mixed-citation xml:lang="en">Wu M., Kendall R and Aluru S. Exploring Collective Communications on a Cluster of SMPs // Proc. of the HPCAsia, 2004. P. 114-117.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">MVAPICH: MPI over InfiniBand, Omni-Path, Ethernet/iWARP, and RoCE // URL: http://mvapich.cse.ohio-state.edu/ (дата обращения: 12.12.2019).</mixed-citation><mixed-citation xml:lang="en">MVAPICH: MPI over InfiniBand, Omni-Path, Ethernet/iWARP, and RoCE // URL: http://mvapich.cse.ohio-state.edu/ (дата обращения: 12.12.2019).</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">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.</mixed-citation><mixed-citation xml:lang="en">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.</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Jain S., Kaleem R, Balmana M., Langer A., Durnov D., Sann^ov A. and Garzaran M. Framework for Scalable Intra-Node Collective Operations using Shared Memory // Proc. of the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC-2018), 2018. P. 374-385.</mixed-citation><mixed-citation xml:lang="en">Jain S., Kaleem R, Balmana M., Langer A., Durnov D., Sann^ov A. and Garzaran M. Framework for Scalable Intra-Node Collective Operations using Shared Memory // Proc. of the International Conference for High Performance Computing, Networking, Storage, and Analysis (SC-2018), 2018. P. 374-385.</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
