<?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">procyber</journal-id><journal-title-group><journal-title xml:lang="ru">Вестник кибернетики</journal-title><trans-title-group xml:lang="en"><trans-title>Proceedings in Cybernetics</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">1999-7604</issn><publisher><publisher-name>Бюджетное учреждение высшего образования Ханты-Мансийского автономного округа – Югры «Сургутский государственный университет»</publisher-name></publisher></journal-meta><article-meta><article-id custom-type="elpub" pub-id-type="custom">procyber-186</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>Engeneering</subject></subj-group></article-categories><title-group><article-title>Оптимизация времени работы алгоритма для многоядерных процессоров в программном комплексе теплового проектирования электронных модулей</article-title><trans-title-group xml:lang="en"><trans-title>Optimization of Algorithm Execution Time for Multi-Core Processors in Thermal Designing Software of Electronic Modules</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>Grebennikova</surname><given-names>E. K.</given-names></name></name-alternatives><email xlink:type="simple">ekaterina.grebennikova@inbox.ru</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>Kandalov</surname><given-names>P. I.</given-names></name></name-alternatives><email xlink:type="simple">petrki87@gmail.com</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>System Research Institute, Russian Academy of Sciences</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2018</year></pub-date><pub-date pub-type="epub"><day>25</day><month>03</month><year>2020</year></pub-date><volume>0</volume><issue>3 (31)</issue><fpage>188</fpage><lpage>194</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Гребенникова Е.К., Кандалов П.И., 2020</copyright-statement><copyright-year>2020</copyright-year><copyright-holder xml:lang="ru">Гребенникова Е.К., Кандалов П.И.</copyright-holder><copyright-holder xml:lang="en">Grebennikova E.K., Kandalov P.I.</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.vestcyber.ru/jour/article/view/186">https://www.vestcyber.ru/jour/article/view/186</self-uri><abstract><p>Статья посвящена оптимизации времени работы алгоритма программного комплекса STF-ElectronMod, предназначенного для теплового проектирования и моделирования температурных полей электронных модулей как в детерминированных, так и в условиях неопределенности входных данных. Неопределенность входных данных моделируется интервально стохастической моделью, а оптимизация достигается методом распараллеливания матричных вычислений на стационарных компьютерах с многоядерными процессорами. Приведены обоснование выбора способа оптимизации, результаты тестовых вычислений и их анализ. Приведено сравнение скорости работы библиотеки, написанной на языке программирования C++, и скорости работы функции программного комплекса STF-ElectronMod, написанной на языке Pascal. Показано, что выигрыш во времени исполнения библиотечной функции, написанной на C++ при одном задействованном потоке, составляет не менее 30 % по отношению к времени счета, осуществляемого по изначальному неоптимизированному алгоритму программного комплекса STF-ElectronMod. Данное ускорение связано в первую очередь с возможностью компилятора, поддерживающего язык программирования C++, разворачивать циклы для выполнения задач в конвейере команд, что практически не используется в компиляторе Pascal. Результаты тестов показали, что производительность реализованного алгоритма на 4-ядерном процессоре приблизительно в 6 раз выше. Алгоритм оптимизации реализован в виде отдельной библиотеки и включен в программный комплекс.</p></abstract><trans-abstract xml:lang="en"><p>The article is devoted to the optimization of the algorithm execution time in the STF-ElectronMod software. The software is intended to design and model the temperature fields of electronic modules in both deterministic conditions and under uncertainty. The uncertainty of the input data is modeled by the stochastic interval model, and optimization is achieved by parallelizing matrix calculations on PC with multi-core processors. Optimization method is provided and results are presented. A comparison between the speed of the library written in C++ and the speed of the function of the STF-ElectronMod software package written in Pascal is made. It is shown that the function performance of C++ library compared to Pascal function is not less than 30 % using the original nonoptimized algorithm of the STF-ElectronMod software package. This performance is primarily due to the ability of the C++ compiler to use loops unrolling, which is practically not used in the Pascal compiler. The test results showed that performance of the new algorithm may be 6 times higher on the quad-core processor. The algorithm has been developed as a library and included in STF-ElectronMod software package.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>распараллеливание</kwd><kwd>оптимизация</kwd><kwd>многоядерные процессоры</kwd><kwd>компьютерное моделирование</kwd></kwd-group><kwd-group xml:lang="en"><kwd>parallelization</kwd><kwd>optimization</kwd><kwd>multi-core processors</kwd><kwd>computer simulation</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">Мадера А. Г. Концепция математического и компьютерного моделирования тепловых процессов в электронных системах // Программные продукты и системы. 2015. № 4 (112). С. 79–86.</mixed-citation><mixed-citation xml:lang="en">Мадера А. Г. Концепция математического и компьютерного моделирования тепловых процессов в электронных системах // Программные продукты и системы. 2015. № 4 (112). С. 79–86.</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Мадера А. Г., Решетников В. Н. Многофункциональный программный комплекс теплового проектирования электронных систем: требования к архитектуре и функциональным возможностям моделирования // Программные продукты и системы. 2017. № 3 (30). С. 367–372.</mixed-citation><mixed-citation xml:lang="en">Мадера А. Г., Решетников В. Н. Многофункциональный программный комплекс теплового проектирования электронных систем: требования к архитектуре и функциональным возможностям моделирования // Программные продукты и системы. 2017. № 3 (30). С. 367–372.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Мадера А. Г., Кандалов П. И. Матрично-топологический метод математического и компьютерного моделирования температурных полей в электронных модулях: программный комплекс STF-ElectronMod // Программные продукты и системы. 2012. № 4. С. 160–164.</mixed-citation><mixed-citation xml:lang="en">Мадера А. Г., Кандалов П. И. Матрично-топологический метод математического и компьютерного моделирования температурных полей в электронных модулях: программный комплекс STF-ElectronMod // Программные продукты и системы. 2012. № 4. С. 160–164.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Мадера А. Г., Кандалов П. И. Моделирование трехмерных температурных полей в электронных модулях // Программные продукты и системы. 2010. № 2. С. 29–33.</mixed-citation><mixed-citation xml:lang="en">Мадера А. Г., Кандалов П. И. Моделирование трехмерных температурных полей в электронных модулях // Программные продукты и системы. 2010. № 2. С. 29–33.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Свидетельство о гос. регистрации программы для ЭВМ № 2015619835. Заявка № 2015613488. Зарегистрировано в Реестре программ для ЭВМ 15.09.2015.</mixed-citation><mixed-citation xml:lang="en">Свидетельство о гос. регистрации программы для ЭВМ № 2015619835. Заявка № 2015613488. Зарегистрировано в Реестре программ для ЭВМ 15.09.2015.</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Уильямс Э. Параллельное программирование на C++ в действии: практика разработки многопоточных программ. М. : ДМК Пресс, 2016. 672 с.</mixed-citation><mixed-citation xml:lang="en">Уильямс Э. Параллельное программирование на C++ в действии: практика разработки многопоточных программ. М. : ДМК Пресс, 2016. 672 с.</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Левин М. П. Параллельное программирование с использованием OpenMP : учеб. пособие / М. : ИНТУИТ ; БИНОМ. Лаборатория знаний, 2008. 188 c.</mixed-citation><mixed-citation xml:lang="en">Левин М. П. Параллельное программирование с использованием OpenMP : учеб. пособие / М. : ИНТУИТ ; БИНОМ. Лаборатория знаний, 2008. 188 c.</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Хьюз К, Хьюз. Т. Параллельное и распределенное программирование с использованием С++. М. : Вильямс, 2004. 672 с.</mixed-citation><mixed-citation xml:lang="en">Хьюз К, Хьюз. Т. Параллельное и распределенное программирование с использованием С++. М. : Вильямс, 2004. 672 с.</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>
