Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ Метод планирования ресурсов в распределенной гетерогенной системе и исследование его практической реализации С.В. Минухин 1 , С.В. Баранник2 , С.В. Знахур1 , Р.И. Зубатюк3 , А.В. Соболев 2 Харьковский национальный экономический университет, пр. Ленина. 9-а, Харьков, Украина Институт сцинтилляционных материалов НАН Украины, пр. Ленина, 60, Харьков, Украина 3 ГНУ «НТК «Институт монокристаллов»» НАН Украины, пр. Ленина, 60, Харьков, Украина 1 2 ms_vl@mail.ru, svbarannik@gmail.com, sergznakhur@mail.ru, roman@xray.isc.kharkov.com, sobolev@isma.kharkov.ua Аннотация. Рассмотрена процедура планирования в распределенной гетерогенной системе на основе использования метода о наименьшем покрытии. Обоснованы преимущества метода по сравнению с методом FCFS на основе полученных и проанализированных результатов вычислительных экспериментов. Приведен вариант добавления кода предлагаемого алгоритма и адаптация программного кода планировщика MAUI. Ключевые слова Гетерогенная система, планирование, ресурс, MAUI, метрики производительности, наименьшее покрытие, FCFS, интенсивность, сложность. 1 Введение Эксплуатация современных Грид-систем связана с необходимостью повышения их производительности. Она определяется такими характеристиками, как загруженность ресурсов, время выполнения всех заданий на имеющихся ресурсах, время завершения выполнения наиболее поздних заданий и т.д. Поскольку существует тенденция к увеличению количества гетерогенных вычислительных кластеров и заданий с дифференцированной сложностью решения, актуальным является использование более тонкой настройки процедур планирования, которая позволит эффективно «упаковать» задания на ресурсы с одной стороны, а с другой – обеспечить высокую загрузку всех ресурсов. Это может быть достигнуто путем использования эвристических алгоритмов планирования и дополнительных компонент (модулей) в самом механизме планирования ресурсов распределенной системы. Планировщики распределенных систем (Грид) являются ключевыми компонентами в взаимосвязанной информационно-коммуникационной среде. Особенности архитектуры Грид, роль планировщиков (брокеров) ресурсов и вопросы балансировки загрузки ресурсов рассмотрены в работах [1 – 4]. В гетерогенных распределенных системах (Грид) используются различные политики и стратегии работы планировщиков, в основе которых лежат online (немедленный) и offline (пакетный) режимы обработки заданий [5 – 9]. Как правило, сравнивают эффективность различных алгоритмов планирования в рамках единого механизма планирования распределенной системы. В случае же сравнения результатов работы различных систем планирования, оценки эффективности планировщиков не всегда являются корректными и сопоставимыми, что требует проведения дополнительных исследований. Известно, что в условиях высокой интенсивности потоков заданий и гетерогенности распределенной системы используемые алгоритмы (например, FCFS) не являются достаточно эффективными, а более предпочтительными являются методы пакетных режимов обработки заданий [10, 11]. Целью данной работы является обоснование эффективности работы метода планирования на основе задачи о покрытии по сравнению с распространенным методом FCFS и возможность его практической реализации в существующих планировщиках. Для достижения поставленной цели решаются следующие задачи: анализ статистических закономерностей значений метрик производительности (эффективности) распределенной системы, выявленных в процессе использования предлагаемого метода и механизма планирования заданий в распределенной гетерогенной системе; -247- Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ анализ влияния изменения интенсивности и характеристик потока поступающих в систему заданий; проведение сравнительного анализа предлагаемого метода и FCFS; исследование возможности добавления нового метода планирования в MAUI. Для планирования загрузки ресурсов заданиями в данной работе предлагается использовать механизм, работа которого детально описана в [12]. Данный механизм планирования представляет собой ядро Workload Management System (WMS), а именно – службу распределения заданий (Resource Broker, RB). Основным типом запросов к WMS являются запросы на выполнение заданий. Задачей WMS является поиск (discovery) оптимального ресурса для выполнения конкретного задания на основании описания задания на языке JDL и информации о доступных на момент планирования ресурсах (selection). Наличие соответствующих ресурсов для конкретного задания зависит не только от состояния ресурсов, но также и от политики их использования, которой придерживаются администраторы ресурса или виртуальной организации. В настоящее время, для планировщика (брокера) ресурсов используются различные стратегии при распределении заданий по ресурсам (например, push-model или pull-model). В предложенном механизме планирования предлагается использовать стратегию, т.е., пакетное планирование осуществляется на доступные ресурсы, и при этом задания могут находиться в планировщике до тех пор, пока какой-либо ресурс не освободится, после чего освободившемуся ресурсу выделяется наиболее подходящее задание (allocation). Рассмотрим ситуацию, когда службы, выполняющие мониторинг заданий, перезапуск заданий, мониторинг состояния ресурсов, уже имеются в кластерной системе и не являются компонентами механизма планирования. Согласно рассматриваемому подходу [12], задания из глобальной очереди заданий с определенной периодичностью (inter arrival time) и интенсивностью поступают в пул, представляющего собой фактически пакет заданий определенного размера. Пул является стеком для временного хранения и последующего планирования заданий на ресурсы. Размер пула определяется в зависимости от максимальной интенсивности поступающих заданий (если размер пула меньше количества поступающих заданий, то будет создана дополнительная очередь уже на входе самой системы). Задания из пула выгружаются через промежутки времени, определяемые периодичностью планирования, в блок планирования, в котором реализован алгоритм планирования (используется быстрый, имеющий малую погрешность эвристический алгоритм решения задачи о наименьшем покрытии [13]). Время планирования (трудоемкость алгоритма) зависит от размера пула, т.е. от количества поступивших на блок планирования заданий, и количества доступных и свободных на момент планирования ресурсов. Предлагаемый алгоритм планирования (в дальнейшем – МС) обеспечивает решение задачи за полиномиальное время [13], поэтому периодичность применения процедуры планирования должна быть больше времени решения задачи планирования. В тоже время, периодичность планирования должна обеспечивать и отсутствие простоев ресурсов, что определяется расчетом минимального или среднего времени освобождения ресурса. Далее спланированные задания назначаются на пакеты заданий на ресурсы (свободные элементы), т.е. те, которые на момент планирования, не заполнены полностью. Отметим, что задания поступают с задержкой, определяющей коммуникационную задержку и передачу заданий с блока планирования на ресурсы для их выполнения. 2 Постановка задачи и модель планирования Математическая модель метода программирования [12, 13]: планирования предлагается n L = ∑ x (t ) → min t j k j =1 в виде задачи линейного булевого (1) при ограничениях n ∑ β ij x j (t k ) ≥1, i =1, m; j =1 β ij ∈{0,1}; x j (t k )∈{0,1}. (2) где m – количество заданий, подлежащих планированию; n – количество ресурсов исследуемой системы, доступных и свободных на момент планирования; t k ∈ [T0 , TN ]. Планирование осуществляется на интервале времени [T0 , TN ], где T0 – время начала планирования; TN – время окончания планирования заданий глобальной очереди. Задачу (1), (2) можно рассматривать как задачу определения минимального числа столбцов в булевой матрице В, покрывающего единицами все строки данной матрицы, элементы которой в контексте решения задачи планирования интерпретируются следующим образом: столбцам соответствуют свободные на момент -248- Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ планирования ресурсы системы, строкам – задания, подлежащие планированию, которые должны быть решены на этих ресурсах. Данный подход и метод базируются на следующих положениях. 1. Система планирования организована в виде двухуровневой структуры, на первом уровне которой формируется множество заданий в виде пакета заданий, подлежащих планированию, для него решается задача (1), (2). Далее выбранные, как результат ее решения, задания назначаются на доступные и свободные на момент планирования tk ресурсы и решаются на них под управлением локального планировщика. 2. Метод планирования на каждом шаге планирования максимально загружает минимальное количество свободных и доступных на момент планирования ресурсов. Таким образом, для последующего распределения заданий глобальной очереди количество ресурсов, для возможного назначения на них заданий, будет максимальным. Данное положение является ключевым в предлагаемом подходе, позволяющее в условиях гетерогенности заданий и ресурсов распределенной системы обеспечить равномерное распределение заданий между ресурсами и, таким образом, максимизировать их загрузку. 3. Метод (алгоритм) решения задачи (1), (2) должен иметь малую временную сложность его реализации для минимизации времени, отводимого на процесс планирования заданий для их выполнения на ресурсах. Это накладывает дополнительные ограничения на выбор метода решения задачи (1), (2): в известных методах пакетного планирования время для формирования пакета заданий определяется интервалом от 20 с. до 60 с. Таким образом, в условиях высокой интенсивности входного потока, время решения задачи (1), (2) для масштабируемых вычислительных систем должно, как принято в пакетных методах планирования, не должно превышать минимального времени освобождения ресурса для предыдущего пакета заданий (должно быть меньше указанного интервала). 4. Система планирования использует пакетную технологию «pull–push»: задания, организованные в виде пакета заданий – так называемого пула – выбираются из глобальной очереди (pull), по мере их планирования на ресурсы помещаются в пакет заданий на назначенный (выбранный) ресурс (ресурсы) и далее передаются на решение (push) на этот ресурс (ресурсы). 5. Предполагается, что на моменты времени планирования t k задания m являются независимыми и n ресурсов в системе являются доступными и свободными. В качестве метрик производительности для оценки эффективности предлагаемого метода планирования используются следующие: время выполнения всех заданий очереди и коэффициент использования ресурсов, рассчитываемые согласно формулам (3), (4): Время выполнения всех заданий очереди TN, рассчитывается по формуле: TN = Tпосл − Tперв , (3) где T – время поступления первого задания в очередь; перв Tпосл – времени завершения выполнения последнего задания очереди; N – количество заданий глобальной очереди. Коэффициент использования ресурса Rj определяется по формуле: K использ = TR i TN , (4) где TRi – время выполнения всех заданий очереди, выделенных для ресурса Rj.. 3 Анализ результатов вычислительного эксперимента В качестве единицы времени планирования и расчетов в программной реализации метода используется внутреннее время имитационной модели 1 такт, которое соответствует времени решения одного задания, имеющего сложность 100000 MI на ресурсе, производительность которого 100000 MIPS [12, 14, 15]. Для моделирования использована выборка заданий, которые имеют большую вычислительную сложность выполнения. Выборка сгенерирована по нормальному закону распределения со следующими параметрами: среднее значение – 30000 тактов, среднеквадратическое отклонение – 1000 тактов. Такая сложность соответствует реальной длительности 8–9 часов их решения на ресурсах со средней производительностью 10 тактов. Количество ресурсов в моделировании изменяется в интервале от 5 до 30 со средней производительностью ресурса, равного 10 тактам (1000000 MIPS). В результате моделирования оценивается эффективность алгоритма МС по отношению к FCFS в условиях динамики интенсивности поступления заданий в систему, а также количества доступных ресурсов. Результаты -249- Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ проведенных вычислительных экспериментов для различных интенсивностей потоков и количества ресурсов для сравнительного анализа предлагаемого метода и метода FCFS показаны на рис. 1 – 4. Как следует из графиков, алгоритм МС имеет значительный выигрыш по сравнению с FCFS для времени выполнения всех заданий (рис. 1, 2) и коэффициента использования (рис. 3, 4). Для 5 ресурсов выигрыш составляет до 50 %. Следует отметить, что для заданий с большой сложностью на значение показателей эффективности не влияет периодичность планирования, которую в данном случае можно увеличивать с 1 такта до среднего времени решения задания на ресурсе (в данном случае – до 3000 тактов). Особенностью планирования заданий с большой сложностью (временем выполнения) является то, что увеличение интенсивности с низкой (когда количество свободных ресурсов превышает количество поступивших заданий) до высокой приводит к формированию очередей заданий к ресурсам. Наличие очередей приводит к тому, что алгоритм МС осуществляет процедуру планирования (перепланирования) на перспективу, т.е. увеличивает количество заданий в пакетах на ресурсы. Полученный в результате список назначений заданий на ресурсы является более оптимальным с точки зрения метрик производительности, чем распределение заданий по методу FCFS. В случае низкой интенсивности или наличия большого количества свободных ресурсов эффективность планирования МС становится сопоставимой с FCFS. Это наглядно иллюстрируют графики на рис. 2, 4, где увеличение количества ресурсов до 30 при сохранении интенсивностей заданий приводит к выигрышу MC только на 11%. 1600000 1400000 1200000 1000000 800000 600000 400000 40 60 80 100 120 140 160 180 200 220 240 260 MC периодичность - 1 МС периодичность - 5 FCFS Интенсив ность Рис. 1. Зависимость времени выполнения для планировщиков MC и FCFS от интенсивности и периодичности планирования заданий, имеющих большую вычислительную сложность, для 5 ресурсов. 270000 260000 250000 240000 230000 220000 210000 200000 190000 180000 40 60 80 100 120 140 160 180 200 220 240 260 Интенсивность -250- MC периодичность - 1 МС периодичность - 5 FCFS Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ Рис. 2. Зависимость времени выполнения для планировщиков MC и FCFS от интенсивности и периодичности планирования заданий, имеющих большую вычислительную сложность, для 30 ресурсов. 1,0 0,9 0,8 0,7 0,6 0,5 0,4 40 60 80 100 120 140 160 180 200 220 240 260 MC периодичнос ть - 1 МС периодичнос ть - 5 FCFS Интенс ивнос ть Рис. 3. Зависимость коэффициента использования для планировщиков MC и FCFS от интенсивности и периодичности планирования заданий, имеющих большую вычислительную сложность, для 5 ресурсов. 0,64 0,62 0,60 0,58 0,56 0,54 0,52 0,50 0,48 0,46 0,44 0,42 0,40 40 60 80 100 120 140 160 180 200 220 240 260 MC периодичнос ть - 1 МС периодичнос ть - 5 FCFS Интенс ивнос ть Рис. 4. Зависимость коэффициента использования для планировщиков MC и FCFS от интенсивности и периодичности планирования заданий, имеющих большую вычислительную сложность, для 30 ресурсов. -251- Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ 4 Исследование практической реализации метода в планировщике MAUI Реализация алгоритма MC и его адаптация к существующей системе планирования на кластерах осуществляется на базе планировщика MAUI, программная реализация которого имеет открытый код [16]. Исходный код планировщика MAUI реализован на языке С. Структурно адаптация включает в себя далее приведенные процедуры. 1. Настройка конфигурации MAUI для работы с несколькими очередями и определение политик для работы с разными типами пользовательских заданий. 2. Создание пула заданий для алгоритма MC. 3. Заполнение пула теми заданиями, которые определены политиками MAUI (согласно настроек в конфигурационном файле). 4. Мониторинг свободных ресурсов и формирование массива соответствия заданий-ресурсов. 5. Запуск собственного алгоритма планирования МС. 6. Назначения заданий на ресурсы и передача указателей (назначений) локальному планировщику TORQUE. Функции заполнения пула пакетом заданий и вызов алгоритма реализуется в файле «*\maui-3-**\src\moab\MSched.c». Для включения и адаптации алгоритма МС в данном файле дополнительно созданы функции создания пула и вызов алгоритма планирования MC, что включает: объявление массивов заданий и ресурсов с соответствующими типами, которые используются в MAUI и TORQUE; создание пакета, состоящего из 5 заданий; вызов функции алгоритма планирования и передача параметров заданий и ресурсов пула. Код фрагмента MSched.c приведен ниже. int MJobMass( mjob_t **N, /* job ID */ mres_t *Res) /* reservation resources */ { mjob_t *PackN[5]; /* package including five jobs*/ mres_t PackR[5]; /* package including five resources */ for(int i=0; i<5; i++) { if(PackN[i] == Null && PackR[i] == Null) /*check for completeness of the package */ { PackN[i] = *N; /* push jobs in first column of package */ PackR[i] = Res; /* push reservation resources on job in second column of package */ } else /* if package fully */ { MShed_MC(**PackN,*ParkR); /* send package to our algorithm */ PackN[i] = Null; /* zero out the package */ PackR[i] = Null; /* zero out the package */ } } } int MShed_MC(mjob_t **PackN, mres_t *PackR) Проверка наличия свободных ресурсов и формирование списка занятых ресурсов реализовано в «*\maui-3-**\src\moab\MRes.с», а именно, в функции выделения ресурсов для резервирования (функция MResAllocate): int MResAllocate( mres_t *R, /* I (modified) */ mnalloc_t *NodeList) /* I */ { int nindex; -252- Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ int TC; mnode_t *N; const char *FName = "MResAllocate"; DBG(7,fSTRUCT) DPrint("%s(%s,NodeList)\n", FName, (R != NULL) ? R->Name : "NULL"); if ((R == NULL) || (NodeList == NULL)) { return(FAILURE); } R->NodeCount = 0; R->TaskCount = 0; R->AllocPC = 0; /* link nodes to reservation */ for (nindex = 0;nindex < MAX_MNODE;nindex++) { if ((NodeList == NULL) || (NodeList[nindex].N == NULL)) break; N = NodeList[nindex].N; MTRAPNODE(N,FName); TC = NodeList[nindex].TC; R->NodeCount ++; R->TaskCount ++; R->AllocPC += (R->DRes.Procs == -1) ? N->CRes.Procs : (TC * R->DRes.Procs); if (MResAddNode(R,N,TC,0) == FAILURE) { return(FAILURE); } if (N->PtIndex != R->PtIndex) R->PtIndex = 0; } /* END for (nindex) */ if (nindex == MAX_MNODE) { DBG(1,fSTRUCT) DPrint("ERROR: FName); } node overflow in %s\n", return(SUCCESS); } /* END MResAllocate() */ 5 Выводы Проведенное исследование и полученные результаты вычислительных экспериментов показали значительную эффективность предложенного метода планирования ресурсов в распределенной гетерогенной системе по -253- Міжнародна конференція "Високопродуктивні обчислення" HPC-UA’2012 (Україна, Київ, 8-10 жовтня 2012 року) ________________________________________________________________________________________________________________________ сравнению с наиболее распространенным методом FCFS. Обосновано, что в условиях высокой интенсивности потоков и большой сложности заданий, гетерогенности заданий и ресурсов системы предложенный метод имеет преимущества во времени выполнений заданий очереди и коэффициенте загруженности ресурсов. В связи с этим для повышения эффективности функционирования и планирования в распределенных системах (Грид) в работе рассмотрен вариант подключения предлагаемого алгоритма в планировщик MAUI. Литература [1] Пономаренко В.С. Методы и модели планирования ресурсов в GRID-системах: монография./ В.С. Пономаренко, С.В. Листровой, С.В. Минухин, С.В. Знахур. – ИД «ИНЖЕК», 2008. – 408 с. [2] Петренко А.І. Алгоритми балансування навантаження в ГРІД-системах. / А.І. Петренко, С.Я. Свістунов, П.В. Свірін. // Системні дослідження та інформаційні технології. — 2011. — № 4. — С. 21–36. [3] Головинський А.Л., Маленко А.Л. Аналiз ефективностi планувальникiв черги задач для суперкомп’ютера з кластерною архiтектурою. Міжнародна конференція «Високопродуктивні обчислення» HPC-UA’2011 (Україна, Київ, 12-14 жовтня 2011 року), С. 64 – 69. [4] Свірін П.В. Архітектура балансувальника навантаження для Nordugrid ARC. Міжнародна конференція «Високопродуктивні обчислення» HPC-UA’2011 (Україна, Київ, 12-14 жовтня 2011 року), С. 117 – 121. [5] M. Maheswaran. Dynamic mapping of a class of independent tasks onto heterogeneous computing systems / M. Maheswaran, S. Ali, H. J. Siegel, D. Hensgen, R. F. Freund. Journal of Parallel and Distributed Computing, 59(2):107 – 121, 1999 . [6] F. Xhafa A. Batch mode scheduling in grid systems / F. Xhafa, L.Barolli, A. Durresi. Int. J. Web and Grid Services, 3(1):19 – 37, 2007. [7] F. Xhafa Meta-heuristics for Grid Scheduling Problems / F. Xhafa, A. Abraham. Meta. for Sched. in Distri. Comp. Envi., SCI 146:1–37, 2008. [8] T. D. Braun A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems / T. D. Braun, H. J. Siegel, N. Beck, L. B¨ol¨oni, R. F. Freund, D. Hensgen, M. Maheswaran, A. I. Reuther, J. P. Robertson, M. D. Theys, B. Yao. Journal of Parallel and Distributed Computing, 61(6):810 – 837, 2001. [9] J. Smith Batch Mode Stochastic-Based Robust Dynamic Resource Allocation in a Heterogeneous Computing System / J. Smith, J. Apodaca, Anthony A. Maciejewski, H. J. Siegel. In Proceedings of PDPTA'2010, 263 – 269 , 2010. [10] Issam Al-Azzoni, Douglas G. Down. Dynamic Scheduling for Heterogeneous Desktop Grids, Journal of Parallel and Distributed Computing, 70(12):1231-1240, 2010. [11] Jong-Kook Kima, Sameer Shivleb, Howard Jay Siegelb,c, AnthonyA. Maciejewskib, Tracy D. Braunb, Myron Schneiderb,d, Sonja Tidemanc, Ramakrishna Chittac, Raheleh B. Dilmaghanib, Rohit Joshib, Aditya Kaulb, Ashish Sharmab, Siddhartha Sripadab, Praveen Vangarib, Siva SankarYellampallie. Dynamically mapping tasks with priorities and multiple deadlines in a heterogeneous environment. J. Parallel Distrib. Comput., 67:154 – 169, 2007. [12] Минухин С.В., Знахур С.В. Имитационная модель и ее программная реализация планирования ресурсов Грид-системы. УкрПРОГ 2012. Проблеми програмування, спец. вып. 2–3, С. 133–143, 2012. [13] Листровой С.В. Метод решения задач о минимальном вершинном покрытии в произвольном графе и задачи о наименьшем покрытии / С.В. Листровой, С.В. Минухин // Электронное моделирование. – 2012. – Т. 34. – №1. – С. 29 – 43. [14] Минухин С.В., Знахур С.В. Оптимизация планирования в Грид-системах на основе статистического анализа результатов имитационного моделирования. Вестник ХНТУ, 1 (44), С. 180–188, 2012. [15] Минухин С.В., Знахур С.В. Исследование эффективности методов планирования ресурсов для различных интенсивностей потоков заданий в Грид. Радіоелектронні і комп’ютерні системи, №1, С. 165– 171, 2012. [16] MAUI cluster scheduler. http://www.clusterresources.com/products/maui-cluster-scheduler.php/. http://mauischeduler.sourceforge.net/. -254-