Математика/5. Математическое моделирование
Аспирант С. В. Гаевой, аспирант Ф. А. Х. Аль-Хадша,
д.т.н. В. С. Лукьянов
Волгоградский государственный технический университет,
Волгоград
Эвристики распределения заявок в Грид-системах (Grid)
Система Грид (Grid) состоит из узлов, именуемых кластерами. Каждый кластер построен из вычислительных машин. В Грид-систему поступают задания, которые надо рассчитать. Весь расчет ведется в пределах одного кластера [1].
В [2][3] нами уже поднимался вопрос моделирования Грид-систем с точки зрения оптимального распределения заданий по кластерам и был создан программный продукт [4].
Кластера, как правило, собираются из машин равной производительности [5]. Введем понятие эталонной машины [1] с единичной производительностью. Сложность задания будем измерять временем исполнения на одной эталонной машине.
Каждое задание может исполняться параллельно на нескольких машинах. Это количество, называемое шириной [6], прописано в момент создания [7]. Распараллеливание будем вести в соответствии с законом Амдаля.
Каждый кластер имеет неограниченную очередь заданий на исполнение. Ближе к началу расположены задания с более высоким приоритетом (при совпадении — созданные раньше).
Стратегии распределения заданий являются эвристиками, то есть позволяют определить кластер путем эмпирических оценок [1][6]. Всем узлам присваивается стоимость исполнения задания. Выбирается узел с наименьшей оценкой, а при совпадении — с меньшим номером.
1) Rotate.
, где
- номер оцениваемого
кластера (от нуля),
- количество кластеров для выбора,
- кластер, который
получил последнее задание (стартовое значение равно
).
2) FreeExec. С корректируем оценку из [6]
, где
- количество машин
кластера,
- количество свободных машин кластера. Используется при быстром
выполнении заданий в отсутствие очереди.
3) QueueWidth. Оценка из [6]
, где
- количество машин,
необходимое заданию, для которого определяется кластер,
- количество узлов,
необходимое j-му заданию в очереди кластера,
- количество машин
кластера.
4) QueueLen. Модификация оценки QueueWidth
, где
- длина очереди
кластера,
- количество машин
кластера.
5) QueueDif. Оценка от [6]
, где
- сложность задания,
для которого выбирается исполнитель,
- сложность j - го
задания в очереди кластера,
- количество узлов
кластера.
6) QueueProd. Оценка (наша модификация оценки №5)
, где
- сложность задания,
для которого выбирается исполнитель,
- сложность j - го
задания в очереди кластера,
- количество узлов
кластера,
- поправочный
коэффициент (будем считать равным единице для всех кластеров),
- производительность
узла.
7) MaxProd
, где
- производительность
узла,
- количество узлов
кластера.
Для оценки стратегий воспользуемся методом имитационного моделирования, методом дискретных событий. В отличие от [2][3][4], мы построим детерминированную имитационную модель [8][9].
Для примера возьмем систему, состоящую из следующих кластеров: №0
(8 машин производительности 2,0), №1 (12 по 1,2), №2 (16 по 1,0), №3 (20 по
0,5). Будем варьировать параметры заданий: приоритет от 0 до 2 с шагом 1,
сложность от 0,7 до 1,3 с шагом 0,1, долю последовательного кода от 0,0 до 0,2
с шагом 0,05. Требуемое число узлов (ширину) будем варьировать так: 1, 2, 4, 8.
Итого получаем различных комбинаций заданий. Пусть каждая комбинация
встречается в системе 100 раз. Значит, необходимо пропустить через систему 31,5
тыс. заданий. Сделаем так, чтобы все задания поступали в начальный момент
времени. Исследования будем проводить в двух вариантах: с распараллеливанием
выполнения заданий (Parallel)
и без (Sequential).
Для получения результатов стохастического моделирования используем модификацию [4]. Обозначим стохастический вариант звездочкой (*). Параметры заданий в этом случае будут случайными равномерно распределенными величинами в выше указанных диапазонах, причем сложность и доля последовательного кода будут распределены непрерывно, а ширина и приоритет — дискретно.
Нас интересуют два показателя: время выполнения всего пакета заданий (рис. 1) и среднее время выполнения одного задания (рис. 2). Как мы видим, использование распараллеливания не является полезной функцией при большом числе заданий. Также можно видеть, что стохастический и детерминированный варианты дают близкие и во многих случаях одинаковые результаты. Самой удачной на данном примере является стратегия QueueProd. Она учитывает и параметры очереди, и параметры кластеров.
Таким образом, были предложены эвристики распределения заданий между несколькими исполнителями, а для оценки качества эвристик были построены имитационные модели. В дальнейшем планируется провести детерминированное и стохастическое моделирование для логов работы реальных вычислительных систем, предоставляемых [7].
Рисунок 1 — Время выполнения пакета
Рисунок 2 — Среднее время выполнения задания
Литература:
1 Эвристики распределения задач для брокера ресурсов Grid [Электронный ресурс] / А.И. Аветисян [и др.] . – [2009]. – Режим доступа : http://www.citforum.ru/nets/digest/grid/index.shtml
2 Имитационное моделирование грид-систем : монография / Лукьянов В.С., Андреев А.Е., Жариков Д.Н., Островский А.А., Гаевой С.В.; ВолгГТУ. - Волгоград, 2012. - 215 с.
3 Имитационная модель гетерогенной вычислительной системы / В.С. Лукьянов, Д.Н. Жариков, С.В. Гаевой, Д.С. Попов // Изв. ВолгГТУ. Серия "Актуальные проблемы управления, вычислительной техники и информатики в технических системах". Вып. 11 : межвуз. сб. науч. ст. / ВолгГТУ. - Волгоград, 2011. - № 9. - C. 85-88.
4 Свид. о гос. Регистрации программы для ЭВМ № 2010610693 от 20 янв. 2010 г. РФ, МПК (нет). Имитационная модель грид-системы (GridModel) / В. С. Лукьянов, Д. Н. Жариков, С. В. Гаевой, Ю. В. Шафран; ВолгГТУ. - 2010.
5 Интернет-портал по грид-технологиям :: GRIDCLUB.RU [Электронный ресурс]. – [2011]. – Режим доступа : http://gridclub.ru/
6 Проблемы моделирования GRID-систем и их реализация [Электронный ресурс] / О. И. Самоваров [и др.] // Портал «Информационно-коммуникационные технологии в образовании». – [2010]. – Режим доступа : http://www.ict.edu.ru/vconf/files/9451.pdf
7 Logs of Real Parallel Workloads from Production Systems [Электронный ресурс] // The Rachel and Selim Benin School of Computer Science and Engineering. – [2013]. – Режим доступа : http://www.cs.huji.ac.il/labs/parallel/workload/logs.html
8 Фоменков, С. А. Моделирование систем [Электронный ресурс] / С. А. Фоменков. – Волгоград, [2004]. – 1CD-ROM
9 Шеннон, Р. Имитационное моделирование систем – искусство и наука / Р. Шеннон ; пер. с англ. под ред. Е. К. Масловского. – М. : Мир, 1978. – [418 c.]