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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Алеева Валентина Николаевна, Зотова Полина Сергеевна, Склезнев Дмитрий Сергеевич

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Алеева Валентина Николаевна, Зотова Полина Сергеевна, Склезнев Дмитрий Сергеевич

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

ADVANCEMENT OF RESEARCH FOR THE PARALLELISM RESOURCE OF NUMERICAL ALGORITHMS WITH THE HELP OF SOFTWARE Q-SYSTEM

The software Q-system is designed to study the parallelism resource of numerical algorithms. By use of Q-system, we can calculate the parallelism resource of any numerical algorithm. Also, for the set of algorithms solving a given algorithmic problem, we can find an algorithm with the best parallelism resource. The theoretical basis of the Q-system is the concept of Q-determinant where Q is the set of operations used by the algorithm. Any numerical algorithm has a Q-determinant and can be represented in the form of a Q-determinant. Such a representation is a universal description of numerical algorithms. 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 calculate one of the output data items based on the input data. Q-determinant makes the algorithm transparent in terms of structure and implementation. The Q-system can be used for the improvement of parallel computing efficiency. In this paper we describe new features of the Q-system. With the new functionality, we can use the classification of algorithms when studying them. Also with the new functionality, we can calculate the functions for approximating the height and width of the algorithms more precisely and create a graphical representation of them. As a result, we have a more convenient user interface of the Q-system and more opportunities to study the parallelism resource of algorithms.

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

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

РАСШИРЕНИЕ ВОЗМОЖНОСТЕЙ ИССЛЕДОВАНИЯ РЕСУРСА ПАРАЛЛЕЛИЗМА ЧИСЛЕННЫХ АЛГОРИТМОВ С ПОМОЩЬЮ ПРОГРАММНОЙ

Q-СИСТЕМЫ

© 2021 В.Н. Алеева, П.С. Зотова, Д.С. Склезнев

Южно-Уральский государственный университет (454O8O Челябинск, пр. им. В.И. Ленина, д. 76)

E-mail: aleevavn@susu.ru, zotovaps2000@gmail.com, skleznevdm@gmail.com Поступила в редакцию: 16.03.2021

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

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

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

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

Введение

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

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

1) разработка функциональности Q-системы для использования классификации алгоритмов при их исследовании;

2) повышение точности аппроксимации функций высоты и ширины алгоритмов;

3) реализация графического представления аппроксимации функций высоты и ширины алгоритмов.

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

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

Наиболее близким к теме исследования, рассматриваемого в статье, является направление, созданное В.В. Воеводиным. Основополагающими работами этого направления являются [2, 15]. В рамках данного направления проводятся очень важные и развитые исследования параллельной структуры алгоритмов и программ для их реализации на параллельных вычислительных системах (ПВС). Эти исследования применяются для создания открытой энциклопедии свойств алгоритмов AlgoWiki [4, 11]. В AlgoWiki для определения ресурса параллелизма алгоритмов используется индивидуальный подход к каждому алгоритму. Единое программное обеспечение для исследования и сравнения ресурсов параллелизма алгоритмов данное направление исследований в настоящее время не содержит.

Исследований, использующих универсальные подходы к решению проблем, связанных с параллельными вычислениями, очень мало. В основном они посвящены разработке параллельных программ. Приведем примеры таких исследований. Т-система [13] является средой разработки с возможностью автоматического динамического распараллеливания программ. Синтез параллельных программ заключается в разработке новых параллельных алгоритмов с использованием базы знаний параллельных алгоритмов для решения более сложных задач. Технология фрагментированного программирования, язык ее реализации и система программирования LuNA разработаны на основе метода синтеза параллельных программ [5]. Чтобы снять ограничения на ресурсы ПВС, рассматривается проектирование параллельных программ с помощью функциональных языков программирования. Работа [12] является примером талого исследования. Приведенные примеры решают проблему построения параллельных программ, но при этом не исследуется ресурс параллелизма алгоритмов, реализуемых программами, и насколько программы его используют.

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

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

2. Концепция Q-детерминанта

Алгоритмическую проблему опишем в виде ў = F(N, В), где N = {щ,..., п*,} — множество параметров размерности или N — пустое множество, В — множество входных данных, ў = {ўі, ■ ■ ■ ,Ут} — множество выходных данных, целое число т является либо константой, либо значением вычислимой функции параметров N, если N ^ 0. Значение щ (г Є {1,..., к}) равно любому положительному целому числу. Если N = {ηι,...,η*,}, то через N = {fiı,...,nk} обозначим набор из к положительных целых чисел, где щ — некоторое заданное значение параметра размерности щ для каждого і Є {1,..., к}. Через {Ν} обозначим множество всех возможных fc-наборов Ν. Пусть а — алгоритм для решения алгоритмической проблемы, Q — набор операций, используемых алгоритмом а.

Определение 1. Выражение над В а Q определим, как терм в стандартном смысле математической логики [3]. Каждое выражение w имеет уровень вложенности, обозначим его через Tw.

Пример 1. Выражения и их уровни вложенности:

1) wx = h X (Ьа + b3)/h, Т°* = 3:

2) W2 = (Ьі > Ьг) V ((Ьз х &4) < &5 X (&б + &7))> Т™2 = 4·

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

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

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

Пусть Ul,...,Ul — безусловные логические Q-Термы, Wl, . . . , Wl — безусловные Q-термы. Тогда множество I пар (и, w) = {(гц, гті)}гє{і,...,г} называется условным Q-термом длины I.

Пусть (и, w) = {(ui,Wi)}i=Ц2,... — счетное множество пар безусловных Q-термов. Предположим, что {(«г, — условный 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) при интерпретации переменных В. Пусть N = 0. Находим значения выражений щ, Wi для г Є {г = 1,При этом мы можем найти пару щ0,ті0 такую, что щ0 имеет значение true. Следовательно, мы можем найти значение wı0. Тогда считаем, что (и, w) имеет значение Wi0. В противном случае считаем, что значение (и, w) при интерпретации переменных В не определено. Пусть N ф 0 и N Є {N}. Находим выражения Ui(N), Wi(N) для г Є {г = 1,... ,1}. При этом мы можем найти пару Ui0(N),Wi0(N) такую, что Ui0(N) имеет значение true. Следовательно, мы можем найти значение Wi0(N). Тогда мы считаем, что (и, w) имеет значение Wi0(N). В противном случае считаем, что значение (и, w) для N и при такой интерпретации переменных В не определено. Аналогично можно определить значение условного бесконечного (5-терма.

Определение 4. Пусть M = {1, и алгоритм а состоит в нахождении для каж-

дого г € М значения yi путем вычисления значения Q-терма fi. Тогда набор Q-термов {fi І і Є М} называется Q-детерминантом алгоритма а. Система уравнений {уі = fi \ і Є М} называется представлением алгоритма а в форме Q-детерминанта.

Определение 5. Процесс вычисления Q-термов {fi І і Є М} алгоритма а называется реализацией алгоритма а. Если реализация алгоритма а состоит в том, что некоторые операции выполняются одновременно, то она называется параллельной реализацией.

Для дальнейшего изложения будем использовать некоторое разбиение множества М. Предположим, что U, С и / образуют разбиение множества М = {1 ,.,.,τη} с пустыми членами, то есть: U Lİ С Li I = M; U П С = U Г\ I = С Π I = 0; кроме того, одно или два подмножества U, С и / могут быть пустыми. Предположим также, что подмножества U, С и I можно связать с подмножествами множества Q-термов {/* | і Є М} таким образом:

1) для каждого і Є U существует Q-терм fi, который является безусловным, и fi = w1 \

2) для каждого і Є С существует Q-терм fi, который является условным, и f% = {{u):w))}je{ı,...,l(i)}ı гДе К®) — либо константа, либо значение вычислимой функции от N, если N ф 0;

3) для каждого і Є I существует Q-терм fi, который является условным бесконечным, и

fi = {(Ц-,Ц)Ье{ 1,2,...}·

Определение 6. Опишем реализацию алгоритма а, называемую Q-эффективной.

Пусть N = 0. Зададим интерпретацию переменных В. Будем вычислять выражения

W = {w*(i Є U); и), w)(i Є С, j Є {1,..., Z(i)}); u), w)(i €l,j e {1,2,... })} (1)

одновременно, параллельно. Мы говорим, что операция готова к выполнению, если вычислены значения всех ее операндов. При вычислении каждого из выражений W (см. (1)) мы выполняем операции, как только они готовы к выполнению. Если несколько операций цепочки готовы к выполнению, то они выполняются по схеме сдваивания. Например, вычисление цепочки αι + аг + аз + а4 по схеме сдваивания выполняется так: сначала вычисляем Ъ\ = αχ + Ü2 и &2 = + а4 одновременно, затем с = Ъ\ + &2- Если для і Є С U / и

j Є {1,2,... } ıtj имеет значение false, то вычисление соответствующего ш*· прекращается. Если для і Є CUI и j Є {1,2,...} вычисление пары {и1·, гг}) приводит к тому, что значение одного выражения не определено, то вычисление второго выражения прекращается. Если

для г Є Си / вычисление некоторой пары (гг*о,гт}о) приводит к определению их значений и значение true, то вычисление выражений и*·, го®· прекращается для любого j jo-

Теперь пусть N ф 0. Зададим интерпретацию переменных В и N Є {İV}. Получаем множество выражений

W(N) = {га*(İV)(г Є 17);«}(İV), гг*(İV)(і Є C,j Є {1,...,/(г)»;

«;(ІУ),Ц(ІУ)(ІЄ/,ІЄ{1,2,...»}. (2)

Выражения VE(iV) (см. (2)) вычисляются по аналогии с выражениями W (см. (1)).

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

Замечание 1. Есть алгоритмы, Q-эффективная реализация которых невыполнима.

Пример 2. Алгоритм для вычисления суммы S ряда X)rn=ı(-1)™»™ с заДанн°й точностью є имеет следующее представление в форме Q-детерминанта

S = Ш < Є>-1) ’ Ü < Є’_1 + \) >··· > (m < е>-1 + \ ^ (_1)т 1ίίϊ=ΐ) )···}·

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

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

1. Алгоритм а представлен в форме Q-детерминанта у і = fi для всех і Є М.

2. Значения Q-термов Д для всех г Є М определяются при любой интерпретации переменных В и для любого N Є {İV}, если N 0.

3. Пусть N = 0 и / 7^ 0. Тогда при заданной интерпретации переменных В для любого

г Є I существует пара выражений такая, что значение u^. равно true и значение

гг*·, определено. Введем обозначение

W = {гг*(і є U);Uj,Wj(i Є С, j Є {1,..., 1(г)}); и)., гг}, (і Є J)}.

4. Пусть N ф 0 и I ф 0. Тогда при заданной интерпретации переменных В для любого N Є {N} и г Є / существует пара выражений гг}. (N), гг*.(N) такая, что значение гг}. (N) равно true, а значение гг*.(N) определено. Введем обозначение

W{N) = {w\N)(İ Є U)]Uj(N), (İV)(г Є C,j Є {1,...,/(г)}); гг*· (іў-),гг*· (ÂT)(і Є /)}.

5. Q-эффективная реализация алгоритма а выполнима.

Введем понятия высоты и ширины алгоритма а, которые характеризуют его ресурс параллелизма.

Определение 8. Обозначим через Da высоту и через Ра ширину алгоритма а и определим их следующим образом.

Если N = 0, то

Da =

max Tw если 7 = 0,

wew

max если 7^0;

Ра = max ) О.

Kr<D, ''

,w

r 5

w£W

где O™ — количество операций уровня вложенности г выражения w. Если N ф 0, то

(3)

(4)

Da(N) =

max TwW если 7 = 0,

( w(N)eW(N) (5)

max Tw№ если 7^0;

kiü(JV)eW(JV)

max ) fiw{N) (6)

Kr<Da(N) ' ,

--V w(N)£W(N)

где ofN) — количество операций уровня вложенности г выражения w(N).

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

3. Q-система

3.1. Теоретические основы Q-системы

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

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

2) метод получения Q-эффективной реализации алгоритма;

3) метод вычисления характеристик ресурса параллелизма алгоритма;

4) метод сравнения характеристик ресурса параллелизма алгоритмов.

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

Опишем эти методы и поясним их на простых примерах.

Q-детерминанты алгоритмов можно построить с помощью блок-схем алгоритмов. При этом блок-схемы используют блоки «терминал», «решение», «процесс», «данные» и имеют ограничения, описанные в работе [9]. Для построения Q-детерминанта алгоритма его блок-схема анализируется при фиксированных значениях параметров размерности алгоритмической проблемы N, если N ф 0.

Если Q-детерминант алгоритма имеет безусловные Q-термы, то проход по блок-схеме идет последовательно в соответствии с выполнением алгоритма. Для каждого г Є U из содержимого блоков «процесс», участвующих В вычислении fi, формируются выражения w1, если N = 0 и wl(N), если N ф 0. Если Q-детерминант содержит условные Q-термы, то блок-схема имеет хотя бы один блок «решение» с условием, содержащим входные данные. Прохождение такого блока порождает ветвление. После прохода по каждой из ветвей для всех і Є С и j Є {1, ...,/(*)} получаются пары выражений (гі*·, га*·), если N = 0 и (Uj(N),Wj(N)), если N ф 0 для всех условных Q-термов /,. Выражения гх*·, если N = 0 и Uj(N), если N ф <25 формируются из условий блоков «решение», которые содержат входные данные, а га}, если İV = 0 и га*·(Ў), если N ф 0 на основе содержимого блоков «процесс». Условные бесконечные Q-термы содержат Q-детерминанты итерационных алгоритмов. Ограничив количество итераций, можно свести случай Q-детерминанта с условными бесконечными Q-термами к случаю Q-детерминанта с условными Q-термами. Для ограничения количества итераций используется параметр L. Его значение обозначим через L. Оно может принимать целые положительные значения. L задает длину Q-термов Д для г Є I.

Пример 3. Рассмотрим алгоритм вычисления скалярного произведения векторов а1 = (α^,...,α^) и а2 = (а\,...,аф), не использующий схему сдваивания. В этом случае N ф 0 и 1 = 0. С помощью метода построения Q-детерминанта для любого п Є {2,3,...} может быть получено представление алгоритма в форме Q-детерминанта

(а1, а2) = (... (а{ х af + а\ х а|) + а\ х af) Н-h а^х а%).

В разделе 2 определено, что при Q-эффективной реализации алгоритма выполняется одновременное вычисление выражений W (см. (1)), если N = 0 и выражений W(N) (см. (2)), если N ф 0, при этом операции выполняются по мере вычисления их операндов. Если N = 0 и I ф 0, то вместо выражений W будем использовать выражения

W{L) = {w\i Є С/);Ц.,Ц(г Є С, j Є {1,..., Z(i)}); u), w)(i €l,j€ {Ι,.,.,Ζ})}.

Если Νφ0Ή.Ιφ0,τχ> вместо выражений W (Ν) будем использовать выражения

W{N,L) = {w\N)(i Є Uy,u)(N),w^N)(i €C,j€ {1,..., /(*)});

Ц.(Ў),Ц(Ў)(геД^е{1,...,Х})}.

Метод получения Q-эффективной реализации алгоритма заключается в вычислении уровней вложенности операций, входящих в выражения: W, если N = 0 и I = 0; WÇL), если N = 0 и I ф 0; ИДЎ), если N ф 0 и I = 0; W(N, L), если N ф 0 и I ф 0.

Пример 4. Для алгоритма из примера 3 используем множество VE(İV), состоящее из

выражения (... (а\ χα^+α^χα^+α^χα^Η--Операции умножения имеют уровень

вложенности 1, уровень вложенности г-й (г Є {1,..., η — 1}) операции сложения равен г + 1.

Вычисление характеристик ресурса параллелизма алгоритма а выполняется по следующим правилам. Если N = 0 и I = 0, то высота и ширина алгоритма а не зависят от параметров N и L. Высота обозначается Da и вычисляется по формуле (3). Ширина обозначается Ра и вычисляется по формуле (4). Если N = 0 и I ф 0, то высота и ширина алгоритма а зависят от параметра L. Значение высоты алгоритма обозначается Da(L) и вычисляется

по формуле Da(L) = maxw&w^Tw. Значение ширины алгоритма обозначается Pa(L) и вычисляется по формуле Pa(L) = max J2weW(L) О™■ Если N ф 0 ж I = 0, то высота и

ширина алгоритма а зависят от параметров N. Значение высоты алгоритма обозначается Da(N) и вычисляется по формуле (5). Значение ширины алгоритма обозначается Pa(N) и вычисляется по формуле (6). Если N ф 0 и I ф 0, то высота и ширина алгоритма а зависят от параметров TV и L. Значение высоты алгоритма обозначается Da(N,L) и вычисляется по формуле Da(N,L) = maxw^€W(NiZ)Tw^N^■ Значение ширины алгоритма обозначается

Pa(N, L) и вычисляется по формуле Pa(N, L) = ^ шах_ J2w(n)eW(n,L) 0^Ν\

Пример 5. Высота алгоритма из примера 3 должна вычисляться по формуле (5), а ширина по формуле (6), следовательно, высота и ширина равны п.

Допустим, что алгоритмы а и β решают одну и ту же алгоритмическую проблему. Метод сравнения характеристик ресурса параллелизма алгоритмов сравнивает высоту и ширину алгоритмов а и /3, если они удовлетворяют одному из четырех наборов условий.

1. Пусть N = 0 и I = 0. Тогда Da, Ра, Όβ и Ρβ определены.

2. Пусть N = 0 и I ф 0. Тогда

1) Da(L) и Pa(L) определены, если L Є Va(L);

2) Ώβ{Ζ) и Ρβ(Ρ) определены, если L є V^(L);

3) Va(L)nVp(L)jt0.

3. Пусть TV 7^ 0 и I = 0. Тогда

1) Da(N) и Pa(N) определены, если TV Є Va(TV);

2) (TV) и Ρβ(Ν) определены, если TV є Vs (TV);

3) Va(N) n V£(TV) φ 0.

4. Пусть TV φ 0 и 7 φ 0. Тогда

1) Da(N,L) и Pa(N,L) определены, если (TV, X) Є Va(N,L);

2) Όβ(Ν,Ζ) и Ρβ(Ν,Ζ) определены, если (TV, T) e Ύβ(Ν, L);

3) Va(N, L) Π V^(TV, L) φ 0.

Пример 6. Поясним метод сравнения характеристик ресурса параллелизма алгоритмов на примере алгоритма вычисления скалярного произведения векторов, не использующего схему сдваивания (см. пример 3), и алгоритма вычисления скалярного произведения векторов а1 = (а\,..., а*) и а2 = (а\,..., ), в котором схема сдваивания применяется. В качестве алго-

ритма а используем первый алгоритм, а в качестве алгоритма β второй. С помощью метода построения Q-детерминанта для любого значения п Є {2,3,... } может быть получено представление алгоритма β в форме Q-детерминанта (a1,а2) = а\ х а\ + а\ х а| + · · · + х а2. Так как алгоритм β использует схему сдваивания, то Όβ = 1 + |"log2 η], Ρβ = η. Пусть высота и ширина алгоритма а определены для значений размерности множества Va(N) = {2,3,4,5,9,15,20,50}, а высота и ширина алгоритма β для значений размерности множества νβ(Ν) = {2,4,5, 7,9,20,35,50}. Тогда Va(N) Π Υβ(Ν) = {2,4,5,9,20, 50} ф 0. Алгоритмы а и β удовлетворяют набору условий 3, поэтому к ним можно применить метод сравнения.

С помощью метода сравнения вычисляются значения AD и АР по правилам. 1. Если IV = 0 и I = 0, то AD = Όα — Όβ, АР = Ра — Ρβ.

2. Если N = 0 и I ^ 0, то

AD= Σ (.De(L)-£>„(£)), ΔΡ = £ {Pa(L) - Ρβ{1)).

Le{Va{L)nVp{L)) Le(Va(L)nVp(L))

3. Если İV ф 0 и 7 = 0, то

ΔΡ= £ (De(JV)-^(JV)), ΔΡ = 5] (Ρα(Ν) — Ρβ(Ν)).

Νε(να(Ν)ηνβ(Ν)) Νε(να(Ν)ηνβ(Ν))

4. Если İV φ 0 и 7 φ 0, то

ΔΡ= (Da(N,L)-Dp(N,L)),

(N,L)e<ya(N,L)nVp(N,L))

ΔΡ = Χ; (Pa(N,L) - Ρβ(Ν, L)).

(N,L)e<ya(N,L)nVP(N,L·))

По результатам вычислений делаются следующие выводы. Если AD < 0, то высота алгоритма а меньше высоты алгоритма β. Если AD = 0, то алгоритмы имеют одинаковую высоту. Если AD > 0, то высота алгоритма а больше высоты алгоритма β. Если АР < О, то ширина алгоритма а меньше ширины алгоритма β. Если АР = 0, то алгоритмы имеют одинаковую ширину. Если АР > 0, то ширина алгоритма а больше ширины алгоритма β.

Пример 7. Применим метод сравнения для алгоритмов а и β из примера 6. Используя правило 3, получим AD = 63, АР = 0. Следовательно, можно сделать вывод, что высота алгоритма а больше высоты алгоритма β, а ширина алгоритмов одинакова.

3.2. Программная реализация (^-системы

Q-система состоит из двух подсистем: для создания Q-детерминантов и для вычисления ресурса параллелизма численных алгоритмов. Первая подсистема реализует метод построения Q-детерминанта алгоритма на основе его блок-схемы. Во второй подсистеме реализованы остальные методы исследования ресурса параллелизма численных алгоритмов. Диаграмма развертывания Q-системы представлена на рис. 1.

Рис. 1. Диаграмма развертывания Q-системы

Подсистема для создания Q-детерминантов численных алгоритмов является .ΝΕΤ-приложением, разработанным на объектно-ориентированном языке программирования Сф. Формат обмена данными JSON применяется для описания входных и выходных данных подсистемы. Формат описания и примеры блок-схем алгоритмов и выходных файлов приведены в работах [7—9].

Подсистема для вычисления ресурса параллелизма численных алгоритмов включает базу данных, серверное и клиентское приложения. Для разработки использовалась СУБД PostgreSQL. База данных состоит из таблиц Algorithms и Determinants. Таблица Algorithms имеет атрибуты: идентификатор, имя, описание алгоритма, количество Q-детерминантов алгоритма, загруженных в базу данных. Атрибуты таблицы Determinants: идентификатор Q-детерминанта, идентификатор алгоритма, значения параметров размерности N, если N ф 0, иначе О, Q-детерминант, значение Da, значение Ра, значение параметра L, если 7^0, иначе 0. Серверное приложение реализует методы: запись нового алгоритма, обновление информации об алгоритме, получение списка алгоритмов с полной информацией о них, сравнение характеристик ресурса параллелизма алгоритмов, удаление алгоритма и его Q-детерминантов, загрузка Q-детерминанта и характеристик ресурса параллелизма, получение списка Q-детерминантов, скачивание Q-детерминанта, удаление (2-детерминанта. На главной странице клиентского приложения находится список алгоритмов, записанных в базу данных. Также на ней показано количество Q-детерминантов, загруженных в базу данных для каждого алгоритма, расположены элементы интерфейса, которые позволяют любому пользователю сравнить алгоритмы, перейти на страницу со списком <2-детерминантов, загруженных в базу данных для выбранного алгоритма, аппроксимировать функции D(N,L) и P(N,L). Страница со списком (2-детерминантов содержит для каждого Q-детерминанта значения параметров размерности N, количество итераций L, значения D(N,L) и P(N,L). Интерфейс для авторизованных пользователей обеспечивает добавление, редактирование и удаление алгоритмов, загрузку и удаление (2-детерминантов.

Пример 8. В настоящее время в (2-системе описано десять специально подобранных алгоритмов с различными структурами Q-детерминантов, в том числе алгоритмы а и β (см. пример 6), используемых для тестирования функциональности (2-системы. Для алгоритмов а и β в базу данных загружено соответственно 36 и 78 (2-детерминантов. При загрузке каждого <2-детерминанта выполнялось вычисление и запись в базу данных значений высоты и ширины. Результатом сравнения алгоритмов аж β будет вывод, приведенный в примере 7.

4. Расширение функциональности Q-системы

4.1. Обзор алгоритмов в соответствии с их классификацией

В процессе эксплуатации (2-системы количество алгоритмов в базе данных может расти. В этом случае использование общего списка алгоритмов будет не всегда удобным, поэтому был реализован способ обзора алгоритмов в соответствии с их классификацией. Возможность обзора алгоритмов в виде общего списка сохранена.

Примером использования при исследовании алгоритмов их классификации является открытая энциклопедия свойств алгоритмов AlgoWiki [4]. Под классификацией алгоритмов в нашем исследовании мы понимаем следующий принцип систематизации алгоритмов. Исследуемые алгоритмы делятся на классы, классы могут иметь подклассы первого уровня, которые могут иметь подклассы второго уровня и так далее. Количество классов, подклассов и уровней подклассов не ограничено. Один и тот же алгоритм может принадлежать нескольким классам или подклассам. Критерии распределения алгоритмов по классам и подклассам должны определять их исследователи — пользователи (2-системы.

Программное обеспечение, разработанное для обзора алгоритмов в соответствии с их классификацией, позволяет создать для классификатора систему папок и подпапок, соот-

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

Пример 9. Для алгоритмов, описанных в Q-системе, был создан классификатор и осуществлена его программная поддержка. В результате обзор алгоритмов можно осуществлять с использованием следующей системы папок и подпапок.

1. Папка «1. Решение СЛАУ» содержит две подпапки:

подпапка «1.1. Прямые методы решения СЛАУ» содержит метод Гаусса— Жордана с выбором в качестве ведущего первого ненулевого элемента ведущей строки; подпапка «1.2. Итерационные методы решения СЛАУ» содержит методы Гаусса— Зейделя и Якоби.

2. Папка «2. Умножение матриц» содержит два алгоритма: не использующий и использующий схему сдваивания.

3. Папка «3. Скалярное произведение векторов» содержит два алгоритма: не использующий и использующий схему сдваивания.

4. Папка «4. Вычисление максимального элемента в массиве» содержит алгоритм поиска максимального элемента в массиве чисел.

5. Папка «5. Решение квадратных уравнений» содержит два алгоритма: без использования операции унарного минуса и с использованием операции унарного минуса.

4.2. Аппроксимация характеристик ресурса параллелизма алгоритмов и ее графическое представление

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

Мы разработали новую функциональность Q-системы для аппроксимации характеристик ресурса параллелизма алгоритмов D(N, L) и P(N, L) и графического представления аппроксимирующих функций. При описании и использовании данной функциональности параметры размерности и количества итераций обозначаются через {Xi}i=ı,...,k· Сначала перечисляются к — 1 параметров размерности в том порядке, в каком они хранятся в базе данных, переменная ад обозначает количество итераций. Если L = 0, то ад не используется.

Ранее в составе Q-системы было разработано программное обеспечение для аппроксимации характеристик ресурса параллелизма алгоритмов с помощью полиномиальных

функций, зависящих от {xi}i=i,...,k· При этом степень аппроксимирующей полиномиальной функции вводилась пользователем по запросу системы. Это программное обеспечение не обеспечивало достаточную точность аппроксимации при больших значениях параметров в случае, если характеристика ресурса параллелизма зависела от Іод2(хі), где Х{ Є {жг}г=1,...,&· Графическое представление аппроксимирующих функций реализовано не было.

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

1. Вычисление аппроксимирующих полиномиальных функций для высоты D(N, L) и ширины P(N, L) с помощью метода наименьших квадратов и минимизации невязки. В процессе вычисления подбирается степень и тип полинома. Выбор типа аппроксимирующей полиномиальной функции производится между полиномиальной функцией, зависящей ОТ {#г}г=1,...,Ь и полиномиальной функцией, зависящей ОТ {1од2(Хг)}г=1,...,к-

2. Создание графического представления аппроксимирующих функций для высоты и ширины при условии, что они зависят не более чем от двух параметров {xi}i=ı,...,k- Графическое представление содержит график аппроксимирующей функции, дополненный изображениями точек из базы данных.

3. Расчет значений аппроксимирующих функций для любых значений параметров {хг}г=1,...,к, заданных пользователем.

Для аппроксимации функций высоты и ширины алгоритма пользователь должен выбрать алгоритм из списка и кликнуть на элементе со знаком суммы В результате будет выведена страница с аппроксимацией для выбранного алгоритма, содержащая аппроксимирующие функции и их графические представления, если они были созданы. На этой же странице пользователь может задать значения параметров {xi}i=ı,...,k и получить вычисленные с помощью аппроксимирующих функций значения высоты и ширины алгоритма.

На рис. 2 и рис. 3 показано графическое представление аппроксимирующих функций высоты и ширины алгоритма β (см. пример 6) и метода Гаусса—Жордана с выбором в качестве ведущего первого ненулевого элемента ведущей строки. Оценка Зх\ высоты метода Гаусса—Жордана, где х\ — размер матрицы СЛАУ, ранее была доказана в [1] математически. Рисунки 2 и 3 получены с помощью Q-системы.

16 14 12 гс 10

ίο о

J3

“ 8

б 4 2

0 5000 10000 15000 20000 25000 30000

,..г Ή

?

г

г

1

1

1-

Рис. 2. Графическое представление аппроксимирующих функций высоты и ширины алгоритма вычисления скалярного произведения векторов

Рис. 3. Графическое представление аппроксимирующих функций высоты и ширины метода Гаусса-Жордана

Заключение

В статье описано расширение возможностей программной Q-системы для исследования ресурса параллелизма численных алгоритмов в результате решения следующих задач:

1) разработана функциональность Q-системы для использования классификации алгоритмов при их исследовании;

2) повышена точность аппроксимации функций высоты и ширины алгоритмов;

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

3) реализовано графическое представление аппроксимации функций высоты и ширины алгоритмов.

Полученные результаты дают пользователям больше возможностей для исследования ресурса параллелизма алгоритмов, а также делают интерфейс пользователя более удобным. Q-система, метод проектирования Q-эффективных программ [6] и технология Q-эффективного программирования [7] в совокупности решают проблему повышения эффективности параллельных вычислений. Планируется дальнейшее расширение возможностей Q-системы, а также ее доведение до промышленной эксплуатации. Q-система свободно доступна в сети Интернет по адресу https://qclient.herokuapp.com, что позволяет познакомиться с ее возможностями, для которых авторизация не требуется.

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

Литература

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

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

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

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

5. 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. 2019. Vol. 11657. P. 3-9. DOI: 10.1007/978-3-030-25636-4 1.

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

7. 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.

8. 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.

9. 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. 2019. Vol. 1129. P. 641-652. DOI: 10.1007/978-3-030-36592-9_52.

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

11. 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/jsfil80101.

12. 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. 2018. Vol. 910. P. 16-30. DOI: 10.1007/978-3-319-99673-8_2.

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

14. Rajashri A. Parallelization of shortest path algorithm using OpenMP and MPI // International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC). 2017. P. 304-309. DOI: 10.1109/I-SMAC.2017.8058360.

15. 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. 1997. Vol. 1196. P. 546-556. DOI: 10.1007/3-540-62598-4_136.

16. Wang Q., Liu J., Tang X. et al. Accelerating embarrassingly parallel algorithm on Intel MIC // IEEE International Conference on Progress in Informatics and Computing. 2014. P. 213-218. DOI: 10.1109/PIC.2014.6972327.

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

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

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

DOI: 10.14529/ cmse210205

ADVANCEMENT OF RESEARCH FOR THE PARALLELISM RESOURCE OF NUMERICAL ALGORITHMS WITH THE HELP OF SOFTWARE Q-SYSTEM

© 2021 V.N. Aleeva, P.S. Zotova, D.S. Skleznev

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

E-mail: aleevavn@susu.ru, zotovaps2000@gmail.com, skleznevdm@gmail.com

Received: 16.03.2021

The software Q-system is designed to study the parallelism resource of numerical algorithms. By use of Q-system, we can calculate the parallelism resource of any numerical algorithm. Also, for the set of algorithms solving a given algorithmic problem, we can find an algorithm with the best parallelism resource. The theoretical basis of the Q-system is the concept of Q-determinant where Q is the set of operations used by the algorithm. Any numerical algorithm has a Q-determinant and can be represented in the form of a Q-determinant. Such a representation is a universal description of numerical algorithms. 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 calculate one of the output data items based on the input data. Q-determinant makes the algorithm transparent in terms of structure and implementation. The Q-system can be used for the improvement of parallel computing efficiency. In this paper we describe new features of the Q-system. With the new functionality, we can use the classification of algorithms when studying them. Also with the new functionality, we can calculate the functions for approximating the height and width of the algorithms more precisely and create a graphical representation of them. As a result, we have a more convenient user interface of the Q-system and more opportunities to study the parallelism resource of algorithms.

Keywords: Q-determinant of algorithm, representation of algorithm in form of Q-determinant, Q-effective implementation of algorithm, algorithm height, algorithm width, parallelism resource of algorithm, software Q-system.

FOR CITATION

Aleeva V.N., Zotova P.S., Skleznev D.S. Advancement of Research for the Parallelism Resource of Numerical Algorithms with the Help of Software Q-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.

This paper is distributed under the terms of the Creative Commons Attribution-Non Commercial 4-0 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. Voevodin V.V., Voevodin Vl.V. Parallel Computing. St.Petersburg, BHV-Petersburg, 2002. 608 p. (in Russian)

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

4. Open Encyclopedia of Parallel Algorithmic Features. URL: https: //algowiki-pro j ect. org/ en (accessed: 06.03.2021).

5. 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. 2019. Vol. 11657. P. 3-9. DOI: 10.1007/978-3-030-25636-4_l.

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

7. 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.

8. 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.

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

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

11. 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/jsfil80101.

12. 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. 2018. Vol. 910. P. 16-30. DOI: 10.1007/978-3-319-99673-8_2.

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

14. Rajashri A. Parallelization of shortest path algorithm using OpenMP and MPI. International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC). 2017. P. 304-309. DOI: 10.1109/I-SMAC.2017.8058360.

15. 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. 1997. Vol. 1196. P. 546-556. DOI: 10.1007/3-540-62598-4 136.

16. Wang Q., Liu J., Tang X. et al. Accelerating embarrassingly parallel algorithm on Intel MIC. IEEE International Conference on Progress in Informatics and Computing. 2014. P. 213-218. DOI: 10.1109/PIC.2014.6972327.

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