Научная статья на тему 'СТРУКТУРНОЕ СОГЛАСОВАНИЕ АЛГОРИТМОВ ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ С АРХИТЕКТУРОЙ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ'

СТРУКТУРНОЕ СОГЛАСОВАНИЕ АЛГОРИТМОВ ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ С АРХИТЕКТУРОЙ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Селиверстов Е.Ю.

Использование современных метаэвристических алгоритмов глобальной оптимизации требует применения параллельных вычислительных систем, в частности графических процессорных устройств со сложной архитектурой. Параллельная эффективность алгоритма оптимизации сильно зависит от выбранного отображения алгоритма на вычислительную систему. Предложен алгоритм согласования параллельного метаэвристического оптимизационного алгоритма с архитектурой графических процессорных устройств. Рассмотрена постановка задачи согласования как задачи определения оптимальной стратегии параметризованного алгоритма и оптимального отображения этого алгоритма на архитектуру вычислительной системы. Предложено математическое представление графовых отображений и ограничений отображений. Отображение алгоритма на вычислительную систему представлено как отображение графовой параметризованной модели параллельного алгоритма с островной моделью параллелизма на совокупность графовых моделей графического процессора. Множество допустимых отображений на основе указанных ограничений формализует особенности архитектуры вычислительной системы и модели параллелизма алгоритма. Предложен алгоритм структурного согласования, основанный на совместном решении задачи оптимизации и задачи структурной оптимизации допустимых отображений. Рассмотрен критерий параллельной эффективности, оцениваемый как экспериментально, так и аналитически по графовым моделям и их отображениям, что позволяет проводить оптимизацию для различных сценариев поиска отображений. Приведены результаты вычислительного эксперимента со сравнением параллельной эффективности параллельного алгоритма, основанного на алгоритме структурного согласования, и классического алгоритма для класса тестовых задач оптимизации из пакета CEC (Congress of Evolutionary Computing)

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

STRUCTURAL MAPPING OF GLOBAL OPTIMIZATION ALGORITHMS TO GRAPHICS PROCESSING UNIT ARCHITECTURE

Graphics processing units (GPU) deliver a high execution efficiency for modern metaheuristic algorithms with a high computation complexity. It is crucial to have an optimal task mapping of the optimization algorithm to the parallel system architecture which strongly affects the efficiency of the optimization process. The paper proposes a novel task mapping algorithm of the parallel metaheuristic algorithm to the GPU architecture, describes problem statement for the mapping of algorithm graph model to the GPU model, and gives a formal definition of graph mapping and mapping restrictions. The algorithm graph model is a hierarchical graph model consisting of island parallel model and metaheuristic optimization algorithm model. A set of feasible mappings using mapping restrictions makes it possible to formalize GPU architecture and parallel model features. The structural mapping algorithm is based on cooperative solving of the optimization problem and the discrete optimization problem of the structural model mapping. The study outlines the parallel efficiency criteria which can be evaluated both experimentally and analytically to predict a model efficiency. The experimental section introduces the parallel optimization algorithm based on the proposed structural mapping algorithm. Experimental results for parallel efficiency comparison between parallel and sequential algorithms are presented and discussed

Текст научной работы на тему «СТРУКТУРНОЕ СОГЛАСОВАНИЕ АЛГОРИТМОВ ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ С АРХИТЕКТУРОЙ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ»

УДК 519.6

DOI: 10.18698/0236-3933-2022-2-42-59

СТРУКТУРНОЕ СОГЛАСОВАНИЕ АЛГОРИТМОВ ГЛОБАЛЬНОЙ ОПТИМИЗАЦИИ С АРХИТЕКТУРОЙ ГРАФИЧЕСКИХ ПРОЦЕССОРОВ

Е.Ю. Селиверстов evgeny.seliverstov@omniverse.ru

МГТУ им. Н.Э. Баумана, Москва, Российская Федерация

Аннотация

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

Ключевые слова

Глобальная оптимизация, задача согласования, задача отображения, структурная оптимизация, параллельные системы, графические процессоры

жений. Приведены результаты вычислительного эксперимента со сравнением параллельной эффективности параллельного алгоритма, основанного на алгоритме структурного согласования, и классического алгоритма для класса тестовых задач Поступила 10.03.2022 оптимизации из пакета CEC (Congress of Evolu- Принята 31.03.2022 tionary Computing) © Автор(ы), 2022

Введение. Применение метаэвристических алгоритмов глобальной оптимизации, которые отличаются высокой вычислительной сложностью и размерностью, требует использования параллельных вычислительных систем, например, высокопроизводительных графических процессорных устройств (ГПУ). Архитектура ГПУ значительно отличается от архитектур классических многоядерных систем. Отличительной особенностью является векторная SIMD-структура на нижнем уровне и MIMD-структура на верхнем уровне, иерархическая структура памяти, простота и большое число вычислительных ядер [1].

В основе задачи согласования алгоритмов с архитектурой параллельных вычислительных систем лежит задача отображения взаимодействующих вычислительных задач (task mapping, task scheduling) [2] на вычислительную систему. Для решения этой задачи предложены несколько аналитических метрик (время вычислений и коммуникаций) и способы их оценки по графу задач, диаграмме Ганта [3]. Для ГПУ важными метриками являются утилизация мультипроцессоров, латентность при обращении к различным классам памяти. Известны подходы к отображению графов задач на вычислительную систему. Модели двудольных графов и гиперграфов, классические методы разбиения графов на основе минимизации разреза потока, методы иерархического разбиения графов рассмотрены в [4]. В классификации методов статического планирования [5] выделяют машинно-зависимые графы задач и абстрактные графы вычислительных задач, а также методы их отображения на графы вычислительной системы путем кластеризации вершин графов. Оптимизационный подход к задаче отображения рассмотрен в [6]. Сначала осуществляют минимизацию метрики скалярного отклонения между графом задач и системой. Затем решают задачу структурной оптимизации графов. Для перечисления допустимых отображений применяются методы порождения семейств графов на основании формальных грамматик. Методы отображения для ГПУ основаны преимущественно на динамическом планировании независимых или слабо связанных графов задач и на локальных очередях задач, что позволяет достигать высокой параллельной эффективно-

сти для задач определенного класса [7]. Графы потока управления параллельных метаэвристических алгоритмов относят к графам взаимодействующих задач, а исследования для отображения таких графов на ГПУ практически отсутствуют.

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

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

min Ф (X) = Ф (X*),

X е dx

где Ф (X) — целевая функция задачи; X * — оптимальное значение вектора

параметров базовой задачи; DX — область допустимых значений вектора X варьируемых параметров.

Рассмотрим параметризованную модель GA(A, P) параллельного алгоритма метаэвристической оптимизации A(P) с островной моделью параллелизма [8, 9] в виде ориентированного графа GA = (VA, EA), где множество вершин VA представляет собой операции алгоритма; множество ребер EA — зависимости по данным между операциями [10]. Вектор свободных параметров P алгоритма A состоит из параметров, представляющих свойства алгоритма оптимизации (значения свободных параметров) и островной модели параллелизма (число островов Ns , размер острова Np ). В графе GA выделим отдельные подграфы PDi, i е [0; NS), соответствующие операциям оптимизации последовательными алгоритмами над независимыми субпопуляциями (островами) Ii, i е [0; NS); подграфы PEi и PRi, соответствующие операциям коммуникации и синхронизации.

Параллельной моделью вычислительной системы M для выполнения алгоритма A является модель блочно-синхронного параллелизма BSP (Bulk Synchronous Parallel) [11], разделяющая выполнение программы

на супершаги, состоящие из фазы независимых вычислений, фазы коммуникации и фазы синхронизации. Модель вычислительной системы состоит из трех взаимосвязанных графовых моделей [12]: структурной модели 05, отражающей иерархическое устройство системы из отдельных вычислительных устройств; коммуникационной модели ОС, представляющей коммуникации между вычислительными устройствами; модели памяти ОМ, определяющей доступность различных видов памяти для вычислительных устройств. Подробно модели алгоритмов и системы, их представление и свойства рассмотрены в [10, 12].

Задача согласования. Представим задачу согласования как задачу определения оптимальной стратегии Р параметризованного метаэври-стического алгоритма оптимизации А(Р) и оптимального отображения алгоритма на модель ГПУ на основании некоторого критерия оптимальности согласования.

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

ш1иМ ¥(Р, Т) = ¥(Р\ Т*).

Р е Бр, Т е Ьтр

Здесь ¥(Р, Т) — векторный критерий оптимальности. Под штМ подразумеваем многокритериальную оптимизацию векторного критерия.

Определим отображение одного графа на другой.

Вершинное отображение (или просто отображение) графа О на Н обозначим как Х(0, Н) и представим вектором

X = (А-1, ..., Хп), п = X,

где

хк = (gk, Нк), к е [1, ..., п]; gk = {V(О), I е IО, к}, Нк = {V(Н);, ) е 1н, к}.

Пары Xк = (gk, Нк) назовем компонентами вершинного отображения. Индексное множество 1о содержит в к-м элементе 1о, к индексы

вершин графа Н, отображаемых на вершину V (С),. Индексное множество 1н включает в себя в к-м элементе 1н, к индексы вершин графа G, отображаемых на вершину V (Н) ;.

Вершинное отображение составим так, чтобы множества компонентов gk, йк образовывали непересекающееся разбиение и были справедливы следующие соотношения:

Уgk, gm, £ ф т : gk п = 0; УНк, йт, £ ф т : йк п йт = 0.

Определим понятие реберного отображения ц(С, Н) графа G на граф Н. Будем утверждать, что ребро ек е Е(С) отображается на ребро ет е Е(Н) тогда и только тогда, когда начальные вершины ребер С_к, Н1т находятся в одной компоненте отображения, а конечные вершины G2к, Н2т — в другой. Более формально реберное отображение определим как множество пар ребер, удовлетворяющих условию

Л (С, Н) {(ек, ет): ек = (Glk, G2k), ет = (Нт, Н2т); ^, й, г * ) : ^ = , й,), "к) = (й;, gj);

Glk е gi, Н1т е й,, G2k е g^, Н2т е й;}.

Для различных графовых моделей G, Н и отображений ЦС, Н), П(С, Н) определим частные ограничивающие функции отображения: групповую , вершинную Бу, реберную Бе . По этим функциям определим ограничения, формализующие особенности архитектуры графической системы и алгоритма оптимизации.

Ограничивающая функция Б(Х, задает функциональное отображение

Б : X х ^ ^ {0, 1}.

Частные ограничивающие функции Б1, Бу, Бе , однозначно зададим вспомогательными ограничивающими функциями, определенными над парами вершин или ребер. Например, частная вершинная ограничивающая функция Бу формализует допустимость отображения вершины одного графа на вершину другого графа:

Бу (А,) = 1 О УАк = ^к, йк) е X, Уу, е gk, V; е йк : Бу (у,, V;) = 1.

Для задания ограничивающей функции Бу (X (С, Н)) достаточно

перечислить значения вспомогательной ограничивающей функции Бу для всего множества у (С) х у (Н).

Общую ограничивающую функцию л) составим из частных ограничивающих функций:

ц) = № м, М, SE (л)). (1)

Общее ограничение выполнимо при удовлетворении всех ограничений

Sa, ц) = 1 е S : Sk = 1. (2)

Назовем отображение X О, H) допустимым, если значения частных ограничивающих функций SI (X), SV (X), SD (X) равны единице. Аналогично назовем отображение пО, Н) допустимым, если значение частной ограничивающей функции SE (п) равно единице. Назовем пару отображений Х(0, Н), лО, Н) допустимой, если значение общей ограничивающей функции S л) равно единице.

Определим отношение параметризованной модели алгоритма 0Л(Л, Р) и моделей параллельной вычислительной системы GS, ОС, ОМ. Модель системы не параметризуем и задаем фиксированной.

Для общности постановки задачи модели вычислительной системы объединим в кортеж моделей ММ = (GS, ОС, ОМ), а модели алгоритма — в одноэлементный кортеж А(Р) = (0Л(Л, Р)). Отображение кортежа модели А на кортеж модели ММ зададим как набор попарных реберных и вершинных отображений графов ОЛ, GS, ОС, ОМ в составе этих кортежей. Определим объединенные отображения моделей Хт , Лт через введенные ранее вершинные и реберные отображения графов:

ХТ(А, М, S) = {Лк : УЛг- е А, М] е ММ : Xк (Л{, М^), S(Xк, 0) = 1};

ПТ (А, М, S) = {пк : VЛ¿ е А, М] е М : Пк (Л, М]), S(0, Пк) = 1}.

Здесь функция S задает общее ограничение отображения (2).

Назовем Т-отображением модели алгоритма на вычислительную систему кортеж, состоящий из объединенных отображений моделей

хт , ЛТ:

Т(А, М, S) = (хт(А, М, S), лт(А, М, S)).

Пусть Т-отображения составляют множество допустимых отображений

Ьт(А, М) = [т(А, ММ, S1)}. (3)

Мощность множества Ьт определяет число возможных Т-отображений для заданных моделей. Как правило, при слабых ограничениях Б справедливо неравенство Ьт > 1, т. е. существует несколько отображений Хт, Лт модели алгоритма А на модель системы ММ. Модель А в объединенных отображениях моделей Хт, Лт параметризована вектором Р, поэтому эти отображения неявно зависят от Р. Явной функциональной зависимости от параметра Р объединенные отображения моделей не имеют, так как для одного значения Р существует не одно т-отображение Т, а целое их множество {т} ^ Ьт (А, ММ). Отображение алгоритма на вычислительную систему является однозначным, но не взаимно однозначным, поскольку не ставится цель идентифицировать алгоритм по программе. Кроме того, одному и тому же алгоритму и реализующей его программе могут соответствовать несколько параметризованных моделей СА(А, Р). Пусть областью допустимых значений вектора параметров Р является множество Бр. Пусть Ьа и Ьм — множества возможных моделей алгоритма А и системы ММ. Множество Ьт (А, ММ) (3) определяет допустимые т-отображе-ния для фиксированных моделей А, ММ. Сформируем для Ьа и Ьм общее множество т-отображений:

Ьт = и Ьт (А, ММ).

Ае ЬЛ, ММ е Ьм

Области Ьт и Бр не связаны явно, но построение т-отображений по модели алгоритма А(Р) задает неявные ограничения на значения т е Ьт. Вводим булеву функцию ограничения /рт (Р, т), определяющую допустимые сочетания параметров Р, т. Функция /рт принимает значение единицы тогда и только тогда, когда т-отображение допустимо при значении вектора параметров Р. Строим область допустимых т-отображений:

ЬтР = {т : Ут е Ьт : (УР е БР : /Рт(Р, т) = 1)}, ЬтР с Ьт.

Вводим критерии ЕА(А(Р), т(А, ММ)) эффективности параллельной реализации алгоритма А(Р). Экспериментальную оценку ЕА критерия Еа (•) проводим по результатам выполнения программы Prog(А, ММ), сформированной на основании моделей алгоритма и системы. Аналитическую оценку ЕА осуществляем на основании графовой модели алгоритма и системы без выполнения на реальной вычислительной системе.

Алгоритм решения задачи согласования. Рассмотрим алгоритм AO решения задачи согласования. Алгоритм является итерационным алгоритмом оптимизации, итерация которого совпадает с итерацией параллельного алгоритма A (один шаг модели параллельных вычислений BSP).

Введем множество H истории отображений. Отображение T е H назовем исследованным отображением, а прочие отображения — неисследованными отображениями.

Одну итерацию t алгоритма AO строим по следующей схеме.

Шаг 1. Выбираем начальные значения X0, P0.

Шаг 2. Инициализируем H = 0.

Шаг 3. Формируем программу Prog на основе графовых моделей A, M, T-отображения Tt и значения вектора параметров Pt.

Шаг 4. Выполняем один шаг BSP программы Prog.

Шаг 4а. Выполняем фрагмент этой программы, реализующий операции pdi g PD, i g [0...PD] алгоритма A.

Шаг 4б. Выполняем фрагмент программы, реализующий операции коммуникации pe g PE, i g [0...PE] и синхронизации prj g PR, j g [0...PR] графовой модели GA.

Шаг 5. Пополняем историю отображений H кортежем (Tt, EA(Pt, Tt)), показывающим измеренную параллельную эффективность отображения Tt .

Шаг 6. Решаем подзадачу TOt с помощью алгоритма AO.

Шаг 6а. Формируем графовую модель алгоритма A(Pt ).

Шаг 6б. Формируем допустимое множество T-отображений Ltp (Pt ).

Шаг 6в. Решаем подзадачу TOT оптимизации отображения при фиксированных векторах параметров Pt и текущем значении Tt. Получаем

оптимальное для шага t T-отображение Tt+1. На основании этого T-отображения перестраиваем программу на следующей итерации.

Шаг 7. На основании значений векторов Pt, Tt и текущего значения X t решаем задачу параметрической оптимизации вектора P и вычисляем оптимальное значение вектора Pp+1. Исследование методов решения задачи параметрической оптимизации лежит вне рамок нстоящей работы.

Шаг 8. Если условие завершения алгоритма A выполнено, то завершаем вычисления. Иначе присваиваем t = t + 1 и переходим к шагу 3.

Обозначаем общее число итераций алгоритма как t. Результатами алгоритма AO являются оптимальная стратегия P* и оптимальное Т-отобра-

t *

жение Т ' . Каждой итерации t алгоритма AO соответствует номер глобальной итерации Fg (t), где функция Fg определена структурой алгоритма AOp. В качестве условия завершения алгоритма AO предлагаем условие достижения максимального номера глобальной итерации tmax:

Fg (t) < tmax. (4)

Алгоритм структурной оптимизации отображения. Сформулируем задачу TOt как задачу однокритериальной дискретной оптимизации

min F(P', Т) = F(P', Т*), (5)

Т е ltp

где P' — фиксированное значение вектора параметров P; LTP (A, M) — множество допустимых Т-отображений (3); F(P, Т) : Т ^ Ж — критерий оптимальности задачи согласования.

Для итерационного решения задачи TOt необходимо определить множество допустимых Т-отображений Ltp (A, M), алгоритм вычисления критерия оптимальности F и алгоритм выбора следующего отображения из этого множества.

Задача определения множества Ltp (A) может быть решена различными способами. Простейшим способом является систематическое перечисление Т-отображений, удовлетворяющих условию допустимости (1). К эффективным способам решения относим поиск множества подграфов графа системы, изоморфных графу алгоритма, на основе алгоритмов Мес-смера и Бунке [13].

Алгоритм вычисления критерия оптимальности. Назовем метрикой

инерционности алгоритма AO метрику йт (Tt, Tt +1) : Т х Т ^ К для двух последовательных шагов t и t +1 алгоритма AO при фиксированной стратегии P'. Примером этой метрики служит константная метрика

dT (Tt, Tt +1) = FB ЫТ = Tt+1)), где FB : {0,1} ^ М — функция интерполяции булева выражения во множество Ж. Возможны и более сложные функции, учитывающие особенности модели системы и алгоритма.

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

оценка критерия EeA (P', T) и аналитическая оценка EA (P', T). Исходим из предположения, что аналитическая оценка времени исполнения по графовой модели пропорциональна реальному времени исполнения. Тогда определим функцию масштабирования в виде линейной функции

EA (P', T)

m(T) = AV (6)

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

EA (P', T)

Рассмотрим два случая вычисления значений функции Fe (T).

1. Значение T является исследованным, т. е. содержится в истории отображений Тогда аппроксимированный критерий параллельной эффективности в точности равен соответствующему значению EA (P', T).

2. Значение T является неисследованным. Тогда оценку параллельной эффективности выполняем, исходя из значения аналитического критерия EA эффективности параллельной реализации и значения m(T) функции масштабирования (6), учитывающей оценку EA с предыдущего шага.

Функцию вычисления аппроксимированного критерия параллельной эффективности запишем в виде

f E, если 3(т, E )е H: T = T;

Fe (T, T') \ V ' (7)

[EA (P', T) m (T'), иначе.

Метрика инерционности üt накладывает ограничение на область допустимых значений Ltp задачи TOt. При этом задачу нельзя считать

задачей условной оптимизации, так как ограничение Ltp зависит от текущего значения переменной T, поэтому рассматриваем TOt как задачу безусловной оптимизации. Предлагаем метод на основе метода штрафных функций [14]. Запишем функцию

F(T) = Fe (T, T') + Fp (T), а штрафную функцию Fp (T) с коэффициентом штрафа а определим как

Fp (T) = айт (T, T')2.

Алгоритм перехода между отображениями. Пусть на шаге t алгоритма AO выбрано текущее отображение Tt. Определим алгоритм AOtnext выбора следующего отображения Tt+1 е Ltp. По аналогии с (7) определим вспомогательную функцию _p(T) порога оценки вероятности выбора T-отображения на основании истории отображений H:

p (T) =

£ max _ £

ß-, если 3(T, £)e H: T = T;

£max v /

5, иначе.

Здесь P — коэффициент чувствительности к выбору уже исследованных отображений; Emax = max |E | 3(T, E) e J — максимальное значение критерия E из истории H.

Определим непрерывную случайную величину ^т с равномерным распределением. Введем два условия выбора следующего Т-отображения:

& < КО; (8)

£(T) < F(T*). (9)

Здесь T * — лучшее найденное Т-отображение. Если отображение является исследованным, то оно будет выбрано с вероятностью, определяемой из истории H и не превышающей р. Чем меньше значение критерия параллельной эффективности E относительно Emax, тем больше вероятность выбора этого отображения. Неисследованные отображения будут выбраны с оценкой вероятности 1 - р.

Запишем шаги алгоритма AOtnext .

Шаг 1. Полагаем значение счетчика k = 0, начальное значение T * = Tt из отображения с итерации t алгоритма AO.

Шаг 2. Выбираем очередное значение Tk.

Шаг 3. Выбираем значение случайной величины ^т е [0; 1].

Шаг 4. Если условие (8) не выполнено, переходим к шагу 6.

Шаг 5. Если условие (9) для Tk выполнено, то полагаем T* = Tk.

Шаг 6. Если k < Lpt , выбираем k = k + 1 и переходим к шагу 2. Иначе полагаем новое отображение Tk+1 = T * и завершаем алгоритм.

Отличием предлагаемого алгоритма AOTNExT от схожего алгоритма поиска с запретами является адаптивность, обусловленная введением коэффициента чувствительности к исследованным отображениям. Введение зависимости p от значения отображения T позволяет увеличивать вероятность выбора отображения с меньшим значением фитнесс-функции F. В силу пополнения множества истории отображений и стохастичности алгоритма AOtnext при последующих вызовах алгоритмом AOtnext будут выбраны отображения, отличающиеся от текущего. Важным преимуществом предложенного алгоритма является его параметризация для двух различных сценариев:

- конкретизация отображения — поиск отображения с наилучшим значением фитнесс-функции F;

- исследование отображений — повышение разнообразия допустимых отображений и наполнение истории H.

Вычислительный эксперимент. Проведем вычислительные эксперименты для сравнения эффективности предложенного алгоритма оптимизации PAGOS, реализующего алгоритм согласования AO, и классического алгоритма оптимизации CLASSIC с фиксированной стратегией P и T-отображением на хост-систему. В качестве базовых задач оптимизации применим тестовые целевые функции различных классов из пакета CEC (Congress of Evolutionary Computing) [iS]. В качестве последовательного алгоритма оптимизации выберем алгоритм оптимизации роем частиц ^б] с параметрами х = 0,7298, k = i, ф1 = ф2 = 2,0S, у = 0,S, размером роя 20 и глобальной топологией соседства. Используем параллельную систему с ГПУ Tesla K80 (GK2i0) и ЦПУ Intel Xeon ES-2686.

В эксперименте рассмотрим зависимость ускорения от вычислительной сложности целевой функции и размерности базовой задачи оптимизации. Ускорение S определим как отношение времени работы алгоритмов:

tt

ZpCLASSIC EI, t

S = -.

ZpPAGOS EE, t

t = 0

Здесь EQ t — значение метрики параллельной эффективности соответствующего алгоритма Q на макрошаге t [17]. Критерием останова алгоритма считаем условие достижения максимального числа итераций tmax (4).

В эксперименте используем следующие параметры алгоритмов: tmax =16, NT = 5, Nmax = 5, NS = 64, tmax = 50. Введем масштаб целевой функции scale, задающий число повторений расчетов целевой функции.

Графики зависимости ускорения S от размерности d базовой задачи оптимизации для различных целевых функций и значений их масштабов scale = 500,1000, 2000 приведены на рисунке.

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

S

17,5 15,0 12,5 10,0

7,5 5,0 2,5

5 8

7

6 5

4

10 20 30 40 50 60 70 d б

5

8 7

6 5 4

10 20 30 40 50 60 70 d в

Зависимости ускорения S от размерности задачи d для целевых функций Rastrigin (а), Rosenbrock (б) и Ackley (б) и их масштабов: scale = 500 (зеленая прямая), 1000 (голубая), 2000 (красная)

а

Средний размер истории исследованных отображений \H | составляет 8 для задач Rosenbrock и Rastrigin и 5 для задачи Ackley при константах а = 0,05, ß = 0,9, 8 = 0,9, соответствующих сценарию конкретизации отображения.

Для мультимодальных задач оптимизации (Rastrigin, Ackley) наибольшее ускорение наблюдается при размерности базовой задачи оптимизации d = 25. Зависимости ускорения от размерности базовой задачи схожи. Для унимодальных задач (Rosenbrock) демонстрируется наибольшее ускорение S = 20 при размерности задачи d = 75.

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

ЛИТЕРАТУРА

[1] Nvidia Ampere GA102 GPU агсЬйесШге. 2020. nvidia.com: веб-сайт.

URL: https://www.nvidia.com/content/PDF/nvidia-ampere-ga-102-gpu-architecture-whitepaper-v2.pdf (дата обращения: 10.09.2021).

[2] Kwok Y.K., Ahmad I. Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surv., 1999, vol. 31, no. 4, pp. 406-471.

DOI: https://doi.org/10.1145/344588.344618

[3] Sinnen O. Task scheduling for parallel systems. New York, Wiley-Interscience, 2007.

[4] Hendrickson B., Kolda T.G. Graph partitioning models for parallel computing. Parallel Comput., 2000, vol. 26, no. 12, pp. 1519-1534.

DOI: https://doi.org/10.1016/S0167-8191(00)00048-X

[5] Chen S., Eshaghian M.M., Wu Y.C. Mapping arbitrary non-uniform task graphs onto arbitrary non-uniform system graphs. Proc. Int. Conf. on Parallel Processing, 1995, vol. 2, pp. 191-195.

[6] Berman F., Snyder L. On mapping parallel algorithms into parallel architectures. J. Parallel Distrib. Comput., 1987, vol. 4, no. 5, pp. 439-458.

DOI: https://doi.org/10.1016/0743-7315(87)90018-9

[7] Kirk D.B., Hwu W.W. Programming massively parallel processors. Morgan Kaufmann, Elsevier, 2013.

[8] Izzo D., Rucinski M., Ampatzis C. Parallel global optimisation metaheuristics using an asynchronous island-model. IEEE CEC'09, 2009, pp. 2301-2308.

DOI: https://doi.org/10.1109/CEC.2009.4983227

[9] Lorion Y., Bogon T., Timm I.J., et al. An agent based parallel particle swarm optimization — APPSO. IEEE Swarm Intelligence Symp., 2009, pp. 52-59.

DOI: https://doi.org/10.1109/SIS.2009.4937844

[10] Seliverstov E.Y., Karpenko A.P. Hierarchical model of parallel metaheuristic optimization algorithms. Procedia Comput. Sc., 2019, vol. 150, pp. 441-449.

DOI: https://doi.org/10.1016/j.procs.2019.02.075

[11] Skillicorn D.B., Talia D. Models and languages for parallel computation. ACM Comput. Surv, 1998, vol. 30, no. 2, pp. 123-169.

DOI: https://doi.org/10.1145/280277.280278

[12] Селиверстов Е.Ю. Графовые модели графического процессора. Системы компьютерной математики и их приложения: Матер. XVIII Междунар. науч. конф.,

2007, с. 117-119.

[13] Messmer B.T., Bunke H. Efficient subgraph isomorphism detection: a decomposition approach. IEEE Trans. Knowl. Eng., 2000, vol. 12, no. 2, pp. 307-323.

DOI: https://doi.org/10.1109/69.842269

[14] Griva I., Nash S., Sofer A. Linear and nonlinear optimization. Philadelphia, SIAM,

2008.

[15] Li X., Tang K., Omidvar M.N., et. al. Benchmark functions for the CEC'2013 special session and competition on large-scale global optimization.

URL: http://www.tflsgo.org/assets/cec2018/cec2013-lsgo-benchmark-tech-report.pdf (дата обращения: 10.09.2021).

[16] Kennedy J., Eberhart R. Swarm intelligence. Morgan Kaufmann, Elsevier, 2001.

[17] Parhami B. Introduction to parallel processing: algorithms and architectures. Nature Switzerland AG, Springer, 1999.

Селиверстов Евгений Юрьевич — аспирант кафедры «Системы автоматизированного проектирования» МГТУ им. Н.Э. Баумана (Российская Федерация, 105005, Москва, 2-я Бауманская ул., д. 5, стр. 1).

Структурное согласование алгоритмов глобальной оптимизации. Просьба ссылаться на эту статью следующим образом:

Селиверстов Е.Ю. Структурное согласование алгоритмов глобальной оптимизации с архитектурой графических процессоров. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение, 2022, № 2 (139), с. 42-59. DOI: https://doi.org/10.18698/0236-3933-2022-2-42-59

STRUCTURAL MAPPING OF GLOBAL OPTIMIZATION ALGORITHMS TO GRAPHICS PROCESSING UNIT ARCHITECTURE

E.Yu. Seliverstov evgeny.seliverstov@omniverse.ru

Bauman Moscow State Technical University, Moscow, Russian Federation

Abstract

Graphics processing units (GPU) deliver a high execution efficiency for modern metaheuristic algorithms with a high computation complexity. It is crucial to have an optimal task mapping of the optimization algorithm to the parallel system architecture which strongly affects the efficiency of the optimization process. The paper proposes a novel task mapping algorithm of the parallel metaheuristic algorithm to the GPU architecture, describes problem statement for the mapping of algorithm graph model to the GPU model, and gives a formal definition of graph mapping and mapping restrictions. The algorithm graph model is a hierarchical graph model consisting of island parallel model and metaheuristic optimization algorithm model. A set of feasible mappings using mapping restrictions makes it possible to formalize GPU architecture and parallel model features. The structural mapping algorithm is based on cooperative solving of the optimization problem and the discrete optimization problem of the structural model mapping. The study outlines the parallel efficiency criteria which can be evaluated both experimentally and analytically to predict a model efficiency. The experimental section introduces the parallel optimization algorithm based on the proposed structural mapping algorithm. Experimental results for parallel efficiency comparison between parallel and sequential algorithms are presented and discussed

Keywords

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

Global optimization, task mapping, task scheduling, structural mapping, parallel systems, graphics processing units

Received 10.03.2022 Accepted 31.03.2022 © Author(s), 2022

REFERENCES

[1] Nvidia Ampere GA102 GPU architecture. nvidia.com: website. Available at: https://www.nvidia.com/content/PDF/nvidia-ampere-ga-102-gpu -architecture-whitepaper-v2.pdf (accessed: 10.09.2021).

[2] Kwok Y.K., Ahmad I. Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput. Surv., 1999, vol. 31, no. 4, pp. 406-471.

DOI: https://doi.org/10.1145/344588.344618

[3] Sinnen O. Task scheduling for parallel systems. New York, Wiley-Interscience, 2007.

[4] Hendrickson B., Kolda T.G. Graph partitioning models for parallel computing. Parallel Comput., 2000, vol. 26, no. 12, pp. 1519-1534.

DOI: https://doi.org/10.1016/S0167-8191(00)00048-X

[5] Chen S., Eshaghian M.M., Wu Y.C. Mapping arbitrary non-uniform task graphs onto arbitrary non-uniform system graphs. Proc. Int. Conf. on Parallel Processing, 1995, vol. 2, pp. 191-195.

[6] Berman F., Snyder L. On mapping parallel algorithms into parallel architectures. J. Parallel Distrib. Comput., 1987, vol. 4, no. 5, pp. 439-458.

DOI: https://doi.org/10.1016/0743-7315(87)90018-9

[7] Kirk D.B., Hwu W.W. Programming massively parallel processors. Morgan Kaufmann, Elsevier, 2013.

[8] Izzo D., Rucinski M., Ampatzis C. Parallel global optimisation meta-heuristics using an asynchronous island-model. IEEE CEC'09, 2009, pp. 2301-2308.

DOI: https://doi.org/10.1109/CEC.2009.4983227

[9] Lorion Y., Bogon T., Timm I.J., et al. An agent based parallel particle swarm optimization — APPSO. IEEE Swarm Intelligence Symp., 2009, pp. 52-59.

DOI: https://doi.org/10.1109/SIS.2009.4937844

[10] Seliverstov E.Y., Karpenko A.P. Hierarchical model of parallel metaheuristic optimization algorithms. Procedia Comput. Sc., 2019, vol. 150, pp. 441-449.

DOI: https://doi.org/10.1016/jj.procs.2019.02.075

[11] Skillicorn D.B., Talia D. Models and languages for parallel computation. ACM Comput. Surv., 1998, vol. 30, no. 2, pp. 123-169.

DOI: https://doi.org/10.1145/280277.280278

[12] Seliverstov E.Yu. [Graph models of GPU]. Sistemy komp'yuternoy matematiki i ikh prilozheniya. Mater. XVIII Mezhdunar. nauch. konf. [Systems of Computer Maths and their Application. Proc. XVIII Int. Sc. Conf.], 2007, pp. 117-119 (in Russ.).

[13] Messmer B.T., Bunke H. Efficient subgraph isomorphism detection: a decomposition approach. IEEE Trans. Knowl. Data Eng., 2000, vol. 12, no. 2, pp. 307-323.

DOI: https://doi.org/10.1109/69.842269

[14] Griva I., Nash S., Sofer A. Linear and nonlinear optimization. Philadelphia, SIAM, 2008.

[15] Li X., Tang K., Omidvar M.N., et. al. Benchmark functions for the CEC'2013 special session and competition on large-scale global optimization.

Available at: http://www.tflsgo.org/assets/cec2018/cec2013-lsgo-benchmark-tech-report.pdf (accessed: 10.09.2021).

[16] Kennedy J., Eberhart R. Swarm intelligence. Morgan Kaufmann, Elsevier, 2001.

[17] Parhami B. Introduction to parallel processing. Nature Switzerland AG, Springer, 1999.

Seliverstov E.Yu. — Post-Graduate Student, Department of Computer-Aided Design Systems, Bauman Moscow State Technical University (2-ya Baumanskaya ul. 5, str. 1, Moscow, 105005 Russian Federation).

Please cite this article in English as:

Seliverstov E.Yu. Structural mapping of global optimization algorithms to graphics processing unit architecture. Herald of the Bauman Moscow State Technical University, Series Instrument Engineering, 2022, no. 2 (139), pp. 42-59 (in Russ.). DOI: https://doi.org/10.18698/0236-3933-2022-2-42-59

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