<?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">donstu</journal-id><journal-title-group><journal-title xml:lang="ru">Advanced Engineering Research (Rostov-on-Don)</journal-title><trans-title-group xml:lang="en"><trans-title>Advanced Engineering Research (Rostov-on-Don)</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">2687-1653</issn><publisher><publisher-name>Don State Technical University</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.23947/2687-1653-2023-23-3-329-339</article-id><article-id custom-type="elpub" pub-id-type="custom">donstu-2080</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 TECHNOLOGY, COMPUTER SCIENCE AND MANAGEMENT</subject></subj-group></article-categories><title-group><article-title>Разработка модели параллельно-конвейерного вычислительного процесса для решения системы сеточных уравнений</article-title><trans-title-group xml:lang="en"><trans-title>Model of a Parallel-Pipeline Computational Process for Solving a System of Grid Equations</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-0001-8234-3194</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>Litvinov</surname><given-names>V. N.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Владимир Николаевич Литвинов, кандидат технических наук, доцент кафедры математики и информатики</p><p>344003, г. Ростов-на-Дону, пл. Гагарина, 1</p></bio><bio xml:lang="en"><p>Vladimir N. Litvinov, Cand.Sci. (Eng.), Associate Professor of the Mathematics and Informatics</p><p>1, Gagarin sq., Rostov-on-Don, 344003</p></bio><email xlink:type="simple">LitvinovVN@rambler.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-5468-3626</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>Rudenko</surname><given-names>N. B.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Нелли Борисовна Руденко, кандидат технических наук, доцент, доцент кафедры математики и биоинформатики</p><p>347740, г. Зерноград, ул. Ленина, 19</p></bio><bio xml:lang="en"><p>Nelli B. Rudenko, Cand.Sci. (Eng.), Associate Professor, Associate Professor of the Mathematics and Bioinformatics Department</p><p>21, Lenina St., Zernograd, 347740</p></bio><email xlink:type="simple">nelli-rud@yandex.ru</email><xref ref-type="aff" rid="aff-2"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-3699-7255</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>Gracheva</surname><given-names>N. N.</given-names></name></name-alternatives><bio xml:lang="ru"><p>Наталья Николаевна Грачева, кандидат технических наук, доцент кафедры математики и биоинформатики</p><p>347740, г. Зерноград, ул. Ленина, 19</p></bio><bio xml:lang="en"><p>Natalya N. Gracheva, Cand.Sci. (Eng.), Associate Professor of the Mathematics and Bioinformatics Department</p><p>21, Lenina St., Zernograd, 347740</p></bio><email xlink:type="simple">grann72@mail.ru</email><xref ref-type="aff" rid="aff-2"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Донской государственный технический университет</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Don State Technical University</institution><country>Russian Federation</country></aff></aff-alternatives><aff-alternatives id="aff-2"><aff xml:lang="ru"><institution>Азово-Черноморский инженерный институт</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Azov-Black Sea Engineering Institute, Don State Agrarian University</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2023</year></pub-date><pub-date pub-type="epub"><day>29</day><month>09</month><year>2023</year></pub-date><volume>23</volume><issue>3</issue><fpage>329</fpage><lpage>339</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Литвинов В.Н., Руденко Н.Б., Грачева Н.Н., 2023</copyright-statement><copyright-year>2023</copyright-year><copyright-holder xml:lang="ru">Литвинов В.Н., Руденко Н.Б., Грачева Н.Н.</copyright-holder><copyright-holder xml:lang="en">Litvinov V.N., Rudenko N.B., Gracheva N.N.</copyright-holder><license 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.vestnik-donstu.ru/jour/article/view/2080">https://www.vestnik-donstu.ru/jour/article/view/2080</self-uri><abstract><sec><title>Введение</title><p>Введение. Экологические проблемы, возникающие на мелководных водоёмах и вызываемые как природными, так  и  техногенными  факторами,  ежегодно  наносят  существенный  ущерб  аквасистемам  и  прибрежным территориям. Своевременно определить эти проблемы, а также пути их устранения возможно с использованием современных  вычислительных  систем.  Но  проведённые  ранее  исследования  показали,  что  ресурсов вычислительных  систем,  использующих  только  центральный  процессор,  недостаточно  для  решения  больших научных задач, в частности, по прогнозированию крупных экологических происшествий, оценке нанесенного ими  ущерба  и  определению  возможностей  их  устранения.  Для  этих  целей  предлагается  использовать  модели вычислительной  системы  и  декомпозиции  расчётной  области  для  разработки  алгоритма  параллельноконвейерных  вычислений.  Целью  данной  работы  является  создание  модели  параллельно-конвейерного вычислительного  процесса  для  решения  системы  сеточных  уравнений  модифицированным  попеременнотреугольным  итерационным  методом  с  использованием  декомпозиции  трёхмерной  равномерной  расчётной сетки, учитывающей технические характеристики используемого для расчетов оборудования.</p></sec><sec><title>Материалы  и  методы</title><p>Материалы  и  методы.  Разработаны  математические  модели  вычислительной  системы  и  расчётной  сетки. Модель декомпозиции расчётной области выполнена с учётом характеристик гетерогенной системы. Предложен параллельно-конвейерный  метод  решения  системы  сеточных  уравнений  модифицированным  попеременнотреугольным итерационным методом.</p></sec><sec><title>Результаты  исследования</title><p>Результаты  исследования.  На  языке  CUDA С  написана  программа,  реализующая  параллельно-конвейерный метод  решения  системы  сеточных  уравнений  модифицированным  попеременно-треугольным  итерационным методом.  Проведённые  эксперименты  показали,  что  с  увеличением  числа  потоков  время  вычислений уменьшается  и  при  декомпозиции  расчётной  сетки  рациональным  является  разбиение  на  фрагменты  по координате  z   на  величину,  не  превышающую 10.  Результаты  экспериментов  подтвердили  эффективность разработанного параллельно-конвейерного метода.</p><p>Обсуждение  и  заключение.  По  итогам  проведенных  исследований  разработана  модель  параллельноконвейерного  вычислительного  процесса  на  примере  одного  из  самых  трудоёмких  этапов  решения  системы сеточных  уравнений  модифицированным  попеременно-треугольным  итерационным  методом.  Её  построение основано  на  моделях  декомпозиции  трёхмерной  равномерной  расчётной  сетки,  учитывающей  технические характеристики  используемого  в  расчетах оборудования.  Применение  программы  позволит  ускорить  процесс расчёта  и  равномерно  по  времени  загрузить  программные  потоки.  Проведенные  численные  эксперименты подтвердили математическую модель декомпозиции расчётной области.</p></sec></abstract><trans-abstract xml:lang="en"><sec><title>Introduction</title><p>Introduction.  Environmental  problems  arising  in  shallow  waters  and  caused  by  both  natural  and  man-made  factors annually do significant damage to aquatic systems and coastal territories. It is possible to identify these problems in a timely manner, as well as ways to eliminate them, using modern computing systems. But earlier studies have shown that the resources of computing systems using only a central processor are not enough to solve large scientific problems, in particular, to predict major environmental accidents, assess the damage caused by them, and determine the possibilities of their elimination. For these purposes, it is proposed to use models of the computing system and decomposition of the computational domain to develop an algorithm for parallel-pipeline calculations. The research objective was to create a model of a parallel-conveyor computational process for solving a system of grid equations by a modified alternating-triangular iterative method using the decomposition of a three-dimensional uniform computational grid that takes into account technical characteristics of the equipment used for calculations.</p></sec><sec><title>Materials and Methods</title><p>Materials and Methods. Mathematical models of the computer system and computational grid were developed. The decomposition model of the computational domain was made taking into account the characteristics of a heterogeneous system. A parallel-pipeline method for solving a system of grid equations by a modified alternating-triangular iterative method was proposed.</p></sec><sec><title>Results</title><p>Results. A program was written in the CUDA C language that implemented a parallel-pipeline method for solving a system of grid equations by a modified alternating-triangular iterative method. The experiments performed showed that with an increase in the number of threads, the computation time decreased, and when decomposing the computational grid, it was rational to split into fragments along coordinate  z  by a value not exceeding 10. The results of the experiments proved the efficiency of the developed parallel-pipeline method.</p><p>Discussion and Conclusion. As a result of the research, a model of a parallel-pipeline computing process was developed using  the  example  of  one  of  the  most  time-consuming  stages  of  solving  a  system  of  grid  equations  by  a  modified alternating-triangular  iterative  method.  Its  construction  was  based  on  decomposition  models  of  a  three-dimensional uniform  computational  grid,  which  took  into  account  the  technical  characteristics  of  the  equipment  used  in  the calculations. This program can provide you for the acceleration of the calculation process and even loading of program flows  in  time.  The  conducted  numerical  experiments  validated  the  mathematical  model  of  decomposition  of  the computational domain.</p></sec></trans-abstract><kwd-group xml:lang="ru"><kwd>параллельный алгоритм</kwd><kwd>вычислительный процесс</kwd><kwd>сеточные уравнения</kwd></kwd-group><kwd-group xml:lang="en"><kwd>parallel algorithm</kwd><kwd>computational process</kwd><kwd>grid equations</kwd></kwd-group><funding-group><funding-statement xml:lang="ru">Авторы выражают благодарность редакционной коллегии журнала и рецензенту за профессиональный анализ и рекомендации для корректировки статьи. Работа выполнена при поддержке Российского научного фонда (проект № 21–71–20050).</funding-statement><funding-statement xml:lang="en">The authors would like to thank the editorial board of the journal and the reviewer for their professional analysis and recommendations for correcting the article. The research was done with the support of the Russian Science Foundation (project No. 21−71−20050).</funding-statement></funding-group></article-meta></front><body><p>Введение. В последнее время на территории Ростовской области отмечается возникновение ряда серьезных экологических проблем. К ним, в частности, относится эвтрофикация вод Азовского моря и Цимлянского водохранилища, которая вызывает рост вредоносных и токсичных видов популяций фитопланктона [<xref ref-type="bibr" rid="cit1">1</xref>]. Инженерные работы в акваториях рек и морей приводят к загрязнению прилегающих территорий, изменению популяционной структуры биоты и ухудшению условий воспроизводства ценных и промысловых рыб. Изменение климата на юге России привело к увеличению количества случаев затопления некоторых территорий в районе Таганрогского залива и поймы реки Дон, вызванных сгонно-нагонными явлениями. В последнее десятилетие в летний период несколько раз наблюдалось практически полное осушение русла реки Дон, что приводило к полной остановке судоходства. Чтобы спрогнозировать возникновение и развитие подобных случаев, спланировать пути устранения их последствий, оценить нанесенный ими ущерб, требуются современные программные комплексы, построенные с использованием высокоточных математических моделей, численных методов, алгоритмов и структур данных [<xref ref-type="bibr" rid="cit2">2</xref>].</p><p>В основе математических моделей, используемых при прогнозировании природных и техногенных катастроф, лежат системы дифференциальных уравнений в частных производных, например уравнения Пуассона, Навье-Стокса, диффузии-конвекции-реакции, теплопроводности. Численное решение таких систем приводит к необходимости оперативного хранения больших объёмов данных (в массивах различной структуры) и решения систем сеточных уравнений высокой размерности, превышающих 109. Объём оперативной памяти, требуемой для хранения массивов данных при численном решении только одного уравнения Пуассона для трёхмерной области размерностью 103×103×103 попеременно-треугольным итерационным методом, составляет более 64 Гб. В случае численного решения комбинированных задач требуются сотни гигабайт оперативной памяти, которые могут быть доступны лишь при использовании суперкомпьютерных систем.
</p><p>Проведенное ранее исследование показало, что ресурсов вычислительной системы, использующей только CPU, недостаточно для решения подобных научных задач [<xref ref-type="bibr" rid="cit3">3</xref>]. Увеличение мощности и видеопамяти GPU позволило использовать для расчетов ресурсы видеоадаптеров [<xref ref-type="bibr" rid="cit4">4</xref>]. Эффективность использования GPU зависит от применения параллельных алгоритмов для решения вычислительно-трудоемких задач водной экологии [5–7]. Частично решить проблемы нехватки памяти и вычислительной мощности на рабочих станциях можно установкой дополнительных видеоадаптеров в слоты PCI-E X16 непосредственно и в слоты PCI-E X1 с помощью переходников PCI-E X1–PCI-E X16. Таким образом, количество видеоадаптеров, установленных на одной рабочей станции, можно довести до 12 [8–11].</p><p>Всё большую популярность в научном сообществе приобретают гетерогенные вычислительные системы, которые позволяют использовать ресурсы CPU и GPU совместно. Применение таких систем дает возможность уменьшить время расчета научных задач [12–14]. Однако эффективное использование гетерогенной вычислительной среды предполагает модернизацию математических моделей, алгоритмов и программ, их численно реализующих. Гетерогенная система позволяет организовать процесс вычислений в параллельном режиме. При этом должны быть учтены принципиальные различия в построении программных систем, использующих совместно CPU и GPU.</p><p>Материалы и методы. Опишем предложенные математические модели вычислительной системы, расчетной сетки, а также метод декомпозиции расчетной области.</p><p>Пусть  — множество технических характеристик вычислительной системы, тогда:</p><p> (1)</p><p>где</p><p> — подмножество характеристик центральных процессоров (CPU) вычислительной системы;  — подмножество характеристик видеоадаптеров (GPU) вычислительной системы;</p><p> — подмножество характеристик оперативной памяти.</p><p> (2)</p><p>где</p><p> — суммарное число ядер CPU;</p><p> — количество потоков, одновременно обрабатываемых одним ядром процессора CPU;</p><p> — тактовая частота, МГц;</p><p> — частота шины центрального процессора, МГц.</p><p>, (3)</p><p>где</p><p> — множество индексов видеоадаптеров;</p><p> — количество видеоадаптеров вычислительной системы;</p><p> — индекс видеоадаптера.</p><p>Каждый видеоадаптер представим в виде кортежа:</p><p>, (4)</p><p>где</p><p> — объём видеопамяти видеоадаптера с индексом , Гб;</p><p> — количество потоковых мультипроцессоров.</p><p>, (5)</p><p>где</p><p> — суммарный объём оперативной памяти, Гб;</p><p> — тактовая частота оперативной памяти, МГц.</p><p>Пусть  — множество программных потоков, задействованных в вычислительном процессе, тогда:</p><p> (6)</p><p>где</p><p> — подмножество программных потоков, реализующих процесс расчета на CPU;</p><p> — подмножество потоковых блоков CUDA, реализующих процесс расчета на потоковых мультипроцессорах GPU;</p><p> — количество задействованных программных потоков CPU;</p><p> — подмножество потоковых блоков CUDA, реализующих процесс расчета на потоковых мультипроцессорах GPU с индексом ;</p><p> — множество индексов GPU;</p><p> — количество GPU в вычислительной системе;</p><p> — количество задействованных потоковых блоков CUDA, реализующих процесс расчета на потоковых мультипроцессорах GPU с индексом .</p><p>Пусть  — множество идентификаторов программных потоков. Тогда для идентификации программных потоков в вычислительной системе каждому элементу множества программных потоков S поставим в соответствие кортеж  из двух элементов:</p><p>, (7)</p><p>где</p><p> — индекс вычислительного устройства в вычислительной системе;</p><p> — индекс программного потока CPU или потокового блока GPU.</p><p>, (8)</p><p>. (9)</p><p>Возьмём расчётную область со следующими параметрами:</p><p> — характерный размер по оси ;</p><p> — по оси ;  — по оси .</p><p>Сопоставим с указанной областью равномерную расчётную сетку следующего вида:</p><p> (10)</p><p>где</p><p>, ,  — шаги расчётной сетки по соответствующим пространственным направлениям;</p><p>, ,  — количество узлов расчётной сетки по соответствующим пространственным направлениям.</p><p>Тогда множество узлов расчётной сетки представим в виде:</p><p> (11)</p><p>где</p><p> — узел расчётной сетки.</p><p>Число узлов расчётной сетки  вычисляется по формуле:</p><p>. (12)</p><p>Под подразделом расчётной сетки  (далее — подраздел) будем понимать подмножество узлов расчётной сетки .</p><p>, (13)</p><p>где</p><p> — множество индексов подразделов  расчётной сетки ;</p><p> — количество подразделов </p><p>;</p><p> — множество натуральных чисел;</p><p> — индекс подраздела .</p><p>Так как , тогда:</p><p>, (14)</p><p>где</p><p> — узел подраздела ;</p><p>знак  обозначает принадлежность к подразделу;</p><p> — индекс узла подраздела  по координате ;</p><p> — количество узлов в подразделе  по координате .</p><p> (15)</p><p>где</p><p> — количество узлов по координате  -го раздела.</p><p>Под блоком расчётной сетки  (далее — блок) будем понимать подмножество узлов расчётной сетки подраздела .</p><p>, (16)</p><p>где</p><p> — множество индексов блоков  подраздела ;</p><p> — количество блоков ;</p><p>;</p><p> — индекс блока  подраздела .</p><p>Так как , тогда:</p><p>, (17)</p><p>где</p><p> — узел блока ;</p><p>знак  обозначает принадлежность к блоку;</p><p> — индекс узла блока  по координате ;</p><p> — количество узлов в блоке  по координате .</p><p> (18)</p><p>где</p><p> — количество узлов блока .</p><p>Под фрагментом расчётной сетки  (далее — фрагмент) будем понимать подмножество узлов расчётной сетки блока  подраздела .</p><p> (19)</p><p>где</p><p> — множество индексов фрагментов  блока  подраздела ;</p><p> — количество фрагментов ;</p><p>;</p><p> — индекс фрагмента  блока  подраздела .</p><p>Каждому индексу  фрагмента  поставим в соответствие кортеж индексов , предназначенный для хранения координат фрагмента в плоскости , где  — индекс фрагмента по координате ;  — индекс фрагмента по координате .</p><p>, (20)</p><p>где</p><p> — индекс фрагмента по координате ;</p><p> – индекс фрагмента по координате .</p><p>Количество фрагментов  блока  вычислим по формуле:</p><p>, (21)</p><p>где</p><p> — количество фрагментов по оси </p><p> — количество фрагментов по координате .</p><p>Так как , тогда:</p><p>, (22)</p><p>где</p><p> — узел фрагмента;</p><p>знак ‿ обозначает принадлежность к фрагменту;</p><p> — индексы узла фрагмента по координатам , ;</p><p>,  — количество узлов расчётной сетки в фрагменте по координатам , ;</p><p>,  — размеры фрагмента по координатам , .</p><p> (23)</p><p>где  — количество узлов -го фрагмента.</p><p>Введем множество сопоставлений блоков расчётной сетки программным потокам </p><p>, (24)</p><p>где  — элемент множества .</p><p>Пусть  — сопоставление блока  программному потоку , тогда:</p><p>, (25)</p><p>где  — программный поток, вычисляющий блок .</p><p>В процессе решения задач гидродинамики на трехмерных расчетных сетках большой размерности необходимы высокопроизводительные вычислительные системы и огромные объемы памяти для хранения данных. Ресурсов одного вычислительного устройства недостаточно для вычислений и хранения трехмерной расчетной сетки со всеми ее данными. Для решения этой проблемы предложены различные способы декомпозиции расчетных сеток с последующим применением параллельных алгоритмов расчета в гетерогенных вычислительных средах [<xref ref-type="bibr" rid="cit15">15</xref>].</p><p>Для декомпозиции расчётной сетки необходимо учитывать производительность вычислительных устройств, участвующих в расчётах. Под производительностью будем понимать количество узлов расчётной сетки, рассчитываемых с помощью заданного алгоритма в единицу времени.</p><p>Предположим, что все вычислительные устройства используются для расчётов. Тогда суммарная производительность вычислительной системы  вычисляется по формуле:</p><p>, (26)</p><p>где</p><p> — производительность одного потока CPU;</p><p> — число программных потоков, реализующих процесс расчета на CPU;</p><p> — производительность GPU с индексом  на одном потоковом мультипроцессоре;</p><p> — количество потоковых блоков CUDA, реализующих процесс расчета на потоковых мультипроцессорах GPU.</p><p>Тогда рассчитать количество узлов расчётной сетки  в подразделе по координате  для каждого GPU с индексом  можно по формуле:</p><p>. (27)</p><p>В процессе вычисления по формуле (27) получим остаток — некоторое количество узлов расчётной сетки. Эти узлы будут располагаться в оперативной памяти. Количество оставшихся узлов  по координате  рассчитывается по формуле:</p><p>. (28)</p><p>Для вычисления количества узлов по координате  в блоках расчётной сетки, обрабатываемых потоковыми мультипроцессорами GPU, воспользуемся формулами:</p><p> (29)</p><p>где  — количество узлов по координате  в блоках расчётной сетки, обрабатываемых потоковыми мультипроцессорами GPU с индексом , кроме последнего блока;</p><p> — количество узлов по координате  в последнем блоке расчётной сетки, обрабатываемом потоковыми мультипроцессорами GPU с индексом .</p><p>Для вычисления количества узлов расчётной сетки по координате в блоках, обрабатываемых программными потоками, реализующими процесс расчета на CPU, воспользуемся формулами:</p><p> (30)</p><p>где</p><p> — количество узлов расчётной сетки по координате , обрабатываемых программными потоками CPU, кроме последнего потока;</p><p> — количество узлов расчётной сетки по координате , обрабатываемых программными потоками CPU, в последнем потоке.</p><p>Рассчитаем количество фрагментов расчётной сетки по координате :</p><p>. (31)</p><p>Пусть задано количество фрагментов  и  по координатам  и  соответственно. Тогда количество узлов расчётной сетки по координате  вычисляется по формулам:</p><p> (32)</p><p>где</p><p> — количество узлов расчётной сетки по координате  во всех фрагментах, кроме последнего;</p><p> — количество узлов расчётной сетки по координате  в последнем фрагменте.</p><p>Аналогично вычисляется количество узлов расчётной сетки по координате :</p><p> (33)</p><p>где</p><p> — количество узлов расчётной сетки по координате z во всех фрагментах, кроме последнего;</p><p> — количество узлов расчётной сетки по координате  в последнем фрагменте.</p><p>Опишем модель параллельно-конвейерного метода. Пусть на  необходимо организовать параллельный процесс вычислений некоторой функции , причем вычисления в каждом фрагменте  зависят от значений в соседних фрагментах, каждый из которых имеет хотя бы один из индексов по координатам ,  и  на единицу меньший, чем у текущего (рис. 1).</p><fig id="fig-1"><caption><p>Рис. 1. Параллельно-конвейерный вычислительный процесс</p></caption><graphic xlink:href="donstu-23-3-g001.jpeg"><uri content-type="original_file">https://cdn.elpub.ru/assets/journals/donstu/2023/3/kknS1oPfkK1GWPSf9Tgly8JzcEv7fygo1hhCA6KK.jpeg</uri></graphic></fig><p>Для организации параллельно-конвейерного метода введём множество кортежей  задающих соответствия  между идентификаторами программных потоков , обрабатывающих фрагменты , номерам шагов параллельно-конвейерного метода :</p><p>, (34)</p><p>где</p><p> — номер шага параллельно-конвейерного метода;</p><p> — число шагов параллельно-конвейерного метода, вычисляемое по формуле:</p><p>. (35)</p><p>Полная загрузка всех вычислителей в предлагаемом параллельно-конвейерном методе начинается с шага  и заканчивается на шаге . При этом общее количество шагов с полной загрузкой вычислителей  составит:</p><p>. (36)</p><p>Время вычислений некоторой функции  параллельно-конвейерным методом запишем в виде:</p><p>, (37)</p><p>где  — вектор значений затрат времени на обработку фрагментов в параллельном режиме.</p><p>Результаты исследования. Вычислительные эксперименты проводились на высокопроизводительной вычислительной системе К-60 Института прикладной математики им. М. В. Келдыша Российской академии наук. Использовалась секция с GPU, каждый узел которой оснащён двумя процессорами Intel Xeon Gold 6142 v4, четырьмя видеоадаптерами Nvidia Volta GV100GL и 768 Гб оперативной памяти.</p><p>Вычислительный эксперимент состоял из двух этапов — подготовительного и основного. На подготовительном этапе проверялась корректность декомпозиции расчетной области на подразделы, блоки и фрагменты путем поэлементного сравнения значений в узлах исходной сетки и в фрагментах, полученных в результате декомпозиции. Затем проверялась работа алгоритма управления потоками, в процессе которого фиксировалось время, затрачиваемое на расчет 1, 8, 16 и 32 фрагментов расчетной сетки размерностью 50 узлов по пространственным координатам ,  и  тем же количеством потоков CPU  итерационным попеременно-треугольным методом в параллельном режиме. Выполнялось 10 повторов с вычислением среднего арифметического  и стандартного отклонения s. По полученным данным вычислялось время , затрачиваемое каждым потоком на обработку одного фрагмента расчетной сетки и ускорение  равное отношению времени  обработки одного фрагмента  потоками к соответствующему времени обработки одним потоком  Экспериментальные данные приведены в таблице 1. Проведённый эксперимент показал, что стандартное отклонение имеет наименьшее значение в случае использования 32 параллельных потоков CPU и составляет 0,026 мс, то есть использование 32 параллельных потоков CPU при расчёте 32 фрагментов расчётной сетки даёт более равномерную по времени загруженность программных потоков, что в целом повышает эффективность работы вычислительного узла. При этом среднее значение расчета одного фрагмента составило 4,14 мс. Зависимость ускорения  от числа потоков получилась линейная , с коэффициентом детерминации, равным 0,99. Получили, что с увеличением числа потоков ускорение разработанного алгоритма возрастает. Это свидетельствует об эффективном использовании подсистемы при работе с памятью.</p><fig id="fig-2"><caption><p>Таблица 1</p><p>Результаты подготовительного этапа вычислительного эксперимента</p></caption><graphic xlink:href="donstu-23-3-g002.jpeg"><uri content-type="original_file">https://cdn.elpub.ru/assets/journals/donstu/2023/3/KjfZp87RPKmS3ouEQJiHdnCU8nZmHTPTPFnPiQY0.jpeg</uri></graphic></fig><p>На основном этапе вычислительного эксперимента трёхмерная расчетная область, имеющая размеры 1600, 1600, 200 по пространственным координатам ,  и  соответственно, разбивалась на 32 фрагмента по 50 узлов по каждой из координат  и . Разбиение на фрагменты по координате  приведено в таблице 2. Для каждого варианта декомпозиции с десятикратной повторностью замерялось время обработки всей расчетной сетки предлагаемым параллельно-конвейерным методом и вычислялось его среднее значение . Ускорение  вычислялось как отношение  ко времени  расчета последовательной версией алгоритма, равному 6963 мс. Получено уравнение регрессии  с коэффициентом детерминации, равным 0,94. Анализ результатов основного этапа вычислительного эксперимента показал существенное замедление роста  при . Поэтому делаем вывод о том, что оптимальным является разбиение на фрагменты по координате  на величину, не превышающую 10.</p><fig id="fig-3"><caption><p>Таблица 2</p><p>Результаты основного этапа вычислительного эксперимента</p></caption><graphic xlink:href="donstu-23-3-g003.jpeg"><uri content-type="original_file">https://cdn.elpub.ru/assets/journals/donstu/2023/3/l4dBxlCjZglgtrkkN86LGkvQMurP3CUhyGV5lbhu.jpeg</uri></graphic></fig><p>Обсуждение и заключение. В результате проведённых исследований разработана модель параллельно-конвейерного вычислительного процесса на примере одного из самых трудоёмких этапов решения системы сеточных уравнений модифицированным попеременно-треугольным итерационным методом. Её построение основано на моделях декомпозиции трёхмерной равномерной расчётной сетки, учитывающей технические характеристики используемого в расчетах оборудования.</p><p>Результаты, полученные в ходе вычислительных экспериментов, подтверждают эффективность разработанного метода. Подтверждена и корректность декомпозиции расчетной области на подразделы, блоки и фрагменты. Проверена работа алгоритма управления потоками, при этом выявлено, что стандартное отклонение имеет наименьшее значение в случае использования 32 параллельных потоков CPU и составляет 0,026 мс, то есть использование 32 параллельных потоков CPU при расчёте 32 фрагментов расчётной сетки даёт более равномерную по времени загруженность программных потоков. При этом среднее значение расчета одного фрагмента составило 4,14 мс.</p><p>Результаты обработки замеров времени расчетов предлагаемым параллельно-конвейерным методом показали существенное замедление роста ускорения при разбиении на фрагменты по координате  при . Получили, что оптимальным является разбиение на фрагменты по координате  на величину, не превышающую 10.</p></body><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Shiganova T.A., Alekseenko E., Kazmin A.S. Predicting Range Expansion of Invasive Ctenophore Mnemiopsis leidyi A. Agassiz 1865 under Current Environmental Conditions and Future Climate Change Scenarios. Estuarine, Coastal and Shelf Science. 2019;227:106347. https://doi.org/10.1016/j.ecss.2019.106347</mixed-citation><mixed-citation xml:lang="en">Shiganova TA, Alekseenko E, Kazmin AS. Predicting Range Expansion of Invasive Ctenophore Mnemiopsis leidyi A. Agassiz 1865 under Current Environmental Conditions and Future Climate Change Scenarios. Estuarine, Coastal and Shelf Science. 2019;227:106347. https://doi.org/10.1016/j.ecss.2019.106347</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Sukhinov A.I., Chistyakov A.E., Nikitina A.V., Filina A.A., Lyashchenko T.V., Litvinov V.N. The Use of Supercomputer Technologies for Predictive Modeling of Pollutant Transport in Boundary Layers of the Atmosphere and Water Bodies. In book: L. Sokolinsky, M. Zymbler (eds). Parallel Computational Technologies. Cham: Springer; 2019. P. 225–241. https://doi.org/10.1007/978-3-030-28163-2_16</mixed-citation><mixed-citation xml:lang="en">Sukhinov AI, Chistyakov AE, Nikitina AV, Filina AA, Lyashchenko TV, Litvinov VN. The Use of Supercomputer Technologies for Predictive Modeling of Pollutant Transport in Boundary Layers of the Atmosphere and Water Bodies. In book: L Sokolinsky, M Zymbler (eds). Parallel Computational Technologies. Cham: Springer; 2019. P. 225–241. 10.1007/978-3-030-28163-2_16</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Rodriguez D., Gomez D., Alvarez D., Rivera S. A Review of Parallel Heterogeneous Computing Algorithms in Power Systems. Algorithms. 2021;14(10):275. https://doi.org/10.3390/a14100275</mixed-citation><mixed-citation xml:lang="en">Rodriguez D, Gomez D, Alvarez D, Rivera S. A Review of Parallel Heterogeneous Computing Algorithms in Power Systems. Algorithms. 2021;14(10):275. 10.3390/a14100275.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Osman A.M. Abdelrahman. GPU Computing Taxonomy. In ebook: Wen-Jyi Hwang (ed). Recent Progress in Parallel and Distributed Computing. London: InTech; 2017. https://doi.org/10.5772/intechopen.68179</mixed-citation><mixed-citation xml:lang="en">Abdelrahman  AM  Osman.  GPU  Computing  Taxonomy.  In  ebook:  Wen-Jyi  Hwang  (ed).  Recent Progress in Parallel and Distributed Computing. London: InTech; 2017. http://dx.doi.org/10.5772/intechopen.68179</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Parker A. GPU Computing: The Future of Computing. In: Proceedings of the West Virginia Academy of Science Morgantown, WV: WVAS; 2018. Vol. 90 (1). https://doi.org/10.55632/pwvas.v90i1.393</mixed-citation><mixed-citation xml:lang="en">Parker A. GPU Computing: The Future of Computing. In: Proceedings of the West Virginia Academy of Science. Morgantown, WV: WVAS; 2018. Vol. 90 (1). 10.55632/pwvas.v90i1.393</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Nakano Koji. Theoretical Parallel Computing Models for GPU Computing. In book: Koç Ç. (ed). Open Problems in Mathematics and Computational Science. Cham: Springer; 2014 . P. 341–359. https://doi.org/10.1007/978-3-319-10683-0_14</mixed-citation><mixed-citation xml:lang="en">Nakano Koji. Theoretical Parallel Computing Models for GPU Computing. In book: Koç Ç. (ed). Open Problems in Mathematics and Computational Science. Cham: Springer; 2014. P. 341–359. 10.1007/978-3-319-10683-0_14</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Bhargavi K., Sathish Babu B. GPU Computation and Platforms. In book: Ganesh Chandra Deka (ed). Emerging Research Surrounding Power Consumption and Performance Issues in Utility Computing. Hershey, PA: IGI Global; 2016. P. 136–174. 10.4018/978-1-4666-8853-7.ch007</mixed-citation><mixed-citation xml:lang="en">Bhargavi K, Sathish Babu B. GPU Computation and Platforms. In book: Ganesh Chandra Deka (ed). Emerging Research Surrounding Power Consumption and Performance Issues in Utility Computing. Hershey, PA: IGI Global; 2016. P.136–174. 10.4018/978-1-4666-8853-7.ch007</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Ebrahim Zarei Zefreh, Leili Mohammad Khanli, Shahriar Lotfi, Jaber Karimpour. 3 D Data Partitioning for 3 Level Perfectly Nested Loops on Heterogeneous Distributed System. Concurrency and Computation: Practice and Experience. 2017;29(5):e3976. 10.1002/cpe.3976</mixed-citation><mixed-citation xml:lang="en">Ebrahim  Zarei  Zefreh,  Leili  Mohammad  Khanli,  Shahriar  Lotfi,  Jaber  Karimpour.  3 Level Perfectly Nested Loops on Heterogeneous Distributed System. Concurrency and Computation: Practice and Experience. 2017;29(5):e3976. 10.1002/cpe.3976</mixed-citation></citation-alternatives></ref><ref id="cit9"><label>9</label><citation-alternatives><mixed-citation xml:lang="ru">Fan Yang, Tongnian Shi, Han Chu, Kun Wang. The Design and Implementation of Parallel Algorithm Accelerator Based on CPU-GPU Collaborative Computing Environment. Advanced Materials Research. 2012;529:408–412. 10.4028/www.scientific.net/AMR.529.408</mixed-citation><mixed-citation xml:lang="en">Fan Yang, Tongnian Shi, Han Chu, Kun Wang. The Design and Implementation of Parallel Algorithm Accelerator Based  on  CPU-GPU  Collaborative  Computing  Environment.  Advanced Materials Research.  2012;529:408–412. 10.4028/www.scientific.net/AMR.529.408</mixed-citation></citation-alternatives></ref><ref id="cit10"><label>10</label><citation-alternatives><mixed-citation xml:lang="ru">Varshini Subhash, Karran Pandey, Vijay Natarajan. A GPU Parallel Algorithm for Computing Morse-Smale Complexes. IEEE Transactions on Visualization and Computer Graphics. 2022. P. 1–15. 10.1109/TVCG.2022.3174769</mixed-citation><mixed-citation xml:lang="en">Varshini  Subhash,  Karran Pandey,  Vijay Natarajan.  A  GPU  Parallel  Algorithm  for  Computing  Morse-Smale Complexes. IEEE Transactions on Visualization and Computer Graphics. 2022. P. 1–15. 10.1109/TVCG.2022.3174769</mixed-citation></citation-alternatives></ref><ref id="cit11"><label>11</label><citation-alternatives><mixed-citation xml:lang="ru">Leiming Yu., Fanny Nina-Paravecino, David R. Kaeli, Qianqian Fang. Scalable and Massively Parallel Monte Carlo Photon Transport Simulations for Heterogeneous Computing Platforms. Journal of Biomedical Optics. 2018;23(1):010504. 10.1117/1.JBO.23.1.010504</mixed-citation><mixed-citation xml:lang="en">Leiming Yu, Fanny Nina-Paravecino, David R Kaeli, Qianqian Fang. Scalable and Massively Parallel Monte Carlo Photon  Transport  Simulations  for  Heterogeneous  Computing  Platforms.  Journal of Biomedical Optics. 2018;23(1):010504. 10.1117/1.JBO.23.1.010504</mixed-citation></citation-alternatives></ref><ref id="cit12"><label>12</label><citation-alternatives><mixed-citation xml:lang="ru">Fujimoto R.M. Research Challenges in Parallel and Distributed Simulation. ACM Transactions on Modeling and Computer Simulation. 2016;26(4):1–29. 10.1145/2866577</mixed-citation><mixed-citation xml:lang="en">Fujimoto RM. Research Challenges in Parallel and Distributed Simulation. ACM Transactions on Modeling and Computer Simulation. 2016;26(4):1–29. 10.1145/2866577</mixed-citation></citation-alternatives></ref><ref id="cit13"><label>13</label><citation-alternatives><mixed-citation xml:lang="ru">Qiang Qin, ChangZhen Hu, TianBao Ma. Study on Complicated Solid Modeling and Cartesian Grid Generation Method. Science China Technological Sciences. 2014;57:630–636. 10.1007/s11431-014-5485-5</mixed-citation><mixed-citation xml:lang="en">Qiang Qin, ChangZhen Hu, TianBao Ma. Study on Complicated Solid Modeling and Cartesian Grid Generation Method. Science China Technological Sciences. 2014;57:630–636. 10.1007/s11431-014-5485-5</mixed-citation></citation-alternatives></ref><ref id="cit14"><label>14</label><citation-alternatives><mixed-citation xml:lang="ru">Seyong Lee, Jeffrey Vetter. Moving Heterogeneous GPU Computing into the Mainstream with Directive-Based, High-Level Programming Models. In: Proc. DOE Exascale Research Conference. Portland, Or; 2012.</mixed-citation><mixed-citation xml:lang="en">Seyong Lee, Jeffrey Vetter. Moving Heterogeneous GPU Computing into the Mainstream with Directive-Based, High-Level Programming Models. In: Proc. DOE Exascale Research Conference. Portland, Or; 2012.</mixed-citation></citation-alternatives></ref><ref id="cit15"><label>15</label><citation-alternatives><mixed-citation xml:lang="ru">Thoman P., Dichev K., Heller Th., Iakymchuk R., Aguilar X., Hasanov Kh., et al. A Taxonomy of Task-Based Parallel Programming Technologies for High-Performance Computing. Journal of Supercomputing. 2018;74(2):1422– 1434. 10.1007/s11227-018-2238-4</mixed-citation><mixed-citation xml:lang="en">Thoman P, Dichev K, Heller Th, Iakymchuk R, Aguilar X, Hasanov Kh, et al. A Taxonomy of Task-Based Parallel Programming Technologies for High-Performance Computing. Journal of Supercomputing. 2018;74(2):1422– 1434. 10.1007/s11227-018-2238-4</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>
