Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА

В работе предложены принципы и схемы параллельных вычислений в обобщённом релаксационном итерационном алгоритме МГУА. Разработанные схемы позволяют увеличить скорость работы алгоритма пропорционально количеству вычислителей, достигая при этом максимальной загрузке вычислителей. У роботі запропонован...

Full description

Saved in:
Bibliographic Details
Published in:Індуктивне моделювання складних систем
Date:2013
Main Author: Павлов, А.В.
Format: Article
Language:Russian
Published: Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України 2013
Subjects:
Online Access:https://nasplib.isofts.kiev.ua/handle/123456789/83674
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Cite this:Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА / А.В. Павлов // Індуктивне моделювання складних систем: Зб. наук. пр. — К.: МННЦ ІТС НАН та МОН України, 2013. — Вип. 5. — С. 220-225. — Бібліогр.: 8 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1859886435770826752
author Павлов, А.В.
author_facet Павлов, А.В.
citation_txt Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА / А.В. Павлов // Індуктивне моделювання складних систем: Зб. наук. пр. — К.: МННЦ ІТС НАН та МОН України, 2013. — Вип. 5. — С. 220-225. — Бібліогр.: 8 назв. — рос.
collection DSpace DC
container_title Індуктивне моделювання складних систем
description В работе предложены принципы и схемы параллельных вычислений в обобщённом релаксационном итерационном алгоритме МГУА. Разработанные схемы позволяют увеличить скорость работы алгоритма пропорционально количеству вычислителей, достигая при этом максимальной загрузке вычислителей. У роботі запропоновані принципи і схеми паралельних обчислень в узагальненому ре-лаксаційному ітераційному алгоритмі МГУА. Розроблені схеми дозволяють збільшити шви-дкість роботи алгоритму пропорційно кількості обчислючачів, досягаючи при цьому макси-мальної їх завантаженості. The paper suggests schemes and formulates principles of parallel computations for general-ized relaxational iterative algorithm. The schemes developed allow to speedup the algorithm proportianaly to number of CPU cores with maximal load each of them.
first_indexed 2025-12-07T15:53:22Z
format Article
fulltext Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА УДК 681.513.8 ПРИНЦИПЫ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ В РЕЛАКСАЦИОННОМ ИТЕРАЦИОННОМ АЛГОРИТМЕ МГУА А.В. Павлов Международный научно-учебный центр ЮНЕСКО информационных технологий и систем НАНУ и МОНУ, 03680, Киев, пр. Глушкова 40 andriypavlove@gmail.com У роботі запропоновані принципи і схеми паралельних обчислень в узагальненому ре- лаксаційному ітераційному алгоритмі МГУА. Розроблені схеми дозволяють збільшити шви- дкість роботи алгоритму пропорційно кількості обчислючачів, досягаючи при цьому макси- мальної їх завантаженості. Ключові слова: узагальнений релаксаційний ітераційний алгоритм, паралельні обчис- лення, принципи, схеми, метод групового урахування аргументів. The paper suggests schemes and formulates principles of parallel computations for general- ized relaxational iterative algorithm. The schemes developed allow to speedup the algorithm proportianaly to number of CPU cores with maximal load each of them. Key words: generalized relaxational iterative algorithm, parallel computations, principles, schemes, group method of data handling. В работе предложены принципы и схемы паралелльных вычислений в обобщённом ре- лаксационном итерационном алгоритме МГУА. Разработанные схемы позволяют увеличить скорость работы алгоритма пропорционально количеству вычислителей, достигая при этом максимальной загрузке вычислителей. Ключевые слова: обобщённый релаксационный итерационный алгоритм МГУА, парал- лельные вычисления, принципы, схемы, метод группового учёта аугментов. Вступление Безостановочный технический прогресс в области вычислительных ре- сурсов побуждает инженеров, научных исследователей и программистов ста- вить перед собой новые научно-технические задачи, в первую очередь, деком- позицию и распределение вычислительно-трудоёмких задач на задачи меньшей сложности, которые могут быть решены параллельно на нескольких вычисли- телях за приемлемое время. Сложность вычислений в алгоритмах метода группового учёта аргумен- тов (МГУА) характеризуются двумя параметрами: n – количество наблюдений, m – число переменных. При этом, как отмечается в [1], число m – может быть включать как исходные так и преобразованные переменные, что зависит от конкретного алгоритма МГУА. Хорошо известно, что алгоритмы МГУА имеют высокую сложность вычислений, в частности, итерационные – не менее поряд- ка nm2 + m3[2] при осуществлении m итераций и свободой выбора решений на каждой из них F = m, а комбинаторные – не менее порядка nm2 + m4 [3]. Однако, они достаточно легко могут быть распараллелены. Сделаем обзор существую- Індуктивне моделювання складних систем, випуск 5, 2013 220 mailto:andriypavlove@gmail.com Павловв А.В. щих решений по распараллеливанию как комбинаторных, так и итерационных алгоритмов МГУА. 1. Обзор работ В первую очередь были распараллелены комбинаторные алгоритмы [4 5], поскольку являются более вычислительно трудоёмкими нежели итерационные, а также страдают «проклятием размерности» из-за полного перебора, что есть NP-сложная задача. Если однопроцессорные системы позволяют решать задачу комбинаторного перебора с количеством переменных m = 20 за 10 сек., строя при этом 220 = 1,048,576 моделей, то распараллеливание позволяет увеличивать число моделей пропорционально увеличению количества вычислителей систе- мы, т.е., например, строить 226 = 67,108,864 моделей за то же время, на 64 про- цессорах. Однако, всё же это не преодолевает NP-сложность этой задачи, по- скольку, как показано в примере выше, это позволило увеличить число m толь- ко на 6 переменных. Основной задачей распараллеливания комбинаторных алгоритмов явля- лось равномерная загрузка всех процессоров, поскольку в зависимости от коли- чества аргументов модели время её построения существенно различается [4]. В [4] предложено использовать обратные структурные вектора, т.е. про- цессор строит модель, структурный вектор которой имеет вид (1101110), он также обязан построить модель вида (0010001). Этот способ позволил получить загруженность процессоров на уровне 96% каким бы ни было число m и коли- чество процессоров. В [5] предложено использовать способ генерации струк- турных векторов с последовательным усложнением – изменением «0» на «1» в какой-либо ячейке вектора. Что позволило достичь почти максимальной за- грузки – 99.8%. Способы и принципы распараллеливания итерационных алгоритмов МГУА рассмотрены в работах [6-7]. В [6] предложено распараллеливание алгоритма GAME – нейронной МГУА-сети с различными типами нейронов и межслойными связями на базе симметричной многопроцессорной (SMP) архитектуры, позволяющей несколь- ким процессорам или ядрам обращаться к одной общей памяти. Поскольку ка- ждый нейрон вычислительно независим от других, а время создание потоков несравнимо мало с временем расчёта одного нейрона, было принято решение рассчитывать каждый нейрон в отдельном параллельном потоке. Синхрониза- ции требовал этап отбора нейронов, переходящих на следующий слой. Свойст- во расширяемости (scalability) GAME оказалось достаточно низкой: если для двух ядер получено ускорение в 1.7 раза, то для 8 ядер алгоритм работал только в 3.5 раз быстрей, чем последовательная версия. Работа [7] рассматривает три разных вида ускорения: 1) за счёт распарал- леливания задач по потокам (процессорам); 2) векторная параллельная обра- ботка (векторизация), за счёт использования расширенного набора команд про- цессора (SSE – Streaming SIMD Extensions); 3) за счёт использования 64- разрядной операционной системы. Принцип распараллеливания задач был сле- Індуктивне моделювання складних систем, випуск 5, 2013 221 Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА дующий: низкоуровневые базовые вычисления (простые циклы) выполняются используя векторный параллелизм, а более сложные (повторяющиеся функцио- нальные задачи, состоящие из функций инициализации, манипуляции данными, множество вычислительных подзадач и циклов, чтение и запись данных) вы- полняются одновременно во многих потоках. Результаты расширяемости тех- нологии распараллеливания по потокам показали почти линейных характер: начиная от 2 ядер – ускорение в 2 раза, заканчивая 8 ядрами – ускорение в 7.4 раза. Эти результаты можно обобщить на разрядность операционных систем и использование векторизации. Использование 64-разрядной системы даёт уско- рение в 1.5 раза по сравнению с 32-х разрядной. Использование векторизации даёт ускорение в 1.5 раза. 2. Постановка задачи В [1] описан наиболее быстрый на сегодняшний день итерационный ал- горитм МГУА. В отличие от всех остальных алгоритмов на этапе построения моделей он не зависит от количества наблюдений и имеет линейную сложность относительно числа аргументов модели. Несмотря на его колоссальное быстро- действие – построение модели от 30-ти аргументов (итераций), n = 100000, m = 1000 лишь за 2 мин. – это время можно уменьшить за счёт распараллеливание вычислений. Поэтому целью данной работы является выработка принципов и схем распараллеливания основных операций обобщённого релаксационного ал- горитма (ОРИА). 3. Принципы распараллеливания операций в ОРИА В работе предлагается осуществить распараллеливание операций на базе архитектуры SMP [7], рассмотренной в [6]. При распараллеливании нужно вы- делить участки алгоритма, выполнение которых занимает основное время его работы. Процесс работы ОРИА состоит из трёх стадий [1]: 1) преобразование исходной матрицы; 2) расчёт матриц нормальных уравнений; 3) стадия итера- ций, где осуществляется непосредственное построение моделей. Практически основное время работы алгоритма расходуется на последние две стадии. В за- висимости от количества наблюдений n, числа аргументов m и свободы выбора F, распределение времени между ними может быть любым. Поэтому распарал- леливанию подлежат последние две стадии. 3.1 Распараллеливание стадии подготовительных вычислений На стадии подготовительных вычислений необходимо рассчитать вели- чины A T AXX , , , , , , (1) B T B XX A T AyX B T ByX A T Ayy B T Byy где , – матрица входных перменных и вектор выхода соот- ветсвенно; индексы A и B обозначают обучающую и проверочную последова- ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ = B A X X X ⎟⎟ ⎠ ⎞ ⎜⎜ ⎝ ⎛ = B A y y y Індуктивне моделювання складних систем, випуск 5, 2013 222 Павловв А.В. тельности соответственно. Алгоритм расчёта первых четырёх величин в (1) представлен ниже. for ( i = 0; i < n; i++ ) for ( j = i; j ≤ n; j++ ) { if ( j ≠ n ) { for ( l = 0; j < nA; l++ ) { value += XA[i][l]*XA[j][l]; } XATXA[i][j] = value; value = 0; for ( l = 0; j < nB; l++ ) B { value += XB[i][l]*XB BB[j][l]; } XBTXB[i][j] = value; B } else { for ( l = 0; j < nA; l++ ) { XATyA[ind] += XA[i][l]*yA[l]; } for ( l = 0; j < nB; l++ ) B { XBTyB[ind] += XB BB[i][l]*yB[l]; B } ind++; } } Для равномерной загрузки вычислителей минимальная задача, подавае- мая на вычислитель будет состоять из расчёта (1) для двух значений i, равно- удалённых от значения n/2, т.е., для i = 0 и i = n – 1, i = 1 и i = n – 2,… Т.е. в об- щей сложности имеем n/2 задач при чётном n. Если n нечётно, n/2 + 1 задач, од- на из которых средней сложности для значения i = n/2 + 1. Не ограничивая общности, пусть n – чётное. Имея k вычислителей, каждый из них получает: ⎣ ⎦ ⎡ ⎤ ⎡ ⎤⎩ ⎨ ⎧ −+ −= = )2/(,1)2/()2/( ,)2/( 11 knостальныеknполучаютейвычислителknпервые целоеNеслизадачknN N , где - остаток от деления, ⎣ ⎦ ⎡ ⎤ - результат деления с отбрасываниям остатка. Расчёт величин , можно реализовать паралельно на двух вычисли- телях. A T Ayy B T Byy 3.2 Распараллеливание стадии построения моделей Процесс построения модели i m i ixy ∑ = = 1 θ Індуктивне моделювання складних систем, випуск 5, 2013 223 Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА в ОРИА состоит в итеративном добавлении к текущей модели ry) r-й итерации нового аргумента xi ∈ miix ,1}{ ==ℵ , при этом строиться m моделей вида irirririr xyy ,,,,1 ωϖ )))) +=+ , Ii∈ , (2) где I – множество индексов аргументов. На каждой итерации выполняется се- лекция F лучших моделей Fjjry ,1,1 }{ =+ ) , которые будут усложняться по фор- муле (2) на следующей итерации ОРИА. Поэтому общее число моделей, кото- рые нужно построить на r-й итерации равно mF. Для поиска оценок коэффицентов ir,ϖ) , ir ,ω) решается Fm задач вида: ||minarg},{ ,,,,,,,,, ,, irArjrArAjirjir jiji xyy ωϖωϖ ωϖ −−= ℜ∈ℜ∈ ))) , mi ,1= , Fj ,1= , (3) Для выбора F лучших моделей r + 1 итерации решаются следующие Fm задач: ||minarg||minarg}{ ,,,, ,1,,1 ,,1, ,1,,1,1,1, irBrjrBrB Fjmi jirBB FjmiFllrB xyyyyy ωϖ ))))) −−=−= == + ===+ (4) Таким образом на каждой итерации имеем Fm задач (3), (4), которые мо- гут решаться независимо. Эта стадия распараллеливается аналогично работе [6], однако количество создаваемых потоков должно быть равно количеству вычислителей, дабы опе- рационная система не тратила время на переключение между потоками, как это происходит в [6], когда количество потоков больше числа вычислителей. Син- хронизации потоков подлежит стадия селекции лучших F моделей. Пусть мы имеем k вычислителей, тогда при распределении Fm задач мо- гут возникнуть такие случаи: 1. Fm < k. Каждый из Fm первых вычислителей загружен одной задачей, остальные (k – Fm) – свободны. 2. Fm = k. Все вычислтели загружены и каждый из них решает одну за- дачу. 3. Fm > k. Первые вычислителей решают ⎣ kFm / ⎦ ⎡ ⎤kFm / + 1 задач, а ос- тальные – задач. ⎡ kFm / ⎤ Предложенные схемы распараллеливания двух основных стадий ОРИА позволяют получить максимальную загрузку вычислителей при любом их ко- личестве. Індуктивне моделювання складних систем, випуск 5, 2013 224 Павловв А.В. 4. Выводы Предложенные в работе принципы и схемы распараллеливаня вычисле- ний обобщённого релаксационного итерационного алгоритма МГУА позволяют увеличить скорость работы алгоритма пропорционально количеству вычисли- телей при максимальной (почти равномерной) их загрузке. Литература 1. Павлов А. В. Обобщённый релаксационный итерационный алгоритм МГУА // Індуктивне моделювання складних систем. Зб. наук. праць, вип. 2. – К.: МННЦІТС НАНУ, 2011. – С. 95-108. 2. А. В. Павлов, В. С. Степашко Рекуррентные алгоритмы расчёта коэф- фициентов и критериев селекции в релаксационном алгоритме МГУА // Кибер- нетика и вычислительная техника. – 2011. – Вып. 165. – С. 72-82. 3. Єфіменко С.М., Степашко В.С. Рекурентний алгоритм методу Гауса для розв’язання систем лінійних рівнянь у задачі оцінювання параметрів регресійних моделей // Відбір і обробка інформації. Міжвідомчий збірник нау- кових праць. – №36 (112). – 2012. – С. 48-55 4. O.A. Koshulko, A.I. Koshulko Adaptive parallel implementation of the Combinatorial GMDH algorithm. // Proc. of IWIM 2007. International workshop on inductive modeling, CTU in Prague, 2007, p. 71-77. ISBN 978-80-01-03881-9 5. Volodymyr Stepashko, Serhiy Yefimenko Optimal Paralleling for Solving Combinatorial Modelling Problems // Proc. of IСIM 2008. 2nd International confer- ence on inductive modeling, Kyiv, 2008, p. 172-175. ISBN 978-966-02-4889 6. Pavel Kordik, Jakub Spirk, Ivan Simecek Parallel computing of GAME models // Proc. of IСIM 2008. 2nd International conference on inductive modeling, Kyiv, 2008, p. 160-163. ISBN 978-966-02-4889 7. Frank Lemke Parallel Self-organizing Modeling // Proc. of IСIM 2008. 2nd International conference on inductive modeling, Kyiv, 2008, p. 176-183. ISBN 978- 966-02-4889 8. http://en.wikipedia.org/wiki/Symmetric_multiprocessing. Індуктивне моделювання складних систем, випуск 5, 2013 225
id nasplib_isofts_kiev_ua-123456789-83674
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn XXXX-0044
language Russian
last_indexed 2025-12-07T15:53:22Z
publishDate 2013
publisher Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України
record_format dspace
spelling Павлов, А.В.
2015-06-21T17:49:38Z
2015-06-21T17:49:38Z
2013
Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА / А.В. Павлов // Індуктивне моделювання складних систем: Зб. наук. пр. — К.: МННЦ ІТС НАН та МОН України, 2013. — Вип. 5. — С. 220-225. — Бібліогр.: 8 назв. — рос.
XXXX-0044
https://nasplib.isofts.kiev.ua/handle/123456789/83674
681.513.8
В работе предложены принципы и схемы параллельных вычислений в обобщённом релаксационном итерационном алгоритме МГУА. Разработанные схемы позволяют увеличить скорость работы алгоритма пропорционально количеству вычислителей, достигая при этом максимальной загрузке вычислителей.
У роботі запропоновані принципи і схеми паралельних обчислень в узагальненому ре-лаксаційному ітераційному алгоритмі МГУА. Розроблені схеми дозволяють збільшити шви-дкість роботи алгоритму пропорційно кількості обчислючачів, досягаючи при цьому макси-мальної їх завантаженості.
The paper suggests schemes and formulates principles of parallel computations for general-ized relaxational iterative algorithm. The schemes developed allow to speedup the algorithm proportianaly to number of CPU cores with maximal load each of them.
ru
Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України
Індуктивне моделювання складних систем
Наукові статті
Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА
Article
published earlier
spellingShingle Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА
Павлов, А.В.
Наукові статті
title Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА
title_full Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА
title_fullStr Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА
title_full_unstemmed Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА
title_short Принципы параллельных вычислений в релаксационном итерационном алгоритме МГУА
title_sort принципы параллельных вычислений в релаксационном итерационном алгоритме мгуа
topic Наукові статті
topic_facet Наукові статті
url https://nasplib.isofts.kiev.ua/handle/123456789/83674
work_keys_str_mv AT pavlovav principyparallelʹnyhvyčisleniivrelaksacionnomiteracionnomalgoritmemgua