УДК 681.3.06+519.68 Опарин Геннадий Анатольевич,
д. т. н., профессор, зам. директора Института динамики систем и теории управления СО РАН (ИДСТУ СО РАН)
тел.: (3952) 42-89-25, (3952) 51-14-14, e-mail: [email protected]
Вартанян Эдуард Каренович, аспирант Института динамики систем и теории управления СО РАН (ИДСТУ СО РАН), тел.: 8-902-761-11-22, e-mail: [email protected]
АЛГОРИТМ ПОСТРОЕНИЯ НАДЕЖНЫХ ПЛАНОВ РЕШЕНИЯ ЗАДАЧИ НА ОБЪЕКТНОЙ МОДЕЛИ GRID
G.A. Oparin, E.K. Vartanyan
THE ALGORITHM OF CONSTRUCTION OF THE RELIABLE PLANS OF PROBLEM SOLVING ON THE OBJECT GRID MODEL
Аннотация. Статья посвящена вопросам построения надежных планов решения задачи в распределенной среде, объединяющей кластеры с различной степенью надежности их вычислительных узлов. Сформулировано понятие надежного плана решения задачи. Представлен алгоритм построения таких планов. Применение этого алгоритма проиллюстрировано на модельном примере.
Ключевые слова: распределенные вычисления, планирование, надежность.
Abstract. The article is devoted to the questions of construction of the reliable plans of problem solving in the distributed environment which integrates clusters with various degree of reliability of their computing nodes. The concept of the reliable plan of problem solving is formulated. The algorithm of construction of such plans is presented. Application of this algorithm is illustrated on the model example.
Keywords: distributed computing, planning, reliability.
Введение
Развитие информационно-вычислительных и сетевых технологий, а также постоянный рост требований к вычислительным ресурсам, диктуемых научно-исследовательскими приложениями, обусловили создание распределенных вычислительных сред различного назначения. При выполнении в таких средах сложных взаимосвязанных заданий важными аспектами управления вычислительными ресурсами являются планирование и назначение этих ресурсов [1]. К настоящему времени известно множество различных алгоритмов решения таких задач (см., например, [2]), в том числе алгоритмов, работающих с учетом заданных ограничений на используемые ресурсы. Однако зачастую эти алгоритмы ориентированы на одно-
родные вычислительные системы, обладающие высокой отказоустойчивостью, не предусматривают наличие взаимосвязанных заданий или реализуют простейшие принципы обработки очередей заданий, такие как FIFO. В случае выполнения в разнородной распределенной вычислительной среде сложных взаимосвязанных заданий, одним из важнейших ограничений становится обеспечение надежности вычислительного процесса.
В данной статье рассматриваются вопросы построения надежных планов решения задач на объектной модели Grid [3]. Работа выполнена при частичной поддержке РФФИ, грант № 10-0700146.
Интегрированная кластерная система
Частным случаем вычислительной среды Grid является интегрированная кластерная система (ИнКС). ИнКС - это распределенная вычислительная среда, предназначенная для решения фундаментальных и прикладных вычислительных задач и характеризующаяся следующими особенностями:
• в качестве узлов системы выступают вычислительные кластеры;
• на разных уровнях интеграции системы существуют различные категории пользователей, в их числе пользователи, нуждающиеся в высокоуровневых средствах организации вычислительного процесса решения задачи;
• задания пользователей относятся к задачам разных классов и требуют специализированных средств спецификации вычислительных процессов;
• множество заданий пользователей рассматривается с точки зрения теории очередей и представляется в виде совокупности потоков заданий;
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
• поток заданий характеризуется следующими свойствами: динамичностью; стохастичностью; неоднородностью; отсутствием обратной связи; неординарностью; стационарностью;
• в рамках системы могут функционировать специализированные распределенные проблемно-ориентированные программные комплексы;
• в системе нет единой политики администрирования вычислительных кластеров, на кластерах могут применяться различные принципы и механизмы обработки потоков заданий различных типов;
• средства объединения вычислительных кластеров в единую систему должны обеспечивать прозрачность, открытость и масштабируемость интегрируемых ресурсов.
Объектная модель ИнКС
Элементами модели, отражающей знания об объектах распределенной вычислительной среды ИнКС, являются:
• С - множество классов;
• О - множество объектов;
• Р - множество полей;
• Т - множество типов.
Для описания взаимосвязанного задания необходимы следующие классы объектов:
• параметр;
• операция нахождения искомых параметров по заданным;
• программный модуль, реализующий операцию;
• вычислительный узел ИнКС (вычислительный кластер);
• агент, управляющий вычислительным узлом.
Таким образом, в простейшем случае объектную модель ИнКС [4], описывающую взаимосвязанные задания, можно определить в виде структуры ^ = < Z,F,М,И,А >, где 2 - множество параметров; Р - множество операций, которые могут быть выполнены над полем параметров М - множество программных модулей, реализующих операции из Р; й - множество узлов ИнКС, в которых размещен тот или иной модуль из М; А - множество агентов, управляющих узлами из Д (каждый агент я из А управляет узлами одного вычислительного кластера). Связи между элементами множеств Р и А заданы отно-
шениями Ш с 2 X Г, ОиТ С 1 х р, ЕМ с ¥ X М, МП с М X Я, ПА С Д X А. Содержательно операция /¿ЕР реализует возмож-
ность вычисления множества параметров OUT1 cZ по множеству параметров IN1 с Z. а множества IN* и OUTi называются, соответственно, множествами входных и выходных параметров для операции /;. Каждая операция fi £ F характеризуется величиной Tjk - предполагаемым временем выполнения модуля £ М, реализующего операцию /¿, в узле r} Е R.
На S формулируются непроцедурные постановки задач вида: по заданным значениям параметров из ZL" = х2, ..., л"у}с Z вычислить значения параметров из Zaut = {yt. у2. ..., ■ — -'. План решения такой задачи является в
общем случае параллельным. Если вычислительная модель избыточна (в случае, когда одни и те же параметры могут быть найдены с помощью разных операций), то может существовать множество планов решения одной задачи. План решения задачи задается в виде булевой матрицы X размерности к. х п (рис. 1), где к - число шагов плана решения задачи, п = |F|. х^ = 1 означает, что операция fj Е F выполняется на 7-м шаге плана.
fi fn
Шаг 7 0 VI 0 VI
Шаг к 0 VI 0 VI
Рис. 1. План решения задачи
Надежные планы решения задач
Отдельно взятые вычислительные кластеры выделенных рабочих станций являются, как правило, высоконадежными вычислительными системами. Однако в ИнКС могут быть также интегрированы кластеры других видов, например кластеры, сформированные на базе невыделенных рабочих станций компьютерных классов различных вузов или разнородных персональных компьютеров научных организаций. В этом случае особенно важной становится проблема обеспечения надежности вычислительной системы при выполнении сложного плана решения задачи, отдельные подзадачи которого решаются в узлах, обладающих различной степенью доступности и отказоустойчивости.
Понятие надежного плана решения задачи базируется на общих положениях теории надежности вычислительных систем (см., например, [5, 6]). С этой точки зрения основными характеристиками узлов ИнКС, в которых размещены про-
иркутским государственный университет путей сообщения
граммные модули, реализующие операции плана решения задачи, являются:
• - доступность узла г, ё ¡? в момент
времени £:
• ТУ" - среднее время работы узла т}- между отказами.
План решения задачи будем называть надежным, если вероятность выполнения каждой из его операций /; £ не ниже заданного пользователем значения Р':
Вероятность отказа узла Tj
/ т / 1
/ ^-tbrft
/ 0 -— 1 1 _■ — ■
т ■
Рис. 2. Плотность вероятности Р,'. t) Отрезок времени T¿j вычисляется по сле-
где F^ Q F - подмножество операций, выполнение которых предусмотрено планом X-, Q R -множество вычислительных узлов, в которых размещены программные модули, реализующие операции из FV Pj(_t) - плотность вероятности отказа
вычислительного узла ту; - время, в течение
которого должен безотказно отработать вычислительный узел Tj для того, чтобы успел выполниться программный модуль, реализующий операцию ñ
В ходе анализа статистических данных об интервалах безотказной работы вычислительных узлов была выдвинута гипотеза о соответствии плотности распределения вероятности отказов узлов ИнКС нормальному распределению, что подтвердилось в результате предварительной проверки соответствия генеральной совокупности нормальному распределению:
Р(£)=—==еяр---
а\12к V 2и
где j-i - математическое ожидание случайной величины t, и - среднеквадратичное отклонение случайной величины t.
Предполагается, что по каждому вычислительному узлу ИнКС доступна информация о математическом ожидании (среднем времени работы между отказами) и среднеквадратичном отклонении его отказов. Данная информация хранится в глобальной базе данных и обновляется с восстановлением узла после очередного отказа. Таким образом, Pj(t) имеет следующий вид (рис. 2):
у _ j-scheá
ij L
дующей формуле:
Т-Ji}
где t3Ched
время начала планирования решения
j. г в set
задачи; г,- - время последнего восстановления узла Tj после последнего отказа; Т* - время выполнения на узле f) программного модуля, реализующего операцию /¿, с учетом ее позиции в плане; - среднее время построения плана решения задачи; 32 - среднее время организации ВС и передачи ему построенного плана.
Алгоритм подсчета времени выполнения операции с учетом ее позиции в плане взят из [7]. При этом используется прогнозное время выполнения модуля i7ik £ М, реализующего операцию /¿, на вычислительных узлах ИнКС:
rj-in send r
где ij - - время, необходимое для передачи
входных данных с управляющего узла кластера на узел ij. Г™ - прогнозное время выполнения моду-
ij-гез send
ля тпк на вычислительном узле '*): ij ~ - время, необходимое для передачи результатов с узла на управляющий узел кластера.
Постановка задачи планирования
В ИнКС поступает поток заданий разных типов, в том числе задания, представляющие собой непроцедурные постановки задач. При обработке таких заданий планировщику требуется:
1) автоматически построить надежные планы решения взаимосвязанной задачи в виде булевых матриц (см. рис. 1);
2) сформировать виртуальное сообщество из агентов, обеспечивающих выполнение полученного плана решения задачи с помощью подчиненных им ресурсов.
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
ш
Алгоритм
Алгоритм построения планов решения задачи включает следующие основные этапы:
Шаг 1. По непроцедурной постановке задачи методом прямой волны [8] строится избыточный поливариантный план решения задачи. Данный план представляет собой упорядоченное множество операций Fx Я F. выполнение которых в определенной последовательности позволит найти искомые величины. На данном этапе планирования последовательность выполнения операций не известна.
Если при заданных величинах задачи невозможно найти искомые величины, то задача считается неразрешимой.
Шаг 2. Выделяется подмножество вычислительных узлов fiv £ if. При этом в Rx включаются
только доступные узлы:
Avj (t) — true,
где t - момент обращения к вычислительному узлу Ту
Шаг 3. Методом обратной волны [8] выполняется извлечение поливариантного плана из множества операций Fx F. Варианты этого плана извлекаются путем прямого перебора, каждый из которых представляет собой булеву матрицу Xq размерности kq Хтг, где q = 1,2,... - порядковый номер варианта плана; Ач - число шагов плана решения задачи; п= |F|, лг?. = 1 означает, что операция /р- £ F выполняется на 7-м шаге плана.
Для каждого варианта плана Xq выделяется подмножество вычислительных узлов ИнКС fu- £ обеспечивающих его выполнение.
Шаг 4. Проверяется выполнение условия (1) для каждого варианта плана Xq.
Если условие (1) выполняется, то из fljj- ис-
ключается наиболее загруженный в текущий момент узел. После чего повторяется шаг 4.
Если условие (1) не выполняется, то в
включается узел, исключенный на предыдущей итерации. Если условие (1) не выполняется при первом прохождении шага 4, то рассматриваемый вариант плана отбрасывается, так как не является надежным.
Задача является неразрешимой, если в результате выполнения шага 4 отброшены все варианты построенного плана.
Шаг 5. Из оставшихся вариантов плана выбирается вариант с наибольшей вероятностью выполнения Хч , £ {1,2., ■■■} - номер субоптимального плана.
Шаг 6. Формируется ВС из множества агентов Ад £ Л, управляющих множеством узлов Е ^ .
Шаг 7. Интеллектуальным агентам из Ах передается план решения задачи Xд и описание топологии коммуникации между узлами из Я ~ .
Пример
Работа алгоритма проиллюстрирована на модельном примере. Информационно-логические связи между параметрами и операциями вычислительной модели представлены двудольным ориентированным графом на рис. 3. Вспомогательные структуры данных, используемые в алгоритме, строятся на основе данного графа.
Характеристики узлов ИнКС приведены в таблице 1.
Т а б л и ц а 1
J-W ai
ч 520 12
г2 648 9
Ъ 825 23
г4 842 14
иркутским государственный университет путей сообщения
Время выполнения операций в узлах приведено в таблице 2. Символ «-» означает, что модуль, реализующий операцию, не установлен на соответствующем узле.
Операции /1 и /г (рис. 3) моделируют постановку задачи: по заданной величине вычислить значение параметров гц,^ Требуется построить субоптимальный план решения этой задачи, вероятность выполнения которого р > 0,95. Время решения задачи <30.
Работа алгоритма:
Шаг 2. Предположим, что все узлы доступны, тогда Ду = {г1гг2гг3,гл}.
Шаг 3. Построим поливариантный план решения задачи. Построенный план имеет два варианта:
= {/;), I = 3,4 5, 6, 7,8,9,10,11,12,13,14
X1 =
Pi = Ш> i = 3,4 5, 6,7, 8, 9,10,11,12,14,15
X2 =
-1 0 0 0 0 0 0 0 0 0 0 0"
0 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 1 0 0 1
0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0
1-0 0 0 0 0 0 0 0 0 0 1 о-1
-1 0 0 0 0 0 0 0 0 0 0 Q-
0 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0
0 0 0 0 1 0 1 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0
LQ 0 0 0 0 0 0 0 0 0 0 1-1
Шаг 4. Оценим надежность построенных планов по формулам (1) и (2) (табл. 3, 4).
Вероятность выполнения плана А"1 равна 0,97, а плана X2 - 0,94. Следовательно, отбрасываем второй вариант плана.
Повторим шаг 4, отбросив наиболее загруженный узел. Предположим, что наиболее загруженным является узел Ч В результате изменятся вероятности выполнения операций (табл. 5).
Вероятность выполнения плана осталась в допустимых пределах (0,96). Отбросим узел т2 (предположив, что на данный момент он наиболее загруженный узел) и повторим шаг 4. Соответствующие значения надежности операций приведены в таблице 6.
В этом случае невозможно выполнить план
Т а б л и ц а 2
Время выполнения операций в узлах
h и h и /7 /в h Ло fil /12 /13 /14 fis
п 1 - - 3 2 - - - - 1 4 - 3
2 - 3 2 - 2 - - 1 1 2 2 -
Ъ - 2 - - 2 - 2 4 2 - 3 2 -
- - 2 - - 3 3 - - - - - -
Т а б л и ц а 3
Ч
>3
П
TW)
h
Вероятность выполнения операций в плане X1 U /б fb /7 /в h /10 /11 /12 Аз fi*
0,03 0,02 1,00 1,00
1,00 1,00 0,03 1,00
1,00 0,02 1,00 0,02
0,04 0,02 1,00 1,00
0,05 1,00 0,04 1,00
1,00 0,04 1,00 0,03
1,00 1,00 0,04 0,03
1,00 1,00 0,03 1,00
1,00 0,03 0,04 1,00
0,05 0,04 1,00 1,00
0,06 1,00
0,05 0,06 0,04 0,05 1,00 1,00
0,99 0,97 0,99 0,99 0,99 0,99 0,99 0,97 0,99 0,99 0,99
Ч
Та П
Вероятность выполнения операций в плане X2
и /& А /7 /в /9 /ю /и /12
0,99
Т а б л и ц а 4
/14 /15
0,03 1,00 1,00 0,04 0,05 1,00 1,00 1,00 1,00 0,05 1,00 0,06
0,02 1,00 0,02 0,02 1,00 0,04 1,00 1,00 0,03 0,04 0,06 1,00
1,00 0,03 1,00 1,00 0,04 1,00 0,04 0,03 0,04 1,00 0,05 1,00
1,00 1,00 0,02 1,00 1,00 0,03 0,03 1,00 1,00 1,00 1,00 1,00
0,99 0,97 0,99 0,99 0,99 0,99 0,99 0,97 0,99 0,99 0,99 0,94
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
Вероятность выполнения операций в плане X1 U /s ft, fl /в fa flО /и fl2
Т а б л и ц а 5
0,02 1,00 1,00
1,00 0,03 1,00
0,02 1,00 0,02
0,02 1,00 1,00
1,00 0,04 1,00
0,04 1,00 0,03
1,00 0,04 0,03
1,00 0,03 1,00
0,03 0,04 1,00
0,04 1,00 1,00
0,05 0,04 1,00
0,06 0,05 1,00
0,98 0,97 0.99 0.98 0.96 0.99 0.99 0,97 0,99 0.96 0,99 0,99
Таблица 6
Вероятность выполнения операций в плане X1 /э U /& A h fa /9 /10 /11 /12 /13 /14
1,00 0,03 1,00 1,00 0,04 1,00 0,04 0,03 0,04 1,00 0,04 0,05 1,00 1,00 0,02 1,00 1,00 0,03 0,03 1,00 1,00 1,00 1,00 1,00
0,00 0,97 0,98 0,00 0.96 0,97 0.99 0,97 0,96 0,00 0,96 0,95
.V", вероятность выполнения равна 0,00. Следовательно, необходимо вернуть в множество ff i- узел исключенный на предыдущей итерации шага 4:
Таким образом, план является субоптимальным планом решения данной задачи.
Заключение
Представленный в работе алгоритм построения планов решения задач позволяет учитывать показатели доступности и отказоустойчивости узлов ИнКС, а также обеспечивает возможность как централизованного, так и распределенного планирования вычислений на основе различных политик администрирования вычислительных узлов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Топорков В.В. Модели распределенных вычислений. - М.: ФИЗМАТЛИТ, 2004. - 320 с.
2. Vidyarthi D.P., Sarker B.K., Tripathi A.K., Yang L.T. Scheduling in Distributed Computing Systems: Analysis, Design and Models. - Springer Science+Business Media, 2009. - 300 p.
3. Бычков И.В., Опарин Г.А., Новопашин А.П., Феоктистов А.Г., Корсуков А.С. Управление потоками заданий в интегрированных кластерных системах // Параллельные вычисления и задачи управления: Пленарные докл. V Между-нар. науч. конф. - М.: Изд-во ИПУ РАН, 2010. - С. 39-46.
4. Опарин Г.А., Феоктистов А.Г. Модели и инструментальные средства организации распределенных вычислений // Параллельные вычисления и задачи управления: Тр. IV Междунар. конф. - М.: Изд-во ИПУ РАН, 2008. - C. 11261135.
5. Иыуду К.А. Надежность, контроль и диагностика вычислительных машин и систем. - М.: Высшая школа, 1989. - 216 с.
6. Ушаков И.А. Вероятностные модели надежности информационно-вычислительных систем. -М.: Радио и связь, 1991. - 132 с.
7. Лорьер Ж.-Л. Системы искусственного интеллекта // Пер с франц. - М.: Мир, 1991. - 568 с.
8. Горбунов-Посадов М.М., Корягин Д.А., Мар-тынюк В.В. Системное обеспечение пакетов прикладных программ. - М.: Наука, 1990. -208 с.