МЕТОДИКА ФОРМИРОВАНИЯ ИНФОРМАЦИОННОЙ СТРУКТУРЫ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ СПЕЦИАЛЬНОГО
НАЗНАЧЕНИЯ
Нестеренко Олег Евгеньевич,
адъюнкт кафедры АСУ, ВКА имени А.Ф.Можайского, г. Санкт-Петербург, Россия, [email protected]
Легков Константин Евгеньевич,
начальник кафедры АСУ, ВКА имени А.Ф.Можайского, г. Санкт-Петербург, Россия, [email protected]
Ключевые слова: вычислительная система, вычислительный комплекс, NUMA, параллельная программа, длительность информационного обмена.
В условиях повышения требований к эффективности функционирования вычислительных комплексов, используемых при построении информационных систем и сетей специального назначения, особую актуальность приобретают вопросы повышения их производительности. В тоже время, при достижении предела миниатюризации электронных компонентов вычислительных комплексов, вопросы оптимизации структуры алгоритмов обработки информации приобретают особую актуальность.
В качестве основного показателя эффективности исследуемого вычислительного комплекса информационной системы выбрано количество обработанных заявок в единицу времени, а основным показателем, характеризующим данное свойство, является длительность выполнения программы, реализующей алгоритм обработки информации. Сокращение данного показателя предполагается за счёт рационального распределения операций между вычислительными модулями и узлами. Определены особенности иерархических вычислительных систем, обуславливающие сложности при формировании информационной структуры параллельных программ, выполняемых на них. Поставлена задача формирования информационной структуры параллельной программы, доставляющей минимум аргумента функции длительности её выполнения. В качестве исходных данных используется граф структуры программы и некоторые характеристики вычислительной системы. Результатом выполнения алгоритма является оптимальный (по длительности) план выполнения операций параллельной программы в форме матрицы назначений операций на вычислительные модули системы. Отмечена возможность решения данной задачи методами математического программирования и определены основные этапы решения задач данными методами.
Задача о формировании информационной структуры параллельной программы сведена к решению общей задачи линейного программирования. В качестве метода оптимизации информационной структуры выбран симплекс метод. Доказана целочисленность решений данной задачи методами линейного программирования. Получен оптимальный план выполнения операций параллельной программы без учёта ограничений на количество вычислительных модулей системы.
Для цитирования:
Нестеренко О.Е., Легков К.Е. Методика формирования информационной структуры параллельных программ вычислительной системы специального назначения // T-Comm: Телекоммуникации и транспорт. 2017. Том 11. №3. С. 43-49.
For citation:
Nesterenko O.E., Legkov K.E. (2017). Method of information structure forming for parallel programs in special purpose computer system. T-Comm, vol. 11, no.3, pр. 43-49. (in Russian)
Введение
Рост масштабов и сложности решаемых задач средствами информационных систем и сетей специального назначения (ПС СН) в условиях повышения требований к эффективности, обуславливает необходимость поиска путей увеличения значений показателей оперативности вычислительных систем и комплексов (ПК), при выполнении целевых задач [1]. В связи с чем, отмечается повсеместное обновление аппаратных средств вычислительных систем производящих обработку различной информации.
В тоже время имеет место использование устаревшего программного обеспечения (разработанвого для ВК старого парка) на современных вычислительных системах, что не позволяет им функционировать в полном объеме за счет неэффективного использования аппаратного ресурса.
Проведённый анализ показал, что данное несоответствие обусловлено в основном несовершенством научно-методического аппарата используемого при формировании информационной структуры параллельных программ, реализующих алгоритмы обработки информации. В основном, эта особенность обусловлена трудностями, связанными с учётом характеристик и особенностей информационного обмена между компонентами иерархических вычислительных систем, находящихся на разных уровнях с учётом накладываемых требований по функционированию в режиме реального времени [2 |.
Учитывая, что ряд исследователей отмечают возможность достижения предела миниатюризации электронных компонентов вычислительных систем, то вопросы оптимизации структуры параллельных программ приобретают особую актуальность. Таким образом, проведённое исследование направлено на совершенствование научно-методического аппарата оптимизации структур параллельных программ, реализующих алгоритмы обработки информации в вычислительных системах специального назначения.
Постановка задачи
Одним из основных показателей эффективности функционирования И С СН является количество обработанных заявок в единицу времени. Очевидно, что данный показатель находится в прямой зависимости от показателя производительности вычислительных средств, обрабатывающих поступающие заявки.
Если принять предположение о том, что на обработку одной единицы информации используется п циклов некоторой программы обработки, то можно сделать вывод о том, что количество обработанных заявок в единицу времени С зависит от длительности выполнения Тя программы, реализующей алгоритм обработки и количества циклов его выполнения.
Под длительностью выполнения программы будем понимать время, затрачиваемое ею на обработку информации с момента поступления её на вход до получения всех выходных данных [3].
К исследуемой вычислительной системе предъявляются повышенные требования, со стороны системы управления специального назначения, по эффективности функционирования в режиме реального времени. Показателем, определяющим выполнение данного требования, является вероят-
ность р превышения времени оораоотки поступающей информации [3].
Проведённый анализ показал, что используемые для построения исследуемой ЛС СН вычислительные системы имеют иерархическую NIIМ А-арх и теюу ру с обеспечением когерентности кэш-памяти на основе так называемого справочника переменных. В данной системе п - вычислительных узлов объединены коммуникационной средой К, характеризующейся пропускной способностью с/ коммутатора и объёмом его буфера с. В состав каждого вычислительного узла входят 1)1 - вычислительных модулей, объединённых обшей шиной.
Предполагается, что на данной вычислительной системе выполняется параллельная программа, реализующая алгоритм обработки информации, информационная структура которого задана нумерованным, ориентированным, ациклическим мультиграфом С(У, II).
Таким образом, формализуем постановку задачи формирования информационной структуры параллельных программ, реализующих алгоритм обработки информации.
Задана вычислительная система:
где п - количество вычислительных узлов (ВУ), объединённых коммуникационной средой К{д, с); т - количество вычислительных модулей (ВМ), входящих в состав вычислительного узла, объединённых общей шиной (второй уровень); с — объём буфера коммутатора сети; с/ - пропускная способность коммутатора.
Программа, реализующая алгоритм обработки информации, задана в виде системы множеств:
Р(С{У,и),Т,К)
где С( V, Ц) - граф описывающий структуру информационных обменов а (/ = 0,п) между операциями ^ (у = 0,т)
(рис. 1); Т- множество значений длительностей выполнения I операций V ; А"-множество значений объёмов к передаваемой информации при информационном обмене ц ;
Рис. 1. Структура информационных обменов между операциями программы
Необходимо построить множество эквивалентных реализаций X* исходной программы Р, таких что:
X* -> Л/'£ГШП(Г,(х))
ХеЛ * * ||
(1)
а
II ' II шхп
если операция I назначена на исполнитель] иначе
Основная часть
Под информационной структурой параллельной программы, реализующей алгоритм обработки информации будем понимать множество выполняемых на вычислительных модулях операций и связей между ними, определяемыми наличием у операций общих входиых-выходных переменных.
Иначе, задачу формирования информационной структуры параллельной программы возможно интерпретировать как задачу построения матрицы связности где операциям параллельной программы ставятся в соответствие вычислительные модули, на которых они выполняются.
В результате формирования информационной структуры предполагается получение некоторого множества эквивалентных реализаций X* исходной программы. При этом оптимальной является доставляющая минимум длительности её выполнении на вычислительной системе, при вероятности превышения времени обработки информации не ниже заданной.
Предлагаемая методика включает следующие основные этапы (рис. 2):
1. Ввод исходных данных о вычислительной системе 8(К(д,с),п,т) и программе Р{С{у,1Х),Т,К), реализующей алгоритм обработки информации.
2. Получение оптимального опорного плана выполнения операций без учёта требований по количеству вычислитель-пых модулей.
3. Получение плана, удовлетворяющего требованию па количество вычислительных модулей.
4. Расчёт длительности выполнения полученной программы и вероятности превышения длительности обработки информации с учётом особенностей коммуникационной среды К({/, с). Добавление полученной эквивалентной реализации .V к множеству X*.
5. Оценивание возможности по перемещению некоторых операций на другие вычислительные модули с целью сокращения длительности информационных обменов. При отсутствии такой возможности переход к пункту 7, иначе, перемещение операций и переход к пункту 4.
6. Последовательный выбор решения по критериям пригодности и оптимальности[4].
Решение задачи получения оптимального опорного плана выполнения операций без учёта требований по количеству вычислительных модулей с последующей модификацией плана (этапы 2 и 3 предложенной методики) были рассмотрены в 151.
Многими авторами отмечалась возможность решения задачи получения оптимального плана выполнения операций программы методами математического программирования, при этом в качестве основного недостатка отмечалась их высокая вычислительная сложность. Для сокращения вычислительной сложности, задача решалась в два этапа:
Этап 2: Получение оптимального опорного плана выполнения операций без учёта требований по количеству вычислительных модулей. На этом этапе задача решалась как общая задача линейного программирования.
В качестве переменных использовались моменты времени х начала каждой из операций. Причём минимизировалась в целом длительность выполнения программы т . Осо-
г
бенностями данной постановки явилось то, что в исходном
графе имелось несколько истоков (вершин в которые не входит ни одна дуга) и стоков (вершин из которых не выходит ни одна дуга), т.е. целевая функция не ограничивалась ни слева, ни справа. Для ограничения целевой функции вводятся две новые вершины (операции) нулевой длительности. Одна из этих вершин соединена исходящими дугами с истоками, а вторая входящими дугами со стоками. Таким образом, удалось ограничить целевую функцию слева и справа, причём задача свелась к минимизации разницы между моментами начала этих двух операций.
Таким образом, формализация данной задачи имеет вид: —» min
х, + Г,- < х}, I - 0,/?, } = 1,(п+1), г < у х, ё х, > О
где, х ! и — моменты начала дополнительных операции нулевой длины; и х — моменты начала операций исходной программы; / - длительность выполнения операции;
п - количество операций исходной программы.
Очевидным было бы использование методов целочисленного программирования или же комбинаторных методов (обладающих значительной сложностью), однако, в данной постановке, матрица, соответствующая системе, ограничивающей область допустимых решений, является у ни модулярной. Следовательно, решения полученные методами линейного программирования (например, классическим симплекс* методом) будут целочисленными без использования комбинаторных и целочисленных методов. При этом, количество итераций симплекс-преобразований определяется количеством т ветвей в исходном графе (7(И, Ц), а вычислительная сложность носит полиномиальный характер и кратна т3 •
Полученный план выполнения операций не учитывает ограничения на количество вычислительных модулей в системе, Введение дополнительных ограничений на каждый момент времени выполнения программы необоснованно увеличило бы вычислительную сложность алгоритма. Количество одновременно выполняемых операций сокращалось алгоритмически в следующем порядке:
1. Выявление «узких» мест в исходном плане (т.е. интервалов времени, когда количество одновременно выполняемых операций превышает количество вычислительных модулей) и добавление этого интервала времени в множество Л.
2. Выбор очередного узкого места и формирование множества операций его пересекающих, т.е.
5 = 5, пй, г = 1,и•
3. Формирование пары ограничений на допустимый интервал перемещения для каждой операции из множества 5, т.е.
'1 ч <1к+Ьк
4. Формирование множества интервалов Е времени в которых количество одновременно выполняемых операций меньше количества вычислительных модулей.
Е={е1,е2,..£1}, 1=1,к, Д
T-Comm Vol. 1 1. #3-201 7
Т-Сотт Том 1 1. #3-20 1 7
Т-Сотт Уо1.1 1. #3-201 7
Так как объёмы передаваемой между вычислительными модулями информации ^ различны, то формируемый поток
заявок Л является неоднородным, причём количество классов заявок I соответствует количеству уникальных значений Е объёмов передаваемой информации. Коммутатор функционирует в бесприоритетном режиме. Для таких систем необходимо рассчитывать основные характеристики для каждого класса заявок А, причём основной характеристикой
описывающей эффективность функционирования системы, рассматриваются средние времена ожидания заявок разных классов, на основе которых легко могут быть рассчитаны все остальные характеристики с использованием фундаментальных зависимостей теории систем массового обслуживания. В результате были получены аналитические зависимости, позволяющие рассчитать длительность выполнения программы т , реализующей алгоритм вычислительной задачи:
=aXt
'I L req
j+«(log,(f +!)-!)+?
т.*"" = а,
- + ii{lOg2(i* +1) — 1) + /
filch
P.=-
K
(4)
т^={х\те<тиа)
И аналогично для вероятности превышения времени обработки информации:
filch
(2) (3)
Особенностью этих зависимостей является использование коэффициентов ах и аг, принимающих единичное значение в случае если операция записывает значение переменной (или читает его) в общую память другого вычислительного узла и нулевое значение в противном случае.
Анализируя полученный сетевой план выполнения программы становится возможным выявить операции, обменивающиеся значительными объёмами данных через коммуникационную среду. Перемещая такие операции для выполнения на вычислительные модули, находящиеся на одном узле, становится возможным сократить длительность задержки при передаче информации через коммуникационную среду.
После каждой итерации перемещения операций рассчитывается ожидаемая длительность т, выполнения параллельной программы, используя зависимости (1) - (3) и в вероятности р превышения времени обработки информации:
Таким образом, каждый план X характеризуется значением длительности Т его выполнения и вероятности р
превышения времени обработки информации. В случае если длительность выполнения программы меньше исходной Тлг,
то данная реализация включается в множество т* допустимых решений по длительности:
Далее необходимо сформировать множество эквивалентных реализаций, удовлетворяющих критерию пригодности:
Реализации, удовлетворяющие критерию пригодности и обладающие минимальной длительностью, являются оптимальными:
Заключение
Предлагаемая методика, построенная на основе алгоритма формирования оптимального плана выполнения операций и впервые полученной аналитической зависимости для расчёта длительности выполнения параллельной программы, учитывающей особенности функционирования вычислительной системы специального назначения, позволяет рационально распределить операции между вычислительными модулями но критерию минимальной длительности её выполнения, с учётом требований по функционированию в режиме реального времени.
Преимуществом методики является использование методов линейного программирования для решения целочисленной задачи формирования информационной структуры параллельной программы, не прибегая к применению комбинаторных методов решения, обладающих рядом недостатков. Эта возможность достигается за счёт использования унимодулярной матрицы, описывающей область допустимых решений задачи линейного программирования.
Литература
1. Ледянкин И.А., Легкое К.Е. О некоторых концептуальных вопросах разработки параллельных структур вычислительных задач кластерных вычислительных систем // Наукоемкие технологии в космических исследованиях Земли. 2014, Т, 6 № 6. С. 30-38.
2. Курносое М.Г. Модели и алгоритмы вложения параллельных программ в распределенные вычислительные системы. Дисс. ... канд. техн. наук: Новосибирск, 2008. 177 с.
3. Нестеренко O.E. Модель процессов организации обработки оперативной информации распределенными вычислительными комплексами специального назначения // T-Comm: Телекоммуникации и транспорт. 2016. Т. 10. № 12, С. 48-54,
4. Петухов Г.Б.. Якунин В.И. Методологические основы внешнего проектирования целенаправленных процессов и целеустремлённых систем. М.: Издательство «ACT», 2006. 504 с.
5. Легкое К.Е.. Нестеренко O.E. Алгоритм формирования информационной структуры параллельных программ иерархической вычислительной системы // Наукоемкие технологии в космических исследованиях Земли. 2017, Т. 8. № I. С. 52-59.
T-Comm Том 1 1. #3-20 1 7
COMPUTER SCIENCE
METHOD OF INFORMATION STRUCTURE FORMING FOR PARALLEL PROGRAMS IN SPECIAL PURPOSE COMPUTER SYSTEM
Oleg E. Nesterenko, Mozhaisky Military Space Academy, St. Petersburg, Russia, [email protected] Konstantin E. Legkov, Mozhaisky Military Space Academy, St. Petersburg, Russia, [email protected]
Abstract
In the conditions of increasing the requirements to the efficiency of the functioning of computing complexes used in the construction of information systems and networks of special purpose, the issues of increasing their productivity are becoming topical. At the same time, when the miniaturization limit of the electronic components of computer systems is reached, the questions of optimizing the structure of information processing algorithms become especially topical. The number of processed applications per unit of time was chosen as the main indicator of the effectiveness of the computer complex of the information system studied, and the duration of the program implementing the information processing algorithm is the main indicator characterizing this property. The reduction of this indicator is expected due to the rational distribution of operations between computing modules and nodes.
Specific features of hierarchical computing systems that cause difficulties in the formation of the information structure of parallel programs executed on them are determined. The task is to form the information structure of a parallel program that delivers the minimum of the argument to the function for the duration of its execution. The initial data is used by the program structure graph and some characteristics of the computer system. The result of the algorithm execution is the optimal (in terms of duration) plan for performing parallel program operations in the form of a matrix for assigning operations to the system's computational modules. The possibility of solving this problem by methods of mathematical programming is noted and the main stages of solving problems by these methods are determined. The task of forming the information structure of the parallel program is reduced to solving the general problem of linear programming. As a method of optimizing the information structure, a simplex method is chosen. The integrability of solutions of this problem is proved by linear programming methods. An optimal plan for performing parallel program operations was obtained without taking into account the limitations on the number of computational modules of the system.
Keywords: computer system, computer complex, NUMA, parallel program, duration of information exchange. References
1. Ledyankin I.A., Legkov K.E. (2014). About some conceptual questions of development of parallel structures of computing tasks of cluster computing systems. H&ES Research, vol. 6, no. 6, pp. 30-38. (in Russian)
2. Kurnosov M.G. (2008). Models and algorithms for nesting parallel programs into distributed computing systems. Diss. ... cand. Tech. Sciences. Novosibirsk. 177 p. (in Russian)
3. Nesterenko O.E. (2016). Model of the processes of organization of processing of operational information by distributed computing complexes of a special purpose. T-Comm, vol.10, no. 12. pp. 48-54. (in Russian)
4. Petukhov G.B., Yakunin V.I. (2006). Methodological basis of external design of purpose-oriented processes and purposeful systems. Moscow: AST Publishing House. 504 p. (in Russian)
5. Legkov K.E., Nesterenko O.E. (2017). Algorithm for the formation of the information structure of parallel programs of a hierarchical computing system. H&ES Research, vol. 8, no. 1. pp. 52-59. (in Russian)
T-Comm Vol. 1 1. #3-201 7
7T>