Цель - GRID`2012

advertisement
Харьковский национальный экономический университет, Харьков, Украина
Институт сцинтилляционных материалов НАН Украины, Харьков, Украина
НТК «Институт монокристаллов» НАН Украины, Харьков, Украина
С.В. Минухин, С.В. Баранник, С.В. Знахур,
Р.И. Зубатюк
ЭФФЕКТИВНЫЙ АЛГОРИТМ ПЛАНИРОВАНИЯ
ЗАДАНИЙ НА ГЕТЕРОГЕННЫХ КЛАСТЕРАХ НА ОСНОВЕ
MAUI
1
Цель исследования
• Цель - разработка эффективного алгоритма
планирования ресурсов в гетерогенной среде,
исследование его эффективности в условиях
динамики
количества,
интенсивности
и
вычислительной
сложности
заданий,
обоснование выбора оптимальных значений
параметров
системы планирования для
повышения
эффективности
работы
распределенной системы.
2
Общая схема управления ресурсами в Грид
Ядро Грид-сервисов
Core Grid
Infrastructure Services
Higher-Level
Services
User/
Application
Information
Services
Грид промежуточное
ПО
Resource
Broker
Monitoring
Services
Security
Services
Управление
локальными
ресурсами
Grid Resource
Manager
Grid Resource
Manager
Grid Resource
Manager
PBS
LSF
…
Resource
Resource
Resource
3
Критерии эффективности
работы планировщика
• Максимизация средней загрузки всех
ресурсов системы
• Минимизация среднего времени ответа
(времени выполнения одного задания)
• Минимизация суммарного времени
выполнения заданий глобальной очереди
4
Основные идеи подхода
1. Минимизировать на каждом этапе
планирования количество задействованных
(выделенных для планирования) ресурсов.
2. Максимизация (упаковка) количества заданий,
которые планируются для их выполнения на
ресурсах.
3. Разработка механизма планирования на
основе компонент, позволяющих повышать
эффективность результатов планирования на
основе выбора значений соответствующих
параметров.
5
Модель предлагаемой
системы планирования
6
Математическая модель планирования на основе
задачи о наименьшем покрытии (ЗНП)
Математическая постановка задачи
линейногобулевого программирования
планирования
представляет
собой
задачу
n
L   x (t )  min
t
j k
j 1
при ограничениях
n
  ij x j (t k ) 1, i 1, m;
j 1
 ij {0,1}; x j (t k )0,1.
где m – количество заданий, подлежащих планированию;
n – количество ресурсов исследуемой системы, доступных и свободных на момент
планирования; tk  [T0, TN].
Планирование осуществляется на интервале времени [T0, TN], где T0 – время начала
планирования; TN – время окончания планирования заданий очереди.
Задачу можно рассматривать как задачу определения минимального числа столбцов в булевой
матрице В, покрывающего единицами все строки данной матрицы, элементы которой в
контексте решения задачи планирования интерпретируются следующим образом: столбцам
соответствуют свободные на момент планирования ресурсы Грид-системы, а строкам – задания,
подлежащие планированию, которые должны быть решены на этих ресурсах
7
Матрица соответствия задания/ресурсы
для приведения к ЗНП
Таблица 1
Матрица соответствия заданий ресурсам
R1* R2 R3* R4 R5* R6 R7 R8
З1 1
З2
1 1
1
З3 1
1
З4
1
1
З5
1 1
1
З6 1
1
З7
1
1
З8
1
1
З9
1
З10
1 1
1
З11
1
1
З12 1
1
1
8
Определение единицы измерения
времени имитационной модели
В качестве единицы времени планирования и
расчетов в программе используется внутреннее
время имитационной модели 1 такт, которое
соответствует времени решения одного задания,
имеющего сложность 100 000 MI на ресурсе,
производительность которого 100 000 MIPS.
Для вычислительных экспериментов, в которых
учитывалась сложность заданий, задания малой
сложности (трудоемкости) определялись в
интервале от 10 до 300 тактов; средней – от 300
до 10 000 тактов; высокой – от 10 000 и выше
тактов.
9
Состав и описание характеристик системы планирования
№
п/п
1
Наименование характеристик (заданий и ресурсов)
Задание
2
Ресурс
количество всех ресурсов, которыми
решаются задания
3
Сложность решения
задания
максимальное количество тактов, за
которое будет решено задание
4
Универсальность
задания
5
6
7
8
9
Параметр
Закон распределения
количество заданий, которое будут подано на вход модели для решения
нормальный, экспоненциальный,
равномерный
нормальный, экспоненциальный,
равномерный
нормальный, экспоненциальный,
равномерный
постоянная величина
количество ресурсов, которыми может
быть решено задание, в процентах к
общему количеству ресурсов
Пул заданий
промежуточный временной стек сис- экспоненциальный,
темы определенного размера, в котонормальный, порый загружаются входящие задания
стоянная величина
Производительность максимальное количество тактов ренормальный, эксресурса
шения задания, которое ресурс может
поненциальный,
выполнить за единицу времени
равномерный
Пакет заданий
количество заданий, которое может
постоянная вели«выстроиться» в очередь на выбранный
чина
ресурс после планирования
Коммуникационная количество тактов, которое характери- постоянная велизадержка
зует временную задержку передачи зачина
дания на выбранный для ее решения
ресурс
Периодичность
количество тактов, через которое осупостоянная велипланирования
ществляется процедура планирования
чина
для заданий, поступивших в пул
10
Интерфейс программы для имитационного
моделирования работы планировщика
11
Метрики производительности системы
В качестве метрик производительности работы планировщика
и Грид-системы используются следующие:
Среднее время выполнения одного задания определяется по
формуле:
1 N
ti в ыпол нения,
tсреднее _ время_ выполнения_ задания =
N i 1
где N – количество заданий глобальной очереди.

Время выполнения всех заданий очереди TN, рассчитывается
по формуле:
TN  Tпосл  Tперв ,
где Tперв – время поступления первого задания в очередь; Tпосл –
времени завершения выполнения последнего задания очереди.
Коэффициент использования ресурса Rj определяется по
формуле:
TR
i
K

,
использ
TN
где TRi – время выполнения всех заданий очереди на ресурсе Rj..
12
Зависимость времени выполнения заданий от количества заданий
для методов MC и FCFS при экспоненциальном законе
интенсивности входного потока заданий
Основной
Основной
Время выполнения, такт
Основной
Основной
Основной
FCFS_экспоненциальный
MC_экспоненциальный
Основной
Основной
Основной
Основной
Количество заданий
Основной
Основной
Основной
Основной
Основной
Основной
Основной
13
Зависимость времени выполнения от количества заданий для
методов MC и FCFS при равномерном законе интенсивности
входного потока заданий
Основной
Основной
Время выполнения, такт
Основной
Основной
FCFS_равномерный
Основной
MC_равномерный
Основной
Основной
Основной
Основной
Основной
Основной
Основной
Основной
Основной
Количество заданий
14
Зависимость коэффициента использования от количества
заданий для методов MC и FCFS при экспоненциальном законе
интенсивности входного потока заданий
Основной
Коэффициент использования
Основной
Основной
Основной
MC
FCFS
Основной
Основной
Основной
Основной Основной Основной Основной Основной Основной Основной Основной Основной
Количество ресурсов, шт
15
Результаты эксперимента для заданий
низкой сложности
Влияние периодичности планирования на коэффициент
использования ресурсов (для заданий низкой сложности )
16
Результаты эксперимента для заданий
высокой сложности
Влияние интенсивности поступления сложных заданий (30000 тактов) на
коэффициент использования ресурсов (при нормальном законе
распределения заданий) для различных периодичностей планирования
MC периодичность - 1 = 1,2919-0,0121*x+0,0001*x^2-6,8217E-7
*x^3+1,1276E-9*x^4
МС периодичность - 5 = 0,8932+0,0016*x-1,8759E-5*x^2
+9,0988E-8*x^3-1,4848E-10*x^4
FCFS = 0,5105-0,0006*x+6,1121E-6*x^2-2,7389E-8*x^3
+4,3173E-11*x^4
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
17
Правила настройки параметров характеристик
системы
планирования
для
повышения
эффективности работы системы
Условия
Интенсивность
заданий
Сложность задания
Средняя
сложность
задания больше средней
Низкая
(среднее производительности
количество посту- ресурса
пающих в систему
сложность
заданий
меньше Средняя
задания меньше средней
количества
производительности
ресурсов)
ресурса
Высокая
(среднее
количество
поступающих
в
систему
заданий
больше количества
ресурсов)
Средняя
сложность
задания больше средней
производительности
ресурса
Средняя
сложность
задания меньше средней
производительности
ресурса
Система правил для получения лучших результатов
показателей эффективности
Размер пула
Размер пакета
Периодичность
заданий
планирования
Больше максимального Размер
равен Определяется
значения интенсивности средней
средним
заданий
Для интенсивности.
временем
нормального
закона
освобождения
(M+3σ)
ресурса
Больше максимального Размер
равен Определяется
значения интенсивности средней
средним
интенсивности
временем
освобождения
ресурса
Больше
среднего Размер больше 1
Определяется
значения интенсивности
минимальным
временем
освобождения
ресурса
Больше
среднего Размер больше 1
Планирование
значения интенсивности
осуществляется
на каждом такте
работы системы
18
Исследование практической реализации
метода в планировщике MAUI
Реализация алгоритма MC и его адаптация к существующей системе
планирования на кластерах осуществляется на базе
планировщика MAUI, программная реализация которого имеет
открытый код. Исходный код планировщика MAUI реализован на
языке С.
Структурно адаптация включает в себя процедуры:
1. Настройка конфигурации MAUI для работы с несколькими
очередями и определение политик для работы с разными типами
пользовательских заданий.
2. Создание пула заданий для алгоритма MC.
3. Заполнение пула теми заданиями, которые определены политиками
и результатом работы MAUI.
4. Мониторинг свободных ресурсов и формирование массива
соответствия заданий-ресурсов.
5. Запуск собственного алгоритма планирования МС.
6. Назначения заданий на ресурсы и передача указателей
(назначений) локальному планировщику TORQUE.
Функции заполнения пула пакетом заданий и вызов алгоритма
реализуется в файле «*\maui-3-*-*\src\moab\MSched.c». Для
включения и адаптации алгоритма МС в данном файле
дополнительно созданы функции создания пула и вызов
19
алгоритма планирования MC
Описание структуры типов данных, которыми описываются
задания и ресурсы в MAUI
Структура (тип данных), описывающая mcres_t *Ares (Доступные ресурсы)
typedef struct {
int Procs;
int Mem; /* (in MB) */
int Swap; /* (in MB) */
int Disk; /* (in MB) */
mnuml_t PSlot[MAX_MCLASS];
mnuml_t GRes[MAX_MGRES];
} mcres_t;
20
Фрагмент функции «MLocalQueueScheduleIJobs» для вызова функции,
реализующей метод планирования МС. Функция находиться в файле
maui-3.3.*\src\moab\MLocal.c
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#include "../../contrib/sched/MC_Alg.c" Подключение файла с алгоритмом МС
int MLocalQueueScheduleIJobs(
int *Q,
mpar_t *P)
{
mjob_t *J;
int jindex;
if ((Q == NULL) || (P == NULL))
{
return(FAILURE);
}
/* NOTE: insert call to scheduling algorithm here */
for (jindex = 0;Q[jindex] != -1;jindex++)
{
J = MJob[Q[jindex]];
/* Вызываем функцию формирования пакета. В параметры передаем переменную работы(массив работ,
елементы которого задачи в очереди) и вторым параметром передаем поле ARes к которому получаем доступ из
набора параметров (mpar_t *P)*/
MJobMass(J,P->ARes); /* Call MC Algorithm */
DBG(7,fSCHED) DPrint("INFO:
J->Name);
} /* END for (jindex) */
checking job '%s'\n",
return(SUCCESS);
} /* END MLocalQueueScheduleIJobs() */
21
Функция заполнения пула пакетом заданий и вызов
алгоритма в файле «*\maui-3-*-*\src\moab\MSched.c».
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
int MJobMass(
mjob_t *J,
/* job ID */
mcres_t *ARes)
/* available resources */
{
mjob_t PackJ[5]; /* package including five jobs*/
mcres_t PackR[5]; /* package including five resources */
int i = 0; /* переменная для движения по массивам */
int j = 0; /* переменная для обнуления массивов */
for(i; i < 5; i++)
{
if(PackJ[i] == NULL && PackR[i] == NULL) /* check for completeness of the package ; /
{
PackJ[i] = *J;
/* push jobs in first column of package */
PackR[i] = *ARes;
/* push available resources in second column of package */
}
else
/* if package fully */
{
MShed_MC(*PackJ,*ParkR); /* send package to our algorithm */
for(j; j<5; j++) /* /
{
PackJ[j] = NULL; /* zero out the package */
PackR[j] = NULL; /* zero out the package */
}
}
}
}
int MShed_MC(mjob_t *PackJ, mcres_t *PackR)
{
}
22
Выводы
1.
2.
3.
4.
Предложенный подход и модель позволяют достичь лучших
показателей производительности работы системы, а именно,
уменьшения времени выполнения всех заданий и увеличения
среднего коэффициента использования ресурсов за счет
максимальной загрузки ресурсов на каждом шаге планирования и
выбора периодичности планирования в условиях динамического
изменения сложности и интенсивности потока заданий. Выбор
периодичности планирования позволяет уменьшить время простоя
ресурсов.
Эффективность предложенного механизма планирования зависит от
взаимодействия и настройки компонент: пула, блока планирования,
пакетов заданий на ресурсы. Оптимально выбранная периодичность
планирования позволяет уменьшить влияние роста интенсивности и
сложности поступающих заданий – уменьшить время выполнения
всех заданий.
Сравнительный анализ использования алгоритма МС и FCFS
показывает выигрыш эффективности (выполнения всех заданий) до
60 % в тех случаях, когда пул планировщика выбирается больше
величины средней интенсивности заданий, пакет заданий
выбирается большим 1, а периодичность – меньше среднего
времени освобождения ресурсов.
Разработан вариант подключения алгоритма МС в модуль
23
планирования (MLocal.c) планировщика MAUI.
Литература
1.Петренко А.І. Комп’ютерне моделювання грід-систем // Электроника и связь 5’
Тематический выпуск «Электроника и нанотехнологии», 2010. – С. 40–48.
2.Грушин Д.А., Поспелов А.И. Система моделирования Grid: реализация и
возможности применения. [Электронный ресурс] – Режим доступа
http://www.ispras.ru/ru/proceedings/docs/2010/18/isp_18_2010_243.pdf.
3.Кореньков В.В., Нечаевский А.В. Пакеты моделирования DataGrid // Электронный
журнал «Системный анализ в науке и образовании». – 2009. – № 1. – С. 21. –
35.
4.Листровой С.В. Метод решения задач о минимальном вершинном покрытии в
произвольном графе и задачи о наименьшем покрытии / С.В. Листровой, С.В.
Минухин. // Электронное моделирование. – 2012. – Т. 34. – №1. – С. 29 – 43.
5.Grid Resource Management: State of the Art and Future Trends. - // Jarek Nabrzyski,
Jennifer M. Schopf, Jan Weglarz. - Kluwer Publishing, 2004.- 575 p.
6.PBS, PBS pro: www.openpbs.org, www.pbspro.com.
7.LSF, CSF: www.platform.com.
8.Globus: www.globus.org.
9.Global Grid Forum: www.ggf.org, SRM area.
24
Download