APPROACH TO EFFECTIVE IMPLEMENTATION OF NUMERICAL ALGORITHMS
V.N. Aleeva
South Ural State University (National Research University), 454080, Chelyabinsk, Russia
DOI: 10.24412/2073-0667-2025-1-29-44 EDX: QALLET
The problem of effective implementation of numerical algorithms is actual. The paper proposes a solution to this problem. The solution uses the author's concept of a Q-determinant. In the paper, we describe the notions of the concept of a Q-determinant used for research. These are the following notions.
An algorithmic problem has the form y = F(N,B), where N = {m,... ,nk} is the set of parameters of the problem dimension or N is the empty set, B is the set of input data, y = {yi,... ,ym} is the set of output data. Here rij (i G {1,... ,&}) is any positive integer. If N — {n\,... ,rik}, then by N = {rei,... ,nk} we denote a set of k positive integers, where nj is some given value of the parameter Hi for each i G {1,... ,k}. We denote the set of all possible fc-tuples N by {TV}. An algorithm for solving an algorithmic problem is denoted bv A, and the set of operations used bv algorithm A is denoted bv
Q-
An expression over B and Q is a term in the standard sense of mathematical logic. A chain of length n is the result of applying some associative operation from Q to n expressions. If N = 0, then any expression w over B and Q is an unconditional Q-tcrm. If N ^ 0 and V is the set of all expressions over B and Q. then any mapping w : {iV} —> VU0 is also called an unconditional Q-tcrm. w(N) = 0 means that the value of w(N) is undefined. If N — 0 and the expression w over B and Q has a value of logical type under any interpretation of the variables B, then we call the unconditional Q-tcrm w an unconditional logical Q-tcrm. Let N ^ 0 and w be an unconditional Q-tcrm. Suppose also that the expression w(N) for each N G {N} has a value of logical type under any interpretation of the variables B. In this case, we call the unconditional Q-tcrm w an unconditional logical Q-tcrm. Suppose that tti,... ,ui are unconditional logical Q-terms, w\,... ,wi arc unconditional Q-tcrms. Then the set I of pairs (u,w) = a conditional Q-tcrm of length I. Let (u,w) = {{ui,Wi)}i=i}2,...
be a countable set of pairs of unconditional Q-terms. Suppose that is a conditional
Q-tcrm of length I for any I < oo. Then we call (u,w) a conditional infinite Q-tcrm. Q-tcrms can be calculated.
Suppose that algorithm A consists in finding for each i G {1,... ,m} the value yl by computing the value of the Q-tcrm Then the set of Q-terms {/j | i G {1,... ,m}} we call the Q-determinant of the algorithm A. Moreover, we call the system of equations {yi = fa \ i G {1,... ,m}} a representation of the algorithm A in the form of a Q-determinant.
The process of computing Q-terms {/» | i G {1,... ,m}} of algorithm A is called an implementation of algorithm A. An implementation of algorithm A is called parallel if there are operations of the algorithm that are executed simultaneously. An implementation of algorithm A is called Q-effective if Q-terms {/j | i G {1,... ,m}} are computed simultaneously, operations are executed as they are ready, and chain operations are computed using the doubling scheme. A Q-effcctive implementation
© V. X. Aleeva, 2025
uses the entire parallelism resource of the algorithm. The concepts of height and width of an algorithm characterize the parallelism resource of the algorithm. An implementation of the algorithm A is called realizable if it is such that a finite number of operations must be executed simultaneously. There are algorithms such that the Q-effeetive implementation is not realizable.
We can use the Q-determinant of a numerical algorithm for design parallel programs implementing the algorithm, including effective programs. On the base of this idea, the author has developed a method for designing effective programs. In this paper, we describe the proposed method. The method involves the following steps: construction of the Q-determinant of the algorithm, description of the Q-effeetive implementation of the algorithm, development of a program for an realizable Q-effective implementation of the algorithm. We call Q-effeetive programs developed using the effective program design method. Therefore, we can also call this method the method of designing Q-effeetive programs. Note that Q-effeetive programs use the parallelism resource of algorithms completely. In the paper, we provide an overview of the numerical algorithms for which Q-effeetive programs have been developed. We also describe the features of applying the design method of Q-effeetive programs to algorithms. Note that we are considering algorithms that solve various algorithmic problems and have a different structure of Q-determinants.
In addition, we present the following results of a study of Q-effeetive programs. 1) We introduce the concept of the computing infrastructure of the program. This is a set of conditions for the development and execution of a program. We prove that each of the Q-effeetive programs for a given numerical algorithm is the most efficient for its computing infrastructure among programs implementing the same algorithm.
2) We show that any numerical algorithm can be implemented using a potentially infinite set of Q-effeetive programs for various computing infrastructures. From this, we can conclude that of all the Q-effeetive programs for this algorithm, there is probably not the most efficient one. However, each of the Q-effeetive programs is effective for its computing infrastructure.
So, we can say that the method of designing Q-effeetive programs has theoretical and practical importance.
Key words: improving parallel computing efficiency, Q-determinant of algorithm, representation of algorithm in form of Q-determinant, Q-effeetive implementation of algorithm, parallelism resource of algorithm, Q-effeetive program.
References
1. Aleeva V., Alccv R. Investigation and Implementation of Parallelism Resources of Numerical Algorithms /7 ACM Transactions on Parallel Computing. 2023. Vol. 10. N 2, Article number 8. P. 1 64. DOI: 10.1145/3583755.
2. Aleeva V. N. Analiz parallel'nyx ehislennvx algoritmov. Preprint № 590. Novosibirsk: VC SO AN SSSR, 1985. 23 s. (in Russian)
3. Ershov YU. L., Palvutin E. A. Matematicheskaya logika. M.: Nauka, 1987. 336 s. (in Russian)
4. Aleeva V. N., Zotova P. S., Skleznev D.S. Rasshirenie vozmozhnostej issledovaniva resursa parallelizma ehislennvx algoritmov s pomoshh'vu programmnoj Q-sistemv /7 Vestnik YuUrGU. Seriva: Vyehislitelnaya matematika i informatika. 2021. T. 10, N 2. S. 66 81. DOI: 10.14529/cmse210205. (in Russian)
5. Aleeva V.N. Improving Parallel Computing Efficiency /7 Proceedings 2020 Global Smart Industry Conference, GloSIC 2020. IEEE. 2020. P. 113 120. Article number 9267828. DOI: 10.1109/GloSIC50886.2020.9267828.
6. Aleeva V. N., Alccv R. Zh. High-Performance Computing Using Application of Q-determinant of Numerical Algorithms /7 Proceedings 2018 Global Smart Industry Conference, GloSIC 2018. IEEE. 2018. 8 p. Article number 8570160. DOI: 10.1109/GloSIC.2018.8570160.
B. H. A.aeeea
31
7. Alccva V., Bogatyrcva E., Skleznev A., ct al. Software Q-svstem for the Research of the Resource of Numerical Algorithms Parallelism /7 Supercomputing. RuSCDavs 2019. Communications in Computer and Information Science. 2019. Vol. 1129. P. 641 652. DOI: 10.1007/978-3-030-36592-9_52.
8. McColl W.F. General Purpose Parallel Computing /7 Lectures on Parallel Computation, Cambridge International Series on Parallel Computation. USA: Cambridge University Press, 1993. P. 337 391.
9. Valiant L. G. A bridging model for parallel computation /7 Communications of the ACM. 1990. Vol. 33, no. 8. P. 103 111. DOI: 10.1145/79173.79181.
10. Leung .J.Y.-T., Zhao H. Scheduling problems in master-slave model /7 Annals of Operations Research. 2008. Vol. 159. P. 215 231. DOI: 10.1007/sl0479-007-0271-4.
11. Alccva V. Designing a Parallel Programs on the Base of the Conception of Q-Determinant /7 Supercomputing. RuSCDavs 2018. Communications in Computer and Information Science. 2019. Vol. 965. P. 565 577. DOI: 10.1007/978-3-030-05807-4^48.
12. Supcrkomp'uter "Tornado YuUrGU". [Electron. Res.]: http://supercomputer.susu.ru/ computers/tornado/. Accessed: 17.09.2024. (in Russian)
13. Otkrvtava enciklopediya svo.jstv algoritmov. [Electron. Res.]: https://algowiki-project. org/ru. Accessed: 17.09.2024. (in Russian).
14. Val'kevieh N. V. Q-effektivnava realizaeiya algoritma ymnozheniya matric na superkomp'vutcre "Tornado YuUrGU" /7 Vvp. kvalif. rabota bakalavra po napravlcnivu "Fundamentarnava infornatika i informacionnye tcxnologii": 02.03.02 / Yuzhnoural'skij gosudarstvennyj univcrsitet. Chelyabinsk. 2017. 33 1. [Electron. Res.]: http://omega.sp.susu.ru/publications/bachelorthesis/17-Valkevich. pdf. Accessed: 17.09.2024. (in Russian)
15. Tarasov D. E. Q-effektivnyj kodizain realizacii mctoda Gaussa Zhordana na superkomp'vutcre "Tornado YuUrGU" /7 Vvp. kvalif. rabota magistra po napravlcnivu "Fundamentarnava infornatika i informacionnye tcxnologii": 02.04.02 / Yuzhnoural'skij gosudarstvennyj univcrsitet. Chelyabinsk.
2017. 41 1. [Electron. Res.]: http://omega.sp.susu.ru/publications/masterthesis/17-Tarasov. pdf. Accessed: 17.09.2024. (in Russian)
16. Lapteva Yu.S. Q-effektivnava realizaciya mctoda Yakobi diva resheniva SLAU na supcrkomp'yuterc "Tornado YuUrGU" /7 Vvp. kvalif. rabota bakalavra po napravlcnivu "Fundamental'nava infornatika i informacionnye tcxnologii": 02.03.02 / Yuzhnoural'skij gosudarstvennyj univcrsitet. Chelyabinsk. 2017. 30 1. [Electron. Res.]: http://omega.sp.susu. ru/publications/bachelorthesis/17-Lapteva.pdf. Accessed: 20.09.2024. (in Russian)
17. Bazhenova L. A. Primcnenic mctoda procktirovaniva Q-effektivnoj programmv diva resheniva sistemv sctochnyx uravnenij /7 Vvp. kvalif. rabota bakalavra po napravlcnivu «Fundamental'nava infornatika i informacionnye tcxnologii»: 02.03.02 / Yuzhnoural'skij gosudarstvennyj univcrsitet. Chelyabinsk. 2018. 30 1. [Electron. Res.]: http://omega.sp.susu. ru/publications/bachelorthesis/18-Bazhenova.pdf. Accessed: 20.09.2024. (in Russian)
18. Kondakova A.S. Razrabotka Q-effektivnoj programmv diva resheniva pyatitochechnyx raznostnvx uravnenij i issledovanie evo dinamicheskix xaraktcristik /7 Vvp. kvalif. rabota magistra po napravlcnivu "Fundamental'nava infornatika i informacionnye tcxnologii": 02.04.02 / Yuzhnoural'skij gosudarstvennyj univcrsitet. Chelyabinsk. 2019. 40 1. [Electron. Res.]: http://omega.sp.susu.ru/ publications/masterthesis/2019_220_kondakovaas.pdf. Accessed: 20.09.2024. (in Russian)
19. Necheporcnko A.D. Razrabotka Q-effektivnoj programmv diva resheniva SLAU mctodom Gaussa Zejdelya /7 Vvp. kvalif. rabota bakalavra po napravlcnivu "Fundamental'nava infornatika i informacionnye tcxnologii": 02.03.02 / Yuzhnoural'skij gosudarstvennyj univcrsitet. Chelyabinsk.
2018. 32 1. [Electron. Res.]: http://omega.sp.susu.ru/publications/bachelorthesis/18-Necheporenko.pdf. Accessed: 20.09.2024. (in Russian)
20. Alccva V. N., Shatov M.B. Primcncnic konccpcii Q-determinanta diva cffcktivnoj realizaeii chislcnnvx algoritmov na primcrc metoda coprvazhvonnyx gradicntov diva resheniva sistemv lincjnyx uravncniv /7 Vcstnik YuUrGU. Scriva: Vychislitcrnaya matcmatika i informatika. 2021. T. 10, N 3. S. 56 71. DOI: 10.14529/emse210304. (in Russian)
21. Dijkstra E. W. A note on two problems in connexion with graphs /7 Numerische Mathematik. 1959. Vol. 1. P. 269 271. DOI: 10.1007/BF01386390.
22. Alccva V. N., Manatin P. A. Primcncnic metoda proektirovaniva Q-effektivnvx programm diva algoritma Dcjkstrv /7 Vcstnik YuUrGU. Scriva: Vychislitcrnaya matcmatika i informatika. 2023. T. 12, N 2. S. 62 77. DOI: 10.14529/cmsc230203. (in Russian)
23. SCISPACE. Answer to the question "How does parallel computing improve the efficiency of AI algorithms?". [Electron. Res.]: https://typeset.io/questions/how-does-parallel-computing-improve-the-eff iciency-of-ai-5gkdumloct. Accessed: 23.09.2024.
24. Sapozhnikov A.S. Primcncnic metoda proektirovaniva Q-effektivnyx programm k mctodu stoxasticheskogo gradicntnogo spuska diva obucheniya ncjronnvx sctej // Vvp. kvalif. rabota magistra po napravlenivu. Programmnaya inzheneriva: 09.04.04 / Yuzhnoural'skij gosudarstvennyj universitct. Chelyabinsk. 2024. 43 1. [Electron. Res.]: https://sp.susu.ru/student/masterthesis/2024_229_ sapoznikovas.pdf. Accessed: 23.09.2024. (in Russian)
25. Voevodin V. V., Voevodin VI.V. Parallcl'iivc vychisleniya. SPb.: BXV-Pcterburg, 2002. 608 s. (in Russian)
26. Alccva V. N., Avtomatizirovannoc proektirovanic i ispolnenie effcktivnvx programm diva chislcnnvx algoritmov /7 Vcstnik YuUrGU. Scriva: Vychislitcrnaya matcmatika i informatika. 2023. T. 12, N 3. S. 31 49. DOI: 10.14529/cmsc230303. (in Russian)
ПОДХОД К ЭФФЕКТИВНОЙ РЕАЛИЗАЦИИ ЧИСЛЕННЫХ
АЛГОРИТМОВ
В. Н. Алеева
Южно-Уральский государственный университет (НИУ), 454080, Челябинск, Россия
УДК 004.021, 004.032.24, 004.051, 004.272 DOI: 10.24412/2073-0667-2025-1-29-44 EDX: QALLET
В статье рассмотрен метод проектирования эффективных программ для реализации численных а.;п'оритмов, основанный на авторской концепции Q-детерминанта. Разработанные с помощью метода эффективные программы называются Q-эффективными. Они используют ресурс параллелизма а.;п'оритмов полностью. Приводится обзор численных алгоритмов, для которых разработаны Q-эффективные программы. Введено понятие вычислительной инфраструктуры программы. Доказано, что каждая из ф-эффективных программ, реализующих один и тот же численный алх'оритм, является самой эффективной для своей вычислительной инфраструктуры среди программ, реализующих тот же алх'оритм. Проведенное исследование обосновывает теоретическую и практическую значимость метода проектирования эффективных программ для реализации численных алх'оритмов.
Ключевые слова: повышение эффективности параллельных вычислений, Q-детерминант алх'оритма, представление алх'оритма в форме Q-детерминанта, Q-эффективная реализация алх'оритма, ресурс параллелизма алх'оритма, Q-эффективная программа.
Введение. Основная цель параллельных вычислений — ускорение решения вычислительных задач. Она достигается за счет распараллеливания алгоритмов, применяемых дня решения задач. Ускорение решения задачи зависит от того, насколько реализация алгоритма использует ресурс параллелизма алгоритма. Самая эффективная реализация алгоритма использует ресурс параллелизма алгоритма ио.;шостыо. При выполнении она требует больше вычислителей (процессоров, ядер) параллельной вычислительной системы (ПВС), чем любая другая реализация алгоритма, так как одновременно должно выполняться больше операций. Следовательно, постоянный рост вычислительных мощностей ПВС способствует эффективной реализации алгоритмов.
На практике, как правило, параллельные программы выполняют не самые эффективные реализации алгоритмов. Повышение эффективности параллельных вычислений дает возможность уменьшить время их выполнения и увеличить быстродействие ПВС, Таким образом, проблема повышения эффективности параллельных вычислений является актуальной, В работе |1| показано, что решение данной проблемы заключается в исследовании ресурсов параллелизма алгоритмов и реализации ресурсов параллелизма алгоритмов на ПВС, Статья посвящена результатам исследований, полученным при реализации ресурсов параллелизма алгоритмов на ПВС на основе авторского подхода к распараллеливанию численных алгоритмов — концепции Q-детерминанта.
© В. Н. Алеева, 2025
Цель исследования, изложенного в статье, состоит в обосновании теоретической и практической значимости метода проектирования эффективных программ дня реализации численных алгоритмов, основанного на концепции ф-детерминанта. Она предполагает решение следующих задач,
1) Применение метода проектирования эффективных программ дня коллекции алгоритмов, реализующих различные алгоритмические проблемы.
2) Исследование свойств разработанных эффективных программ и описание его результатов.
Статья организована следующим образом. Раздан 1 содержит некоторые основные понятия концепции (^-детерминанта, используемые в статье. В раздело 2 изложен метод проектирования эффективных программ. В раздано 3 показано применение метода проектирования эффективных программ дня конкретных алгоритмов, реализующих различные алгоритмические проблемы. В раздано 4 описаны результаты исследования свойств программ, разработанных с помощью метода проектирования эффективных программ. В заключении подводятся итоги работы и формулируется направление развития исследований на основе концепции ф-детерминанта.
1. Концепция 0-детерминанта. Концепция ф-детерминанта является теоретической основой данного исследования. Впервые она изложена в работе автора |2|, затем в последующих работах, при этом наиболее полно в |1|, Опишем понятия концепции детерминанта, используемые при исследовании.
Обозначения. Алгоритмическую пробному будем представлять в виде у = Р(М,В), где N = {пх,... — множество параметров размерности проблемы или N — пустое множество, В — множество входных данных, у = ... ,ут} — множество выходных данных, при этом целое число т является либо константой, либо значением вычислимой функции параметров N при условии, что N ф 0. Здесь щ (г £ {1,...,А;}) равно любому положительному целому числу. Если N — {пх,... ,Пк}-, то через N — {пх,... ,йк} обозначим набор из к положительных целых чисел, где пг — некоторое заданное значение параметра щ дня каждого г Е {1,... ,к}. Через {./V} обозначим множество всех возможных /с-паборов N. Пусть Л — алгоритм дня решения алгоритмической проблемы, <3 — множество операций, используемых алгоритмом Л.
Определение 1. Выражение над В и <5 определим, как терм, в стандартном смысле математической логики /3/.
Определение 2. Цепочкой длины п будем, называть выражение, представляющее собой результат применения, некоторой ассоциативной операции из <5 к п выражениям.
Определение 3. Если N = 0, то любое выражение ги над В и С} мы называем, безусловным Ц-термом,. Пусть N ф 0 и,У — ,множество всех выражений над В и ф. Тогда, любое отобралсение и> : {А^} —>■ V и 0 мы та,клее называем, безусловным, (^-термом. и)(Й) = 0 означает, что значение 'ш(Я') не определено.
Определение 4. Пусть N = 0 ит — безусловный (¿-терм. Кроме того, пусть выражение ии над В и <5 имеет значение логического типа, при любой интерпретации переменных В. Тогда, безусловный С^-терм т мы называем, безусловным, логическим, (^-термом. Пусть N ф 0 и т — безусловный С^-терм. Предположим, также, что выражение и](1Ч)
для, каждого N £ {N} имеет значение логического типа при любой интерпретации переменных В. В этом случае безусловный Q-терм w мы называем безусловным логическим Q-термом.
Определение 5. Предположим,, что щ,... — безусловные логические Q-термы, W\,... ,wi — безусловные Q-термы. Тогда, множество I пар (u,w) — {(гц,!^)}^^...^} мы называем, условным, Q-термом длины, I.
Определение 6. Пусть (u,w) — {(щ^)}^^,... — счетное ,множество пар безусловных Q-термов. Предположим, что {(щ,ги¿)}г6{1,...,г} является условным, Q-термом длины, I для, любого I < ос. Тогда, мы называем, (u,w) условным, бесконечным, Q-термом.
ф-термы можно вычислять. Опишем, как найти значение безусловного Q-терма w при интерпретации переменных В. Если N = 0, то нахождение значения выражения w является нахождением значения безусловного Q-терма w при любой интерпретации переменных В. Если N ф 0 и w(N) ф 0, то w(N) является выражением над В и Q. Можно найти значение выражения w(N) при любой интерпретации переменных В, которое является значением безусловного Q-терма w. Конечно, мы опускаем значение w(N) — 0, так как в этом случае значение безусловного Q-терма w не определено.
Теперь опишем, как найти значение условного Q-терма (и,id) при интерпретации переменных В. Пусть N = 0. Находим значения выражений щ,и>г дня г G {1,...,/}, При этом мы можем найти пару Ui0,Wi0 такую, что щ0 имеет значение true, тогда считаем, что (u,w) имеет значение W{0. В противном случае считаем, что значение (u,w) при интерпретации переменных В не определено. Пусть N ф 0 и N G {N}. Находим выражения Ui(N),Wi(N) дня г е {1,...,/}. При этом мы можем найти пару Ui0(N),Wi0(N) такую, что Ui0(N) имеет значение true, тогда считаем, что (u,w) имеет значение Wi0(N). В противном сну чае считаем, что значение (u,w) дня N и при такой интерпретации переменных В не определено. Аналогично можно определить значение условного бесконечного Q-терма,
Определение 7. Пусть М = {1,...,ш}. Предположим,, что алгоритм, А состоит в нахождении для, каждого г G М значат,я, yi путем вычисления, значения, Q-терма, fc. Тогда, ,множество Q-термов {fi \ г £ М} мы, называем, Q-детерминантом алгоритма, А, а, систему уравнений {yi = fi \ г Е М} представлением, алгоритма А в форме Q-детермт i,a,i ima.
Определение 8. Процесс вычисления, Q-термов {fi \ г Е М} алгоритма, А называется, реализацией алгоритма, А. Реализация, алгоритма, А называется, параллельной, если существуют операции, которые выполняются одновременно.
Определение 9. Реализация, алгоритма, А называется, Q-эффективной, если Q-термы {fi | г е М} вычисляются, одновременно, операции при их вычислении выполняются по мере готовности, при этом, если несколько операций цепочки готовы, к выполнению, то они выполняются по схеме сдваивания.
Замечание 1. Определение (^-эффективной реализации показывает, что она полностью использует ресурс параллелизма алгоритма.
Ресурс параллелизма алгоритма характеризуют его высота и ширина. Эти понятия рассматриваются в работах |4-7|. В |4, 7| описана программная Q-система, разработанная для автоматизированного исследования ресурса параллелизма алгоритмов, а также сравнения ресурсов параллелизма алгоритмов, решающих одну и ту же алгоритмическую проблему.
Определение 10. Реализация, алгоритма Л называется выполнимой, если одновременно должно выполняться конечное (непустое) лтожество операций.
Замечание 2. Существуют алгоритмы, ^-эффективная реализация которых невыполнима. Пример такого алгоритма приведен в работе |4|,
2. Метод проектирования эффективных программ. Хорошо известно, что блок-схему алгоритма можно применять дня разработки последовательной программы, реализующей алгоритм. В основе метода проектирования эффективных программ .нежит аналогичная идея, заключающаяся в том, что Q-детермипапт численного алгоритма можно использовать дня разработки параллельных программ, реализующих алгоритм, в том число эффективных.
Определение 11. Модель концепции Q-детерминанта, описанную в разделе 1, будем, называть базовой ,моделью концепции Q-детерминанта.
С помощью базовой модели концепции Q-детерминанта можно изучать машинно-независимые свойства алгоритмов, по исследовать особенности реализации алгоритмов па реальных ПВС нельзя, так как она не содержит информации о ПВС. Поэтому расширим базовую модель и назовем расширенной моделью концепции Q-детерминанта.
Определение 12. Расширенная, модель концепции Q-детерминанта — это результат добавления, к базовой модели концепции Q-детерминанта, моделей параллельных вычислений PRAM ¡8/ для, общей памяти и BSP /9/ для, распределенной памяти.
Выбор этих моделей объясняется тем, что деление ПВС па системы с общей памятью и с распределенной памятью общепринято, кроме того, автор имеет возможность проводить исследования с использованием ПВС как с общей, так и с распределенной памятью.
Мы используем расширенную модель концепции (^-детерминанта, чтобы предложить метод проектирования эффективных программ. Метод состоит из трех этапов: 1) построение (^-детерминанта алгоритма; 2) описание (^-эффективной реализации алгоритма; 3) разработка программы дня выполнимой (^-эффективной реализации алгоритма.
На нервом и втором этапах метода используется базовая модель концепции Q-детермипапта, а па третьем этапе расширенная модель.
Определение 13. Программу будем, называть Q-эффективной, если она разработана, с помощью данного метода.
Дадим еще одно определение Q-эффективной программы.
Определение 14. Программу будем, называть Q-эффективной, если она выполняет Q-эффективч 1,ую реализацию алгоритма.
Определения 13 и 14 определяют одно и то же множество программ. Следовательно, понятие (^-эффективной программы можно определять как с помощью определения 13, так и с помощью определения 14,
Определение 15. Процесс проектирования Q-эффективной программы будем позывать Q-эффективным, программировав тем.
(^-эффективная программа полностью использует ресурс параллелизма алгоритма, так как выполняет его ^-эффективную реализацию. Следовательно, (^-эффективная программа имеет самый высокий параллелизм среди программ, реализующих алгоритм. Метод проектирования эффективных программ мы также называем методом проектирования ^-эффективных программ или методом проектирования программ дня ^-эффективных реализаций алгоритмов.
Описания ^-эффективной реализации алгоритма, полученного на втором этане метода, достаточно дня разработки (^-эффективной программы дня общей памяти. При разработке (^-эффективной программы дня распределенной памяти необходимо учитывать, что данные должны обладать свойством локальности, в противном случае могут возникать многочисленные промахи кэша при их считывании из памяти, что снижает быстродействие. Обеспечить локальность данных позволяет распределение вычислений между вычислительными узлами ПВС, использующее описание (^-эффективной реализации алгоритма, Для распределения вычислений между вычислительными узлами мы применяем принцип MASTER-SLAVE |10|, Для исследований используется один вычислительный узел MASTER и несколько вычислительных узлов SLAVE.
Более подробно метод проектирования ^-эффективных программ изложен в работах |1, 11|.
3. Применение метода проектирования эффективных программ. Метод проектирования ^-эффективных программ предложен автором статьи в 2017 году. В настоящее время метод апробирован на множестве алгоритмов, мы называем его коллекцией алгоритмов. Их обзор и результаты апробации рассматриваются в данном раздело.
Метод проектирования (^-эффективных программ был применен в ряде выпускных квалификационных работ (ВКР) студентов кафедры системного программирования Южно-Уральского государственного университета, у которых автор статьи являлась научным руководителем. В этих работах описана разработка (^-эффективных программ дня алгоритмов, имеющих различные структуры Q-детерминантов, а также приведены результаты экспериментального исследования динамических характеристик разработанных программ.
Исследования проводились на суперкомпьютере «Торнадо» Южно-Уральского государственного университета |12|, При разработке программ применялся язык программирования С++. Для общей памяти использовался один вычислительный узел, который содержит два центральных процессора Intel Xeon Х5680 с частотой 3.33 GHz, каждый из которых имеет 6 ядер и поддерживает 12 потоков, оперативная намять узла 24 Гб ЕСС DDR3 Full buffered. Для разработки программ применялась технология ОрепМР. Дня распределенной памяти использовалось несколько вычислительных узлов. Для разработки программ применялись технологии ОрепМР и MPI.
Разработанные (^-эффективные программы полностью используют ресурс параллелизма алгоритмов. Однако ресурсов вычислительной системы было недостаточно дня исноль-
зовапия всего параллелизма при вычислительных экспериментах, В этих условиях были оценены динамические характеристики программ |13|, Ускорение программы вычислялось по формуле
DP — гр 5 Р
здесь Т\ — время выполнения программы па одном вычислительном ядре, Тр — время выполнения программы па р вычислительных ядрах. Затем дня вычисления эффективности программы использовалась формула
тр _ Sp
Яр — —> р
где Sp — ускорение программы, р — количество используемых вычислительных ядер.
Далее дадим обзор алгоритмов, к которым применялся метод проектирования Q-эффективпых программ.
Первыми были исследованы алгоритмы умножения плотных и разреженных матриц |14|, Дня хранения в памяти разреженных матриц использовался формат CSR, Q-детермипапт алгоритма умножения плотных матриц состоит из безусловных ф-термов. Алгоритм умножения разреженных матриц имеет (^-детерминант, состоящий из условных ф-термов, которые учитывают доступ к входным данным в памяти,
В ВКР |15| рассматривается алгоритм дня реализации метода Гаусса-Жордаиа решения систем линейных уравнений. Алгоритм состоит в выборе в качестве ведущего элемента па шаге i первого ненулевого элемента строки i. В связи с этим исследованием хотелось бы отметить очень интересный факт, Q-детерминант алгоритма, реализующего метод Гаусса-Жордапа, состоит из условных Q-термов длины п\, где п — размер матрицы системы. Поэтому важно было попять, возможно ли при такой большой вычислительной сложности разработать ^-эффективную программу и провести вычислительные эксперименты, В |15| показано, что это возможно. Особенности (^-эффективной реализации, благодаря которым практическая реализация оказалась возможной, описаны в работе |1|,
Первым алгоритмом с (^-детерминантом, состоящим из условных бесконечных Q-термов, к которому был применен метод проектирования (^-эффективных программ, стан алгоритм, реализующий метод Якоби решения систем линейных уравнений. Результаты исследования этого алгоритма представлены в ВКР |16|,
Также было решено апробировать метод проектирования Q-эффективпых программ па алгоритмах с малым и большим ресурсом параллелизма. Поэтому в ВКР |17| был рассмотрен метод прогонки решения систем линейных трехточечпых уравнений, обладающий небольшим ресурсом параллелизма, ^-детерминант реализующего его алгоритма состоит из безусловных Q-термов, Исследование показано, что в данном случае не следует использовать распределенную память, поскольку это может привести к снижению производительности. Кроме того, в |17| рассмотрен метод Фурье решения систем разностных уравнений, обладающий большим ресурсом параллелизма. Q-детерминант алгоритма, реализующего этот метод, состоит из безусловных ф-термов. On может быть эффективно реализован па распределенной памяти с применением принципа MASTER-SLAVE,
Исследование практического применения проектирования Q-эффективных программ показывает, что принцип MASTER-SLAVE непригоден дня некоторых алгоритмов, так как приводит к увеличению потерь времени на обмен между вычислительными узлами. Алгоритм, реализующий метод Якоби решения систем пятиточечных разностных уравнений
|18|, является примером такого алгоритма. Его Q-детерминант состоит из условных бесконечных ф-термов,
Алгоритм, реализующий метод Гаусеа-Зейделя решения систем линейных уравнений, следующий, к которому применен был метод проектирования ^-эффективных программ |19|, Его Q-детерминант состоит из условных бесконечных Q-термов и является сложным, как и алгоритм, реализующий метод Гаусса-Жордана, Хотя (^-детерминанты этих алгоритмов сложные, но они хорошо структурированы. Многие другие известные алгоритмы обладают аналогичными свойствами. Хорошо структурированные Q-детерминанты облегчают создание (^-эффективных программ.
Затем метод проектирования (^-эффективных программ был применен к алгоритму, реализующему метод сопряженных градиентов решения систем линейных уравнений |20|, Его Q-детерминант состоит из условных бесконечных Q-термов. Результаты проведенных экспериментальных исследований с использованием различных реализаций алгоритма подтвердили теоретические выводы (см, раздел 4),
Алгоритм Дейкстры дня вычисления кратчайших расстояний от выделенной вершины графа до всех остальных |21| является одним из самых используемых на практике алгоритмов на графах. Это первый алгоритм на графах, который был исследован с помощью метода проектирования (^-эффективных программ, Q-детерминант алгоритма Дейкстры состоит из условных Q-термов, Проведенное исследование описано в работе |22|, Оно дает возможность сделать вывод, что концепция Q-детерминанта может применяться дня разработки эффективных программ, реализующих алгоритмы на графах.
Повышение эффективности алгоритмов, применяемых дня решения задач искусственного интеллекта, является важной задачей. На оннайн-сервисе SCISPACE работа |5| автора статьи рекомендована в число лучших пяти работ дня ответа на вопрос: «How does parallel computing improve the efficiency of AI algorithms?» |23|, Метод проектирования Q-эффективных программ был апробирован на алгоритмах, реализующих метод стохастического градиентного спуска и метод обратного распространения ошибки, применяемых дня обучения нейронных сетей, также проведена оценка динамических характеристик разработанных ф-эффективиых программ, Q-детерминанты исследованных алгоритмов состоят из безусловных Q-термов. Эти исследования описаны в ВКР |24|.
Представления в форме Q-детерминантов, а также результаты экспериментального исследования алгоритмов, приведенных в обзоре, можно посмотреть в работах, па которые даны ссылки.
Приведенный обзор показывает, что метод проектирования (^-эффективных программ может успешно применяться па практике.
Коллекция алгоритмов, к которым применен метод проектирования (^-эффективных программ, постоянно пополняется.
4. Результаты исследования Q-эффективных программ. Так как Q-эффективпая программа выполняет (^-эффективную реализацию алгоритма, то она полностью использует ресурс параллелизма алгоритма. Поэтому динамические характеристики (^-эффективной программы зависят от ресурса параллелизма алгоритма. Определить ресурс параллелизма алгоритма можно с помощью его Q-детерминанта и программной Q-системы.
Другим подходом к вычислению границ дня параллельных алгоритмов, близким к нашему подходу, является классический закон Амдала |25|, По сути, закон Амдала связан с исследованием ресурса параллелизма алгоритма, а точнее его высоты. Если Q-
эффективная реализация алгоритма имеет операции, которые необходимо выполнять последовательно, то высота алгоритма не меньше максимального уровня вложенности этих операций, В этом случае (^-эффективная программа содержит последовательные инструкции дня выполнения операций, которые должны выполняться последовательно. Время выполнения Q-эффективной программы не может быть меньше, чем требуется дня выполнения последовательных инструкций. Другими словами, ускорение Q-эффективной программы ограничено временем, необходимым дня выполнения последовательных инструкций, Таким образом, предлагаемое нами исследование сравнимо с теоретическими границами, установленными классическим законом Амдала,
Условия разработки и выполнения параллельных программ могут быть разными. Например, при разработке можно использовать различные языки программирования, технологии параллельного программирования, архитектуры вычислительных систем и т. д. Кроме того, выполнение параллельных программ зависит от компиляторов языков программирования, от ПВС, ее вычислительных ресурсов, выделенных дня параллельной программы, и т. д.
Определение 16. Совокупность условий разработки и выполнения программы, будем 1 называть вычислительной ш фграструктурой программы,.
Пример. Приведем вычислительную инфраструктуру (^-эффективных программ, описанных в раздело 3. Условиями разработки программ являются язык программирования С++, технологии параллельного программирования ОрепМР и MPI, архитектуры вычислительных систем с общей и распределенной памятью, принцип MASTER-SLAVE. Условиями выполнения программ являются компилятор языка С++, суперкомпьютер «Торнадо» Южно-Уральского государственного университета, при этом дня выполнения нараллелыюй программы дня общей памяти используется один вычислительный узел, а дня выполнения нараллелыюй программы дня распределенной памяти задействовано несколько вычислительных узлов.
Динамические характеристики (^-эффективной программы зависят не только от ресурса параллелизма алгоритма, но и от вычислительной инфраструктуры программы, в том число от следующих факторов.
1) Как известно, время выполнения параллельных программ увеличивается за счет передачи данных между вычислительными узлами ПВС.
2) Синхронизация вычислений также увеличивает время выполнения параллельных программ.
3) Если дня выполнения (^-эффективной реализации алгоритма вычислительных ресурсов ПВС по достаточно, то динамические характеристики Q-эффективпой программы, реализующей алгоритм, будут хуже, чем, если вычислительных ресурсов достаточно. Например, Q-эффективные программы, описанные в раздело 3, полностью используют ресурс параллелизма алгоритмов. Однако выделенных вычислительных ресурсов ПВС было не достаточно дня выполнения (^-эффективных реализаций алгоритмов, поэтому достигнутые при вычислительных экспериментах динамические характеристики ^-эффективных программ хуже, чем могли бы быть при достаточных вычислительных ресурсах,
4) Обеспечение локальности данных при параллельных вычислениях важно, так как это приводит к увеличению производительности программ.
Теорема. Предположим, что дня численного алгоритма имеются (^-эффективная и не (^-эффективная программы с одной и той же вычислительной инфраструктурой. Тогда динамические характеристики (^-эффективной программы не хуже динамических характеристик не (^-эффективной программы.
Доказательство. Для доказательства применим закон Амдала, Не (^-эффективная программа выполняет последовательно некоторые из тех операций, которые ф-эффективпая программа выполняет параллельно. Поэтому не (^-эффективная программа содержит дополнительные последовательные инструкции по сравнению с (^-эффективной программой. Следовательно, время выполнения не (^-эффективной программы не меньше времени выполнения (^-эффективной программы. Тогда ускорение не (^-эффективной программы не превышает ускорение (^-эффективной программы. Таким образом, динамические характеристики (^-эффективной программы не хуже динамических характеристик не (^-эффективной программы.
Из теоремы получаем важное следствие.
Следствие. Каждая из (^-эффективных программ, реализующих один и тот же численный алгоритм, является самой эффективной дня своей вычислительной инфраструктуры среди программ, реализующих тот же алгоритм.
Таким образом, метод проектирования (^-эффективных программ гарантирует, что разработанная с его помощью программа является самой эффективной дня реализуемого программой алгоритма и вычислительной инфраструктуры программы.
Дальнейшим развитием расширенной модели концепции ф-детерминанта может быть добавление моделей параллельных вычислений дня вычислительных систем с другими архитектурными особенностями. В настоящее время разработаны десятки моделей параллельных вычислений и создаются новые. Также дня разработки (^-эффективных программ возможно использование различных языков программирования и технологий параллельного программирования. В результате дня любого численного алгоритма можно разработать потенциально бесконечное множество (^-эффективных программ, которым соответствует потенциально бесконечное множество вычислительных инфраструктур. По-видимому, из всех (^-эффективных программ дня данного алгоритма пет самой эффективной, так как их множество потенциально бесконечно. Однако каждая из этих программ эффективна дня своей вычислительной инфраструктуры.
Следовательно, метод проектирования (^-эффективных программ имеет теоретическую и практическую значимость.
Заключение. Метод проектирования (^-эффективных программ могут применять разработчики программного обеспечения дня проектирования эффективных программ, предназначенных дня любых ПВС — от персональных компьютеров с мпогоядерпыми процессорами до суперкомпьютеров. Делать это несложно, учитывая, что коллекция алгоритмов, к которым применен метод проектирования (^-эффективных программ, создана студентами. Применение метода приведет к уменьшению времени выполнения программного обеспечения и повышению быстродействия вычислительных систем.
В случае, если значения динамических характеристик (^-эффективной программы не устраивают, их можно улучшить, изменив вычислительную инфраструктуру программы или заменив алгоритм алгоритмом с меньшей высотой, возможны и оба изменения одновременно.
Одним из направлений развития исследований на основе концепции Ц-детерминанта в настоящее время является автоматизированное проектирование и исполнение С}-
эффективных программ. Первые системы автоматизированного проектирования, использующие разные подходы к реализации, уже разработаны. Одна из них описана в работе |26|,
Список литературы
1. Alccva V., Alccv R. Investigation and Implementation of Parallelism Resources of Numerical Algorithms /7 ACM Transactions on Parallel Computing. 2023. Vol. 10. N 2, Article number 8. P. 1 64. DOI: 10.1145/3583755.
2. Алеева B.H. Анализ параллельных численных алгоритмов. Препринт № 590. Новосибирск: ВЦ СО АН СССР, 1985. 23 с.
3. Ершов Ю.Л., Палютин Е. А. Математическая логика. М.: Наука, 1987. 336 с.
4. Алеева В.Н., Зотова П. С., Склезнев Д.С. Расширение возможностей исследования ресурса параллелизма численных алгоритмов с помощью программной Q-системы /7 Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2021. Т. 10, № 2. С. 66 81. DOI: 10.14529/ cmse210205.
5. Alccva V.N. Improving Parallel Computing Efficiency /7 Proceedings 2020 Global Smart Industry Conference, GloSIC 2020. IEEE. 2020. P. 113 120. Article number 9267828. DOI: 10.1109/GloSIC50886.2020.9267828.
6. Alccva V. N., Alccv R. Zh. High-Performance Computing Using Application of Q-dctcrminant of Numerical Algorithms /7 Proceedings 2018 Global Smart Industry Conference, GloSIC 2018. IEEE. 2018. 8 p. Article number 8570160. DOI: 10.1109/GloSIC.2018.8570160.
7. Alccva V., Bogatvrcva E., Skleznev A., et al. Software Q-svstem for the Research of the Resource of Numerical Algorithms Parallelism /7 Supercomputing. RuSCDavs 2019. Communications in Computer and Information Science. 2019. Vol. 1129. P. 641 652. DOI: 10.1007/978-3-030-36592-9_52.
8. MeColl W.F. General Purpose Parallel Computing /7 Lectures on Parallel Computation, Cambridge International Series on Parallel Computation. USA: Cambridge University Press, 1993. P. 337 391.
9. Valiant L. G. A bridging model for parallel computation /7 Communications of the ACM. 1990. Vol. 33, no. 8. P. 103 111. DOI: 10.1145/79173.79181.
10. Leung .J.Y.-T., Zhao H. Scheduling problems in master-slave model /7 Annals of Operations Research. 2008. Vol. 159. P. 215 231. DOI: 10.1007/sl0479-007-0271-4.
11. Alccva V. Designing a Parallel Programs on the Base of the Conception of Q-Determinant /7 Supercomputing. RuSCDavs 2018. Communications in Computer and Information Science. 2019. Vol. 965. P. 565 577. DOI: 10.1007/978-3-030-05807-4^48.
12. Суперкомпьютер «Торнадо ЮУрГУ». [Электрон. Pec.]: http://supercomputer.susu.ru/ computers/tornado/. Дата обращения: 17.09.2024.
13. Открытая энциклопедия свойств алгоритмов. [Электрон. Pec.]: https://algowiki-project.org/ru. Дата обращения: 17.09.2024.
14. Валькевич Н.В. Q-эффективная реализация алгоритма умножения матриц на суперкомпьютере «Торнадо ЮУрГУ»// Вып. квалиф. работа бакалавра по направлению «Фундаментальная информатика и информационные технологии»: 02.03.02 / Южно-Уральский государственный университет. Челябинск. 2017. 33 л. [Электрон. Рее.]: http://omega.sp.susu.ru/publications/ bachelorthesis/17-Valkevich.pdf. Дата обращения: 17.09.2024.
15. Тарасов Д. Е. Q-эффективный кодизайн реализации метода Гаусса Жордана на суперкомпьютере «Торнадо ЮУрГУ» /7 Вып. квалиф. работа магистра по направлению «Фундаментальная информатика и информационные технологии»: 02.04.02 / Южно-Уральский государственный
университет. Челябинск. 2017. 41 л. [Электрон. Рее.]: http://omega.sp.susu.ru/publications/ masterthesis/17-Tarasov.pdf. Дата обращения: 17.09.2024.
16. Лаптева Ю. С. Q-эффективная реализация метода Якоби для решения СЛАУ на суперкомпьютере «Торнадо ЮУрГУ» /7 Вып. квалиф. работа бакалавра но направлению «Фундаментальная информатика и информационные технологии»: 02.03.02 / Южно-Уральский государственный университет. Челябинск. 2017. 30 л. [Электрон. Рее.]: http://omega.sp.susu.ru/publications/ bachelorthesis/17-Lapteva.pdf. Дата обращения: 20.09.2024.
17. Баженова Л. А. Применение метода проектирования Q-эффективной программы для решения системы сеточных уравнений /7 Вып. квалиф. работа бакалавра по направлению «Фундаментальная информатика и информационные технологии»: 02.03.02 / Южно-Уральский государственный университет. Челябинск. 2018. 30 л. [Электрон. Рее.]: http://omega.sp.susu.ru/ publications/bachelorthesis/18-Bazhenova.pdf. Дата обращения: 20.09.2024.
18. Кондакова А. С. Разработка Q-эффективной программы для решения пятиточечных разностных уравнений методом простой итерации и исследование ее динамических характеристик /7 Вып. квалиф. работа магистра по направлению «Фундаментальная информатика и информационные технологии»: 02.04.02 / Южно-Уральский государственный университет. Челябинск. 2019. 40 л. [Электрон. Рее.]: http://omega.sp.susu.ru/publications/masterthesis/2019_220_ kondakovaas.pdf. Дата обращения: 20.09.2024.
19. Нечепоренко А. Д. Разработка Q-эффективной программы для решения СЛАУ методом Гаусса Зейделя /7 Вып. квалиф. работа бакалавра по направлению «Фундаментальная информатика и информационные технологии»: 02.03.02 / Южно-Уральский государственный университет. Челябинск. 2018. 32 л. [Электрон. Рее.]: http://omega.sp.susu.ru/publications/ bachelorthesis/18-Necheporenko.pdf. Дата обращения: 20.09.2024.
20. Алеева В. Н., Шатов М. Б. Применение концепции Q-детерминанта для эффективной реализации численных алх'оритмов на примере метода сопряженных градиентов для решения систем линейных уравнений /7 Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2021. Т. 10, № 3. С. 56 71. DOI: Iü.l4529/emse21ü3ü4.
21. Dijkstra E.W. А not с on two problcms in connexion with graphs /7 Numerische Mathematik. 1959. Vol. 1. P. 269 271. DOI: 10.1ÜÜ7/BF0138639Ü.
22. Алеева B.H., Манатин П. А. Применение метода проектирования Q-эффективных программ для алх'оритма Дейкетры. /7 Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2023. Т. 12, № 2. С. 62 77. DOI: Iü.l4529/emse23ü2ü3.
23. SCISPACE. Ответ на вопрос «How does parallel Computing improve the efficiency of AI algoritlmis?». [Электрон. Рее.]: https ://typeset. io/questions/how-does-parallel-computing-improve-the-eff iciency-of-ai-5gkdumloct. Дата обращения: 23.09.2024.
24. Сапожников А. С. Применение метода проектирования Q-эффективных программ к методу стохастического градиентнемч) спуска для обучения нейронных сетей /7 Вып. квалиф. работа магистра по направлению «Программная инженерия»: 09.04.04 / Южно-Уральский государственный университет. Челябинск. 2024. 43 л.[Электрон. Рее.]: https://sp.susu.ru/student/ masterthesisZ2024_229_sapoznikovas.pdf. Дата обращения: 23.09.2024.
25. Воеводин В. В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Пстсрбург, 2002. 608 с.
26. Алеева В.Н. Автоматизированное проектирование и исполнение эффективных программ для численных алх'оритмов /7 Вестник ЮУрГУ. Серия: Вычислительная математика и информатика. 2023. Т. 12, № 3. С. 31 49. DOI: Iü.l4529/emse23ü3ü3.
Алеева Валентина Николаевна. E-mail: aleevavn® susu.ru; тел.: +7-351-267-9089.
В 1972 году окончила Новосибирский государственный университет с присвоением квалификации «Математика, прикладная математика». В 1986 году решением Совета при Вычислительном центре СО АН СССР ей присуждена ученая степень кандидата физико-математических наук. В настоящее время она является доцентом кафедры системного программирования Южно-Уральского государственного университета (Национальный исследовательский университет).
Имеет 2 изобретения но архитектуре параллельных вычислительных систем и более 40 публикаций но распараллеливанию численных алгоритмов. Научные интересы: архитектура вычислительных систем, ресурсы параллелизма алгоритмов, проектирование эффектив-
ных программ, эффективность параллельных вычислений, в том числе в автоматизированном режиме.
Valentina Nikolaevna Aleeva. E-mail: [email protected]; tel.: +7-351-267-90-89.
Graduated from Novosibirsk State University with the Master of Mathematics and Applied Mathematics degree in 1972 and defended his candidate dissertation in physical and mathematical sciences in Computing Centre of SB RAS in 1986. Currently, she is an Associate Professor of the Department of System Programming at South Ural State University (National Research University).
She has 2 inventions on the architecture of parallel computing systems and more than 40 publications on parallelization of numerical algorithms. The scientific interests include the architecture of computing systems, parallelism resources of algorithms, the design of effective programs, the efficiency of parallel computing, particularly in automated mode.
Дата поступления, 15.10.2024