Распределение заданий в интегрированной кластерной системе на основе их классификации

Вычислительные технологии

Том 18, № 2, 2013

Распределение заданий в интегрированной кластерной системе на основе их классификации

И. В. Бычков, Г. А. Опарин, А. Г. Феоктистов, А. С. Корсуков Институт динамики систем и теории управления СО РАН, Иркутск, Россия e-mail: bychkov@icc.ru, oparin@icc.ru, agf@icc.ru, alexask@mail.ru

Рассматривается подход к классификации заданий в интегрированной кластерной системе Институт динамики систем и теории управления СО РАН. Использование классификации заданий при распределении вычислительных ресурсов для выполнения этих заданий позволяет в ряде случаев существенно улучшить показатели функционирования интегрированной кластерной системы.

Ключевые слова: классификация заданий, интегрированная кластерная система.

Введение

В настоящее время вычислительные кластеры являются неотъемлемым технологическим элементом процесса эффективного решения фундаментальных и прикладных задач. Вычислительные кластеры организуются на базе разных программно-аппаратных платформ, архитектур и коммуникационных сред и в силу этого существенно различаются по показателям производительности, эффективности и надёжности. При объединении нескольких кластеров в единую вычислительную среду (интегрированную кластерную систему), представляющую собой частный случай вычислительной Grid, возникает проблема оптимизации распределения потока ресурсоёмких вычислительных задач, поступающего в эту среду, по кластерам.

К вычислительным ресурсоёмким задачам относятся задачи, процесс решения которых осуществляется путём взаимодействия пользователя (специалиста-"предметника") с высокопроизводительной вычислительной средой, характеризуется, как правило, относительно небольшим набором данных и значительным объёмом вычислений над ними и включает два основных этапа: формирование задания вычислительной среде для решения задачи и выполнение этого задания в вычислительной системе, что в свою очередь осуществляется с помощью специальных утилит системы управления заданиями, используемой в вычислительной среде. К таким системам относятся, во-первых, глобальные планировщики (метапланировщики) заданий на уровне Grid типа GridWay [1], во-вторых, локальные системы управления прохождением заданий (СУПЗ) вычислительных кластеров, например, PBS [2] или Condor [3]. Само задание представляет собой спецификацию процесса решения задачи, содержащую информацию о требуемых вычислительных ресурсах, исполняемых прикладных программах, входных/выходных данных и другие необходимые сведения.

Анализ результатов исследований, в той или иной степени касающихся вопросов классификации вычислительных задач и способов их постановки [4-7], а также рассмотрение способов спецификации процессов решения задач в известных метаплани-

ровщиках Grid и кластерных СУПЗ позволяют выделить целый ряд важных характеристик заданий. В их числе способ решения задачи (использование готовой программы, построение алгоритма решения задачи на основе библиотек стандартных программ, исполнение программы в режиме интерпретации или компиляции), место размещения программы (в машине пользователя или в машине системы), используемой для решения задачи, число прогонов программы, наличие взаимосвязанных подзаданий, вид параллелизма алгоритма решения задачи (мелкозернистый, крупноблочный и смешанный), степень ресурсоёмкости вычислений (малые, средние и большие задания), необходимость управления процессом вычислений в пакетном или интерактивном режимах, срочность вычислений и ряд других особенностей процесса выполнения заданий. Значение той или иной характеристики может быть явно задано пользователем вычислительной среды, формирующим свое задание, получено из переменной окружения этой среды, установлено системой управления заданиями как значение по умолчанию или взято из конфигурационных и статистических файлов (системных или пользовательских).

Известные на сегодня метапланировщики Grid базируются на двух способах распределения ресурсов [8]: путём взаимодействия метапланировщика с кластерными СУПЗ (например, GridWay) либо за счёт реализации планировщика, занимающегося поиском свободных ресурсов в Grid для выполнения конкретного приложения (например AppLeS [9]). В обоих случаях, как правило, они не производят классификацию заданий на основе характеристик заданий и осуществляют оптимизацию выделения ресурсов, разделяемых между всеми заданиями потока, для выполнения конкретного задания, оперируя информацией, касающейся только этого задания. Такой подход зачастую не позволяет добиться высоких показателей функционирования интегрированной кластерной системы в целом: её пропускной способности, эффективности загрузки ресурсов и ускорения выполнения некоторого набора задач. Отдельные системы, которые поддерживают классификацию заданий в том или ином виде (например система управления заданиями WLMS комплекса gLite [10]), имеют, как правило, достаточно ограниченный, нерасширяемый набор встроенных типов (классов) заданий и не осуществляют предварительную виртуальную декомпозицию вычислительных ресурсов относительно этих типов с целью оптимизации процесса выбора ресурса для выполнения заданий определённого типа.

В настоящей работе развивается подход к классификации заданий [11], определяющих процесс решения ресурсоёмких вычислительных задач в интегрированной кластерной системе [12]. Извлечение, обобщение и учёт всей доступной информации о характерных вычислительных особенностях заданий при их распределении позволяют в ряде случаев существенно улучшить показатели функционирования интегрированной кластерной системы.

1. Модель

Пусть имеется конечное множество характеристик заданий H = {hi, h2,..., hk}. Каждая характеристика hi описывается информационной структурой, имеющей следующие компоненты: Di — область допустимых значений характеристики hi, включающая символ неопределённости 9; ri > 1 — целочисленный ранг характеристики hi, определяющий степень важности данной характеристики; wi > 0 — вес характеристики hi, представляющий собой численное выражение важности данной характеристики. Бу-

дем считать, что элементы множества Н частично упорядочены по их рангу в порядке убывания: гг > V« € {1, 2,..., к — 1}.

Определим конечное множество классов заданий С = {с1, С2,..., ст}. Каждый класс Су определяется базовым (обязательным) и дополнительным (необязательным) наборами характеристик из Н. Характеристики базового и дополнительного наборов для классов заданий удобно представить в виде булевых матриц А и В размерности к х т, элементы которых ау = 1 или Ъу = 1 означают, что характеристика принадлежит базовому или дополнительному набору, используется в определении класса Су и для этого класса имеет конкретизированную область допустимых значений С Д \ {0}. Если ау V Ъу = 0, то ДУ = {0}. Матрицы А и В должны удовлетворять условиям

т к

V л ау = о,

3=1г=1

кт

V V

г=13=1

Формирование множества характеристик Н (определение имён, областей допустимых значений, рангов и весов характеристик) и создание на их основе множества классов заданий С (определение для каждого класса множеств обязательных и необязательных характеристик из множества Н с указанием их областей значений, допустимых для конкретного класса) выполняются администратором интегрированной кластерной системы. Как правило, характеристикам классов заданий, используемым в качестве обязательных, присваиваются более высокие ранги и веса. При поступлении задания в интегрированную кластерную систему классификатор заданий автоматически проверяет, какие характеристики из множества Н использованы в спецификации этого задания, и определяет для каждой из них область значений, требуемую в его спецификации для выполнения задания.

Задание со всеми своими характеристиками представляется булевым вектором х размерности к. Между индексами элементов вектора х и индексами характеристик из Н установлено взаимнооднозначное соответствие. Значение «-го элемента вектора х определяется следующим образом:

х = Г 0, если Д = {0} , Хг 1 1, если Д С Д \ {0} ,

где Д — область значений характеристики требуемых для выполнения данного задания.

к _

Вектор х должен удовлетворять условию Л хг = 0. Соответствие требуемых обла-

г=1

стей допустимых значений характеристик задания областям допустимых значений характеристик ]-го класса заданий из С устанавливается с помощью характеристической функции Г

0, если Зг : (а3 V Ъ3 = 1) Л Д £ Дз,

Хз (х) !

1 в противном случае

где г € {1, 2,..., к} ,] € {1, 2, ...,т}.

Для выполнения первичной классификации задания достаточно применения функции Х. В результате первичной классификации задание может быть соотнесено сразу с несколькими классами заданий из С. Однако может возникнуть необходимость в более

детальной конкретизации классификации задания, полученной с помощью функции х-В этом случае следует принимать во внимание количество характеристик задания, требуемые области допустимых значений которых удовлетворяют соответствующим областям допустимых значений характеристик того или иного класса, и учитывать ранги и веса этих характеристик.

Ниже введён ряд вспомогательных функций.

Будем считать, что ¿-я характеристика используется как в спецификации задания, так и в описании класса Су, если выполняется условие

X V а^Ьгу = 0.

Область требуемых значений ¿-й характеристики соответствует области допустимых значений этой характеристики для класса Су, если выполняется условие

Я С Я*,.

Функция ру (ж) вычисляет количественную оценку возможности (вероятность) отнесения задания к классу Су на основе характеристик этого задания, удовлетворяющих по всем параметрам характеристикам данного класса Су. Значение функции определяется

V к т кг

выражением р7-(ж) = —, где V = —, & = —, к (кг) — число характеристик зада-

£ Пу г=1 пг

ния Л,;, удовлетворяющих условиям (1)-(4) относительно ]-го (1-го) класса, пу (пг) — число характеристик, определяющих класс Су (сг), ку, кг € {0,1,..., к}, пу, пг € {1, ...,т}.

т

Из этого следует, что ру (ж) € [0,1] и ^ру (ж) = 1.

3 = 1

Функция а у (ж) вычисляет агрегированный числовой показатель важности характеристик задания для класса Су с учётом рангов этих характеристик. Значение функции определяется выражением

Gj

t t

si + k J2 si пРи q < t,

l=q l=q+l

ntst при q = t,

где sq, sq+i,..,st — упорядоченные по убыванию значения рангов характеристик; ni

(nv) — число характеристик заданий hi ранга si (sv), удовлетворяющих условиям (1)-

t

(4) относительно j-го класса; q = min {v : nv > 0}; t — число рангов характеристик в

v=1

классификаторе заданий; t < k; Gj (ж) > 1.

Функция Uj (ж) вычисляет сумму весов характеристик задания для класса Cj. Значение функции определяется выражением Uj (ж) = ui, где I — множество индексов

iei

характеристик задания hi, удовлетворяющих условиям (1)-(4) относительно j-го класса, Uj (ж) > 0.

Функция (ж, z) вычисляет количественную оценку возможности (вероятность) отнесения задания к классу Cj с учётом его вычислительной истории z — информационной структуры, содержащей статистику о выполнении в интегрированной кластерной системе заданий с аналогичными характеристиками. Данная информация извлекается из статистических и информационных файлов СУПЗ, применяемых в интегрированной

кластерной системе. Значение функции определяется выражением

ф

1

m Yj

m

EYi(x z) l=1

если Yl (x, z) = 0, V/ € {1, 2,...,m} в противном случае,

где 7г (х,г) и 73 (х,г) — функции, возвращающие число выполненных в интегрированной кластерной системе заданий классов с и Су с аналогичными характеристиками.

т

Нетрудно видеть, что фу (х, г) € [0,1] и ^фу (х, г) = 1.

3=1

Определим также верхние границы эквивалентности значений функций р, а, ш и ф — 8Р, , , 8ф. Два значения одной и той же функции будем считать эквивалентными, если модуль их разницы будет либо меньше соответствующей верхней границы эквивалентности, либо равен ей.

Пусть с помощью функции х сформирован булев вектор у размерности т, элемент которого уз = 1 означает, что задание относится к ?-му классу. Введём следующие характеристические функции, конкретизирующие принадлежность задания ?-му классу с учётом перечисленной выше дополнительной информации о характеристиках задания:

Хр

xj (x,y): Ф (x,y,z) =

0, если max {pl (x)} — pj (x) >

vl:yi = 1

1 в противном случае,

0, если max {al (x)} — Oj (x) > 8a, Vl:yi = 1

1 в противном случае,

0, если max {wl (x)} — Wj (x) > 8Ш,

vl:yi = 1

1 в противном случае, 0, если max {Ф1 (x, z)} — Фз (x, z) > 8ф,

vl:yi = 1

1 в противном случае.

Следует заметить, что наличие у задания отдельно взятой характеристики с высокой значимостью (как обязательной, так и необязательной) не гарантирует отнесения этого задания к классу, в описании которого присутствует данная характеристика. Классификация осуществляется с учётом агрегированной значимости всех характеристик задания для каждого класса заданий.

2. Алгоритм классификации задания

Рассмотрим алгоритм классификации задания. На вход алгоритма поступает вектор х, представляющий задание. На выходе получаем вектор у, содержащий информацию о классах, к которым относится данное задание. Алгоритм включает следующие этапы работы.

I) Инициализация элементов вектора у : у3- = 0, V? € {1, 2, ...,т};

II) выполнение первичной классификации задания — проверка принадлежности задания каждому из m классов: y- = Xj {ж}, Vj € {1, 2, ...,m};

III) если yj = 0, Vj € {1, 2,..., m}, то завершение работы алгоритма (задание не может быть классифицировано);

IV) иначе — выполнение конкретизации результатов классификации задания, полученной на этапе II:

a) редукция множества классов, к которым относится задание, с учётом количества характеристик классов: у у = Хр {ж, у}, V? : у у = 1;

b) редукция множества классов, к которым относится задание, с учётом рангов характеристик: уу = х^ {ж,у} V? : уу = 1;

c) редукция множества классов задания, к которым относится задание, с учётом весов характеристик: у у = х" {ж, у}, V? : у у = 1;

d) редукция множества классов задания, к которым относится задание, с учётом вычислительной истории данного задания: у у = хф {ж,у,^}, V? : у у = 1;

V) завершение работы алгоритма (задание классифицировано).

Порядок выполнения этапов IV, a-d работы алгоритма, приведённый выше, определён исходя из степени доступности информации, необходимой для функций р, а, ш и ф, используемых на этих этапах. Чем выше степень доступности информации, требуемой для применения той или иной функции, тем раньше выполняется соответствующий этап работы алгоритма. В программной реализации алгоритма классификации заданий предусмотрена возможность исключения любого этапа IV, a-d из алгоритма и/или изменения порядка применения этих этапов в алгоритме путём конфигурирования программы-классификатора администратором интегрированной кластерной системы. Исключение того или иного этапа IV, a-d работы алгоритма может быть обусловлено рядом причин, а именно: администратор системы не обладает достаточной информацией для назначения рангов и весов характеристик (по умолчанию характеристики имеют одинаковые ранги и веса); нет возможности получить полную вычислительную историю о выполнении заданий вследствие использования СУПЗ, работу с которыми программа-классификатор не поддерживает (в текущей версии классификатора заданий поддерживается работа с СУПЗ PBS, Condor и Cleo [13]); результаты применения исключаемого этапа являются избыточными с точки зрения администратора системы. Изменение порядка применения этапов IV, a - d работы алгоритма может быть обусловлено степенью эффективности редуцирующих преобразований, применяемых на этих этапах. Данный показатель определяется на основе статистики о работе классификатора заданий, сохраняемой в его информационных файлах.

3. Классификатор заданий

На основе проведённых исследований выполнена программная реализация имитационного прототипа классификатора заданий. Имитационное моделирование работы классификатора заданий было проведено на потоке заданий, соответствующем потоку реальных заданий, выполненных на кластере Blackford с СУПЗ Cleo (табл. 1). В таблице для каждого кластера указаны общее число его узлов nn и ядер nc, а также усреднённый коэффициент увеличения времени выполнения заданий krun.

Всего было обработано 62 249 заданий. Список использованных классов заданий приведен в табл. 2. Для каждого класса заданий указаны диапазоны допустимых значений ряда его базовых характеристик: количество вариантов данных nv, число требуемых ядер nc, запрашиваемое время для выполнения задания t.

Перед классификацией каждому кластеру (см. табл. 1) назначены наиболее подходящие ему классы заданий. Все задания были классифицированы. Для части заданий выявлена потенциальная возможность их перемещения с кластера Blackford на другие кластеры с целью оптимизации загрузки вычислительных ресурсов. Перемещение задания возможно только на кластер, удовлетворяющий характеристикам класса задания, и при условии, что время выполнения этого задания останется в диапазоне времени выполнения заданий данного класса. Для заданий классов univariant sequential large и univariant parallel large учитывалось дополнительное ограничение: перемещённое задание не должно выполняться дольше суток. Количество классифицированных заданий njob и перемещённых заданий nr для каждого класса приведены в табл. 3.

Полученные результаты показали, что дополнительное применение классификатора заданий в процессе распределения заданий совместно с метапланировщиком заданий интегрированной кластерной системы даёт возможность повысить коэффициент полезного использования узлов системы на 18%.

Таблица 1. Вычислительные ресурсы кластерной системы ИДСТУ СО РАН

Кластер Пп, ед. nc, ед. krun

Blackford 20 160 1

МВС-1000/16 16 32 3

Кластер невыделенных рабочих машин, организованный на базе ПЭВМ научных лабораторий 12 12 2

Таблица 2. Классы заданий в интегрированной кластерной системе

Класс заданий Характеристика

nv, ед. nc, ед. t, мин

Univariant sequential small 1 1 1-5

Univariant sequential medium 1 1 5-60

Univariant sequential large 1 1 > 60

Univariant parallel small 1 > 2 1-5

Univariant parallel medium 1 > 2 5-60

Univariant parallel large 1 > 2 > 60

Таблица 3. Результаты классификации заданий

Класс заданий njob nr

Univariant sequential small 10221 4675

Univariant sequential medium 7927 5861

Univariant sequential large 1211 972

Univariant parallel small 33453 492

Univariant parallel medium 6125 50

Univariant parallel large 3312 95

Таким образом, представленный в статье подход к классификации заданий позволяет расширить функциональные возможности метапланировщика интегрированной кластерной системы и осуществлять оптимизацию распределения вычислительных ресурсов системы не только на уровне отдельно взятого задания, но и на уровне целого класса заданий.

Список литературы

[1] Herrera J., Huedo E., Montero R., Llorente I. Porting of scientific applications to Grid computing on GridWay // Sci. Program. 2005. Vol. 13, No. 4. P. 317-331.

[2] Henderson R. Job scheduling under the portable batch system // Job Scheduling Strategies for Parallel Processing. Springer, 1995. P. 279-294.

[3] Litzkow M., Livny M., Mutka M. Condor — a hunter of idle workstations //In 8th Internat. Conf. of Distributed Computing Systems (ICDCS). IEEE CS Press, Los Alamitos, CA, USA, 1988. P. 104-111.

[4] Человек и вычислительная техника / Под ред. В.М. Глушкова. Киев: Наукова думка, 1971. 294 с.

[5] Тыугу Э.Х. Концептуальное программирование. М.: Наука, 1984. 256 с.

[6] Иванов В.В. Методы вычислений на ЭВМ: Справочное пособие. Киев: Наукова думка, 1986. 584 с.

[7] Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 608 с.

[8] Топорков В.В. Модели распределенных вычислений. М.: Физматлит, 2004. 320 с.

[9] Berman F., Wolski R., Casanova H. et al. Adaptive computing on the grid using AppLeS // IEEE Trans. on Parallel and Distributed Systems. 2003. Vol. 14, No. 4. P. 369-382.

[10] Коваленко В.Н. Комплексное программное обеспечение грида вычислительного типа. М., 2007 (Препр. ИПМ РАН. № 10. 39 с.).

[11] Бычков И.В., Корсуков А.С., Опарин Г.А., Феоктистов А.Г. Инструментальный комплекс для организации гетерогенных распределённых вычислительных сред // Ин-форм. технологии и вычисл. системы. 2010. № 1. С. 45-54.

[12] Бычков И.В., Опарин Г.А., НовопАшин А.П. и др. Высокопроизводительные вычислительные ресурсы ИДСТУ СО РАН: Текущее состояние, возможности и перспективы развития // Вычисл. технологии. 2010. Т. 15, № 3. С. 69-82.

[13] Система управления заданиями Cleo. Руководство пользователя. М.: НИВЦ МГУ, 2007. 19 с.

Поступила в 'редакцию 27 ноября 2012 г., с доработки —18 января 2013 г.