<?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">mireabulletin</journal-id><journal-title-group><journal-title xml:lang="ru">Russian Technological Journal</journal-title><trans-title-group xml:lang="en"><trans-title>Russian Technological Journal</trans-title></trans-title-group></journal-title-group><issn pub-type="ppub">2782-3210</issn><issn pub-type="epub">2500-316X</issn><publisher><publisher-name>RTU MIREA</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.32362/2500-316X-2022-10-6-7-19</article-id><article-id custom-type="elpub" pub-id-type="custom">mireabulletin-578</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>INFORMATION SYSTEMS. COMPUTER SCIENCES. ISSUES OF INFORMATION SECURITY</subject></subj-group></article-categories><title-group><article-title>Вычислительная сложность построения рациональных планов выполнения программ на заданном поле параллельных вычислителей</article-title><trans-title-group xml:lang="en"><trans-title>Computational complexity when constructing rational plans for program execution in a given field of parallel computers</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-1650-038X</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Баканов</surname><given-names>В. М.</given-names></name><name name-style="western" xml:lang="en"><surname>Bakanov</surname><given-names>V. M.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Баканов Валерий Михайлович - д.т.н.,  профессор кафедры КБ-5 «Аппаратное, программное и математическое обеспечение вычислительных систем» Института кибербезопасности и цифровых технологий</p><p>119454, Россия, Москва, пр-т Вернадского, д. 78</p><p>Scopus Author ID 6505511355, ResearcherID L-1314-2015, SPIN-код РИНЦ 8868-4594</p></bio><bio xml:lang="en"><p>Valery M. Bakanov - Dr. Sci. (Eng.), Professor, Department of Hardware, Software and Mathematical Support of Computing Systems, Institute of Cybersecurity and Digital Technologies</p><p>78, Vernadskogo pr., Moscow, 119454</p><p>Scopus Author ID 6505511355, ResearcherID L-1314-2015, RSCI SPIN-code 8868-4594</p><p> </p><p> </p></bio><email xlink:type="simple">e881e@mail.ru</email><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>МИРЭА – Российский технологический университет</institution><country>Россия</country></aff><aff xml:lang="en"><institution>MIREA – Russian Technological University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2022</year></pub-date><pub-date pub-type="epub"><day>01</day><month>12</month><year>2022</year></pub-date><volume>10</volume><issue>6</issue><fpage>7</fpage><lpage>19</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">Bakanov V.M.</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://www.rtj-mirea.ru/jour/article/view/578">https://www.rtj-mirea.ru/jour/article/view/578</self-uri><abstract><p>Цели. Построение рациональных планов (расписаний) выполнения параллельных программ (ВПП), вследствие неоднозначности, является сложной задачей. Цель работы – создание методик разработки таких планов и специализированного программного обеспечения для реализации этих методик, полагающихся на внутренние свойства алгоритмов, в первую очередь на свойство внутреннего (скрытого) параллелизма.Методы. Основными методами при разработке планов ВПП являются построение, анализ и целенаправленное преобразование ярусно-параллельной формы (ЯПФ) информационных графов алгоритмов (ИГА). Преобразование ЯПФ осуществляется путем переноса операторов с яруса на ярус ЯПФ (именно это событие и принято за элементарный шаг при определении вычислительной сложности выполнения сценария). В качестве инструмента преобразования применен метод разработки сценариев преобразования на скриптовом языке программирования Lua. Сценарии создаются на основе эвристического подхода и используют набор API-функций (API – Application Programming Interface) разработанной программной системы, позволяющих всесторонне изучить параметры ИГА и его ЯПФ-представления для последующего построения плана ВПП на заданном поле параллельных вычислителей.Результаты. Результаты вычислительных экспериментов выявили особенности внутренних свойств алгоритмов, влияющих на эффективность преобразований ЯПФ. Получены сравнительные показатели вычислительной сложности получения планов ВПП и иных параметров (включая плотность кода и др.) при применении различных сценариев преобразования ЯПФ. Итерационный подход к улучшению эвристических методов позволит приблизиться к оптимальным схемам решения целевой задачи.Выводы. В целом разработанный программный комплекс подтвердил эффективность в исследовании параметров скрытого параллелизма в произвольных алгоритмах и рационального его использования при обработке данных. Подход применения скриптового языка для разработки эвристических методов (сценариев) целенаправленного преобразования форм ИГА показал большую гибкость и прозрачность для исследователя. Целевыми потребителями разработанных методов генерации расписаний параллельного выполнения программ в первую очередь являются разработчики трансляторов и виртуальных машин, исследователи свойств алгоритмов (в направлении нахождения и использования потенциала скрытого их параллелизма). Разработанное программное обеспечение и методики несколько лет применяются при обучении студентов в университетах России, что позволило повысить компетенции учащихся в области параллелизации обработки данных.</p></abstract><trans-abstract xml:lang="en"><p>Objectives. The construction of rational plans (schedules) for parallel program execution (PPE) represents a challenging problem due to its ambiguity. The aim of this work is to create methods for developing such plans and specialized software for implementing these methods, which are based on the internal properties of algorithms, primarily on the property of internal (hidden) parallelism.Methods. The main method for developing PPE plans was the construction, analysis, and purposeful transformation of the stacked-parallel form (SPF) of information graphs of algorithms (IGA). The SPF was transformed by transferring operators from tier to tier of the SPF (this event was taken as an elementary step in determining the computational complexity of scenario execution). As a transformation tool, a method for developing transformation scenarios in the scripting programming language Lua was used. Scenarios were created by a heuristic approach using a set of Application Programming Interface (API) functions of the developed software system. These functions formed the basis for a comprehensive study of the parameters of the IGA and its SPF representation for the subsequent construction of a PPE plan applying to a given field of parallel computers.Results. Features of the internal properties of the algorithms that affect the efficiency of SPF transformations were identified during the course of computational experiments. Comparative indices of the computational complexity of obtaining PPE plans and other parameters (including code density, etc.) were obtained for various SPF transformation scenarios. An iterative approach to improving heuristic methods favors developing optimal schemes for solving the objective problem.Conclusions. The developed software system confirmed its efficiency for studying the parameters of hidden parallelism in arbitrary algorithms and rational use in data processing. The approach of using a scripting language to develop heuristic methods (scenarios) for the purposeful transformation of IGA forms showed great flexibility and transparency for the researcher. The target consumers of the developed methods for generating schedules for parallel execution of programs are, first of all, developers of translators and virtual machines, and researchers of the properties of algorithms (for identifying and exploiting the potential of their hidden parallelism). The developed software and methods have been successfully used for a number of years for increasing student competence in data processing parallelization at Russian universities.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>граф алгоритма</kwd><kwd>тонкая информационная структура программы</kwd><kwd>ярусно-параллельная форма графа</kwd><kwd>рациональные параметры выполнения параллельной программы</kwd><kwd>план выполнения параллельной программы</kwd></kwd-group><kwd-group xml:lang="en"><kwd>algorithm graph</kwd><kwd>fine information structure of program</kwd><kwd>stacked-parallel form of graph</kwd><kwd>rational execution parameters of parallel program</kwd><kwd>execution plan of parallel program</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">Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург; 2004. 608 c.</mixed-citation><mixed-citation xml:lang="en">Voevodin V.V., Voevodin Vl.V. Parallel’nye vychisleniya (Parallel computing). St. Petersburg: BHV-Petersburg; 2004. 608 p. (in Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Bakanov V. Research and selection of rational methods for obtaining framework of schedules for the parallel programs execution. In: Silhavy R., Silhavy P., Prokopova Z. (Eds.). Data Science and Intelligent Systems. CoMeSySo 2021. Lecture Notes in Networks and Systems. V. 231. Springer, Cham. https://doi.org/10.1007/978-3-030-90321-3_22</mixed-citation><mixed-citation xml:lang="en">Bakanov V. Research and selection of rational methods for obtaining framework of schedules for the parallel programs execution. In: Silhavy R., Silhavy P., Prokopova Z. (Eds.). Data Science and Intelligent Systems. CoMeSySo 2021. Lecture Notes in Networks and Systems. V. 231. Springer, Cham. https://doi.org/10.1007/978-3-030-90321-3_22</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Федотов И.Е. Параллельное программирование. Модели и приемы. М.: СОЛОН-Пресс; 2018. 390 с. ISBN 978-5-91359-222-4</mixed-citation><mixed-citation xml:lang="en">Fedotov I.E. Parallel’noe programmirovanie. Modeli i priemy (Parallel programming. Models and techniques). Moscow: SOLON-Press; 2018. 390 p. (in Russ.). ISBN 978-5-91359-222-4</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Баканов В.М. Управление динамикой вычислений в процессорах потоковой архитектуры для различ- ных типов алгоритмов. Программная инженерия. 2015;9:20–24.</mixed-citation><mixed-citation xml:lang="en">Bakanov V.M. Dynamics control computing in the processors data flow architecture for different types of algorithms. Programmnaya inzheneriya = Software Engineering. 2015;9:20–24 (in Russ.).</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Bakanov V.M. Software complex for modeling and optimization of program implementation on parallel calculation systems. Open Comput. Sci. 2018;8(1): 228–234. https://doi.org/10.1515/comp-2018-0019</mixed-citation><mixed-citation xml:lang="en">Bakanov V.M. Software complex for modeling and optimization of program implementation on parallel calculation systems. Open Comput. Sci. 2018;8(1): 228–234. https://doi.org/10.1515/comp-2018-0019</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Padua D. (Ed.). Encyclopedia of parallel computing. NY: Springer; 2012. 2195 p. https://doi.org/10.1007/978-0-387-09766-4</mixed-citation><mixed-citation xml:lang="en">Padua D. (Ed.). Encyclopedia of parallel computing. NY: Springer; 2012. 2195 p. https://doi.org/10.1007/978-0-387-09766-4</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Dennis J.B., Misunas D.P. A preliminary architecture for a basic data-flow processor. In: Proc. Second Annual Symp. Computer Architecture (ISCA ́75). 1975. P. 126–132. https://doi.org/10.1145/642089.642111</mixed-citation><mixed-citation xml:lang="en">Dennis J.B., Misunas D.P. A preliminary architecture for a basic data-flow processor. In: Proc. Second Annual Symp. Computer Architecture (ISCA ́75). 1975. P. 126–132. https://doi.org/10.1145/642089.642111</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Kukunas J. Power and performance: Software analysis and optimization. Morgan Kaufman, Elsevier Inc.; 2015. 300 p.</mixed-citation><mixed-citation xml:lang="en">Kukunas J. Power and performance: Software analysis and optimization. Morgan Kaufman, Elsevier Inc.; 2015. 300 p.</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">McNairy C., Soltis D. Itanium 2 processor microarchitecture. IEEE Micro. 2003;23(2):44–55. https://doi.org/10.1109/MM.2003.1196114</mixed-citation><mixed-citation xml:lang="en">McNairy C., Soltis D. Itanium 2 processor microarchitecture. IEEE Micro. 2003;23(2):44–55. https://doi.org/10.1109/MM.2003.1196114</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Таненбаум Э., Остин Т. Архитектура компьютера: пер с англ. СПб.: Питер; 2019. 816 c. ISBN 978-5-4461- 1103-9</mixed-citation><mixed-citation xml:lang="en">Tanenbaum E., Ostin T. Arkhitektura komp’yutera (Computer architecture). Transl. from Eng. St. Petersburg: Piter; 2019. 816 p. (in Russ.). ISBN 978-5-4461-1103-9</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to algorithms. 3rd ed. London: MIT Press; 2009. 1292 p.</mixed-citation><mixed-citation xml:lang="en">Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to algorithms. 3rd ed. London: MIT Press; 2009. 1292 p.</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">McConnell J.J. Analysis of algorithms: An active learning approach. Jones &amp; Bartlett Publishers; 2008. 451 p.</mixed-citation><mixed-citation xml:lang="en">McConnell J.J. Analysis of algorithms: An active learning approach. Jones &amp; Bartlett Publishers; 2008. 451 p.</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи: пер. с англ. М.: Книга по требованию; 2012. 420 с. ISBN 978-5-458-26100-5</mixed-citation><mixed-citation xml:lang="en">Garey M., Johnson D. Vychislitel’nye mashiny i trudnoreshaemye zadachi ( Computing machines and difficult tasks). Transl. from Eng. Moscow: Kniga po trebovaniyu; 2012. 420 р. (in Russ.). ISBN 978-5-458- 26100-5 [Garey M., Johnson D. Computers and intractability. San Francisco; 1979. 338 p.]</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Ierusalimschy R. Programming in Lua. 3rd ed. PUC-Rio, Brasil, Rio de Janeiro; 2013. 348 p.</mixed-citation><mixed-citation xml:lang="en">Ierusalimschy R. Programming in Lua. 3rd ed. PUC-Rio, Brasil, Rio de Janeiro; 2013. 348 p.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Fisher J.A. Very long instruction word architectures and the ELI-512. In: Proceedings of the 10th Annual International Symposium on Computer Architecture (ISCA ’83). 1983. P. 140–150. https://doi.org/10.1145/800046.801649</mixed-citation><mixed-citation xml:lang="en">Fisher J.A. Very long instruction word architectures and the ELI-512. In: Proceedings of the 10th Annual International Symposium on Computer Architecture (ISCA ’83). 1983. P. 140–150. https://doi.org/10.1145/800046.801649</mixed-citation></citation-alternatives></ref><ref id="cit16"><label>16</label><citation-alternatives><mixed-citation xml:lang="ru">Babb R.I. Parallel processing with large-grain data flow techniques. Computer. 1984;17(7):55–61. https://doi.org/10.1109/MC.1984.1659186</mixed-citation><mixed-citation xml:lang="en">Babb R.I. Parallel processing with large-grain data flow techniques. Computer. 1984;17(7):55–61. https://doi.org/10.1109/MC.1984.1659186</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>
