УДК 004.75
ОЦЕНКА ЭФФЕКТИВНОСТИ МЕТОДОВ РЕШЕНИЯ ЗАДАЧИ ПЕРЕНОСА ВЫЧИСЛИТЕЛЬНОЙ НАГРУЗКИ В «ТУМАННОЙ» СРЕДЕ
И.Б. Сафроненкова, А.Б. Клименко
Рассмотрена проблема переноса вычислительной нагрузки в распределенных системах автоматизированного проектирования (РСАПР), функционирующих на базе концепции «туманных» вычислений, приведена ее формальная постановка. Описаны два подхода к решению данной задачи: на основе локальных групп устройств и на основе онтологического анализа. Целью данной работы является получение количественных оценок эффективности рассмотренных методов.
Ключевые слова: задача переноса вычислительной нагрузки, распределенные САПР, «туманная» среда, онтология.
В настоящее время повсеместное использование многопроцессорных систем обосновано возможностью решать задачи повышения производительности, надежности, получения высокого уровня достоверности вычислений за счет параллельной обработки информации [1]. В свою очередь, развитие Интернета Вещей (IoT) привело к необходимости поддержания мобильности и низкого времени отклика. Данным требованиям удовлетворяет концепция «туманных» вычислений, позволяющая сдвигать часть вычислительной нагрузки к «краю» сети и, таким образом, разгружать «облачный» сервер и снижать нагрузку на линии связи [2, 3]. Следовательно, решение задачи переноса вычислительной нагрузки в «туманной» среде становится необходимым условием эффективного функционирования многопроцессорных систем.
Задача переноса вычислительной нагрузки не нова и может быть сведена к классической задаче составления расписания и календарного планирования [4] или задаче упаковки прямоугольников в несколько полос (Multiple Strip Packing Problem) [5], которые имеют множество методов решения, выбор которых зависит от критерия оптимизации.
Поскольку «туманный» слой обладает такими характеристиками, как большая географическая распределенность и огромное количество вычислительных узлов, то проблема оптимального переноса вычислительной нагрузки становится нетривиальной, требующей разработки новых методов ее решения.
Формальная постановка задачи переноса вычислительной нагрузки. Приведем формальную поставку задачи переноса вычислительной нагрузки в «туманной» среде, описанной в работе [6].
Пусть дан граф вычислительной задачи G, с некоторой вычислительной сложностью подзадачи Xi и объемом информации Wi, передаваемой между подзадачами. Граф G разделен на два подграфа G' и G". Необходимо разместить подграф G' на вычислительные устройства (ВУ) сегмента сети P' «туманного» слоя, в то время, как вычислительные задачи подграфа G" продолжает исполняться на сегменте сети P" (рис. 1).
вычислительной нагрузки
156
Будем считать, что основным критерием при решении оптимизационной задачи переноса вычислительной нагрузки является надежность системы.
Рассмотрим графовое описание набора задач
G = {< i, Xi, Wi >}, (1)
где i - уникальный идентификатор вычислительной подзадачи; Xi - вычислительная сложность i-ой подзадачи; Wi - объем информации, передаваемый i-ой подзадачей в коммуникационную среду.
Вычислительные подзадачи графа G связаны с узлами вычислительных устройств из множества P. Причем P описывается графой структурой
P = {< j,Pj > list}, (2)
где j - идентификатор узла; p— производительность узла; list - матрица пропускной способности каналов связи между инцидентными узлами сети.
Теперь рассмотрим подграф вычислительных подзадач G', которые требуется перенести в то время, как вычислительные подзадачи подграфа G" продолжают свое исполнение. Между данными подграфами существует несколько информационных потоков. Потоки, связанные с подграфом G' могут быть описаны набором кортежей:
Flow_in = {< idout, idin, wout in >} - кортеж, описывающий количество информации, передаваемой между узлом G "idout и узлом G' idn от G" к G'.
Flow _ out = {< idin, idout, Win out >} - кортеж, описывающий количество информации, передаваемой между узлом G' idout и узлом G'' idin от G' к G".
Рассмотрим задачу размещения нагрузки. Пусть имеется подграф вычислительных задач G", связанный с P" , и Flowin, Flowout. Необходимо разместить вычислительные подзадачи подграфа G' на множестве устройств сети P' таким образом, что общее время выполнения вычислительных подзадач G меньше заданного времени T с учетом выполнения критерия надежности системы.
Решением поставленной задачи является установление связи между вычислительными подзадачами G' и вычислительными узлами P', которое может быть описано матрицей A:
A =
< %, uj >
< tNM, uNM >
(3)
где toi} - момент времени, когда начинается вычисление i-ой подзадачи j-м узлом; ui} - доля общей производительности pj заданного j-го узла для выполнения i-ой подзадачи.
Для дальнейшей разработки модели необходимо рассмотреть следующие параметры: Lp (A)- загрузка узла, порождаемая переносом вычислительной подзадачи на
узел; Ldist (A, Flow _in, Flow _ out)- загрузка узла, порождаемая обменом информации между подграфами G' и G''; Ltr (A,Flow _in,Flow _ out)- загрузка узла, порождаемая передачей информации через узел; D¡^ - список ребер графа P, который определяет маршрут между узлами ¡и k; ListD¡^ - матрица, описывающая пропускную способность каналов связи между узлами l и k.
Рассмотрим целевую функцию как набор значений функций надежности определенных узлов Ff.
Fj = e~1 jt, (4)
где Xt - интенсивность отказов j-го узла; t - время функционирования устройства. Поскольку
1 = 10 • 2DT/10, (5)
157
DT = kL (6)
где L- загрузка устройства; k - коэффициент, который зависит от типа устройства.
Тогда зависимость между функцией надежности и загрузкой описывается следующей формулой:
Л -kL/10
Fj = e-j0 2 . (7)
Загрузка устройства зависит от распределения вычислительных задач по ВУ, которые описываются матрицей A. Рассмотренные выше параметры должны быть включены в модель задачи: Lp (A), Ldist(A,Flow _in,Flow _out),
Ltr (A, Flow _ in, Flow _ out).
Таким образом, полная загрузка j-го ВУ описывается следующей формулой:
Lj = Lpj (A) + Ldistj (A, Flow _in, Flow_ out) + Ltrj (A). (8)
Главным ограничением для этой задачи является время исполнения T графа вычислительной задачи G, т. е. для:
x-
G = G'uG", "ie G:—^ + tdist(i) < T (9)
Pjuij
где tdist (i) - максимальное время доставки информации от i-ой подзадачи к подзадаче-получателю данных.
Поскольку модель рассматривает маршруты потока информации, tdist (i) описывается функцией:
tdist (i) = X(A, G, P). (10)
Более точно время доставки информации может быть вычислено на основе полной информации о подзадачах, назначаемых на вычислительные узлы с учетом параметров D^ и ListD^.
Рассмотрим сценарий, когда имеет место задача переноса вычислительной нагрузки в «туманной» среде в рамках функционирования РСАПР. Пусть имеется РСАПР, реализованная на базе концепции «туманных» вычислений. Будем считать, что сервер РСАПР расположен в «облаке». Предположим, что в процессе решения некоторой комплексной проектной задачи в РСАПР, возникает ситуация отказа одного из вычислительных узлов, расположенного на сервере, т.е. в облачном слое, и непосредственно участвующего в решении данной задачи. Таким образом, возникает необходимость переноса части вычислительной нагрузки с узла, вышедшего из строя, на другой вычислительный узел или множество узлов. Это предполагает решение оптимизационной задачи с определенными критериями и ограничениями по времени выполнения всего комплекса задач.
Далее по тексту авторы кратко описывают и проводят сравнительный анализ эффективности двух методов решения задачи переноса вычислительной нагрузки в «туманной» среде.
Метод решения задачи переноса вычислительной нагрузки на основе ЛГУ. В работе [6] был разработан метод решения задачи переноса вычислительной нагрузки с использованием локальных групп устройств (ЛГУ).
Под локальной группой устройств будем понимать множество устройств, которые:
взаимосвязаны между собой высокоскоростными каналами связи без транзи-торных узлов;
решают подзадачи общей вычислительной задачи G;
граничные устройства, входящие в состав одной ЛГУ, могут одновременно принадлежать соседним ЛГУ [7].
Идея данного метода заключается в формировании ограничений для оптимизационной задачи размещения вычислительной нагрузки, а именно на множество вычислительных устройств в режиме реального времени с использованием «локальной группы устройств». Данные ограничения позволяют сократить процесс перебора возможных вариантов решения задачи размещения, а значит, сократить время, необходимое для распределения процессов по доступным вычислительным узлам. Схема метода решения задачи переноса части вычислительной нагрузки с использованием ЛГУ изображена на рис. 2.
Определение лидера
Решение подзадачи 1
НЕТ ДА
Решение удовлетворяет?
Рис. 2. Схема метода решения задачи переноса части вычислительной нагрузки
с использованием ЛГУ
Подзадачи связываются с множеством ВУ
ЗС
Конец
18, (И)
Время, необходимое для получения результата в соответствии с описанным методом, может быть оценено следующим образом:
Тьоо = + X ^ + N¿5 у
Л=1 _
где а - коэффициент, связывающий время выбора узла-лидера и количество узлов; N-количество узлов, на которых изначально выполняется вычислительная задача; V - коэффициент, связывающий время обработки запросов и количество узлов, которые должны быть опрошены; Ь/ - размер ЛГУ для /-го запроса; N - количество задач, подлежащих к размещению; Б - количество итераций, необходимое для формирования ЛГУ с возможностью решить задачу; у - коэффициент, связывающий размер задачи переноса нагрузки и время ее выполнения; ^ - общее количество итераций.
Метод решения задачи переноса вычислительной нагрузки на основе онтологического анализа. Ключевая идея данного метода заключается в использовании онтологического анализа, который позволяет «отсеять» узлы, заведомо не отвечающие ресурсным требованиям, необходимым для переноса нагрузки.
Введем ряд определений.
Узел-кандидат - вычислительный узел, принадлежащий «туманному» слою, на который потенциально может быть перенесена часть нагрузки.
Узел-лидер - вычислительный узел, определенный процедурой выбора лидера из числа узлов, на которых изначально выполнялась вычислительная задача.
Опишем процедуру онтологического анализа подробнее.
Входными данными для онтологического анализа являются:
исходные данные переносимом задачи, а именно: класс параллельного алгоритма, реализуемого в РСАПР, модели распараллеливания алгоритмов и их параметры, способы разбиения моделей распараллеливания, регламентированное время выполнения алгоритма;
информация о вычислительных ресурсах узлов-кандидатов, а именно: производительность, загруженность, удаленность от узла-лидера.
Процедура онтологического анализа состоит из выполнения следующих этапов, отображенных на рис. 3 в виде схемы: поступление входных данных;
классификация совокупности входных данных в соответствии с классами предметной онтологии, отражающей информацию о переносимой задаче;
применение системы продукционных правил к классам онтологии с целью ограничения множества узлов, которое было получено в результате сбора сведений об имеющихся ресурсах узлом-лидером;
принятие решения о выборе ограниченного множества узлов для переноса вычислительной нагрузки [8].
ОНТОЛОГИЧЕСКИ й
АНАЛИЗ
Исходные данные Классификатор
переносимой
подзадачи
Применение
продукционных
правил к классам
Информация о онтологии
вы чис л нтел ьпых 1
ресурсах узлов- Принятие решения
кандидатов о выборе
ограниченного
множества узлов
для переноса
нагрузки
Рис. 3. Схема процедуры онтологического анализа
Реализацию метода на основе онтологического анализа концептуально можно представить в виде схемы, состоящей из пяти блоков, представленных на рис. 4.
Рис. 4. Концептуальная реализация метода решения задачи переноса части вычислительной нагрузки на основе онтологического анализа
Для реализации описываемого метода, в модели предметной онтологии должны быть отражена следующая информация: исходные данные о переносимой задаче (класс алгоритма, модель распараллеливания, способ разбиения, исходное размещение, регламентированное время выполнения алгоритма, параметры моделей распараллели-
вания) и информация о вычислительных ресурсах узлов-кандидатов (загруженность, производительность, удаленность от узла-лидера). Фрагмент разработанной модели онтологии приведен на рис. 5.
Рис. 5. Фрагмент разработанной предметной онтологии
Применение продукционных правил к разработанной модели онтологии позволяет осуществить логический вывод на основании знаний, отраженных в онтологии, и основных принципов распределения вычислительной нагрузки в гетерогенных средах.
Временная оценка метода на основе онтологического анализа имеет следующий вид:
Т0 = аЫ + кЕ + рЕ + уЫ{Е3, (12)
где N - количество узлов, на которых изначально выполнялась вычислительная задача; аЫ - время, необходимое для проведения процедуры выбора лидера; Е - количество узлов в «туманном» слое; кЕ - время, необходимое для опроса узлов с использованием алгоритмов опроса; РЕ - время, необходимое для проведения процедуры онтологического анализа; Е - количество узлов после процедуры онтологического анализа; уЫ^ - время, необходимое для поведения процедуры моделирования размещения задач N1 по узлам Ех. (алгоритмы составления расписаний) [9].
Количественная оценка эффективности методов. Для получения количественных оценок эффективности описанных выше методов решения задачи переноса вычислительной нагрузки разработан программный модуль, реализующий процедуру онтологического анализа [10] и проведены вычислительные эксперименты.
Первая серия экспериментов заключается в получении численных значений коэффициента «отсеивания» узлов-кандидатов при различных параметрах «туманной» среды, который определяется по формуле:
У = Е, (13)
где Е -количество доступных узлов-кандидатов для размещения нагрузки в «тумане»; Ея - количество узлов-кандидатов после проведения процедуры онтологического анализа; у - коэффициент «отсеивания» узлов-кандидатов после проведения процедуры онтологического анализа.
Для проведения экспериментов, необходимо ввести понятие «глубина туманного слоя». Под «глубиной» будем понимать максимальное расстояние от узла-лидера до узла-кандидата, расположенного в «тумане», которое измеряется числом транзиторных участков сети. Рассмотрим случаи для лежащей в интервале 2.. .5 тран-зиторных участков сети и для лежащей в интервале 2.30 транзиторных участков сети.
Результаты вычислительных экспериментов приведены в табл. 1 и отображены на рис. 6.
Таблица 1
Сравнение коэффициентов «отсеивания» узлов-кандидатов после проведения
процедуры онтологического анализа при различной глубине «туманного» слоя
Номер эксперимента Количество доступных узлов-кандидатов для размещения нагрузки в «тумане», ^ Количество узлов-кандидатов для размещения нагрузки в «тумане» после проведения процедуры онтологического анализа, 5 ) для £ в интервале 2.5 транзитных участков Количество узлов-кандидатов для размещения нагрузки в «тумане» после проведения процедуры онтологического анализа, 30 ) для £ в интервале 2.30 транзитных участков У для £ в интервале 2.5 транзитных участков У для С в интервале 2.30 транзитных участков
1 100 14 3 7,142857 33,33333
2 100 11 1 9,090909 100
3 100 15 3 6,666667 33,33333
4 100 8 2 12,5 50
1 2 3 4 5 6
5 100 17 3 5,882353 33,33333
6 100 14 3 7,142857 33,33333
7 100 15 2 6,666667 50
8 100 10 1 10 100
9 100 11 2 9,090909 50
10 100 21 2 4,761905 50
"Ф
|ф1
Рис. 6. Гистограмма сравнения коэффициентов «отсеивания» узлов-кандидатов после проведения процедуры онтологического анализа при различной глубине
«туманного» слоя
Из табл. 1 видно, что наибольшее значение коэффициента «отсеивания» при глубине «тумана» в интервале 2...5 транзитных участков получено в 4 эксперименте и равно 12,5, при глубине «тумана» в интервале 2.30 транзитных участков получено во 2 и 8 экспериментах и равно 100. При этом среднее значение коэффициента «отсеивания» при глубине «туманного» слоя в интервале 2.5 транзитных участков равно 7,89, а при глубине «туманного» слоя в интервале 2.30 транзитных участков равно 53,33. Таким образом, можно сделать вывод о том, что коэффициент «отсеивания» ^принимает более высокие значения при глубине «туманного» слоя, лежащей в интервале от 2...30 транзитных участков.
Следовательно, можно сделать вывод о том, что проведение онтологического анализа рационально и наиболее эффективно при больших значениях глубины «туманного» слоя.
Вторая серия экспериментов направлена на получение количественной оценки эффективности работы методов, описанных выше.
162
В качестве критерия эффективности рассмотрим время, необходимое на решение задачи переноса вычислительной нагрузки. Оценочная целевая функция будет иметь вид:
Д = Рн ~ Рк х100%, (14)
Ъ
где ¥н - начальное значение целевой функции; ¥к - конечное значение целевой функции; А - оценочная функция изменения времени, необходимого для решения задачи переноса вычислительной нагрузки в РСАПР.
Подставим полученные данные из табл. 1 в формулы 11, 12. Полученные значения отображены в табл. 2 и на рис. 7. При этом будем полагать, что каждая итерация в методе на основе ЛГУ соответствует одному транзитному участку в методе на основе онтологического анализа.
Таблица 2
Время работы алгоритма на основе онтологического анализа и на основе ЛГУ ___в различн ых условиях __
Номер эксперимента Количество доступных вычислительных узлов, ^ Время работы алгоритма на основе онтологии для глубины «туманного» слоя £ в интервале 2...5 тран-зиторных участков Время работы алгоритма на основе онтологии для глубины «туманного» слоя С 2.30 транзиторных участков Время работы алгоритма на основе ЛГУ для числа итераций 2.5 Время работы алгоритма на основе ЛГУ для числа итераций 2.30
1 100 3500 2400 4100 60100
2 100 3200 2200 6100 32400
3 100 3600 2400 2100 34300
4 100 2900 2300 10100 32400
5 100 3800 2400 6100 19300
6 100 3500 2400 8100 24100
7 100 3600 2300 2100 15500
8 100 3100 2200 8100 18300
9 100 3200 2300 10100 9700
10 100 4200 2300 10100 16600
Среднее время 3460 2320 6700 26270
Рис. 7. Гистограмма сравнения среднего времени, необходимого для реализации метода на основе онтологии (Т_оШ) и метода на основе ЛГУ (Т_^и)
в различных условиях
Для получения количественных значений оценочной функции (А) в процентах, используем данные из табл. 2 и подставим их в формулу 14. Полученные результаты приведены в табл. 3.
Таблица 3
Сравнение эффективности работы алгоритма на основе онтологического
анализа и на основе ЛГУ
А, % для столбцов 3 и 5 А, % для столбцов 4 и 5 А, % для столбцов 3 и 6 А, % для столбцов 4 и 6
48,36 65,37 86,83 91,17
Из табл. 3 видно, что метод на основе онтологического анализа эффективнее метода на основе ЛГУ. Наилучшее улучшение по времени принимает значение 91,17%.
Заключение. В работе проведены экспериментальные исследования, целью которых являлось получение количественных оценок методов решения задачи переноса вычислительной нагрузки в РСАПР в «туманной» среде. Для достижения данной цели были кратко описаны метод на основе ЛГУ и метод на основе онтологического анализа, приведены их временные оценки.
В первой серии экспериментов были получены количественные оценки коэффициента «отсеивания», среднее значение которых при глубине «тумана» от 2 до 30 транзиторных участков равно 53,33, что значительно превосходит среднее значение данного коэффициента при глубине «тумана» от 2 до 5 транзиторных участков, которое составляет 7,89. Следовательно, можно сделать вывод о том, что эффективность реализации метода на основе онтологии возрастает с увеличением глубины «туманного» слоя.
Вторая серия экспериментов заключалась в получении количественных оценок эффективности работы обоих методов с точки зрения времени, необходимого для их реализации. Результаты экспериментов показали, что улучшение по времени метода на основе онтологий составило 91,17% в сравнении с методом на основе ЛГУ.
Таким образом, можно говорить о целесообразности использования метода на основе онтологии для решения задачи переноса вычислительной нагрузки в РСАПР в «туманной» среде при определенных условиях.
Исследование выполнено при поддержке проектов РФФИ 18-05-80092, 18-2922093.
Список литературы
1. Хорошевский В.Г. Архитектура вычислительных систем. М.: МГТУ им. Н.Э. Баумана, 2008. 520 с.
2. Yi S., Li C., Li Q. A Survey of Fog Computing: Concepts, Applica-tions and Issues // Proc. 2015 Work. Mob. Big Data - Mobidata'15. 2015. P. 37-42.
3. Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are [Электронный ресурс]. URL: https://www.cisco.eom/c/dam/en us/solutions/ trends/iot/ docs/computing-overview.pdf (дата обращения: 28.07.2020)
4. Лазарев А.А., Гафаров Е.Р. Теория расписаний: задачи и алгоритмы. Московский государственный университет им. М.В. Ломоносова (МГУ), 2011. М., 2011. 222 с.
5. Brucker P., Knust S. Resource-Constrained Project Scheduling and Timetabling. In: Burke E., Erben W. (eds) Practice and Theory of Automated Timetabling III. PATAT 2000. Lecture Notes in Computer Science. Vol. 2079. Springer, Berlin, Heidelberg.
6. Melnik E., Klimenko A. A workload distribution problem model and online constraint forming technique for the control systems in the fog-computing environment. Journal of Physics: Conference Series. 2019. 1333. 042014.
7. Мельник Э.В., Клименко А.Б., Иванов Д.Я. Модель задачи формирования сообществ устройств информационно-управляющих систем в средах туманных вычислений // XIII Всероссийское совещание по проблемам управления ВСПУ-2019. Тула: Тульский государственный университет, 2018. Вып. 2. С. 2979 - 2984.
8. Klimenko A.B., Safronenkova I.B. (2019) A Technique of Workload Distribution Based on Parallel Algorithm Structure Ontology. In: Silhavy R., Silhavy P., Prokopova Z. (eds) Intelligent Systems Applications in Software Engineering. CoMeSySo 2019 2019. Advances in Intelligent Systems and Computing, vol 1046. Springer, Cham.
9. Klimenko A.B., Safronenkova I.B. The comparative estimation of workload relocation approaches in the fog- and edge- computing environments // Journal of Physics: Conference Series. 2019. Vol. 1399.
10. Свидетельство о государственной регистрации программы для ЭВМ 2020616523 Российская Федерация. Модуль онтологического анализа для распределенной системы автоматизированного проектирования / И. Б. Сафроненкова, Э. В. Мельник, В. М. Курейчик; заявители и правообладатели Федеральное государственное бюджетное учреждение науки «Федеральный исследовательский центр Южный научный центр Российской академии наук» (ЮНЦ РАН), Сафроненкова Ирина Борисовна. No 2020614892; заявл. 18.05.2020; опубл 18.06.2020. 1 с.
Сафроненкова Ирина Борисовна, младший научный сотрудник, safronenkova050788@yandex.ru, Россия, Ростов-на-Дону, Южный научный центр Российской академии наук,
Клименко Анна Борисовна, канд. техн. наук, старший научный сотрудник, anna klimenkoamail.ru, Россия, Таганрог, Научно-исследовательский институт многопроцессорных вычислительных систем им А.В. Каляева, Южный Федеральный Университет
THE EFFICIENCY EVALUATION OF WORKLOAD RELOCATION PROBLEM SOLVING METHODS IN «FOG-COMPUTING» ENVIRONMENT
I.B. Safronenkova, A.B. Klimenko
A workload relocation problem in distributed CAD systems based on «fog-computing» concept was discussed in this paper. The formal statement of a workload relocation problem was presented. Two approaches to workload relocation problem solving were considered: a method based on local group devices and a method based on ontological analysis. The goal of the current work is to get a quantitative evaluation of these methods.
Key words: workload relocation problem, distributed CAD systems, «fog-computing» environment, ontology.
Safronenkova Irina Borisovna, junior research fellow, safronenko-va050 788@yandex. ru, Russia, Rostov-on-Don, The Southern Scientific Center of the Russian Academy of Sciences,
Klimenko Anna Borisovna, candidate of technical sciences, senior research fellow, anna klimenkoa mail. ru, Russia, Taganrog, Research Institute of Multiprocessor Computation Systems n.a. A. V. Kalyaev, Southern Federal University