УДК 519.168; 519.687
МЕТОД РАЗМЕЩЕНИЯ ЗАДАЧ ИНФОРМАЦИОННО-УПРАВЛЯЮЩИХ СИСТЕМ В СРЕДАХ ТУМАННЫХ И КРАЕВЫХ
ВЫЧИСЛЕНИЙ
Э.В. Мельник, А.Б. Клименко, В.В. Клименко
Представлен метод размещения задач современных информационно-управляющих систем в средах туманных и краевых вычислений. Метод включает решение адаптированной к особенностям современных парадигм распределенных вычислений задачи распределения вычислительной нагрузки с формированием ограничений на пространство поиска в процессе функционирования системы. Также рассмотрены и проанализированы возможные модели формирования ограничений для задачи путем применения различных стратегий построения множеств вычислительных узлов.
Ключевые слова: туманные вычисления, краевые вычисления, распределение вычислительной нагрузки, оптимизация, сообщества вычислительных устройств.
Введение. В настоящее время концепция облачных вычислений становится недостаточной по причине интенсивного роста объемов информации, циркулирующей в сети Интернет. Согласно данным, приведенным в [1], объем информации, циркулирующей в Интернете в 2016г. составлял примерно 2*10А21 байт, и продолжает увеличиваться и в настоящее время, чем способствует концепция «Интернета вещей». В 2012г. компанией Cisco была предложена концепция «туманных» вычислений [2], которая является расширением облачной парадигмы. Помимо этого, распространение получила концепция «краевых» вычислений (edge computing), активно исследуемая и внедряемая многими организациями, в том числе, Cisco [3]. Столь повсеместное внедрение новых парадигм распределенных вычислений приводит к тому, что программные компоненты информационно-управляющих систем, ранее, например, располагающиеся в пределах облачных сервисов, могут быть перемещены в «туманный» слой или даже на «край» сети, например, при необходимости разгрузки устройств, или в случае отказов одного или нескольких «облачных узлов» [4]. При этом, если в «облачном» слое номенклатура вычислительных ресурсов еще обладает статичностью, а каналы связи между ними обладают достаточной пропускной способностью, то при переходе в «туманный» слой вычислительная среда приобретает следующие особенности:
- гетерогенность каналов связи;
- большое число вычислительных узлов (ВУ), где потенциально могут быть размещены вычислительные задачи (если не ставится дополнительное условие, к примеру, не выходить за пределы текущего «туманного» домена);
- динамичность вычислительной среды (чем ближе к краю сети, тем она выше).
В таких условиях решение задачи распределения вычислительной нагрузки в классической постановке [5,6,7] становится затруднительным по следующим причинам:
- необходимо учитывать характеристики каналов связи и географическую удаленность ВУ, на которых размещаются задачи, поскольку этот параметр непосредственно влияет на время выполнения множества переносимых задач;
- отсутствие заранее сформированного множества узлов для размещения вычислительной нагрузки может привести к существенному увеличению объема пространства поиска решений и. следовательно, к увеличению объема вычислений, необходимых для получения приемлемого по качеству результата;
- динамика состава «туманного» слоя и «края» сети делают затруднительным и нецелесообразным предварительное описание возможных конфигураций системы с потенциальными перемещениями вычислительных задач.
Таким образом, задача распределения вычислительной нагрузки должна решаться непосредственно в процессе процедуры перемещения нагрузки и должна решаться так быстро, насколько это возможно, потому что слишком долгий поиск решений недопустим для систем, функционирующих в режиме реального времени.
Метод, предлагаемый в данной работе, базируется на сокращении времени решения задачи распределения вычислительной нагрузки за счет введения ограничений на размер пространства поиска и формирования таким образом ограничений для решаемой задачи непосредственно перед ее решением.
Последующие разделы статьи содержат:
- краткое описание модели задачи распределения вычислительной нагрузки в среде туманных и краевых вычислений;
- описание способа формирования ограничений на пространство поиска решений задачи;
- модели взаимодействия ВУ при формировании ограничений;
- заключение.
1. Модель задачи распределения вычислительной нагрузки в среде туманных и краевых вычислений.
Несмотря на достаточно широкий круг работ, предлагающий формальные постановки задач распределения вычислительной нагрузки, часть из которых опирается на модели двумерной упаковки [8,9], а часть - на модели составления расписаний [6,10], среди них не представлены формальные модели задач, которые бы учитывали такие параметры вычислительной среды, как:
- гетерогенность каналов связи;
321
- большое число ВУ, где потенциально могут быть размещены вычислительные задачи;
- динамичность вычислительной среды.
Это делает актуальной формирование новой модели задачи, адаптированной к условиям сред туманных и краевых вычислений.
Граф G представляет собой описание комплекса информационно связанных подзадач, которые должны быть решены:
G = {< i, xt, wi >},
где i - идентификатор подзадачи; xt - вычислительная сложность задачи; wi - объем данных, передаваемых i-й задачей в коммуникационную среду.
При этом изначально задачи G привязаны к узлам множества P, где P также описывается графовой структурой
P = {< j, p} > list},
где j - идентификатор узла; pj - производительность узла; list - матрица,
определяющая пропускную способность каналов связи между смежными узлами сети.
Предположим, что вычислительная нагрузка, соответствующая подграфу G' должна быть перемещена, в то время как подзадачи, соответствующие подграфу G'', что составляет разность между G и G', остается для выполнения на прежних местах (рисунок). При этом между подграфами G' и G'' остаются информационные связи между подзадачами, которые, относительно перемещаемого графа G'' могут быть описаны в виде множеств кортежей следующего вида:
Flow _in = {< idout, idm, wout in >} - это множество кортежей, каждый из
которых описывает объемы передаваемых данных между внешним по отношению к G' узлом idout и принадлежащим G' узлом idin .
Flow _ out = {< idm, idut, wnn out >} - это множество кортежей, каждый из
которых описывает объемы передаваемых данных между внутренним узлом id in и принадлежащим G'' узлом idout .
Р'
Схема размещения задач по вычислительным узлам
322
Сформулируем задачу следующим образом: имея G'' прикрепленным к P'', а также Flow_in, Flow_out, необходимо разместить G' по P' таким образом, чтобы время решения G укладывалось в отведенный период Т, и при этом достигался максимум целевой функции (за которую в рамках данной работы принимается вероятность безотказной работы (ВБР)], 7=1..М, где М - число узлов в Р', является примером ЦФ). Решением описываемой задачи будет являться закрепление подзадач G' за Р', в виде матрицы А:
A =
< $, uij >
< t0 , uNM >
где tJ0 - момент времени начала выполнения задачи i узлом j; utj - доля
производительности pj, выделяемая узлом j для решения задачи i.
Отметим, что в рамках данной модели допускается выполнение одним узлом нескольких задач, что некоторым образом расширяет классическую модель составления расписаний [11].
Для того, чтобы произвести размещение подграфа G' по ограниченному подграфу P' с учетом особенностей систем туманных вычислений и ВБР устройств, необходимо, помимо Flow in и Flowout, ввести следующие дополнительные параметры:
Lp (A) - загруженность, порождаемая решением распределенными
на узел вычислительными задачами;
Ldist (A, Flow _ in, Flow _ out) - загруженность, порождаемая необходимостью устройства принимать данные для выполнения закрепленных на нем задач, и передавать данные в вычислительную среду в рамках G' и непосредственно в G'';
Ltr (A, Flow _in, Flow_ out) - загруженность, порождаемая транзи-
торной передачей данных через узел;
Dlk - данный параметр содержит список ребер P, определяющий маршрут между узлами l и k;
ListDlk - матрица, определяющая пропускные способности каналов связи между узлами l и k соответственно.
Пусть в качестве ЦФ выбираются ВБР некоторых устройств, которые могут быть приоритетны. Обозначая ВБР j через Fj, получим равенство следующего вида:
Fj = , jt,
где Xj - интенсивность отказов j-го устройства на этапе стационарного функционирования; t - время функционирования устройства.
Поскольку
X X 2AT/10 X = X0'2 ,
а
AT = kL,
где L - загруженность устройства; k - коэффициент пропорциональности и зависит от типа устройства, получим зависимость ВБР устройства от его загруженности:
X 2kL /10
Fj = eX j0 '2 .
Загруженность устройства, в свою очередь, зависит от способа распределения задач, определяемого матрицей А и включает следующие компоненты:
Lp (A) - загруженность, порождаемая решением распределенными
на узел вычислительными задачами;
Ldist (A, Flow _ in, Flow _ out) - загруженность, порождаемая необходимость устройства принимать данные для выполнения закрепленных на нем задач, и передавать данные в вычислительную среду в рамках G' и непосредственно в G'';
Ltr (A) - загруженность, порождаемая транзиторной передачей данных через узел;
Таким образом, суммарная загруженность устройства j, продуцируемая выполняющимися на нем задачами, будет иметь вид:
Lj = Lpj (A) + Ldistj (A, Flow _ in, Flow _ out) + Ltrj (A).
Подставляя полученное выражение загруженности устройства в выражение ВБРj, получим ЦФ для одного устройства. В случае необходимости оптимизации ВБР нескольких устройств, формируется векторная ЦФ.
Основным ограничением в рамках данной работы принимается ограничение на время выполнения всего комплекса задач, т.е.: Для
х-
G = G'uG'', Vi е G +1^(i) < T,
pjuij
где tdist (i) - максимальное время доставки данных от задачи i к задачам-приемникам информации.
Поскольку в модели задачи учитываются такие параметры, как маршруты передачи информации между задачами, привязанными к узлам, параметр tdist (i) вычисляется при помощи функционала, реализующего расчет времени передачи информации задаче-приемнику, расположенной на произвольном узле:
tdist (i) = 4( A, G, P),
324
т.е. времена доставок информации вычисляются на основе полной информации о размещении подзадач относительно друг друга и с использованием параметров Dlk и LisЮlk.
2. Формирование ограничений на пространство поиска решений задачи
Вполне очевидно, что для решения поставленной задачи должно быть задано множество ВУ P', однако, в соответствии с особенностями туманного и краевого слоя сети задание такого множества на этапах проектирования системы не представляется целесообразным. Поэтому в данной работе предлагается формирование сообществ ВУ, которые и составят инициирующее множество ВУ для размещения нагрузки. Будем при этом полагать, что изначально граф задач размещен по ВУ в соответствии с основными положениями концепции туманных и краевых вычислений, а именно: интенсивные входящие потоки данных обрабатываются в непосредственной близости от их источников.
Под сообществом ВУ будем понимать такие ВУ, на которых расположены задачи, составляющие связанный информационный граф.
Под локальной группой ВУ будем понимать такие ВУ, которые объединены высокоскоростными каналами связи.
При этом в случае необходимости перемещения вычислительной нагрузки производится следующая последовательность действий:
1. Выбирается один или несколько из узлов из числа составляющих локальные группы с ВУ из P'', на которых остались задачи, не подлежащие переносу.
2. Всем ВУ, составляющим локальную группу с первоначально выбранными узлами, предлагается сформировать сообщество для решения комплекса задач.
3. Если ВУ не входит ни в одно сообщество, он не может отклонить приглашение. Если ВУ входит в другие сообщества, он может принять или отклонить приглашение на основе анализа имеющихся ресурсов.
4. Когда сообщество сформировано, для него решается задача распределения вычислительной нагрузки (здесь возможны варианты параллельного решения с идентичными параметрами, параллельного решения с различными параметрами, выборы лидера и назначение лидером задач другим ВУ и т.д.)
При этом возможны следующие варианты:
1. Сформировано сообщество. Далее решается задача размещения задач. Если получено решение удовлетворительного качества, то задачи размещаются в соответствии с полученным вариантом размещения.
2. Сформировано сообщество, но задача размещения не может быть решена или же решения получаются неудовлетворительного качества в силу отсутствия достаточных вычислительных ресурсов. При этом сообщество расширяется путем добавления в него тех ВУ, которые входят в локальную группу с ВУ текущего состава сообщества.
3. Сообщество не может быть сформировано по причине отсутствия узлов с достаточными ресурсами, входящими в локальную группу. В этом случае предлагается также сформировать сообщество из ВУ, которые входят в локальные группы с ВУ несформированного сообщества.
3. Модели взаимодействия вычислительных узлов при формировании ограничений
Рассмотрим модели взаимодействия ВУ в процессе формирования ограничения на их множество.
Централизованная модель. В качестве узла, осуществляющего рассылку приглашений для других ВУ в сообщество, выбирается единичный узел, составляющий локальную группу с одним из узлов, на которых размещены задачи из G''. Достоинством такой модели является рациональное использование ресурсов, недостатком - повышается вероятность неудачного сообщества и низкая отказоустойчивость.
Реплицированная модель. При перераспределении вычислительной нагрузки выбирается некоторое количество узлов, принимающих решение. Пусть это будет п+1 узлов, при допущении, что возможно п неудачных попыток сформировать сообщество либо же не решить задачу распределения нагрузки. Узлы выбираются не только в локальной группе устройства, с которого производится перемещение вычислительной нагрузки, но могут принадлежать и другим локальным группам. Такой подход аналогичен подходу, используемому в параллельной стохастической оптимизации, когда каждый поисковый процесс инициируется с различной начальной точки поиска, что повышает шансы на нахождение лучшего решения.
1. Выбранные узлы, принимающие решение, обмениваются друг с другом информационными сообщениями о своем статусе «формирующего сообщество».
2. Предпринимается попытка сформировать сообщество. Если часть реплицированных «формирующих сообщество» узлов не преуспело в формировании сообщества, больше попытки не предпринимаются;
3. Предпринимается попытка размещения задач по узлам.
4. Если более одного сообщества успешно разместило задачи для решения, то «формирующие сообщество» узлы производят выборы лидера [12,13] и далее лидер позволяет сообществу отправлять результаты решения задач в соответствии с информационными связями в графе задач. Сообщества, где формирующий узел не является лидером, также решают задачи, но данные не отправляют, по сути, представляя собой горячий резерв.
5. Формирующие сообщество узлы обмениваются сообщениями типа пульс. Если текущий лидер не функционирует более, выбирается новый лидер из числа оставшихся функционирующих.
Децентрализованная модель. В отличие от двух представленных выше методов, при децентрализованном формировании сообществ отсутствует узел, формирующий сообщество и принимающий решение о том,
326
где размещать комплекс подзадач. Децентрализованное формирование предполагает либо наличие «досок объявлений», либо избыточную рассылку подзадач с описанием структуры подграфа и требований к потенциальному исполнителю и избыточный обмен результатами промежуточных вычислений между всеми участниками формирующегося сообщества.
Рассмотрим подход, использующий «доску объявлений».
Будем полагать, что доска объявлений является распределенной и полностью реплицированной в пределах сети, т.е. при модификации доски объявлений поддерживается полная консистентность данных.
Все узлы системы периодически обращаются к доске объявлений, считывая данные. В случае, когда появляется новое объявление о необходимости разместить на решение комплекс информационно связанных подзадач, все свободные узлы, или обладающие достаточной производительностью для добавления новых задач, обращаются к новому объявлению. Возможны варианты различных стратегий распределения задач.
«Жадная» стратегия. Достоинством данной стратегии [14,15] является относительно малое время получения результата. Однако, хорошо известно, что использование жадных стратегий поиска не гарантирует нахождение оптимального решения, и более того, возможны варианты, когда в результате использования «жадных» алгоритмов задача становится неразрешима в силу несоответствия установленным ограничениям. Функцией оценки эффективности того или иного узла в при формировании сообщества является значение ВБР с учетом нагрузки на передачу данных от задач-источников.
Для реализации формирования сообщества ПУ в соответствии с «жадной» стратегией необходимо выполнение следующих шагов:
1. Кандидат в сообщество выполняет расчет функции эффективности, считывая первую задачу предлагаемого к решению комплекса.
2. Отправляет результат всем узлам-кандидатам.
3. Принимает результаты расчетов от прочих узлов, претендующих на участие в решении задачи.
4. Из списка полученных решений выбирается лучшее. Все прочие узлы должны принять лучшее распределение и таким образом задача отдается на выполнение тому узлу, который выполнит ее с наилучшим значением функции эффективности.
5. Если среди кандидатов на выполнение задачи более одного результата с одинаковым значением функции оценки эффективности, проводится голосование. Задача отдается тому узлу, за который проголосовало большинство (N/2+1).
6. После того, как задача закреплена за узлом, осуществляется рассылка узлам-кандидатам, разрешающая осуществить выбор следующей задачи.
7. Когда все задачи из предлагаемого комплекса закреплены за узлами, сообщество считается сформированным.
Стратегия, использующая стохастический поиск. Одной из перспективных альтернатив детерминированным методам поисковой оптимизации является оптимизация стохастическая, включающая такие методы, как имитация отжига, генетические алгоритмы, случайный поиск, поиск в возвратом и др.
Для осуществления формирования сообщества ПУ для решения комплекса задач необходимо осуществить следующие шаги.
Кандидат в формируемое сообщество должен:
1. Считать с «доски объявлений» описание комплекса задач.
2. При помощи одного из алгоритмов стохастического поиска произвести решение распределения задач по кандидатам в сообщество.
3. Когда решение получено, разослать его по кандидатам в сообщество, решающим идентичную задачу.
4. Получить решения от других кандидатов.
5. Произвести ранжирование решений по критерию надежности участников сообщества.
6. Выбрать наилучший результат, разослать по кандидатам в формируемое сообщество.
7. Если существует более одного результата расчетов ЦФ, итоговый результат определяется большинством голосов.
8. Осуществляется рассылка выбранного результата по всем кандидатам в сообщество. Те узлы, за которыми не закреплено ни одной задачи, не входят в формируемое сообщество.
Заключение
В данной статье рассмотрен вопрос решения задачи распределения вычислительной нагрузки в ИУС, функционирующих в средах туманных или краевых вычислений. Учитывая особенности этих вычислительных сред, таких как:
- гетерогенность и географическая распределенность каналов связи,
- большое число ВУ, где потенциально могут быть размещены вычислительные задачи;
- динамичность вычислительной среды,
формирование пространств поиска решений задачи распределения нагрузки не представляется целесообразным. По этой причине множество узлов, для которых возможно решение задачи распределения нагрузки, должно определяться в процессе функционирования системы.
В данной статье предложены метод и модели размещения задач информационно-управляющих систем в среде туманных и краевых вычислений. Новизна метода заключается в решении задачи размещения подзадач ИУС, адаптированной для сред туманных и краевых вычислений с формированием ограничения на множество ВУ в процессе функционирования системы. Также предложены модели формирования сообществ ВУ для дальнейшего распределения вычислительной нагрузки.
328
Исследование выполнено при поддержке проектов РФФИ 18-2903229, 17-08-01605.
Список литературы
1. Насколько велик интернет? // Вебсайт Habr [Электронный ресурс]. URL: https://habr.com/ru/company/asus/blog/368853/ (дата обращения: 11.01.2019).
2. Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are // Cisco, Affiliates. (2015) [Электронный ресурс]. URL: https://www.cisco.eom/c/dam/en us/solutions/trends/iot/docs/computing-overv iew.pdf. (дата обращения: 11.01.2019).
3. Linthicum D. Edge computing vs. Fog computing: definitions and enterprise uses // [Электронный ресурс]. URL: https://www.cisco.com/c/en/us/ solutions/ enterprise-networks/edge-computing.html (дата обращения: 11.01.2019).
4. Vasileios Moysiadis, Panagiotis Sarigiannidis, Ioannis Moscholios. Towards Distributed Data Management in Fog Computing // Wireless Communications and Mobile Computing, 2018. Vol. 2018. Article ID 7597686. 14 p.
5. Барский А.Б. Параллельные процессы в вычислительных системах. Планирование и организация // «Радио и связь». М., 1990.
6. Pinedo M.L. Scheduling: Theory, algorithms, and systems. Fifth edition // Springer, 2016. 554 p. DOI: 10.1007/978-3-319-26580-3.
7. Martello S. Toth, P., Knapsack problems: Algorithms and computer implementations // John Wiley and Sons, Chichester, UK.
8. Dell'Amico M., Diaz J.C.D. Iori M. The Bin Packing Problem with Precedence Constraints // Operations Research, 2012. Vol. 60. P 1491 - 1504. DOI: 10.1287/opre.1120.1109.
9. Da Silveira J. L. M., Xavier E. C., Miyazawa F. K. Two-dimensional strip packing with unloading constraints // Discrete Applied Mathematics, 2014 DOI: 10.1016/j.dam.2013.08.019.
10. Hartmann S., Briskorn D. A survey of variants and extensions of the resource-constrained project scheduling problem // European Journal of Operational Research, 2010. DOI: 10.1016/j.ejor.2009.11.005.
11. Sha L. et al. Real time scheduling theory: A historical perspective // Real-Time Systems, 2004. DOI: 10.1023/B:TIME.0000045315.61234.1e.
12. Charron-Bost B., Mattern F., Tel G. Synchronous, asynchronous, and causally ordered communication // Distributed Computing, 1996. DOI: 10.1007/s004460050018.
13. Tel G. Introduction to distributed algorithms // Cambridge University Press, 2012 [Электронный ресурс] URL: https://doi.org/10.1017/CBO978113 9168724 (дата обращения: 05.01.2019).
14. Curtis S.A. The classification of greedy algorithms // Department of Computing, Oxford Brookes University [Электронный ресурс] URL: https://core.ac.uk/download/pdf/82042073.pdf (дата обращения: 05.02.2019).
15. Bird R. S. Two greedy algorithms // Journal of Functional Programming, 1992. DOI: 10.1017/S0956796800000368.
Мельник Эдуард Всеволодович, д-р техн. наук, главный научный сотрудник, evm17@mail.ru, Россия, Ростов-на-Дону, Южный научный центр Российской академии наук,
Клименко Анна Борисовна, канд. техн. наук, старший научный сотрудник, anna_klimenko@mail.ru, Россия, Таганрог, Научно-исследовательский институт многопроцессорных вычислительных систем им. акад. А.В. Каляева ЮФУ,
Клименко Владислав Валерьевич, канд. техн. наук, научный сотрудник, anna_klimenko@mail.ru, Россия, Таганрог, Научно-исследовательский институт многопроцессорных вычислительных систем им. акад. А. В. Каляева ЮФУ
INFORMATION AND CONTROL SYSTEM COMPUTATIONAL TASKS DISTRIBUTION
TECHNIQUE IN THE EDGE- AND FOG-COMPUTING ENVIRONMENTS
E.V. Melnik, A.B. Klimenko, V.V. Klimenko
In the current paper the contemporary information and control system computational task distribution technique for the fog- and edge-computing environments is presented. The technique includes the modified problem model, adapted to the up-to-date distributed computation paradigms peculiarities, and the search space forming approach, which is conducted during the system functioning stage. Besides, some computational units communities models forming strategies are considered.
Key words: fog-computing, edge-computing, workload distribution, optimization, computational units communities.
Melnik Eduard Vsevolodovich, doctor of technical sciences, leader research fellow, evml 7@mail. ru, Russia, Rostov-on-Don, Southern Scientific Center of the Russian Academy of Sciences;
Klimenko Anna Borisovna, candidate of technical sciences, senior research fellow, anna_klimenko@mail. ru, Southern Federal University, Russia, Taganrog, Scientific Research Institute of multiprocessor computing systems;
Klimenko Vladislav Valerievich, candidate of technical sciences, research fellow, anna_klimenko@mail. ru, Russia, Taganrog, Scientific Research Institute of multiprocessor computing systems