<?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-1-50-61</article-id><article-id custom-type="elpub" pub-id-type="custom">vestifm-298</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>FORMALIZED OBTAINING OF THE COMMUNICATION OPERATIONS OF GRAINED PARALLEL ALGORITHMS</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><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>Tolstsikau</surname><given-names>A. A.</given-names></name></name-alternatives><bio xml:lang="ru"><p>старший преподаватель кафедры вычислительной математики факультета прикладной математики и информатики</p></bio><email xlink:type="simple">tolstikov@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>05</day><month>04</month><year>2018</year></pub-date><volume>54</volume><issue>1</issue><fpage>50</fpage><lpage>61</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Лиходед Н.А., Толстиков А.А., 2018</copyright-statement><copyright-year>2018</copyright-year><copyright-holder xml:lang="ru">Лиходед Н.А., Толстиков А.А.</copyright-holder><copyright-holder xml:lang="en">Likhoded N.A., Tolstsikau A.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/298">https://vestifm.belnauka.by/jour/article/view/298</self-uri><abstract><p>Алгоритмы, предназначенные для реализации на параллельных компьютерах с распределенной памятью, включают в себя вычислительные макрооперации (зерна вычислений), а также коммуникационные операции, которые в явном виде задают обмен массивами данных между вычислительными узлами. Наибольшие затруднения вызывает, как правило, задача организации обмена данными. Для ее решения надо сначала выявить информационные зависимости между макрооперациями, а затем сгенерировать порождаемые этими зависимостями коммуникационные операции. Для автоматизации и упрощения процесса генерации кода необходима формализация получения коммуникационных операций. Такая формализация известна для случая однородных информационных зависимостей. Она использует представление зависимостей между макрооперациями векторами глобальных зависимостей. Известны также результаты, которые позволяют получить пересылаемые массивы данных, но при этом требуют применения инструментальных средств для работы с многогранниками и не формализуют коммуникационные операции. В настоящем исследовании представлен способ формализации и включения в структуру алгоритма коммуникационных операций получения и отправки массивов данных в параллельном алгоритме с аффинными зависимостями. Применение функций, определяющих зависимости между макрооперациями, позволило в алгоритме, задающем параллельные вычислительные процессы, получить явные представления коммуникационных операций. Исследования являются обобщением формализации операций пересылки элементов массивов в параллельном алгоритме, операции которого не разбиты на макрооперации, а также некоторых аспектов метода получения коммуникационных операций, определяемых однородными информационными зависимостями.</p></abstract><trans-abstract xml:lang="en"><p>Algorithms designed for implementation on parallel computers with distributed memory consist of computational macro operations (calculation grains) and communication operations specifying the data arrays exchange between computing nodes. The major difficulty is how to find an efficient way to organize the data exchange. To solve this problem, it is first necessary to identify information dependences between macro operations and then to generate the communication operations caused by these dependences. To automate and simplify the process of code generation, it is necessary to formalize communication operations. The formalization is known for the case of homogeneous information dependences. Such formalization uses the vectors of global dependences as a representation of dependences between the calculation grains. Also, there is a way that makes it possible to obtain the data arrays exchange, but it requires the usage of tools to work with polyhedra and does not formalize communication operations. This article presents a formalization method and a method of inclusion of communication operations into the algorithm structure (receiving and sending data arrays) in case of a parallel algorithm with affine dependences. The usage of functions determining the relationship between macro operations allowed obtaining explicit representations of communication operations. This work is a generalization of the formalization of the operations of sending data in a parallel algorithm, where operations are not divided into macro operations, as well as a generalization of some aspects of obtaining the communication operation method.</p><p> </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>formalization of communication operations</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, №. 5. – P. 915–939.</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. 5, pp. 915–939. Doi: 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: Technical Report CS-09-101 / D. Kim, S. Rajopadhye. – 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 /</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. Doi: 10.1145/2948975</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">R. Dathathri, R. T. Mullapudi, U. Bondhugula // ACM Transactions on Parallel Computing (TOPC). – 2016. – Vol. 3, №. 2. – P. 1–28.</mixed-citation><mixed-citation xml:lang="en">Likhoded N. A., Tolstikov A. A. Formalization of communication operations of multidimensional loops. Vestsі Natsyia nal’nai akademіі navuk Belarusі. Seryia fіzіka-matematychnykh navuk = Proceedings of the National Academy of Sciences of Belarus. Physics and Mathematics series, 2010, no. 3, pp. 109–114 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Лиходед, Н. А. Формализация коммуникационных операций многомерных циклов / Н. А. Лиходед, A. А. Толстиков // Вес. Нац. акад. навук Беларусi. Сер. фiз.-мат. навук. – 2010. – № 3. – С. 109–114.</mixed-citation><mixed-citation xml:lang="en">Likhoded N. A., Sobolevsky P. I., Tolstikov A. A. Parallel algorithm communication operations generated by uniform dependences. Doklady Natsional’noi akademii nauk Belarusi = Doklady of the National Academy of Sciences of Belarus2011, vol. 55, no. 3, pp. 21–26 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Лиходед, Н. А. Коммуникационные операции параллельного алгоритма, порождаемые однородными зависимостями / Н. А. Лиходед, П. И. Соболевский, A. А. Толстиков // Докл. Нац. акад. наук Беларуси. – 2011. – Т. 55, № 3. – С. 21–26.</mixed-citation><mixed-citation xml:lang="en">Likhoded N. A., Sobolevsky P. I. Information structure of grained algorithms with homogeneous dependencies. Doklady Natsional’noi akademii nauk Belarusi = Doklady of the National Academy of Sciences of Belarus, 2011, vol. 55, no. 2, pp. 22–26 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Лиходед, Н. А. Информационная структура зернистых алгоритмов с однородными зависимостями / Н. А. Лиходед, П. И. Соболевский // Докл. Нац. акад. наук Беларуси. – 2011. – Т. 55, № 2. – С. 22–26.</mixed-citation><mixed-citation xml:lang="en">Bondhugula U. Compiling afﬁne loop nests for distributed-memory parallel architectures. Supercomputing 2013. Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, ACM, 2013. Article №. 33. Doi: 10.1145/2503210.2503289</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Bondhugula, U. Compiling afﬁne loop nests for distributed-memory parallel architectures / U. Bondhugula // Supercomputing 2013: Proc. of the Int. Conf. on High Performance Computing, Networking, Storage and Analysis. ACM, 2013. – Article №. 33.</mixed-citation><mixed-citation xml:lang="en">Dathathri R., Reddy C., Ramashekar T., Bondhugula U. Generating efﬁcient data movement code for heterogeneous architectures with distributed-memory. Proceedings of the 22th International Conference on Parallel Architectures and Compilation Techniques (PACT), 2013, pp. 375–386. Doi: 10.1109/pact.2013.6618833</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Generating efﬁcient data movement code for heterogeneous architectures with distributed-memory / R. Dathathri [et al.] // Proc. of the 22th Int. Conf. on Parallel Architectures and Compilation Techniques (PACT), 2013. – P. 375–386.</mixed-citation><mixed-citation xml:lang="en">PLUTO: An automatic parallelizer and locality optimizer for afﬁne loop nests. Available at: http://pluto-compiler. sourceforge.net (accessed 23 October 2017).</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">PLUTO: An automatic parallelizer and locality optimizer for afﬁne loop nests [Electronic resourсe]. – Mode of access: http://pluto-compiler.sourceforge.net. – Date of access: 23.10.2017.</mixed-citation><mixed-citation xml:lang="en">Voevodin V. V. Computational mathematics and the structure of algorithms. Moscow, Moscow State University Publishing House, 2006. 112 p. (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Воеводин, В. В. Вычислительная математика и структура алгоритмов / В. В. Воеводин. – М.: Изд-во МГУ, 2006. – 112 с.</mixed-citation><mixed-citation xml:lang="en">Likhoded N. A., Tolstikov A. A. Functions assigning the dependences of grained algorithms. Doklady Natsional’noi akademii nauk Belarusi = Doklady of the National Academy of Sciences of Belarus, 2014, vol. 58, no. 4, pp. 35–41 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Лиходед, Н. А. Функции, задающие зависимости зернистых алгоритмов / Н. А. Лиходед, A. А. Толстиков // Докл. Нац. акад. наук Беларуси. – 2014. – Т. 58, № 4. – С. 35–41.</mixed-citation><mixed-citation xml:lang="en">Voevodin V. V., Voevodin Vl. V. Parallel Computations. Saint Petersburg, BKhV-Peterburg Publ., 2002. 608 p. (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Воеводин, В. В. Параллельные вычисления / В. В. Воеводин, Вл. В. Воеводин. – СПб.: БХВ-Петербург, 2002. – 608 с.</mixed-citation><mixed-citation xml:lang="en">Voevodin V. V. Massive parallelism and decomposition of algorithms. Zhurnal vychislitel’noi matematiki i matematicheskoi ﬁziki = Computational Mathematics and Mathematical Physics, 1995, vol. 35, no. 6, pp. 988–996 (in Russian).</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Воеводин, В. В. Массивный параллелизм и декомпозиция алгоритмов / В. В. Воеводин // Журн. вычисл. математики и мат. физики. – 1995. – Т. 35, № 6. – С. 988–996.</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="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Лиходед, Н. А. Параллельные последовательности зернистых вычислений / Н. А. Лиходед, A. А. Толстиков // Докл. Нац. акад. наук Беларуси. – 2010. – Т. 54, № 4. – С. 36–41.</mixed-citation><mixed-citation xml:lang="en">Lim A. W., Lam M. S. Maximizing parallelism and minimizing synchronization with afﬁne partitions. Parallel Computing, 1998, vol. 24, no. 3–4, pp. 445–475. Doi: 10.1016/s0167-8191(98)00021-0</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Lim, A. W. Maximizing parallelism and minimizing synchronization with afﬁne partitions / A. W. Lim, M. S. Lam // Parallel Computing. – 1998. – Vol. 24, № 3/4. –P. 445–475.</mixed-citation><mixed-citation xml:lang="en">Bondhugula U., Baskaran M., Krishnamoorthy S., Ramanujam J., Rountev A., Sadayappan P. Automatic transformations for communication-minimized parallelization and locality optimization in the polyhedral model. Lecture Notes in Computer Science, 2008, no. 4959, pp. 132–146. Doi: 10.1007/978-3-540-78791-4_9</mixed-citation></citation-alternatives></ref><ref id="cit17"><label>17</label><citation-alternatives><mixed-citation xml:lang="ru">Automatic transformations for communication-minimized parallelization and locality optimization in the polyhedral model / U. Bondhugula [et al.] // Lecture Notes in Computer Science. – 2008. – № 4959. – P. 132–146.</mixed-citation><mixed-citation xml:lang="en">Likhoded N. A. Sufﬁcient conditions for the determination and use of data in the same granular parallel computa -tion process. Computational Mathematics and Mathematical Physics, 2014, vol. 54, no. 8, pp. 1316–1326. Doi: 10.1134/ s0965542514080077</mixed-citation></citation-alternatives></ref><ref id="cit18"><label>18</label><citation-alternatives><mixed-citation xml:lang="ru">Лиходед, Н. А. Достаточные условия определения и использования данных в одном параллельном зернистом вычислительном процессе / Н. А. Лиходед // Журн. вычисл. математики и мат. физики. – 2014. – Т. 54, № 8. – С. 1356–1367.</mixed-citation><mixed-citation xml:lang="en">Лиходед, Н. А. Достаточные условия определения и использования данных в одном параллельном зернистом вычислительном процессе / Н. А. Лиходед // Журн. вычисл. математики и мат. физики. – 2014. – Т. 54, № 8. – С. 1356–1367.</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>
