Институт Государственного управления, Главный редактор - д.э.н., профессор К.А. Кирсанов
права и инновационных технологий (ИГУПИТ) тел. для справок: +7 (925) 853-04-57 (с 1100 - до 1800)
Покусин Николай Викторович
Pokusin Nikolay Viktorovich в/ч 61608, г.Москва military unit 61608, Moscow сотрудник / officer E-Mail: [email protected]
05.13.06 «Автоматизация и управление технологическими процессами и производствами (по отраслям)»
Балансировка нагрузки распределенной гетерогенной вычислительной системы в условиях априорной неопределенности о характере
входного потока заявок
Load balancing in distributed heterogeneous computing system with a priori indefinite input stream nature
Аннотация: В статье представлен подход балансировки нагрузки в распределенной гетерогенной вычислительной системе в условиях априорной неопределенности о характере входного потока заявок, основанный на использовании направленных ациклических графов для планирования выполнения работ. Указанный подход малочувствителен к выбору способа назначения весов вершинам и дугам графа. Представлен способ учета нагрузки, создаваемой отдельными заявками пользователей, позволяющий предсказывать высвобождение ресурсов. Краткосрочный прогноз загруженности вычислителей используется для эффективной балансировки нагрузки.
The Abstract: The article presents an approach of load balancing in distributed heterogeneous computing system with a priori indefinite input stream nature, based upon usage of directed acyclic graphs for task scheduling. Specified approach is not sensitive to approach followed to assign weights of the nodes and edges of graph. A method of accounting of payload made by separate user calls, permitting to forecast resources release, is presented. Short-term computers load prediction is used for effective load balancing.
Ключевые слова: Балансировка нагрузки, гетерогенный, направленный ациклический граф, неопределенность, входной поток.
Keywords: Load balancing, heterogeneous, directed acyclic graph, indeterminacy, input
stream.
Введение
В работе рассматривается проблема балансировки нагрузки распределенной гетерогенной вычислительной системы в условиях априорной неопределенности о характере входного потока заявок пользователей на пакетную обработку данных. Каждая заявка предполагает выполнение вычислителями ряда типовых работ, часть из которых может выполняться независимо, а часть - в заданном порядке. Закон распределения интервала поступления заявок неизвестен. Примером такой системы может служить облачный вычислитель, работающий с множеством пользователей, решающих разнородные задачи. В отличие от достаточно хорошо изученных систем обработки однотипных запросов, для которых входной поток заявок пользователей может быть описан одним из известных законов
Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Интернет-журнал «НАУКОВЕДЕНИЕ» №3 2013
Главный редактор - д.э.н., профессор К.А. Кирсанов тел. для справок: +7 (925) 853-04-57 (с 1100 - до 1800) Опубликовать статью в журнале - http://publ.naukovedenie.ru
распределения (например, закон Пуассона для web-сайтов электронной коммерции [1]), в системе облачных вычислений даже в случае известных законов распределения интервалов поступления заявок от каждого пользователя суммарный поток заявок обычно сложно поддается математическому описанию, и любое упрощение может вести к неадекватным результатам.
В таком случае целесообразно выделение вычислительных ресурсов для обработки заявок пользователей производить независимо для каждой заявки, учитывая при этом текущую загруженность вычислителей, занятых обработкой ранее поступивших заявок, и производя краткосрочный прогноз загрузки на основе сведений о составе и вычислительной сложности обрабатываемых пакетных заданий.
Модель заявки в виде направленного ациклического графа
Удобно представить заявку на пакетную обработку данных в виде направленного ациклического графа (в англоязычной литературе Directed Acyclic Graph - DAG) [3]. Вершины графа соответствуют отдельным работам, выполняемым в ходе обработки заявки, а дуги указывают последовательность работ. Граф имеет одну вершину-исток - работу по формированию исходных данных для обработки пакетной заявки. Будем также считать, что граф имеет одну вершину-сток - заключительную работу по формированию результата обработки. Пример описанного графа представлен на рисунке 1. Заявка содержит N = 9 работ. Вес вершин графа определяет стоимость выполнения работ, вес ребер графа -стоимость передачи данных с выхода одной работы на вход другой работы. Стоимость выполнения каждой работы удобно выразить в условных единицах - временных сложностях выполнения абстрактной элементарной работы. Аналогичным образом в условных единицах можно выразить временную стоимость передачи данных между любыми двумя работами.
Рис. 1. Пример представления заявки в виде направленного ациклического графа
Институт Государственного управления, Главный редактор - д.э.н., профессор К.А. Кирсанов
права и инновационных технологий (ИГУПИТ) тел. для справок: +7 (925) 853-04-57 (с 1100 - до 1800)
Рассмотрим гетерогенную распределенную систему обработки данных, состоящую из М разнородных вычислителей, соединенных в единую вычислительную среду. Под разнородностью понимается наличие у вычислителей разного количества ресурсов. Будем считать, что для такой системы экспертным путем определена временная сложность выполнения элементарной задачи на каждом вычислителе и передачи элементарной задачи между любыми двумя вычислителями. Таким образом, зная стоимость каждой из N работ пакетного задания в условных единицах, можно оценить время ее выполнения на конкретном вычислителе и время передачи между любыми двумя вычислителями.
Задача планирования обработки заявки заключается в такой упаковке работ из вершин графа на вычислители, которая не нарушит их последовательности и обеспечит минимальное время выполнения.
Гибридный способ планирования обработки заявки, представленной в виде
направленного ациклического графа
Изучению проблемы решения задач, представленных в виде направленных ациклических графов, посвящено множество работ. Известны подходы с группировкой узлов в кластеры и назначением кластеров вычислителям [2], приоритетной обработкой критических путей, обработкой графа по уровням [4].
Поскольку вычислительная среда гетерогенна, то для каждой работы продолжительность её выполнении на каждом конкретном вычислителе различна, поэтому вес вершины графа может быть назначен различным образом - как средняя продолжительность, минимальное значение, максимальное значение, медианное значение и так далее. В [5] показано, что различные способы назначения весов вершинам и дугам графа ведут к различным результатам планирования обработки данных.
В [6] предложен гибридный способ ранжирования вершин направленного ациклического графа с целью разбивки их на группы работ, выполнение которых затем может быть спланировано независимо друг от друга. Достоинством этого способа является меньшая по сравнению с известными альтернативами чувствительность к способу назначения весов узлам и дугам графа заявки.
На вход планировщика поступает граф заявки (изначально невзвешенный), матрица W (1) и четырехмерный массив Т (2).
W =
^1
wNM.
,і = 1..щ = 1..М
(1)
Т = (1укг),і = 1..^ = 1..Щ ф і,к = 1..М,г = 1..М (2)
Матрица W задает стоимость выполнения каждой из N работ на каждом из М вычислителей. Массив Т задает стоимость передачи данных между каждой парой работ, объединенных дугой в графе заявки, для всех комбинаций вычислителей, на которых эти работы могут выполняться (для задач, которые выполняются на одном вычислителе,
Институт Государственного управления, Главный редактор - д.э.н., профессор К.А. Кирсанов
права и инновационных технологий (ИГУПИТ) тел. для справок: +7 (925) 853-04-57 (с 1100 - до 1800)
стоимость передачи равна 0).
Планирование обработки осуществляется в три этапа:
1. ранжирование;
2. группировка;
3. планирование в группах.
На этапе ранжирования с использованием матрицы W и массива Т каждой вершине и дуге графа назначается вес (стоимость выполнения или передачи соответственно), рассчитываемый как средняя величина по всем вычислителям (для вершин) или доступным парам вычислителей (для дуг). С использованием назначенных весов производится восходящее (от стока к истоку графа) ранжирование вершин, при этом для 1-й вершины ранг определяется по формуле 3.
соединяющей узлы і и _].
На втором этапе вершины сортируются в порядке убывания их рангов и разбиваются на группы по следующему алгоритму. Вершина с максимальным рангом добавляется в группу
0. Последующие вершины в порядке убывания рангов добавляются в ту же группу, пока они не связаны дугой в графе. Как только обнаруживается такая связь, вершина с наименьшим рангом образует новую группу, номер которой равен номеру предыдущей группы, увеличенному на 1. Цикл добавления вершин в группу повторяется с начала до тех пор, пока все вершины не будут разбиты по группам.
Результатом второго этапа является набор упорядоченных групп работ, при этом работы в каждой группе являются независимыми. Группы имеют предопределенный приоритет, основанный на ранжировании узлов графа. Группа с номером 0 обладает наивысшим приоритетом.
На третьем этапе расписание выполнения работ составляется путем рассмотрения всех групп работ в порядке возрастания номера с применением какого-либо способа планирования внутри группы, для чего рассчитывается матрица ближайших временных моментов возможного начала выполнения работ на вычислителях ББТ (4)
(3)
где Ш^- вес вершины 1, Б! - множество дочерних узлов узла 1, Су - вес дуги,
ББТ =
(4)
Институт Государственного управления, Главный редактор - д.э.н., профессор К.А. Кирсанов
права и инновационных технологий (ИГУПИТ) тел. для справок: +7 (925) 853-04-57 (с 1100 - до 1800)
В (5) FTj - время, к которому вычислитель j завершит выполнение всех работ предыдущих групп, а ETTjj - время, к которому все данные, необходимые для выполнения
работы i на вычислителе j, станут доступны (здесь учитывается временная стоимость перемещения работ с одного вычислителя на другой).
Предлагается использовать способ планирования выполнения работ в группе BMCT (Balanced Minimum Completion Time - сбалансированное минимальное время завершения), описанный также в [6]. Планирование проводится в два этапа. На первом этапе производится исходное распределение работ по вычислителям - каждая работа назначается вычислителю, обеспечивающему минимальное время выполнения. Распределение производится с учетом производительности вычислителей (количества вычислительных ресурсов). После исходного назначения на каждом вычислителе работы сортируются в порядке рассчитанных значений EST. В результате работы выстраиваются в порядке, обеспечивающем минимальное суммарное время их выполнения.
На втором этапе проводится оптимизация исходных назначений. В случае если перенос какой-либо работы с вычислителя с максимальным временем завершения назначенных работ позволяет сократить полное время обработки заявки пользователя, производится переназначение соответствующей работы.
Применение гибридного способа планирования обработки заявки для
балансировки нагрузки на распределенный вычислитель
Вышеописанный способ планирования обработки пакетного задания, представленного в виде направленного ациклического графа, может быть применен для балансировки нагрузки на распределенную гетерогенную вычислительную систему в условиях априорной неопределенности о характере входного потока заявок пользователей на пакетную обработку данных. Планирование обработки каждой заявки происходит независимо от остальных заявок непосредственно в момент её поступления.
Заявки пользователей поступают в очередь балансировщика нагрузки и выбираются из нее согласно дисциплины FIFO (First In, First Out - «первым пришёл - первым ушёл»). Для планирования обработки каждой заявки применяется описанный в предыдущем разделе подход. Отсутствие априорной информации о законе распределения моментов поступления заявок на вход балансировщика и их вычислительной сложности не позволяет предварительно резервировать вычислительные ресурсы под выполнение новых задач, однако при балансировке нагрузки учитывается текущая загруженность вычислителей уже обрабатывающимися задачами. Для этого в ходе выполнения обоих этапов процедуры BMCT в качестве производительности исполнительных элементов системы берутся не абсолютные величины вычислительных ресурсов, а их свободная часть с учетом загруженности текущими задачами. Кроме того, производится краткосрочное прогнозирование высвобождения ресурсов с применением расчетных значений EST для всех работ, выполняющихся на вычислителях. Например, из временной диаграммы загрузки вычислителя, представленной на рисунке 2, видно, что в момент времени tl объем вычислительных ресурсов, доступных для выделения под выполнение работ вновь поступившей заявки, равен полному объему ресурсов за вычетом ресурсов, необходимых для выполнения работ 2, 3 и 4, а в момент t2 - за вычетом ресурсов для выполнения работы 5.
Институт Государственного управления, права и инновационных технологий (ИГУПИТ) Интернет-журнал «НАУКОВЕДЕНИЕ» №3 2013
Главный редактор - д.э.н., профессор К.А. Кирсанов тел. для справок: +7 (925) 853-04-57 (с 1100 - до 1800) Опубликовать статью в журнале - http://publ.naukovedenie.ru
Рис. 2. Упрощенная временная диаграмма загрузки вычислителя
Для і-й работы на ]-м вычислителе момент завершения (и, таким образом, высвобождения ресурсов) определяется выражением 6:
йу = Wij + шах(Е8Ту, j), (6)
где Wij- стоимость выполнения работы из (1), Е8Ту- момент начала выполнения работы (5), а - момент завершения предыдущей выполняемой работы из того же
пакетного задания.
Заключение
В работе рассмотрено применение гибридного способа планирования обработки пакетных задач, представимых в виде направленных ациклических графов, в распределенной гетерогенной вычислительной системе в условиях априорной неопределенности о характере входного потока заявок. Выбранный способ планирования, основанный на методике ВМСТ, позволяет минимизировать чувствительность механизма планирования к способу назначения весов узлам графа заявки.
Показано, что учет загруженности вычислителей текущими заданиями и краткосрочный прогноз высвобождения вычислительных ресурсов на основе составленных планов выполнения работ позволяет эффективно распределять вычислительные ресурсы для решения вновь поступающих задач. Это делает возможным использование рассмотренного способа планирования для балансировки нагрузки на распределенный вычислитель.
Вопросы применения представленного подхода для решения задач с относительными и абсолютными приоритетами требуют углубленного изучения.
Институт Государственного управления, Главный редактор - д.э.н., профессор К.А. Кирсанов
права и инновационных технологий (ИГУПИТ) тел. для справок: +7 (925) 853-04-57 (с 1100 - до 1800)
ЛИТЕРАТУРА
1. Ворожцов А.С., Тутова Н.В. Повышение финансовой пропускной способности
центров обработки данных в сети Интернет // Естественные и технические науки. 2008. - №6. - с. 262-266.
2. Cirou B., Jeannot E. Triplet: A clustering scheduling algorithm for heterogeneous
systems // International Conference on Parallel Processing Workshop, 2001. - p.231-236.
3. Dipanshu Agrawal, Heera Lal Jaiswal, Ishan Singh, Chandrasekaran K. An
Evolutionary Approach to Optimizing Cloud Services // Computer Engineering and Intelligent Systems. 2012 - Vol.3,No.4. - p. 47-54.
4. Iverson M., Ozguner F., Follen G. Parallelizing existing applications in a distributed
heterogeneous environment // IPPS 95, Proceedings of the Heterogeneous Computing Workshop. 1995. - p.93-100.
5. Zhao H., Sakellariou R. An experimental investigation into the rank function of the
heterogeneous earliest finish time scheduling algorithm // Euro-Par. 2003. - p.189-194.
6. Zhao H., Sakellariou R. A Hybrid Heuristic for DAG Scheduling on Heterogeneous
Systems // Proceedings of 13th Heterogeneous Computing Workshop (HCW 2004).
2004.
Рецензент: Конищев Анатолий Николаевич, генеральный директор ЗАО «ПАСИТ» (117914, г. Москва, Ленинский проспект, д.51), кандидат технических наук.