Научная статья на тему 'ПРИМЕНЕНИЕ КОНЦЕПЦИИ Q-ДЕТЕРМИНАНТА ДЛЯ ЭФФЕКТИВНОЙ РЕАЛИЗАЦИИ ЧИСЛЕННЫХ АЛГОРИТМОВ НА ПРИМЕРЕ МЕТОДА СОПРЯЖЕННЫХ ГРАДИЕНТОВ ДЛЯ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ'

ПРИМЕНЕНИЕ КОНЦЕПЦИИ Q-ДЕТЕРМИНАНТА ДЛЯ ЭФФЕКТИВНОЙ РЕАЛИЗАЦИИ ЧИСЛЕННЫХ АЛГОРИТМОВ НА ПРИМЕРЕ МЕТОДА СОПРЯЖЕННЫХ ГРАДИЕНТОВ ДЛЯ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
64
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОВЫШЕНИЕ ЭФФЕКТИВНОСТИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ / Q-ДЕТЕРМИНАНТ АЛГОРИТМА / ПРЕДСТАВЛЕНИЕ АЛГОРИТМА В ФОРМЕ Q-ДЕТЕРМИНАНТА / Q-ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА / РЕСУРС ПАРАЛЛЕЛИЗМА АЛГОРИТМА / Q-ЭФФЕКТИВНАЯ ПРОГРАММА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Алеева Валентина Николаевна, Шатов Михаил Борисович

Проблема повышения эффективности параллельных вычислений чрезвычайно актуальна. В статье продемонстрировано применение концепции Q-детерминанта для эффективной реализации численных алгоритмов на примере метода сопряженных градиентов для решения систем линейных уравнений. Концепция Q-детерминанта основана на унифицированном представлении численных алгоритмов в форме Q-детерминанта. Любой численный алгоритм имеет Q-детерминант. Q-детерминант состоит из Q-термов. Их число равно числу выходных данных алгоритма. Каждый Q-терм описывает все возможные способы вычисления одного из выходных данных на основе входных данных. Q-детерминант позволяет выразить и оценить внутренний параллелизм алгоритма, а также показать способ его параллельного исполнения. В работе приведены основные понятия концепции Q-детерминанта, необходимые для понимания приведенного исследования. Также описан основанный на концепции Q-детерминанта метод проектирования эффективных программ для численных алгоритмов. Результатом применения метода является программа, полностью использующая ресурс параллелизма алгоритма. Такая программа называется Q-эффективной. В качестве применения метода проектирования Q-эффективных программ описано проектирование программ для реализации метода сопряженных градиентов на параллельных вычислительных системах с общей и распределенной памятью. Приведены также результаты экспериментального исследования разработанных программ, проведенного с помощью суперкомпьютера «Торнадо ЮУрГУ».

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Алеева Валентина Николаевна, Шатов Михаил Борисович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

APPLICATION OF THE Q-DETERMINANT CONCEPT FOR EFFICIENT IMPLEMENTATION OF NUMERICAL ALGORITHMS BY THE EXAMPLEOF THE CONJUGATE GRADIENT METHOD FOR SOLVING SYSTEMS OF LINEAREQUATIONS

The problem of improving the efficiency of parallel computing is very topical. The article demonstrates the application of the concept of Q-determinant for the effective implementation of numerical algorithms by the example of the conjugate gradient method for solving systems of linear equations. The concept of the Q-determinant is based on a unified representation of numerical algorithms in the form of the Q-determinant. Any numerical algorithm has a Q-determinant. The Q-determinant consists of Q-terms. Their number is equal to the number of output data items. Each Q-term describes all possible ways to compute one of the output data items based on the input data. The Q-determinant allows you to express and evaluate the internal parallelism of the algorithm, as well as to show the method of its parallel execution. The article gives the main notions of the Q-determinant concept necessary for better understanding of our research. Also, we describe a method of designing effective programs for numerical algorithms on the base of the concept of the Q-determinant. As a result, we obtain the program which uses the parallelism resource of the algorithm completely, and this program is called Q-effective. As application of the method for design of Q-effective programs, we describe the designing programs for conjugate gradient method for implementation on parallel computing systems with shared and distributed memory. Finally, for developed programs we present the results of experiments on a supercomputer “Tornado SUSU”.

Текст научной работы на тему «ПРИМЕНЕНИЕ КОНЦЕПЦИИ Q-ДЕТЕРМИНАНТА ДЛЯ ЭФФЕКТИВНОЙ РЕАЛИЗАЦИИ ЧИСЛЕННЫХ АЛГОРИТМОВ НА ПРИМЕРЕ МЕТОДА СОПРЯЖЕННЫХ ГРАДИЕНТОВ ДЛЯ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ»

УДК 004.021, 004.032.24, 004.051, 004.272 DOI: 10.14529/cmse210304

ПРИМЕНЕНИЕ КОНЦЕПЦИИ Q-ДЕТЕРМИНАНТА ДЛЯ ЭФФЕКТИВНОЙ РЕАЛИЗАЦИИ ЧИСЛЕННЫХ АЛГОРИТМОВ НА ПРИМЕРЕ МЕТОДА СОПРЯЖЕННЫХ ГРАДИЕНТОВ ДЛЯ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ

© 2021 В.Н. Алеева, М.Б. Шатов

Южно-Уральский государственный университет (454080 Челябинск, пр. им. В.И. Ленина, д. 76) E-mail: aleevavn@susu.ru, charm,ing.flurry@yandex.ru Поступила в редакцию: 24.05.2021

Проблема повышения эффективности параллельных вычислений чрезвычайно актуальна. В статье продемонстрировано применение концепции Q-детерминанта для эффективной реализации численных алгоритмов на примере метода сопряженных градиентов для решения систем линейных уравнений. Концепция Q-детерминанта основана на унифицированном представлении численных алгоритмов в форме Q-детерминанта. Любой численный алгоритм имеет Q-детерминант. Q-детерминант состоит из Q-термов. Их число равно числу выходных данных алгоритма. Каждый Q-терм описывает все возможные способы вычисления одного из выходных данных на основе входных данных. Q-детерминант позволяет выразить и оценить внутренний параллелизм алгоритма, а также показать способ его параллельного исполнения. В работе приведены основные понятия концепции Q-детерминанта, необходимые для понимания приведенного исследования. Также описан основанный на концепции Q-детерминанта метод проектирования эффективных программ для численных алгоритмов. Результатом применения метода является программа, полностью использующая ресурс параллелизма алгоритма. Такая программа называется Q-эффективной. В качестве применения метода проектирования Q-эффективных программ описано проектирование программ для реализации метода сопряженных градиентов на параллельных вычислительных системах с общей и распределенной памятью. Приведены также результаты экспериментального исследования разработанных программ, проведенного с помощью суперкомпьютера «Торнадо ЮУрГУ».

Ключевые слова: повышение эффективности параллельных вычислений, Q-детерминант алгоритма, представление алгоритма в форме Q-детерминанта, Q-эффективная реализация алгоритма, ресурс параллелизма алгоритма, Q-эффективная программа.

ОБРАЗЕЦ ЦИТИРОВАНИЯ

Алеева В.Н., Шатов М.Б. Применение концепции <5~ДетеРминанта Для эффективной реализации численных алгоритмов на примере метода сопряженных градиентов для решения систем линейных уравнений // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2021. Т. 10, № 3. С. 56-71. DOI: 10.14529/cmse210304.

Введение

Основной целью параллельных вычислений является ускорение решения вычислительных задач. Для достижения этой цели используется распараллеливание алгоритмов, применяемых для решения задач. Чем больше реализация алгоритма использует ресурс параллелизма алгоритма, тем большее ускорение решения задачи она обеспечивает и тем она эффективнее. Самая эффективная реализация алгоритма использует ресурс параллелизма алгоритма полностью. Для ее выполнения требуется одновременно применять больше вычислителей (процессоров, ядер) параллельной вычислительной системы (ПВС), чем для выполнения любой другой реализации алгоритма, так как одновременно нужно выполнять

56

Вестник ЮУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

большее количество операций. Вычислительные мощности ПВС растут, что способствует эффективной реализации алгоритмов. Однако, на практике, как правило, параллельные программы выполняют не самые эффективные реализации алгоритмов, следовательно, не применяют вычислительные ресурсы ПВС настолько, насколько допускают алгоритмы, а это приводит к потере ускорения решения вычислительных задач. Таким образом, проблема эффективной реализации алгоритмов на ПВС является актуальной.

Целью исследования является демонстрация применения концепции (^-детерминанта для эффективной реализации численных алгоритмов на примере метода сопряженных градиентов для решения систем линейных уравнений. Для достижения цели решаются следующие задачи:

1) построение Q-детерминанта алгоритма, выполняющего метод сопряженных градиентов;

2) описание эффективной реализации алгоритма, выполняющего метод сопряженных градиентов;

3) разработка эффективных программ для метода сопряженных градиентов, предназначенных для ПВС с общей и распределенной памятью.

Статья относится к направлению исследований, представленному работами [1, 2, 8-12], и вносит вклад в развитие данного направления.

Статья организована следующим образом. Раздел 1 содержит обзор работ по теме исследования. В разделе 2 приведены некоторые основные понятия концепции (^-детерминанта, используемые в статье. В разделе 3 изложен метод проектирования (^-эффективных программ. В разделе 4 описано применение метода проектирования (^-эффективных программ для эффективной реализации алгоритма, выполняющего метод сопряженных градиентов. В разделе 5 представлены результаты экспериментального исследования (^-эффективных программ, реализующих метод сопряженных градиентов, которые были разработаны в последнее время, а также приведен обзор (^-эффективных программ, разработанных ранее. Заключение содержит краткое изложение полученных результатов, выводы об их применении и описание одного из перспективных направлений дальнейшего исследования.

1. Обзор работ по теме исследования

Приведем обзор работ по теме исследования ресурса параллелизма численных алгоритмов и его реализации. Таких работ, использующих универсальные подходы, очень мало.

Во-первых, отметим работы [3, 23], где есть очень важные и развитые исследования параллельной структуры алгоритмов и программ для их реализации на ПВС. Для исследования используются графы алгоритмов. Эти исследования адаптированы в открытой энциклопедии свойств алгоритмов Algo Wiki [5, 13]. При определении и реализации ресурса параллелизма алгоритмов используется индивидуальный подход к каждому алгоритму. Программное обеспечение для анализа ресурса параллелизма алгоритмов не рассматривается. Не рассматривается также единый для алгоритмов метод проектирования параллельных программ, использующих весь ресурс параллелизма алгоритмов.

Во-вторых, предлагаются подходы к разработке параллельных программ. Это привело к созданию различных языков параллельного программирования и инструментов. Т-система [20] — одна из таких разработок. Она является инструментом для программирования, обеспечивающим автоматическое динамическое распараллеливание программ. Однако в работах по данному направлению исследований не показано, что параллельные програм-

2021, т. 10, № 3

57

Применение концепции Q-детерминанта для эффективной реализации численных...

мы, созданные с использованием Т-системы, полностью используют ресурс параллелизма алгоритмов. Синтез параллельных программ — это еще один подход к созданию параллельных программ. Он заключается в разработке новых параллельных алгоритмов с использованием базы знаний параллельных алгоритмов для решения более сложных задач. Технология фрагментированного программирования, язык ее реализации и система программирования LuNA разработаны на основе метода синтеза параллельных программ [7]. Такой подход не решает проблему исследования ресурса параллелизма алгоритмов и использования его в полной мере. Для снятия ограничений на ресурсы ПВС используется проектирование параллельных программ с помощью функционального языка программирования, который не зависит от архитектуры ПВС. Примером такого направления исследований может служить работа [15]. Однако здесь также нет обоснования, что созданные программы используют весь ресурс параллелизма реализуемых алгоритмов.

В-третьих, существует множество исследований, заключающихся в разработке параллельных программ для конкретных алгоритмов или для конкретной архитектуры ПВС. Например, к таким исследованиям относятся [17, 18, 21, 24]. Подобные исследования повышают эффективность реализации конкретных алгоритмов или реализации алгоритмов на ПВС определенной архитектуры, но они не обеспечивают общего универсального подхода.

Приведенный обзор показывает, что существующие подходы при решении проблемы исследования и использования ресурса параллелизма алгоритмов либо малоэффективны, либо неприменимы, либо не являются универсальными. Возможно, данный обзор не является полным, так как он основан на доступных авторам источниках. Вместе с тем, как мы отмечали ранее, ресурс параллелизма алгоритмов при реализации на ПВС используется не полностью. Этот факт дает основание сделать вывод, что либо приемлемое решение проблемы исследования и использования ресурса параллелизма алгоритмов разработано, но не достаточно широко известно, поэтому не применяется, либо его нет.

2. Некоторые основные понятия концепции Q-детерминанта

Рассмотрим алгоритмическую проблему у = F(N,B), где N = {щ,... ,Пк} — множество параметров размерности проблемы или N — пустое множество, В — множество входных данных, у = {г/i,..., ут} — множество выходных данных, при этом целое число т является либо константой, либо значением вычислимой функции параметров N при условии, что N ^ 0. Здесь щ (г € {1,...,/г}) равно любому положительному целому числу. Если N = {гг-i,..., Пк}, то через N = {п\...., щ} обозначим набор из к положительных целых чисел, где щ — некоторое заданное значение параметра щ для каждого г G {1,..., к}. Через {N} обозначим множество всех возможных fc-наборов N. Пусть 21 — алгоритм для решения алгоритмической проблемы, Q — набор операций, используемых алгоритмом 21.

Определение 1. Определим выражение над В и Q, как терм в стандартном смысле математической логики [4].

Определение 2. Мы называем выражение цепочкой длины п, если оно является результатом применения некоторой ассоциативной операции из Q к п выражениям.

Определение 3. Если N = 0, то любое выражение w над В и Q мы называем безусловным Q-термом. Пусть N ф 0 и V — множество всех выражений над В и Q. Тогда любое отображение w : {iV} —> V U 0 также называется безусловным Q-термом.

58 Вестник ЮУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

Определение 4. Пусть N = 0 и w — безусловный Q-терм. Предположим, что выражение w над В и Q имеет значение логического типа при любой интерпретации переменных В. Тогда безусловный Q-терм w называется безусловным логическим Q-термом. Пусть N ф 0 и w — безусловный Q-терм. Если выражение w(N) для каждого N £ {iV} имеет значение логического типа при любой интерпретации переменных В, то безусловный Q-терм w называется безусловным логическим Q-термом.

Определение 5. Пусть щ,щ — безусловные логические Q-термы, w\,... ,Wi — безусловные Q-термы. Тогда множество I пар (u,w) = {(г^, щ)}г£{1 п называется условным Q-термом длины I.

Определение 6. Пусть (u,w) = {(г^, г(д)}г=1,2,... — счетное множество пар безусловных Q-термов. Предположим, что {(щ, ^г)}гб{1,...Л — условный Q-терм для любого I < оо. Тогда мы называем (и, w) условным бесконечным Q-термом.

Опишем нахождение значения безусловного Q-терма w при интерпретации переменных В. Если N = 0, то нахождение значения выражения w означает нахождение значения безусловного Q-терма w при любой интерпретации переменных В. Если N ^0и w(N) 7^ 0, то w(N) является выражением над В и Q. Можно найти значение выражения w(N) при любой интерпретации переменных В. Конечно, мы опускаем значение w(N) = 0. Следовательно, мы находим значение безусловного Q-терма w при любой интерпретации переменных В. Теперь опишем нахождение значения условного Q-терма (и, w) при интерпретации переменных В. Пусть N = 0. Находим значения выражений иг, Wi для г £ {i = 1,..., /}. При нахождении значений мы можем найти пару Ui0,Wi0 такую, что щ0 имеет значение true. Следовательно, мы можем найти значение Wi0. Тогда считаем, что (и, w) имеет значение Wi0. В противном случае считаем, что значение (и, w) при интерпретации переменных В не определено. Пусть N ф 0 и N £ {iV}. Находим выражения Ui(N),Wi(N) для i £ {i = 1,...,/}. При нахождении значений мы можем найти пару Ui0(N),Wi0(N) такую, что Ui0(N) имеет значение true. Следовательно, мы можем найти значение Wi0(N). Тогда мы считаем, что (u,w) имеет значение Wi0(N). В противном случае считаем, что значение (■u,w) для N и при такой интерпретации переменных В не определено. Аналогично можно определить значение условного бесконечного Q-терма.

Определение 7. Пусть М = {1 Предположим, что алгоритм 21 состоит в на-

хождении для каждого i £ М значения yi путем вычисления значения Q-терма ft. Тогда набор Q-термов {/г | i £ М} называется Q-детерминантом алгоритма 21. Система уравнений {уг = fi | г £ М} называется представлением алгоритма 21 в форме Q-детерминанта.

Определение 8. Процесс вычисления Q-термов {/,, | г £ М} алгоритма 21 называется реализацией алгоритма 21. Реализация алгоритма 21 называется параллельной, если существуют операции, которые выполняются одновременно.

Определение 9. Реализация алгоритма 21 называется Q-эффективной, если Q-термы {fi | i £ М} вычисляются одновременно, операции при их вычислении выполняются по мере готовности, при этом, если несколько операций цепочки готовы к выполнению, то они выполняются по схеме сдваивания.

Замечание 1. Определение Q-эффективной реализации показывает, что она полностью использует ресурс параллелизма алгоритма.

2021, т. 10, № 3

59

Применение концепции Q-детерминанта для эффективной реализации численных...

Ресурс параллелизма алгоритма характеризуют его высота и ширина. Эти понятия рассматриваются в работах [2, 9-11]. В [2, 11] описана программная Q-система, разработанная для автоматизированного исследования ресурса параллелизма алгоритмов, а также сравнения ресурсов параллелизма алгоритмов, решающих одну и ту же алгоритмическую проблему.

Определение 10. Реализация алгоритма 21 называется выполнимой, если одновременно должно выполняться конечное (непустое) множество операций.

Замечание 2. Существуют алгоритмы, Q-эффективная реализация которых невыполнима. Пример такого алгоритма приведен в работе [2].

3. Метод проектирования Q-эффективных программ

Блок-схема численного алгоритма позволяет разработать последовательную программу, реализующую алгоритм. Аналогично, используя представление численного алгоритма в форме (^-детерминанта, можно разработать параллельную программу, реализующую представленный алгоритм. Эта идея лежит в основе метода проектирования (^-эффективных программ. Модель концепции Q-детерминанта, которую мы называем базовой, позволяет исследовать только машинно-независимые свойства алгоритмов. Поэтому базовая модель была расширена, чтобы учесть особенности реализации алгоритмов на реальных ПВС. Расширенная модель концепции Q-детерминанта получена путем добавления моделей параллельных вычислений: PRAM [19] для общей памяти и BSP [22] для распределенной памяти. Метод проектирования (^-эффективных программ использует расширенную модель концепции (^-детерминанта и состоит из этапов:

1) построение Q-детерминанта алгоритма;

2) описание (^-эффективной реализации алгоритма;

3) разработка параллельной программы для выполнимой (^-эффективной реализации алгоритма.

На первых двух этапах метода используется базовая модель концепции Q-детерминанта, а на третьем этапе — расширенная модель. Программа, полученная с помощью данного метода, была названа (^-эффективной, а процесс ее разработки Q-эффективным программированием. Так как (^-эффективная программа выполняет Q-эффективную реализацию алгоритма, то она полностью использует ресурс параллелизма алгоритма. Таким образом, (^-эффективная программа имеет самый высокий параллелизм среди программ, реализующих алгоритм.

Для разработки (^-эффективной программы для общей памяти достаточно описания (^-эффективной реализации алгоритма. При разработке (^-эффективной программы для распределенной памяти следует учитывать, что данные должны обладать свойством локальности, иначе могут возникнуть многочисленные промахи кэша при их считывании из памяти, что приведет к снижению быстродействия. Обеспечить локальность данных позволяет распределение вычислений между вычислительными узлами ПВС, основанное на описании (^-эффективной реализации алгоритма. В нашем исследовании для распределения вычислений между вычислительными узлами применяется принцип «master-slave» [16]. При этом мы используем один вычислительный узел «master» и несколько вычислительных узлов «slave». Узел «master» обозначается буквой М, а множество узлов «slave» — буквой S. В этом исследовании при разработке (^-эффективных программ используется язык про-

60 Вестник КУУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

граммирования C++, технология ОрепМР для ПВС с общей памятью, технологии MPI и ОреиМР для ПВС с распределенной памятью.

Дальнейшим развитием модели концепции Q-детерминанта может быть добавление моделей параллельных вычислений для вычислительных систем с другими архитектурными особенностями. Также для создания (^-эффективных программ можно использовать различные языки программирования и технологии параллельного программирования. Таким образом, для одного численного алгоритма существует потенциально бесконечное множество (^-эффективных программ, каждая из которых создается и используется в рамках определенной вычислительной инфраструктуры. По-видимому, из всех (^-эффективных программ для данного алгоритма не существует лучшей по производительности, но каждая из этих программ является наиболее эффективной для той вычислительной инфраструктуры, для которой она создавалась.

Более подробно метод проектирования (^-эффективных программ описан в работе [8].

4. Применение метода проектирования Q-эффективных программ для эффективной реализации метода сопряженных градиентов

Метод сопряженных градиентов для решения систем линейных уравнений [14] широко применяется на практике, поэтому его исследование с целью эффективной реализации является актуальным. Опишем метод сопряженных градиентов. Предположим, нужно решить систему линейных уравнений Ах = 6, где А = [aij\i .=1 п — симметричная положительно определенная матрица, х = (ад,... ,хп)т и 6 = (Ь\,..., Ъп)т. Пусть ж0 = (ж°,..., ж°)т — начальное приближение решения системы. Процесс решения системы можно представить как минимизацию функционала (Ах,х) — 2(6, х). Минимизируя данный функционал с использованием подпространств Крылова, получаем алгоритм 55, реализующий метод сопряженных градиентов.

Итерационный процесс алгоритма 55 можно записать так:

г° = 6 — Пж°,

= г°,

хк = хк~1 + ад.#'-1, где к е {1,2,...}, ак =

г* = г*"1 - акАг*”1,

Рк = (**,**)/(?

' zjk—1

г*-1]

t = г* + pkz

т?к—1

(1)

(2)

(3)

(4)

(5)

(6) (7)

В результате применения метода решение системы линейных уравнений может быть достигнуто на итерации п, если отсутствует погрешность вычислений. Если реализовывать метод на ПВС, то погрешность вычислений существует, поэтому для получения решения количество итераций будет больше та. В качестве критерия остановки итерационного процесса будем использовать выполнение условия

|И|/||Ь||<е, (8)

2021, т. 10, № 3

61

Применение концепции Q-детерминанта для эффективной реализации численных...

где ||г* || /1| Ъ|| — относительная невязка на к-м шаге итерации, е — точность вычислений.

Продемонстрируем применение метода проектирования Q-эффективных программ для эффективной реализации алгоритма 55.

Этап 1. Q-детерминант алгоритма 55 состоит из те условных бесконечных Q-термов, а представление алгоритма 55 в форме Q-детерминанта имеет вид

Хг = {(те°,ж°), (те1, ж*),..., (ик,хк),... }, где г 6 {1,...,те}, и1 = И1/Ц6Ц < е для любого I €Е {0,1,... }.

Этап 2. Опишем Q-эффективную реализацию алгоритма 55. В соответствии с определением Q-эффективной реализации все Q-термы, составляющие Q-детерминант, должны вычисляться одновременно, при этом их операции должны выполняться по мере готовности. Во-первых, нужно вычислить Q-терм те0. Если значение те0 true, то вычисление заканчивается, так как получено решение с заданной точностью, при этом те-кортеж {ж* = ж°Де{ц_]П| является решением. Если значение те0 false, то должно продолжаться вычисление Q-термов те1 и х\ для всех i £ {1,..., те} одновременно. Предположим, что вычисление продолжается на шаге итерации к > 1, при этом вычислены Q-термы ик и хк для всех г £ {1,..., те} и значением ик является true. Тогда вычисление должно быть завершено, так как получено решение с заданной точностью, при этом решением является те-кортеж {ж* = ж^}^^ ;П1.

Если значение ик false, то должно продолжаться вычисление Q-термов ик+1 и хк+1 для всех i £ {1,..., те} одновременно.

Приведем описание процесса вычисления Q-термов и1 и х\ для всех I £ {0,1,...} и i £ {1,..., те}. Вычисление те0 состоит в вычислении по формуле (1) одновременно с вычислением ||Ь||, а затем по формуле (8) при к = 0. Мы видим, что вычисление ж1 должно состоять из вычислений по формулам (4) при к = 1, а затем (3) при к = 1с учетом того, что = г°. Вычисление те1 состоит в последовательном вычислении по формулам (5) при к = 1, а затем (8) при к = 1. Для подготовки второй итерации должно быть выполнено вычисление по формуле (6) при к = 1, а затем (7) при к = 1. Вычисление х1 для всех I £ {2, 3,...} должно состоять из вычислений по формулам (4) при к = I, (3) при к = I, применяемым последовательно. Вычисление и1 для всех I £ {2,3,...} состоит в вычислении по формулам (5) при к = I, а затем (8) при к = I. Для подготовки следующей (I + 1)-й итерации должно быть выполнено вычисление по формуле (6) при к = I, а затем (7) при к = I. При вычислении по формулам операции должны выполняться по мере готовности к выполнению. При этом операции цепочки должны выполняться по схеме сдваивания.

Q-эффективная реализация алгоритма 55 выполнима, так как при реализации одновременно необходимо выполнять конечное число операций.

Этап 3. Описание Q-эффективной реализации алгоритма 55, полученное на втором этапе метода, можно использовать для разработки Q-эффективной программы для общей памяти. Опишем процесс реализации алгоритма 55 на ПВС с распределенной памятью, применяя принцип «master-slave».

Каждая компонента вектора г° (см. (1)) вычисляется на отдельном узле S. Если количество узлов S меньше те, то каждый из узлов S должен выполнять вычисления для нескольких компонент вектора г°. Перед вычислением г°, где г 6 {1,...,те} узел S получает от узла М компоненту 6* вектора 6, строку матрицы А с номером i и вектор ж0. Одновременно с вычислением вектора г° вычисляется значение ||Ь|| на узле М . Вычислен-

62

Вестник ЮУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

ный вектор г° передается на узел М. На узле М выполняется вычисление Q-терма и°. Если значение и0 true, то вычисление заканчивается.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для определения коэффициента ад (см. (4)) вычисление Az°, учитывая, что z° = г°, выполняется на узлах S по аналогии с вычислением АхР. Для этого узел М передает на узлы S вектор г°. Одновременно с операцией Az° выполняется вычисление скалярного произведения на узле М. Полученные на узлах S результаты, которые являются

компонентами вектора АД5, передаются на узел М для вычисления скалярного произведения векторов Az° и z°. Завершает вычисление оц операция деления на узле М. После этого выполняется вычисление приближения решения х1 (см. (3)) на узле М.

Одновременно с вычислением х1 на узле М на некотором одном узле S вычисляется г1 (см. (5)). Использовать несколько узлов S в этом случае нецелесообразно. Перед вычислением г1 узел М передает на узел S вектор г°, коэффициент ац, вектор Az° и результат скалярного произведения (г°, г°). На этом же узле S вычисляется коэффициент /ф (см. (6)). Для этого находится скалярное произведение (г1, г1) и выполняется операция деления. После этого на узле S вычисляется также вектор z1 (см. (7)). Вычисленные на узле S значения г1, (г1, г1), /ф и z1 передаются на узел М. На узле М вычисляется Q-терм и1. Если значение и1 true, то вычисление заканчивается.

Для определения коэффициента «2 (см. (4)) вычисление Az] выполняется аналогично вычислению Az°. Для этого узел М передает на узлы S вектор z1. Полученные на узлах S компоненты вектора Az1 передаются на узел М для вычисления скалярного произведения векторов Az1 и z1. Вычислять скалярное произведения (г1, г1) не нужно, так как оно было вычислено в процессе вычисления коэффициента /ф. Завершает вычисление а2 операция деления на узле М. Вычисление х2 (см. (3)) выполняется на узле М.

Одновременно с вычислением х2 вычисляется г2 (см. (5)) на одном из узлов S. Перед вычислением г2 узел М передает на узел S вектор г1, коэффициент «2, вектор Az1, результат скалярного произведения (г1, г1) и вектор z1. Коэффициент /Зг (см. (6)) вычисляется на этом же узле S. Для этого выполняется скалярное произведение {г2, г2) и операция деления. Затем на узле S вычисляется вектор Z2 (см. (7)). Вычисленные на узле S значения г2, (г2, г2), /ф и z2 передаются на узел М. На узле М выполняется вычисление <5-теРма и?-Если значение и2 true, то вычисление заканчивается.

Все последующие итерации алгоритма 53 выполняются по аналогии со второй итерацией.

5. Разработка и экспериментальное исследование Q-эффективных программ

Для выполнения (5~эФФективн°й реализации алгоритма 53 были разработаны Q-эффективные программы для общей памяти и для распределенной памяти с применением принципа «master-slave», проектирование которых описано в разделе 4. Также была разработана Q-эффективная программа для распределенной памяти, не использующая принцип «master-slave», и две программы, которые не являются (^-эффективными, при этом первая из них предназначена для общей памяти, а вторая для распределенной памяти с применением принципа «master-slave». Программы, не являющиеся (^-эффективными, выполняют реализацию алгоритма 53, отличающуюся от (^-эффективной реализации тем, что вычисления по формулам (5), (6) и (7) выполняются последовательно.

2021, т. 10, № 3

63

Применение концепции Q-детерминанта для эффективной реализации численных...

Для всех разработанных программ было проведено экспериментальное исследование динамических характеристик — времени выполнения и ускорения. Оно проводилось на суперкомпьютере «Торнадо» Южно-Уральского государственного университета. Для общей памяти был использован один вычислительный узел, для распределенной памяти — несколько вычислительных узлов. В экспериментах были задействованы два центральных процессора вычислительных узлов с многоядерными ускорителями Intel Xeon Х5680 с частотой 3.33 GHz, каждый из которых имеет 6 ядер и поддерживает 12 потоков, оперативная память узла 24 Гб ЕСС DDR3 Full buffered [6]. При экспериментальном исследовании находилось решение системы линейных уравнений с плотной матрицей А, имеющей размер те = 1000, которая была сгенерирована с помощью специально разработанного программного обеспечения. Компоненты векторов Ъ и ж0 формировались путем генерации случайных чисел.

На рис. 1 показаны графики времени выполнения и ускорения программ для общей памяти. Рисунок 2 содержит графики времени выполнения и ускорения программ для распределенной памяти.

Нити

0 2 4 6 8 10 12 14 16 18 20 22 24 26

Нити

Рис. 1. Время выполнения и ускорение программ для общей памяти (Q — Q-эффективная программа, nQ — не Q-эффективная программа)

Поясним результаты экспериментального исследования.

На динамические характеристики (^-эффективной программы влияет множество факторов. Однако главное влияние оказывает ресурс параллелизма алгоритма, который программа выполняет. Ресурсы параллелизма у алгоритмов разные. Существуют алгоритмы, все операции которых могут быть выполнены параллельно. Примером такого алгоритма является алгоритм сложения двух векторов. Но есть также алгоритмы, которые не имеют параллельных реализаций, например, алгоритм, Q-детерминант которого состоит из одного безусловного Q-терма, имеющего вид

(... ((((ai + a2) х a3 + a4) x a5 + a6) x a7 + a8) ■ ■ •) x a2n-1 + a2n,

где те — параметр размерности. Подавляющее большинство алгоритмов имеют ресурс параллелизма, находящийся между этими двумя крайностями. Любой подход к проектированию параллельных программ основывается на распараллеливании выполняемых программой алгоритмов в рамках их ресурса параллелизма. Следовательно, значения динамических характеристик проектируемых программ из-за разных ресурсов параллелизма выполняемых алгоритмов будут разными.

64

Вестник ЮУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

Вычислительные утлы Вычислительные узлы

Рис. 2. Времен выполнения и ускорение программ для распределенной памяти (QMS — Q-эффективная программа, использующая принцип «master-slave», nQMS — не Q-эффективная программа, использующая принцип «master-slave», QnMS — Q-эффективная программа, не использующая принцип «master-slave»)

Проводя экспериментальное исследование Q-эффективных программ, можно лишь констатировать, каковы значения их динамических характеристик, но улучшить эти значения, не меняя используемую вычислительную инфраструктуру, то есть условия разработки и исполнения программ, не удастся. С помощью данного исследования получены значения динамических характеристик Q-эффективных программ, выполняющих алгоритм 55, который реализует метод сопряженных градиентов. Если эти значения не устраивают пользователя, то для решаемой алгоритмической проблемы возможно с помощью программной Q-системы [2, 11] подобрать алгоритм с лучшим ресурсом параллелизма, чем алгоритм 55.

Кроме ресурса параллелизма выполняемого параллельной программой алгоритма отметим и другие факторы, которые могут существенно влиять на динамические характеристики программы.

Следует подчеркнуть, что, как известно, время выполнения параллельных программ увеличивают пересылки информации между вычислительными узлами ПВС, а также синхронизация вычислений.

Если при реализации на ПВС ^эффективной программе выделено не достаточное количество вычислительных ресурсов, в нашем случае вычислительных ядер, узлов, чтобы могла быть выполнена Q-эффективная реализация алгоритма, то значения динамических характеристик ухудшаются. Разработанные в данном исследовании Q-эффективные программы используют ресурс параллелизма алгоритма 55 полностью, но выделенных ресурсов ПВС не достаточно для выполнения Q-эффективной реализации, поэтому полученные значения динамических характеристик всех трех Q-эффективных программ Q (рис. 1), QMS и QnMS (рис. 2) хуже, чем могли бы быть, если бы ресурсов было достаточно. Особенно нехватка ресурсов ПВС повлияла на время выполнения и ускорение Q-эффективной программы Q для общей памяти. Отметим, что на динамические характеристики программ nQ (рис. 1) и nQMS (рис. 2), не являющихся Q-эффективными, нехватка ресурсов ПВС также оказала влияние.

2021, т. 10, № 3

65

Применение концепции Q-детерминанта для эффективной реализации численных...

На рис. 2 можно видеть, что (^-эффективная программа QMS для распределенной памяти с применением принципа «master-slave» демонстрирует наивысшее среди соперников ускорение. Объясним этот факт.

Лучшие динамические характеристики программы QMS по сравнению с программой QnMS, по нашему мнению, можно объяснить, в частности, тем, что при разработке программы QMS обеспечивается свойство локальности данных за счет распределения вычислений по узлам, а при разработке программы QnMS нет, в результате чего возникают многочисленные промахи кэша при считывании данных из памяти. Обеспечение локальности данных при параллельных вычислениях имеет важное значение, так как повышает быстродействие программ.

Если программа, не являющаяся (^-эффективной, и (^-эффективная программа имеют одинаковые условия разработки и исполнения, то динамические характеристики программы, не являющейся (^-эффективной, хуже, чем (^-эффективной, так как она использует не весь ресурс параллелизма алгоритма. Результаты экспериментального исследования программ QMS и nQMS (рис. 2), а также программ Q и nQ (рис. 1) подтверждают это.

Все три (^-эффективные программы Q (рис. 1), QMS и QnMS (рис. 2) соответствуют разным вычислительным инфраструктурам. С помощью экспериментального исследования мы установили, что эти (^-эффективные программы имеют разное быстродействие. Но даже при влиянии на динамические характеристики перечисленных выше факторов каждая из (^-эффективных программ является наиболее эффективной для своей вычислительной инфр астру ктуры.

Применение метода проектирования параллельных программ для (^-эффективной реализации алгоритмов с Q-детерминантами различной структуры рассмотрено ранее в ряде выпускных квалификационных работ студентов Южно-Уральского государственного университета. Их обзор приведен в [9]. В этих работах были исследованы алгоритмы умножения плотных и разреженных матриц, метод Гаусса—Жордана, метод Якоби для решения систем линейных уравнений. Рассмотрен также метод прогонки для решения систем трехточечных уравнений, имеющий малый ресурс параллелизма. В этом случае не следует использовать распределенную память, поскольку это может привести к снижению производительности. Также рассмотрен метод Фурье для решения системы разностных уравнений, обладающий большим ресурсом параллелизма. Его можно эффективно реализовать на распределенной памяти, используя принцип «master-slave». Следует отметить, что исследования, приведенные в работах, показали, что для некоторых алгоритмов использовать принцип «master-slave» не целесообразно, так как это может привести к увеличению обменов между вычислительными узлами. Примером в этом случае является алгоритм для реализации метода Якоби для решения систем пятиточечных разностных уравнений. Исследования показали также, что некоторые алгоритмы имеют сложные, но хорошо структурированные (^-детерминанты. Например, такие алгоритмы реализуют метод Гаусса—Жордана и метод Гаусса—Зейделя для решения систем линейных уравнений. Аналогичными свойствами обладают и многие другие известные алгоритмы. Хорошо структурированные Q-детерминанты алгоритмов упрощают создание (^-эффективных программ для этих алгоритмов.

Заключение

В статье показано применение метода проектирования (^-эффективных программ, основанного на концепции Q-детерминанта, для эффективной реализации численных алгорит-

66 Вестник ЮУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

мов на примере метода сопряженных градиентов для решения систем линейных уравнений. Для этого были решены следующие задачи:

1) построение (^-детерминанта алгоритма, выполняющего метод сопряженных градиентов;

2) описание (^-эффективной реализации алгоритма, выполняющего метод сопряженных градиентов;

3) разработка (^-эффективных программ для метода сопряженных градиентов, предназначенных для ПВС с общей и распределенной памятью, и их экспериментальное исследование.

Данное исследование пополнило коллекцию алгоритмов, для которых разработаны Q-эффективные программы и оценены их динамические характеристики.

Применение метода проектирования (^-эффективных программ решает проблему наиболее полного использования ресурса параллелизма численных алгоритмов и тем самым делает возможной эффективную реализацию численных алгоритмов на ПВС. Программная Q-система для исследования ресурса параллелизма численных алгоритмов [2, 11], метод проектирования (^-эффективных программ и технология (^-эффективного программирования [9] в комплексе являются одним из решений проблемы повышения эффективности параллельных вычислений, использующих численные алгоритмы. Их могут применять разработчики программного обеспечения для проектирования эффективных программ, предназначенных для любых ПВС — от персональных компьютеров с многоядерными процессорами до суперкомпьютеров. Это приведет к уменьшению времени выполнения программного обеспечения и повышению быстродействия вычислительных систем.

Одним из перспективных направлений развития описанных в статье исследований является автоматизированное проектирование и исполнение (^-эффективных программ. Исследования по данному направлению уже ведутся.

Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 17-07-00865 а и при поддержке Правительства РФ в соответствии с Постановлением № 211 от 16.03.2013 г. (соглашение А- 02.А03.21.0011).

Литература

1. Алеева В.Н. Анализ параллельных численных алгоритмов. Препринт № 590. Новосибирск: ВЦ СО АН СССР, 1985. 23 с.

2. Алеева В.Н., Зотова П.С., Склезнев Д.С. Расширение возможностей исследования ресурса параллелизма численных алгоритмов с помощью программной (^-системы // Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2021. Т. 10, № 2. С. 66-81. DOI: 10.14529/cmse210205.

3. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 608 с.

4. Ершов Ю.Л., Палютин Е.А. Математическая логика. М.: Наука, 1987. 336 с.

5. Открытая энциклопедия свойств алгоритмов. URL: https://algowiki-project.org/ru (дата обращения: 16.05.2021).

6. Суперкомпьютер «Торнадо ЮУрГУ». URL: http://supercomputer.susu.ru/computers/ tornado/ (дата обращения: 16.05.2021).

2021, т. 10, № 3

67

Применение концепции Q-детерминанта для эффективной реализации численных...

7. Akhmed-Zaki D., Lebedev D., Malyshkin V., et al. Automated Construction of High Performance Distributed Programs in LuNA System // Parallel Computing Technologies (PaCT 2019). Lecture Notes in Computer Science. Vol. 11657. 2019. P. 3-9. DOI: 10.1007/978-3-030-25636-4_ 1.

8. Aleeva V. Designing a Parallel Programs on the Base of the Conception of Q-Deternrinant // Superconrputing. RuSCDays 2018. Communications in Computer and Information Science. Vol. 965. 2019. P. 565-577. DOI: 10.1007/978-3-030-05807-4_48.

9. Aleeva V.N. Improving Parallel Computing Efficiency // Proceedings - 2020 Global Smart Industry Conference, GloSIC 2020. IEEE, 2020. P. 113-120. Article number 9267828. DOI: 10.1109/GloSIC50886.2020.9267828.

10. Aleeva V.N., Aleev R.Zh. High-Performance Computing Using Application of Q-deternrinant of Numerical Algorithms // Proceedings - 2018 Global Smart Industry Conference, GloSIC 2018. IEEE, 2018. 8 p. Article number 8570160. DOI: 10.1109/GloSIC.2018.8570160.

11. Aleeva V., Bogatyreva E., Skleznev A., et al. Software Q-systenr for the Research of the Resource of Numerical Algorithms Parallelism // Supercomputing. RuSCDays 2019. Communications in Computer and Information Science. Vol. 1129. 2019. P. 641-652. DOI: 10.1007/978-3-030-36592-9_52.

12. Aleeva V.N., Sharabura I.S., Suleynranov D.E. Software System for Maximal Parallelization of Algorithms on the Base of the Conception of (^‘determinant // Parallel Computing Technologies (PaCT 2015). Lecture Notes in Computer Science. Vol. 9251. 2015. P. 3-9. DOI: 10.1007/978-3-319-21909-7_l.

13. Antonov A.S., Dongarra J., Voevodin V.V. AlgoWiki Project as an Extension of the Top500 Methodology // Supercomputing Frontiers and Innovations. 2018. Vol. 5, no. 1. P. 4-10. DOI: 10.14529/jshl80101.

14. Henk A. van der Vorst. Iterative Krylov Methods for Large Linear System. USA: Cambridge University Press, 2003. 221 p. DOI: 10.1017/CB09780511615115.

15. Legalov A.I., Vasilyev V.S., Matkovskii I.V., et al. A Toolkit for the Development of Data-Driven Functional Parallel Programmes // Parallel Computational Technologies (PCT’2018). Communications in Computer and Information Science. Vol. 910. 2018. P. 16-30. DOI: 10.1007/978-3-319-99673-8_2.

16. Leung J.Y.-T., Zhao H. Scheduling problems in master-slave model // Annals of Operations Research. 2008. Vol. 159. P. 215-231. DOI: 10.1007/sl0479-007-0271-4.

17. Li Y., Dou W., Yang K., et al. Optimized Data I/O Strategy of the Algorithm of Parallel Digital Terrain Analysis // 13th International Symposium on Distributed Computing and Applications to Business, Engineering and Science. 2014. P. 34-37. DOI: 10.1109/DCABES.2014.10.

18. Matveev S.A., Zagidullin R.R., Smirnov A.P., et al. Parallel Numerical Algorithm for Solving Advection Equation for Coagulating Particles // Superconrputing Frontiers and Innovations. 2018. Vol. 5, no. 2. P. 43-54. DOI: 10.14529/jsfil80204.

19. McColl W.F. General Purpose Parallel Computing // Lectures on Parallel Computation, Cambridge International Series on Parallel Computation. USA: Cambridge University Press, 1993. P. 337-391.

20. Moskovsky A., Roganov V., Abramov S. Parallelism Granules Aggregation with the T-System // Parallel Computing Technologies (PaCT 2007). Lecture Notes in Computer Science. Vol. 4671. 2007. P. 293-302. DOI: 10.1007/978-3-540-73940-l_30.

68

Вестник КУУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

21. Prifti V., Bala R., Tafa I., et al. The time profit obtained by parallelization of quicksort algorithm used for numerical sorting // Science and Information Conference (SAI). 2015. P. 897-901. DOI: 10.1109/SAI.2015.7237248.

22. Valiant L.G. A bridging model for parallel computation // Communications of the ACM. 1990. Vol. 33, no. 8. P. 103-111. DOI: 10.1145/79173.79181.

23. Voevodin V.V., Voevodin VI.V. The V-Ray technology of optimizing programs to parallel computers // Numerical Analysis and Its Applications (WNAA 1996). Lecture Notes in Computer Science. Vol. 1196. 1997. P. 546-556. DOI: 10.1007/3-540-62598-4_136.

24. You J., Kezhang H., Liang H., et al. Research on parallel algorithms for calculating static characteristics of electromagnetic relay // IEEE 11th Conference on Industrial Electronics and Applications (ICIEA). 2016. P. 1421-1425. DOI: 10.1109/ICIEA.2016.7603808.

Алеева Валентина Николаевна, к.ф.-м.н., доцент, кафедра системного программирования, Южно-Уральский государственный университет (национальный исследовательский университет) (Челябинск, Российская Федерация)

Шатов Михаил Борисович, студент, кафедра системного программирования, Южно-Уральский государственный университет (национальный исследовательский университет) (Челябинск, Российская Федерация)

DOI: 10.14529/ cmse210304

APPLICATION OF THE Q-DETERMINANT CONCEPT FOR EFFICIENT IMPLEMENTATION OF NUMERICAL ALGORITHMS BY THE EXAMPLE OF THE CONJUGATE GRADIENT METHOD FOR SOLVING SYSTEMS OF LINEAR

EQUATIONS

© 2021 V.N. Aleeva, M.B. Shatov

South Ural State University (pr. Lenina 76, Chelyabinsk, 454080 Russia)

E-mail: aleevavn@susu.ru, charm,ing.flurry@yandex.ru Received: 24.05.2021

The problem of improving the efficiency of parallel computing is very topical. The article demonstrates the application of the concept of Q-determinant for the effective implementation of numerical algorithms by the example of the conjugate gradient method for solving systems of linear equations. The concept of the Q-determinant is based on a unified representation of numerical algorithms in the form of the Q-determinant. Any numerical algorithm has a Q-determinant. The Q-determinant consists of Q-terms. Their number is equal to the number of output data items. Each Q-term describes all possible ways to compute one of the output data items based on the input data. The Q-determinant allows you to express and evaluate the internal parallelism of the algorithm, as well as to show the method of its parallel execution. The article gives the main notions of the Q-determinant concept necessary for better understanding of our research. Also, we describe a method of designing effective programs for numerical algorithms on the base of the concept of the Q-determinant. As a result, we obtain the program which uses the parallelism resource of the algorithm completely, and this program is called Q-effective. As application of the method for design of Q-effective programs, we describe the designing programs for conjugate gradient method for implementation on parallel computing systems with shared and distributed memory. Finally, for developed programs we present the results of experiments on a supercomputer ‘Tornado SUSU”.

Keywords: improving parallel computing efficiency, Q-determinant of algorithm, representation of algorithm in the form of Q-determinant, Q-effective implementation of algorithm, parallelism, resource of algorithm, Q-effective program..

2021, t. 10, № 3

69

Применение концепции Q-детерминанта для эффективной реализации численных...

FOR CITATION

Aleeva V.N., Shatov M.B. Application of the Q-determinant Concept for Efficient Implementation of Numerical Algorithms by the Example of the Conjugate Gradient Method for Solving Systems of Linear Equations. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2021. Vol. 10, no. 3. P. 56-71. (in Russian) DOI: 10.14529/cmse210304.

This paper is distributed under the terms of the Creative Commons Attribution-Non Commercial f.O License which permits non-commercial use, reproduction and distribution of the work without further permission provided the original work is properly cited.

References

1. Aleeva V.N. Analysis of Parallel Numerical Algorithms. Preprint no. 590. Novosibirsk, Computing Center of the Siberian Branch of the Academy of Sciences of the USSR, 1985. 23 p. (in Russian)

2. Aleeva V.N., Zotova P.S., Skleznev D.S. Advancement of research for the parallelism resource of numerical algorithms with help of software (^-system. Bulletin of the South Ural State University. Series: Computational Mathematics and Software Engineering. 2021. Vol. 10, no. 2. P. 66-81. (in Russian) DOI: 10.14529/cmse210205.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3. Voevodin V.V., Voevodin VI.V. Parallel Computing. St. Petersburg, BHV-Petersburg, 2002. 608 p. (in Russian)

4. Ershov Yu.L., Palyutin E.A. Mathematical Logic. Moscow, Mir, 1984. 303 p.

5. Open Encyclopedia of Parallel Algorithmic Features. URL: https: //algowiki-proj ect. org/

en (accessed: 16.05.2021).

6. “Tornado SUSU” Supercomputer. URL: http://supercomputer.susu.ru/en/computers/ tornado/ (accessed: 16.05.2021).

7. Akhmed-Zaki D., Lebedev D., Malyshkin V., et al. Automated Construction of High Performance Distributed Programs in LuNA System. Parallel Computing Technologies (PaCT 2019). Lecture Notes in Computer Science. Vol. 11657. 2019. P. 3-9. DOI: 10.1007/978-3-030-25636-4_l.

8. Aleeva V. Designing a Parallel Programs on the Base of the Conception of Q-Determinant. Supercomputing. RuSCDays 2018. Communications in Computer and Information Science. Vol. 965. 2019. P. 565-577. DOI: 10.1007/978-3-030-05807-4_48.

9. Aleeva V.N. Improving Parallel Computing Efficiency. Proceedings - 2020 Global Smart Industry Conference, GloSIC 2020. IEEE, 2020. P. 113-120. Article number 9267828. DOI: 10.1109/GloSIC50886.2020.9267828.

10. Aleeva V.N., Aleev R.Zh. High-Performance Computing Using Application of Q-determinant of Numerical Algorithms. Proceedings - 2018 Global Smart Industry Conference, GloSIC 2018. IEEE, 2018. 8 p. Article number 8570160. DOI: 10.1109/GloSIC.2018.8570160.

11. Aleeva V., Bogatyreva E., Skleznev A., et al. Software Q-system for the Research of the Resource of Numerical Algorithms Parallelism. Supercomputing. RuSCDays 2019. Communications in Computer and Information Science. Vol. 1129. 2019. P. 641-652. DOI: 10.1007/978-3-030-36592-9_52.

70

Вестник КУУрГУ. Серия «Вычислительная математика и информатика»

В.Н. Алеева, М.Б. Шатов

12. Aleeva V.N., Sharabura I.S., Suleymanov D.E. Software System for Maximal Parallelization of Algorithms on the Base of the Conception of (^‘determinant. Parallel Computing Technologies (PaCT 2015). Lecture Notes in Computer Science. Vol. 9251. 2015. P. 3-9. DOI: 10.1007/978-3-319-21909-7_l.

13. Antonov A.S., Dongarra J., Voevodin V.V. AlgoWiki Project as an Extension of the Top500 Methodology. Super computing Frontiers and Innovations. 2018. Vol. 5, no. 1. P. 4-10. DOI: 10.14529/jsfil80101.

14. Henk A. van der Vorst. Iterative Krylov Methods for Large Linear System. USA, Cambridge University Press, 2003. 221 p. DOI: 10.1017/CB09780511615115.

15. Legalov A.I., Vasilyev V.S., Matkovskii I.V., et al. A Toolkit for the Development of Data-Driven Functional Parallel Programmes. Parallel Computational Technologies (PCT’2018). Communications in Computer and Information Science. Vol. 910. 2018. P. 16-30. DOI: 10.1007/978-3-319-99673-8_2.

16. Leung J.Y.-T., Zhao H. Scheduling problems in master-slave mode. Annals of Operations Research. 2008. Vol. 159. P. 215-231. DOI: 10.1007/sl0479-007-0271-4.

17. Li Y., Dou W., Yang K., et al. Optimized Data I/O Strategy of the Algorithm of Parallel Digital Terrain Analysis. 13th International Symposium on Distributed Computing and Applications to Business, Engineering and Science. 2014. P. 34-37. DOI: 10.1109/DCABES.2014.10.

18. Matveev S.A., Zagidullin R.R., Smirnov A.P., et al. Parallel Numerical Algorithm for Solving Advection Equation for Coagulating Particles. Supercomputing Frontiers and Innovations. 2018. Vol. 5, no. 2. P. 43-54. DOI: 10.14529/jsfil80204.

19. McColl W.F. General Purpose Parallel Computing. Lectures on Parallel Computation, Cambridge International Series on Parallel Computation. USA, Cambridge University Press, 1993. P. 337-391.

20. Moskovsky A., Roganov V., Abramov S. Parallelism Granules Aggregation with the T-System. Parallel Computing Technologies (PaCT 2007). Lecture Notes in Computer Science. Vol. 4671. 2007. P. 293-302. DOI: 10.1007/978-3-540-73940-l_30.

21. Prifti V., Bala R., Tafa I., et al. The time profit obtained by parallelization of quicksort algorithm used for numerical sorting. Science and Information Conference (SAI). 2015. P. 897-901. DOI: 10.1109/SAI.2015.7237248.

22. Valiant L.G. A bridging model for parallel computation. Communications of the ACM. 1990. Vol. 33, no. 8. P. 103-111. DOI: 10.1145/79173.79181.

23. Voevodin V.V., Voevodin VI.V. The V-Ray technology of optimizing programs to parallel computers. Numerical Analysis and Its Applications (WNAA 1996). Lecture Notes in Computer Science. Vol. 1196. 1997. P. 546-556. DOI: 10.1007/3-540-62598-4_136.

24. You J., Kezhang H., Liang H., et al. Research on parallel algorithms for calculating static characteristics of electromagnetic relay. IEEE 11th Conference on Industrial Electronics and Applications (ICIEA). 2016. P. 1421-1425. DOI: 10.1109/ICIEA.2016.7603808.

2021, t. 10, № 3

71

i Надоели баннеры? Вы всегда можете отключить рекламу.