Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt О задаче делегирования нагрузки высокопроизводительных вычислительных комплексов в распределенные сети Г.И. Евтушенко, К.В. Иванов, А.Б. Новиков ФГУП «Всероссийский научно-исследовательский институт автоматики им. Н.Л.Духова» Предлагается стратегия объединения высокопроизводительных вычислительных комплексов и гетерогенных неотчуждаемых ресурсов компьютерного парка пред- приятия, которая позволяет сократить временные издержки при ожидании вы- числительных задач в очереди и, таким образом, повысить качество сервиса. Предложена формализация планирования параллельных заданий в контексте де- легирования нагрузки высокопроизводительных вычислительных комплексов в грид-системы с неотчуждаемыми ресурсами. Разработана архитектура системы управления заданиями на основе виртуализации. Ключевые слова: распределенные вычисления, вычислительный грид, неотчуж- даемые ресурсы, параллельные вычисления, алгоритмы планирования. 1. Введение В различных сферах деятельности промышленных предприятий, занимающихся научно- исследовательскими и опытно-конструкторскими работами (НИОКР), присутствует множе- ство ресурсоемких задач, требующих интенсивных вычислений с использованием специа- лизированных параллельных и распределенных прикладных приложений. Необходимость в сложных расчетах обуславливает потребность в большом количестве вычислительных ре- сурсов. Российские федеральные ядерные центры (РФЯЦ) для проведения подобных рас- четов оборудуются высокопроизводительными вычислительными комплексами. При этом парк персональных компьютеров не используется в выполнении научных и технических расчетов, отличаясь значительным временем простоя ресурсов. Для указанных предприятий подходящей областью, позволяющей утилизировать вы- числительные ресурсы, являются вычисления в слабосвязанных гетерогенных неотчужда- емых ресурсах. Сети из подобных ресурсов принято называть грид-системой. Идея эф- фективного использования компьютерного парка промышленных предприятий состоит в задействовании большой суммарной производительности узлов с малой средней загрузкой. Это позволит снизить нагрузку на суперкомпьютер и повысить качество сервиса, сократив время постановки задачи на расчет. Таким образом, прогнозируя загрузку всего высоко- производительного вычислительного комплекса как единого целого, можно сделать вывод о том, когда следует делегировать нагрузку из суперкомпьютера в грид. Подобное делегиро- вание нагрузки необходимо в те моменты, когда высокая нагрузка смогла бы парализовать очередь заданий. Одной из проблем в использовании ресурсов парка персональных компьютеров пред- приятия заключается в том, что компьютеры могут присоединяться и отсоединяться от сети в произвольные моменты времени. Помимо этого парк персональных компьютеров существенно неоднороден [1] как по типам ресурсов, так и по программному обеспечению. Задача эффективного выполнения параллельных программ на грид-системах с неот- чуждаемыми ресурсами не имеет универсального решения. Область взаимодействия грид- системы и суперкомпьютера рассматривается либо со стороны использования существую- щих суперкомпьютеров для выполнения задач грид-систем [2], либо со стороны объединения нескольких суперкомпьютеров в грид-систему. К подобному состоянию вопроса приводят 505 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt задержки во взаимодействии удаленных узлов, предъявляющих требования к максимально- му разбиению задачи на независимые части с высокой вычислительной мощностью [1]. Мы предполагаем, что широкое использование аппарата прогнозирования позволит решать па- раллельные задачи в распределенных средах состоящих из ресурсов компьютерного парка предприятия. Под гетерогенной средой будем понимать ресурсы суперкомпьютера и компьютерного парка предприятия. Эффективность использования ресурсов напрямую зависит от успеш- ности решения задачи планирования в гетерогенной среде. Требования сокращения вре- менных издержек на решение прикладных задач, упрощения процедуры сопровождения распределенных систем обработки данных в существующих условиях обосновывают акту- альность разработки новых методов планирования задач в распределенных системах обра- ботки данных [4]. 2. Планирование параллельных и распределенных задач в грид с неотчуждаемыми ресурсами На данный момент существует направление по расширению вычислительных ресурсов кластера за счет внешних ресурсов. Одним из решения является добавление вычислитель- ных ресурсов из публичного облака в кластер на нужное время. При этом, не требуется изменение метода планирования распределения заданий, рабочего окружения, интерфейса работы с суперкомпьютером и т.д. В масштабе промышленных предприятий существует возможность использования уже приобретенных вычислительных ресурсов, избегая допол- нительных затрат на облачные технологии. Также стоит отметить прочие ограничения на проведение расчетов в сторонних коммерческих организациях, связанных со спецификой режимных предприятий. Таким образом, одним из решений задачи делегирования нагруз- ки суперкомпьютера является использование незадействованных ресурсов персональных компьютеров пользователей. Существующие работы по управлению заданиями в неотчуж- даемом гриде делятся на два типа. Первые рассматривают грид с неотчуждаемыми некла- стеризованными ресурсами, но при этом модель не учитывает возможность обработки па- раллельных приложений [3]. Вторые отличаются методами планирования которые гаран- тируют только факт запуска параллельного расчета [5]. Применение методов, полученных в работе [3], затруднено ввиду отсутствия возможности запуска параллельных расчетов с суперкомпьютера на грид-системе. В свою очередь, интеграция работы [5] не эффек- тивна по критерию времени расчета, так как отключение персонального компьютера, на котором проводился расчет параллельного приложения, приведет к завершению работы всего параллельного приложения. Необходима разработка нового метода управления за- даниями, направленного на повышение вероятности выполнения параллельного расчета в грид-системе с неотчуждаемыми гетерогенными ресурсами. 3. Математическая модель предметной области Функцию назначения задач T на узлы обработки N в соответствии с методом плани- рования f можно представить в виде черного ящика: f (T, N ) = W где t \in T задачи из очереди, n \in N узлы обработки, w \in W элемент матрицы назначения, являющейся результатом планирования заданий. Элементы матрицы назначения: 506 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt \left( \right) w11 w12 ... w1cn w21 w22 ... w2cn W = .. .. .. .. . . . . wct 1 wct 2 . . . wct cn где ct - количество задач в очереди cn - количество доступных узлов,описываются как: \left\{ 0 если задание i не назначено на узел j wij = aopt если задание i назначено на узел j где aopt является конфигурация задачи приводящей к минимуму целевой функции. Подобное описание позволяет пользователю указать несколько вариантов конфигурации запуска его приложения. Вычислительный узел описывается как: n = (fr1 , fr2 , . . . , frn ) где frn - функция распределения вероятности доступности ресурса, выражающаяся как: th \bigcup fri : \{ G, L\} \rightarrow \{ (\BbbN , \BbbQ )t1 . . . (\BbbN , \BbbQ )tm \} t где m - максимальное количество сервис-слотов для данного ресурса данного узла, th - горизонт прогнозирования. Под сервис-слотом здесь понимается атомарное количество ресурса. Для CPU под сервис-слотом может пониматься ядро, для RAM - 128 Мб памяти. Таким образом fri представляет собой отображение глобального состояния грид-системы и локального состояния узла на набор вероятностей доступности определенного количества сервис-слотов на th интервалов прогноза. Тут G - вектор глобального состояния грид-среды, L - вектор локального состояния узла-обработчика. Данная функция приобретает смысл только в момент планирования, так как существенно зависит от задачи. Система планиро- вания, работая над созданием матрицы назначения W , «примеряет» задачи на доступные узлы. Так в векторе локального состояния узла появляются такие элементы как Tsub и Twall , соответствующие прогнозируемому времени постановки задачи на расчет и време- ни отведенному пользователем на расчет данной задачи. В качестве примера рассмотрим ограничение выделенного на расчет времени в системе с отчуждаемыми ресурсами: frt (G, L) = (Tsub + Twall - t, 1.0) где Tsub \in L, Twall \in L, t \in G, а единица означает что узел-обработчик не будет вы- ключен до завершения расчета. При подобной постановке поведение задачи на даном узле может дополнительно характеризоваться разрывами этой линейной функции. Обработка заданий предполагается пакетной (централизованной), при этом распределению подверга- ются сами функции распределения вероятности доступности ресурса. Обобщая функцию frt до характеристики доступных сервис-слотов времени на расчет задач в системах с неотчуж- даемыми ресурсами, можно дополнить ее аппаратом прогнозирования завершения работы узла. Таким образом, используя в планировании функцию th \bigcup frt = \{ (1, fprt (1))t , . . . , (m, fprt (m))t \} t 507 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt где fprt соответствующая функция прогнозирования доступности количества сервис- слотов типа t (например [8]), m - максимально возможное для данного узла количество сервис-слотов этого типа. Т.о. можно запрашивать у узла зависимость распределения до- ступных ресурсов от момента времени. Важным является то, что данные о максимальном количестве сервис-слотов определенных типов инкапсулированы непосредственно на узле- обработчике. Задачу было решено представить в виде набора функций требований к ресурсам: t = \{ freq0 , freq1 , . . .\} Таким образом, была заложена возможность учета динамики требований к ресурсам. Обоб- щенное описание требования к ресурсам включает стандартные константные описания, т.е. они выражаются константными функциями. Задача планирования представлена в виде многокритериальной оптимизации min( - fp , fc ) т.е. максимизации функции вероятности завершения задачи на узлах fp и минимизации функции ресурсных затрат fc . Функции fp и fc являются интегральными для всего плана (матрицы W ) и участвуют непосредственно в функции соответствия (Fitness Function). Функция ресурсных затрат оперирует матрицей ресурсных затрат \left( \right) c11 c12 . . . c1cn c21 c22 ... c2cn C= .. .. .. .. . . . . cct 1 cct 2 . . . cct cn элементы которой c \in \BbbN показывают суммарное количество простаивающих сервис-слотов при определенном распределении задач по узлам. Функция fp в свою очередь опериру- ет матрицей вероятностей элементы которой pij равны вероятности, которую возвращает ресурсная функция узла j для всех типов запрашиваемых задачей ресурсов. При этом, в случае, если запрошенное количество сервис-слотов больше теоретически доступного на узле - возвращается 0. Таким образом достигается повышение вероятности завершения параллельно прило- жения на распределенных вычислительных сетях с неотчуждаемыми ресурсами. Метод планирования максимизирует вероятность успешного завершения расчета на всех выделен- ных для него узлах в условиях ресурсной динамики, динамики требований и позволяет децентрализовать аппарат прогноза, поручив каждому узлу прогнозировать свою ресурс- ную динамику. Касаемо построения архитектуры системы на базе прогнозирования, стоит отметить, что в некоторых работах [8, 9] отмечается, возможная эффективность систем мо- ниторинга вычислительных систем, основанных на нейросетевой базе. 4. Архитектура системы делегирования нагрузки ВВК в грид- системы Базовыми требованиями к архитектуре системы являются: гибкость; простота масшта- бирования; отказоустойчивость. Архитектура должна отвечать нормам информационной безопасности. Система управления заданиями разделена на 3 части (рисунок 1). PyGrid-Server – сер- вер, занимающийся планированием выполнения задания в гетерогенной вычислительной 508 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt сети с неотчуждаемыми ресурсами. По результатам планирования сервер передает или снимает задания с узлов-обработчиков. PyGrid-Client – ПО, с помощью которого проис- ходит взаимодействие с системой PyGrid. Обеспечивает функционал добавления, удаление и мониторинга статуса задачи. В предлагаемом прототипе системы, данная подпрограм- ма также служит для получения результата расчета. PyGrid-Agent – ПО, работающее на устройстве-обработчике. Отвечает за получение, выполнение и перенаправление вывода вы- полняющихся задач. В предлагаемой архитектуре клиент не обязательно является узлом обработчиком. Дан- ное решение позволяет в будущем обеспечивать межгрупповые расчеты, организуя иерар- хии вычислительных сетей и избегая при этом простоя их вычислительных ресурсов. Рис. 1. Диаграмма пакетов Клиентское приложение PyGrid-Client работает непосредственно с базой данных очере- ди заданий, с которой потом общается сервер. При использовании данного подхода отпадает необходимость в фоновом режиме работы сервера системы – PyGrid-Server. Это позволяет не только снизить количество кода, но и нагрузку на узел выполняющий роль сервера. При этом на SQL сервер перекладывается ответственность за безопасность системы. Указанная архитектура (рисунок 1) является инфраструктурой для виртуальной сре- ды. Через взаимодействие с Zabbix сервером происходит выбор соответствующего узла- обработчика, образ виртуальной машины (ВМ) и ее конфигурации. В разработанном про- тотипе системы функционал контроля виртуальной среды вынесен в отдельный сервис. После копирования, разворачивания и запуска виртуальной машины сервер планирования считает виртуальную машину обычным вычислительным узлом. Подобный механизм позво- ляет не только организовать среду, минимизирующую влияние на машины пользователей, но и позволит сохранить инфраструктуру суперкомпьютера, не перекомпилируя приложе- ния для каждой архитектуры и ОС на которой возможен запуск. Примечательной является работа [7] в которой предложен подход к построению вычислительного грида основанного на комбинации классических виртуальных машин уровня ОС (VMs) и промежуточных ме- ханизмов управления в распределенной среде. В работе [7] даются качественные аргументы свидетельствующие о целесообразности применения подобного подхода в плане безопасно- сти, изоляции, настройки, контроля версий и управления ресурсами, а также предоставили количественные результаты исследования производительности. 509 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt 5. Заключение Предложенная постановка задачи планирования позволяет, с одной стороны, абстраги- роваться от конкретных методов моделирования поведения узлов грид-системы, с другой – организовать инфраструктуру, располагающую к исследованию динамики грид-системы методами анализа данных, что достигается за счет абстрагирования от типов ресурсов и оперирования полями вероятностей. Показана возможность построения системы, учитыва- ющей ресурсную динамику, что особенно важно в грид-системах с неотчуждаемыми ресур- сами. Управляя ресурсами виртуальной машины или учитывая заряд источника беспере- бойного питания, мы можем существенно повысить вероятность выполнения параллельных приложений в грид-системах. Разработан прототип системы управления заданиями, ко- торый, в отличие от существующих технологий, позволяет реализовать рассматриваемую стратегию объединения суперкомпьютера и грид-системы с неотчуждаемыми ресурсами. Основные результаты данной работы: \bullet Задача планирования заданиями представлена как многокритериальная оптимизация; \bullet Разработана математическая модель планирования параллельных и распределенных заданий в контексте делегирования нагрузки суперкомпьютера в грид-системы, учиты- вающая динамику вычислительных ресурсов; \bullet Разработана архитектура системы планирования параллельных и распределенных за- даний в грид-системах с неотчуждаемыми некластеризованными ресурсами; \bullet Разработан и реализован прототип виртуальной среды, системы управления заданиями и системы планирования. Литература 1. Воеводин В.В. Решение больших задач в распределенных вычислительных средах // Автоматика и Телемеханика. 2007. № 5. С. 32-45. 2. Демичев А.П., Ильин В.А., Крюков А.П. Введение в грид-технологии. Москва: Изд-во НИИЯФ МГУ, 2007. 87 с. 3. Березовский П.С. Управление заданиями в гриде с некластеризованными ресурсами. Москва, 2011, 128 с. 4. Голубев И.А. Планирование задач в распределенных вычислительных системах на основе метаданных. СПб, 2014, 136 с. 5. Коваленко В.Н., Коваленко Е.И., Корягин Д.А., Семячкин Д.А. Управление параллельными заданиями в гриде с неотчуждаемыми ресурсами // Препринты ИПМ № 63, Москва, 2007, 28 с. 6. Youcef Derbal. A Probabilistic Scheduling Heuristic for Computational Grids // Multiagent and Grid Systems 2006 vol: 2 (1) pp: 45-59 7. Figueiredo R, Dinda P.A. (2003). A Case For Grid Computing On Virtual Machines // In Proceedings of the 23rd ICDCS, p. 550. 8. Евтушенко Г.И. Сравнительный анализ применения искусственной нейронной сети прямого распространения и рекуррентной нейронной сети в задаче прогноза загрузки вычислительных ресурсов // ITIPM’2015, vol: 1 pp: 5-9, Ufa, Russia, 2015. 9. Иванов К.В. Система мониторинга с прогнозированием ошибок // Параллельные вычислительные технологии (ПаВТ’2013). 2013. С. 592. 510 Параллельные вычислительные технологии (ПаВТ’2016) || Parallel computational technologies (PCT’2016) agora.guru.ru/pavt A high-performance computing systems workload delegation to grids G.I. Evtushenko, K.V. Ivanov, A.B. Novikov FSUE All-Russia Research Institute of Automatics High-performance computing systems and heterogeneous dynamic enterprise computers resources combining strategy is offered. It allows to reduce job waiting time in queue. Parallel tasks scheduling formalization in context of high-performance computing systems workload delegation to the grid-systems with dynamic resources is offered. The job management system architecture based on virtualization is developed. Keywords: distributed computing, grid computing, dynamic resources, parallel computing, scheduling algorithms References 1. Voevodin V.V. Reshenie bol’shikh zadach v raspredelyennykh vychislitel’nykh sredakh [Large problems solving in distributed computing environments] // Avtomatika i Telemekhanika [Automation and Remote Control]. 2007, P. 32-45. 2. Demichev A.P., Il’in V.A., Kryukov A.P. Vvedenie v grid-tekhnologii [Introduction to grid technologies]. Izd-vo NIIYaF MGU, 2007. 87 p. 3. Berezovskiy P.S. Upravlenie zadaniyami v gride s neklasterizovannymi resursami [Job control in nonclustered resources grid], 2011. 128 p. 4. Golubev I.A. Planirovanie zadach v raspredelyennykh vychislitel’nykh sistemakh na osnove metadannykh [Job scheduling in metadata based distributed computing systems based]. SPb, 2014. 136 p. 5. Kovalenko V.N., Kovalenko E.I., Koryagin D.A., Semyachkin D.A. Upravlenie parallel’nymi zadaniyami v gride s neotchuzhdaemymi resursami [Parallel jobs management in grid with dynamic resources], 2007. 28 p. 6. Youcef Derbal. A Probabilistic Scheduling Heuristic for Computational Grids // Multiagent and Grid Systems 2006 vol: 2 (1) pp: 45-59 7. Figueiredo R, Dinda P.A. (2003). A Case For Grid Computing On Virtual Machines // In Proceedings of the 23rd ICDCS, p. 550. 8. Evtushenko G.I. Sravnitel’nyy analiz primeneniya iskusstvennoy neyronnoy seti pryamogo rasprostraneniya i rekurrentnoy neyronnoy seti v zadache prognoza zagruzki vychislitel’nykh resursov [Comparative analysis of feedforward artificial neural networks and recurrent neural networks use in computing resources load forecasting problem] // The 3rd International Conference on Intelligent Technologies for Information Processing and Management (ITIPM’2015), vol: 1, Ufa, Russia, 2015. 9. Ivanov K.V. Sistema monitoringa s prognozirovaniem oshibok [Monitoring system with the error prediction] // Parallel’nye vychislitel’nye tekhnologii (PaVT’2013)[Parallel Computational Technologies (PCT’2013)], 2013. P. 592. 511