<?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">vestifm</journal-id><journal-title-group><journal-title xml:lang="ru">Известия Национальной академии наук Беларуси. Серия физико-математических наук</journal-title><trans-title-group xml:lang="en"><trans-title>Proceedings of the National Academy of Sciences of Belarus. Physics and Mathematics Series</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">1561-2430</issn><issn pub-type="epub">2524-2415</issn><publisher><publisher-name>The Republican Unitary Enterprise Publishing House "Belaruskaya Navuka"</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.29235/1561-2430-2018-54-4-417-426</article-id><article-id custom-type="elpub" pub-id-type="custom">vestifm-348</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><subj-group subj-group-type="section-heading" xml:lang="en"><subject>MATHEMATICS</subject></subj-group></article-categories><title-group><article-title>Построение двумерных зернистых параллельных вычислительных процессов</article-title><trans-title-group xml:lang="en"><trans-title>Tiled parallel 2D computational processes</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>Likhoded</surname><given-names>N. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>доктор физикоматематических наук, профессор кафедры вычислительной математики факультета прикладной математики и информатики</p></bio><bio xml:lang="en"><p>D. Sc. (Physics and Mathematics), Professor of the Department of Applied Mathematics</p></bio><email xlink:type="simple">likhoded@bsu.by</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>Paliashchuk</surname><given-names>M. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>ассистент кафедры вычислительной математики факультета прикладной математики и информатики</p></bio><bio xml:lang="en"><p>Junior Researcher</p></bio><email xlink:type="simple">poleschuma@bsu.by</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Белорусский государственный университет, Минск</institution></aff><aff xml:lang="en"><institution>Belarusian State University, Minsk</institution></aff></aff-alternatives><pub-date pub-type="collection"><year>2018</year></pub-date><pub-date pub-type="epub"><day>09</day><month>01</month><year>2019</year></pub-date><volume>54</volume><issue>4</issue><fpage>417</fpage><lpage>426</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Лиходед Н.А., Полещук М.А., 2019</copyright-statement><copyright-year>2019</copyright-year><copyright-holder xml:lang="ru">Лиходед Н.А., Полещук М.А.</copyright-holder><copyright-holder xml:lang="en">Likhoded N.A., Paliashchuk M.A.</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://vestifm.belnauka.by/jour/article/view/348">https://vestifm.belnauka.by/jour/article/view/348</self-uri><abstract><p>Алгоритм, реализуемый на параллельном компьютере с распределенной памятью, имеет, как правило, зернистую структуру: множество операций разбито на подмножества, называемые зернами вычислений. Одним из современных подходов к получению зернистых вариантов алгоритмов является тайлинг – преобразование, основанное на информационных разрезах итерационного пространства, в результате которого получаются макрооперации-тайлы. Операции одного тайла выполняются атомарно, как одна единица вычислений, а обмен данными происходит массивами. В настоящей работе для алгоритмов, заданных вложенными многомерными циклами, предложен способ построения зернистых вычислительных процессов, логически организованных в двумерную структуру. По сравнению с одномерными структурами, использование двумерных структур возможно в меньшем числе случаев, но может иметь преимущества при реализации алгоритмов на параллельных компьютерах с распределенной памятью. К числу возможных преимуществ относятся уменьшение объема коммуникационных операций, уменьшение разгона и торможения вычислений, потенциально большее число вычислительных процессов, организация обменных операций только в пределах строк или столбцов процессов. Представленные исследования обобщают на случай двумерной структуры некоторые аспекты метода построения параллельных вычислительных процессов, организованных в одномерную структуру. В частности, исследована возможность организовать полностью загруженные работой параллельные вычислительные процессы. Показано, что при определенных ограничениях на структуру и длину циклов достаточно произвести тайлинг по трем координатам многомерного итерационного пространства. В более ранних теоретических исследованиях параллельность зернистых вычислений гарантировалась при наличии информационных разрезов по всем координатам итерационного пространства, а для более простого случая одномерной структуры – по двум координатам.</p></abstract><trans-abstract xml:lang="en"><p>The algorithm implemented on a parallel computer with distributed memory has, as a rule, a tiled structure: a set of operations is divided into subsets, called tiles. One of the modern approaches to obtaining tiled versions of algorithms is a tiling transformation based on information sections of the iteration space, resulting in macro-operations (tiles). The operations of one tile are performed atomically, as one unit of calculation, and the data exchange is done by arrays. The method of construction of tiled computational processes logically organized as a two-dimensional structure for algorithms given by multidimensional loops is stated. Compared to one-dimensional structures, the use of two-dimensional structures is possible in a smaller number of cases, but it can have advantages when implementing algorithms on parallel computers with distributed memory. Among the possible advantages are the reduction of the volume of communication operations, the reduction of acceleration and deceleration of computations, potentially a greater number of computation processes and the organization of data exchange operations only within the rows or columns of processes. The results are a generalization of some aspects of the method of construction of parallel computational processes organized in a one-dimensional structure to the case of a two-dimensional structure. It is shown that under certain restrictions on the structure and length of loops, it is sufficient to perform tiling on three coordinates of a multidimensional iteration space. In the earlier theoretical studies, the parallelism of tiled computations was guaranteed in the presence of information sections in all coordinates of the iteration space, and for a simpler case of a one-dimensional structure, in two coordinates.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>параллельные вычисления</kwd><kwd>распараллеливание алгоритмов</kwd><kwd>параллельный компьютер с распределенной памятью</kwd><kwd>уменьшение числа обменов данными</kwd></kwd-group><kwd-group xml:lang="en"><kwd>parallel computations</kwd><kwd>parallelization of algorithms</kwd><kwd>distributed memory parallel computer</kwd><kwd>data exchange reduction</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">Xue, J. Time-minimal tiling when rise is larger than zero / J. Xue, W. Cai // Parallel Computing. – 2002. – Vol. 28, №. 6. – P. 915–939. https://doi.org/10.1016/s0167-8191(02)00098-4</mixed-citation><mixed-citation xml:lang="en">Xue J., Cai W. Time-minimal tiling when rise is larger than zero. Parallel Computing, 2002, vol. 28, no. 6, pp. 915–939. https://doi.org/10.1016/s0167-8191(02)00098-4</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Kim, D. Parameterized tiling for imperfectly nested loops / D. Kim, S. Rajopadhye // Technical Report CS-09-101. – Colorado State University, Department of Computer Science, February 2009. – 21 p.</mixed-citation><mixed-citation xml:lang="en">Kim D., Rajopadhye S. Parameterized Tiling for Imperfectly Nested Loops. Technical Report CS-09-101. Colorado State University, Department of Computer Science, February 2009. 21 p.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Dathathri, R. Compiling Afﬁne Loop Nests for a Dynamic Scheduling Runtime on Shared and Distributed Memory / R. Dathathri, R. T. Mullapudi, U. Bondhugula // ACM Transactions on Parallel Computing (TOPC). – 2016. – Vol. 3, №. 2. – P. 1–28. https://doi.org/10.1145/2948975</mixed-citation><mixed-citation xml:lang="en">Dathathri R., Mullapudi R. T., Bondhugula U. Compiling Afﬁne Loop Nests for a Dynamic Scheduling Runtime on Shared and Distributed Memory. ACM Transactions on Parallel Computing (TOPC), 2016, vol. 3, no. 2, pp. 1–28. https://doi.org/10.1145/ 2948975</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Лиходед, Н. А. Параллельные последовательности зернистых вычислений / Н. А. Лиходед, A. А. Толстиков // Докл. Нац. акад. наук Беларуси. – 2010. – Т. 54, № 4. – С. 36–41.</mixed-citation><mixed-citation xml:lang="en">Likhoded N. A., Tolstikov A. A. Parallel sequences of grain computations. Doklady Natsional’noi akademii nauk Belarusi = Doklady of the National Academy of Sciences of Belarus, 2010, vol. 54, no. 4, pp. 36–41 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Толстиков, А. А. Корректность разбиений алгоритмов при организации зернистых параллельных вычислительных процессов / А. А. Толстиков, Н. А. Лиходед // Междунар. конгресс по информатике: информационные системы и технологии CSIST’2011, 31 окт. – 3 нояб. 2011 г. – Минск: БГУ, 2011. – Т. 2. – С. 122–126.</mixed-citation><mixed-citation xml:lang="en">Tolstikov A. A., Likhoded N. A. Correctness of tiling of algorithms for organization of tiled parallel computational processes. Mezhdunarodnyi kongress po informatike: informatsionnye sistemy i tekhnologii CSIST’2011, 31 oktyabrya – 3 noyabrya 2011 g. T. 2 [International Congress on Computer Science: Information Systems and Technologies CSIST’2011, November 2011. Vol. 2]. Minsk, Belarusian State University, 2011, pp. 122–126 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Воеводин, В. В. Параллельные вычисления / В. В. Воеводин, Вл. В. Воеводин. – СПб.: БХВ-Петербург, 2002. – 608 с.</mixed-citation><mixed-citation xml:lang="en">Voevodin V. V., Voevodin Vl. V. Parallel Computations. St. Petersburg, BKhV-Petersburg Publ., 2002. 608 p. (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Соболевский, П. И. Двухуровневый тайлинг и его применение при пространственно-временном отображении алгоритмов на параллельные архитектуры / П. И. Соболевский, С. В. Баханович // Вес. Нац. акад. навук Беларусi. Сер. фiз.-мат. навук. – 2016. –№ 2. – С. 85–97.</mixed-citation><mixed-citation xml:lang="en">Sobolevsky P. I., Bakhanovich S. V. Two-level tiling and its application in the space-time mapping of algorithms onto parallel architectures. Vestsі Natsyianal’nai akademіі navuk Belarusі. Seryia fіzіka-matematychnykh navuk = Proceedings of the National Academy of Sciences of Belarus. Physics and Mathematics series, 2016, no. 2, pp. 85–97 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Parameterized tiled loops for free / L. Renganarayanan [et al.] // ACM SIGPLAN Conference on Programming Language Design and Implementation, San Diego, California, USA, June 2007. – [S. l.], 2007. – P. 126–138. https://doi.org/ 10.1145/1250734.1250780</mixed-citation><mixed-citation xml:lang="en">Renganarayanan L., Kim D., Rajopadhye S., Strout M. M. Parameterized tiled loops for free. Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation - PLDI ‘07. San Diego, California, USA, June 2007, pp. 126–138. https://doi.org/10.1145/1250734.1250780</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Самарский, А. А. Методы решения сеточных уравнений / А. А. Самарский, Е. С. Николаев. – М.: Наука, 1978. – 592 с.</mixed-citation><mixed-citation xml:lang="en">Samarskii A. A., Nikolaev E. S. Methods for Solving of the Grid Equations. Moscow, Nauka Publ., 1978. 592 p. (in Russian).</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>
