Научная статья на тему 'Алгоритм построения расписаний выполнения параллельных задач на группах кластеров с процессорами различной производительности и его анализ в среднем'

Алгоритм построения расписаний выполнения параллельных задач на группах кластеров с процессорами различной производительности и его анализ в среднем Текст научной статьи по специальности «Математика»

CC BY
38
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОСТРОЕНИЕ РАСПИСАНИЙ / ОНЛАЙНОВЫЙ АЛГОРИТМ / РЕЖИМ CLOSED-END / ВЕРОЯТНОСТНЫЙ АНАЛИЗ / ПРОЦЕССОРЫ РАЗЛИЧНОЙ ПРОИЗВОДИТЕЛЬНОСТИ / АЛГОРИТМ РАЗМЕЩЕНИЯ ЗАДАЧ В ОГРАНИЧЕННЫЕ ОБЛАСТИ / ONLINE ALGORITHM / CLOSED-END / PROBABILISTIC ANALYSIS / PROCESSORS OF DIFFERENT CAPACITIES / SCHEDULING USING LIMITED COMPUTATIONAL AREAS / LIMITED HASH SCHEDULING

Аннотация научной статьи по математике, автор научной работы — Лазарев Д.О., Кузюрин Н.Н.

В работе рассмотрена задача построения расписаний выполнения параллельных вычислительных задач на группах кластеров с одинаковым числом w одинаковых процессоров, производительность которых для разных кластеров различная. Проведён вероятностный анализ задачи. Получены нижние оценки. Показано, что если число процессоров, необходимых для решения любой задачи имеет равномерное распределение на отрезке [o,w] для любого алгоритма составления расписаний величина математического ожидания свободного объёма вычислений равна Ω(w√N). Получены верхние оценки. Был предложен онлайновый алгоритм построения расписаний с распределением задач в ограниченные области Limited Hash Scheduling для задачи построения расписаний, работающий в режиме closed-end, с математическим ожиданием свободного объёма вычислений, равным O(w√(N ln N)).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On-line algorithm for scheduling parallel tasks on related computational clusters with processors of different capacities and its average-case analysis

In this article the on-line problem of scheduling parallel tasks on related computational clusters with processors of different capacities was studied in average case. In the problem the objective is to make a schedule on k clusters with w processors each of N tasks, where the task i,i≤N requires time hi on cluster with nominal capacity of processors and wi≤w processors. We presume for all 1≤i≤N that wi has uniform distribution on (0,w] and that hi has uniform distribution on (0,1]. The processors on different clusters have different capacities v1,…,vk. The task with nominal time hi will require wi processors be computed in time hi/vj on cluster number j. Let sum volume of computations W be the sum of volumes of computations for each task. Let L be the minimal time at which all clusters will compute all the tasks, assigned to them, where each task is assigned to one cluster. The expected value of free volume of computations E(Vsp) is used to analyze the quality of an algorithm, where Vsp=∑1≤i≤kviL-W. It was shown that for every algorithm for scheduling parallel tasks on related clusters E(Vsp)=Ω(w√N). An online scheduling algorithm Limited Hash Scheduling was proposed that distribute tasks to limited areas. This algorithm works in a closed-end mode and has a mathematical expectation of a free calculation volume equal to O(w√(N ln N)). The idea of the algorithm is to schedule tasks of close required number of required processors into different limited in time and the number of allowed to use processors areas on clusters.

Текст научной работы на тему «Алгоритм построения расписаний выполнения параллельных задач на группах кластеров с процессорами различной производительности и его анализ в среднем»

Алгоритм построения расписаний выполнения параллельных задач на группах кластеров с процессорами

различной производительности и его

1

анализ в среднем

1 Д.О. Лазарев <dennis810@mail.ru> Н.Н. Кузюрин <nnkuz@ispras.ru>

1 Институт системного программирования им. В.П. Иванникова РАН, 109004, Россия, г. Москва, ул. А. Солженицына, д. 25 2Московский физико-технический институт, 141700, Московская область, г. Долгопрудный, Институтский пер., 9

Аннотация. В работе рассмотрена задача построения расписаний выполнения параллельных вычислительных задач на группах кластеров с одинаковым числом w одинаковых процессоров, производительность которых для разных кластеров различная. Проведён вероятностный анализ задачи. Получены нижние оценки. Показано, что если число процессоров, необходимых для решения любой задачи имеет равномерное распределение на отрезке [o,w] для любого алгоритма составления расписаний величина математического ожидания свободного объёма вычислений равна ß(w^N). Получены верхние оценки. Был предложен онлайновый алгоритм построения расписаний с распределением задач в ограниченные области Limited Hash Scheduling для задачи построения расписаний, работающий в режиме closed-end, с математическим ожиданием свободного объёма вычислений, равным 0(wJWTn~N).

Ключевые слова: построение расписаний; онлайновый алгоритм; режим closed-end; вероятностный анализ; процессоры различной производительности; алгоритм размещения задач в ограниченные области; Limited Hash Scheduling.

DOI: 10.15514/ISPRAS-2018-30(6)-6

Для цитирования: Лазарев Д.О., Кузюрин Н.Н. Алгоритм построения расписаний выполнения параллельных задач на группах кластеров с процессорами различной производительности и его анализ в среднем. Труды ИСП РАН, том 30, вып. 6, 2018 г., стр. 105-122. DOI: 10.15514/ISPRAS-2018-30(6)-6

1 Работа выполнена при финансовой поддержке РФФИ, проект 17-07-01006

1. Введение

Задача построения расписаний выполнения параллельных задач на группах кластеров с процессорами различной производительности (далее - задача построения расписаний), объединённых, например, сетями Grid[15] с одинаковым числом процессоров на кластерах ранее изучалась лишь в худшем случае. В случае однопроцессорных машин, в работе [1] был предложен алгоритм A, абсолютная точность RA которого была не более 8. В работе [2] оценка абсолютной точности была улучшена до 3 + V8 « 5.828, а также был предложен рандомизированный алгоритм с абсолютной точностью Ra < 4.311.

Если представить каждую задачу в виде прямоугольника, ширине которого соответствует число процессоров, необходимых для решения задачи, а высоте прямоугольника без учёта сжатия- нормализованное время исполнения задачи(на кластере единичной производительности), то задача построения расписаний выполнения параллельных задач может рассматриваться, аналогично работе [10], как задача упаковки прямоугольников в несколько полубесконечных полос, в которой, попадая в полосу с номером j, прямоугольник сжимается по высоте в Vj раз, где Vj -скорость у-ой полосы. Только, ввиду того, что задача не обязательно должна занимать последовательные процессоры на кластере, прямоугольник может быть разбит по ширине на несколько меньших прямоугольников прямыми, параллельными боковым сторонам полос.

Таким образом, алгоритмы для задач упаковки в несколько полос могут оказаться эффективными для задачи построения расписаний. Так, например, любой алгоритм для задачи Multiple Strip Packing с полосами одинаковой ширины [6], [11] может использоваться для задачи построения расписаний для процессоров одинаковой производительности с одинаковым числом процессоров на кластере, а любой алгоритм для задачи упаковки прямоугольников в полосы различной ширины [12], [13], [14] может быть использован для задачи построения расписаний для процессоров одинаковой производительности с различными числами процессоров на кластерах. Обратное, однако, неверно.

В [3] С.Н. Жуку удалось получить оценку RA < 2e для задачи построения расписаний на группах кластеров с процессорами различной производительности с различным числом процессоров на кластерах, обобщив алгоритм из работы [4] для задачи упаковки прямоугольников в полосы разной ширины на случай задачи построения расписания на кластере. В настоящей работе был построен онлайновый алгоритм для задачи построения расписаний Limited Hash Scheduling для N задач, с мат. ожиданием свободного объёма вычислений E(Vsp) = O(wVFEW). При построении алгоритма использовались идеи разбиения на области из работы [5] и упаковки не поместившихся в области прямоугольников из работы [6], а также

методы анализа в среднем алгоритмов из работы [7]. Так как предложенный алгоритм упаковывает каждую задачу на последовательные процессоры, то, положив все ускорения равными, можно свести классическую задачу Strip Packing к задаче построения расписаний, улучшив лучшую из известных оценок для задачи Strip Packing при анализе в среднем [8], [6] до f(5sp) = O(VMnW).

Также было доказано, что при числе процессоров на каждом кластере, равном w и при числе процессоров, необходимых для решения каждой задачи, имеющем равномерное рапределение на [o, w] любой алгоритм составления расписаний имеет математическое ожидание свободного объёма вычислений E(Vsp) = H(w V^) , где N- число задач, Vsp - свободный объём вычислений.

2. Постановка задачи

Имеется группа из k вычислительных кластеров с одинаковым числом процессоров w у каждого кластера и различной производительностью процессоров. Будем называть v; ускорением кластера с номером i. Так, выполнение любой задачи Tj на кластере с номером i занимает в v; раз меньше времени, чем нормализованное время выполнения этой задачи на кластере единичной производительности h;. Требуется составить расписание выполнения задач без прерываний на k вычислительных кластерах, минимизирующее время L завершения выполнения последней задачи. Будем рассматривать онлайновые алгоритмы, получающие задачи одну за другой и при распределении каждой задачи не знающие ни времени исполнения, ни числа процессоров следующих задач. Рассматриваем алгоритмы, работающие в режиме closed-end, т.е. знающие число задач N, для которых нужно составить расписание до получения первой задачи. Будем проводить вероятностный анализ в среднем случае в предположении, что числа процессоров, необходимых для решения каждой из задач w;, i 6 {1,2, ...,N}- независимые в совокупности случайные величины, имеющие равномерное распределение на [o,w], где w- число процессоров на каждом кластере. Предположим также, что нормализированное время выполнения каждой задачи на кластере единичной производительности i 6 {1,2,..., N}- -также независимая случайная величина, имеющая равномерное на [0,1] распределение.

Обозначим за L время завершения выполнения последней задачи, также L будем называть временем работы алгоритма (на данном наборе задач). Для задачи i с числом процессоров w; и нормализованным временем h;, будем называть величину Wjh; объёмом вычислений.

За Vj обозначим суммарный объём вычислений по задачам, выполненным на вычислительном кластере с номером i.

За время не большее, чем L с ускорением wt, на -ом кластере сумеем выполнить объём вычислений Vt < v{wL. Свободным объём вычислений на кластере с номером i назовём Ut = vtwL — Vt >0.

За свободный объём вычислений примем сумму свободных объёмов вычислений по всем кластерам: Vsp = ^:=1Ui.

За W обозначим сумму объёмов вычислений для всех задач, которые надо распределить: W = Wi.

N

ZNw

E(hi )Е(щ)= —

i=i

За L' обозначим минимальное время, за которые задачи вычислительным

объёмом W могут быть посчитаны на группе данных вычислительных

,' w устройств: L = —j-.

За L обозначим минимальное время, за которые задачи вычислительным объёмом EW могут быть посчитаны на группе данных вычислительных

Т E(W) N

устройств: L = к = к v

Будем оценивать качетво работы алгоритма путём анализа величины E(Vsp).

-Г Г I' Г W cvr\ E(-W) N Г

Так как L > L , то L -, следовательно, E(L) >—-z-= —¿к-=

поскольку E(W) = -j-.

Пусть время выполнения задач есть Ь. Тогда Е(у5р) = Е(и)т^= - Е(Ш) = Е(1 Т1'[=1р1 . Так как ЕШ = Ъы Т1'[=1р1 , то

E(Vsp) E(L — L)

(1)

E(W) L _

Отсюда, доказательство того, что E(Vsp) = 0(wjN\nN), равносильно

доказательству того, что E(L) = L(1 + 0( 1~~))'-

E(Vsp) = 0(wlN \nN) о E(L) = L(1 + 0(

\nN

1T))

3. Нижние оценки E(Vsp)

Для получения нижнних оценок докажем следующую лемму: Лемма 1. Пусть 2 случайные величины X и У имеют непрерывные плотности распределений [х и , причём X и У - симметричны относительно своих мат. ожиданий и принимают лишь неотрицательные значения. Тогда X + У - тоже имеет непрерывную функцию плотности распределения и симметрична относительно своего мат. ожидания.

v

1 -I

Доказательство.(0 = / /х(т)/у (£ - т)^т ^ (£) - непрерывна. Без ограничения общности рассуждений предположим, что £(Х) < Е (У ), £ < < Я(Х) + Я (У ).

Покажем, что (О = /о7*(т)/у (С - т)^т = + 2Я(У ) -

0(т)^т = )-4£(т)/у (2ВД + 2£(У )- t - т)йт.

Посмотрим, при каких т /^(т)/у(2Я(Х) + 2 Я (У ) - £ - т) не равно нулю

тождественно.

0 < т < 2Я(Х) П0< 2Я(Х) + 2Я(У) - С - т < 2Я(У) ^ 2Я(Х) - С < < т < 2Я(Х),значит /х+у(2Е(Х) + 2Я(У ) - С) =

г2йЛ

= | /х(т) М2ВД + 2Я(Г ) - t — r)dr = = (X и У — симметричны относительно своих мат. ожиданий) =

¡■2ЕХ

= | (2£Т — т) /У(—2Я(Х) + t + r)dr = (а = 2£Т — т) = = | /*(«)/у (t — «)da = ■

Jn

Теорема 1.(О нижних оценках для задачи о составлении расписаний). При

любом способе распределения N задач на группе кластеров с w процессорами различных скоростей, нормализованные времена исполнения которых -независимые в совокупности случайные величины, равномерно распределённые на [0,1] и числа процессоров, занимаемые задачами-независимые в совокупности случайные величины, равномерно распределённые на [о,ш],

= П(^)

Обозначения.

За М>№/2 обозначим суммарный объём вычислений для всех задач, занимающих больше, чем ^ процессоров, а за обозначим суммарный

объём вычислений для всех задач, занимающих не более, чем — процессоров.

2 -г--,----Г--, -- — <№/2

W 2

За обозначим суммарное нормализованное время исполнения для всех

w 2

суммарное нормализованное время исполнения для всех задач, занимающих не более, чем ^ процессоров.

За М обозначим число задач, число процессоров, необходимых для решения

которых Wj > —.

задач, занимающих больше, чем — процессоров, а за ft<w/2 обозначим

Т-Г П » ,

Пусть М = — + — где число задач.

Доказательство.

Если удастся показать, что

, wVF)

Зе0: Р {w^>w - W > —-—} > е0, (2)

то с вероятностью е0, >-, значит,

" 8

Рассмотрим случайное событие Z, получающееся в результате двух испытаний:

1. Одно испытание Z0 в схеме Бернулли, возвращающееся 0 или 1 с одинаковой вероятностью.

2. Если после первого испытания Z0 = 0, то Z = U(0, w/ 2], иначе, Z = U(w/2,w], где за U(a, Ь] обозначена случайная величина, имеющая равномерное распределение на полуинтервале (а, Ь].

Плотность вероятности случайной величины Z поточечно равна плотности распределения равномерно распределённой на (0,w] случайной величины U(0,w], следовательно, Z = U(0,w].

Поэтому будем рассматривать следующую последовательность испытаний /, в результате которой нам будут известны все параметры задач:

i

1. Серия испытаний Бернулли из N испытаний с вероятностью - того, что

w 1

число процессоров W; < — и с вероятностью - того, что число процессоров Wi >f , ¿6(1.....N).

2. Выбираем нормализованное время исполнения каждой из задач имеющее равномерное распределение на [0,1],^,...,^ - независимы в совокупности.

3. Для всех 1 < i < N: из первого испытания Wj < выбираем Wj, как

случайную велиину, равномерно распределённую на полуинтервале (о, w/2], а для всех осталных i выбираем wt, как случайную велиину, равномерно распределённую на полуинтервале (w / 2, w]. По интегральной теореме Лапласа-Муавра,

( N V^l ( M-f . , ,

Р{М > — + —} > Р {1 < < 2} > (W > W„) >

- . ж2 2

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

> -= I > 1/30

Пусть М >М = у + ^р. Рассмотрим ftw/2. Эта случайная величина равна сумме по всем М задачам, занимающим более ^ процессоров, нормализованных времён исполнения этих задач,- случайных симметричных 110

-f

12л J1

относительно мат. ожидания случайных величин U(0,1], имеющих равномерное распределение на (0,1]. Значит, по Лемме 1, h>w/2 - имеет

м

симметричное относительно своего математического ожидания, равного —, распределение, следовательно,

М

F\Kw

Аналогично,

N -М) 2 ) 2

( М) 1

( N -Мл 1

верно событие Л: (м>^ + Щ n (h>w n (h<w < . Р(Л) >

Предположим, что после первых 2 шагов в последовательности испытаний I

2 • Т) ° П —

1

120.

Тогда = . При выбранном и равномерно распределённом

2 ' 1 2

на (ш/2 , случайная величина, равная - симметрична относительно своего мат. ожидания, равного ^^ Тогда, по Лемме 1, симметрична

4

относительно своего мат. ожидания, более или равного ^^ и Р (ш>» < 3шН-и'/2) > -. Аналогично, Р (ш™ < МЛ > -. Тогда обозначим за В

4)2 V 8)2

следующее случайное событие:

/ N М\ f N-M\

в = (м>- + -) n {h>« > j) n < —)n (w>2<

f w(N - M)\

Если В - верно, то

n[W w <

Ч 8 1

№(В) > — =е0 v у 480 0

w(N + 6h>w/2 -М)\ ( М\ W = W W + w^w <—--- )n[hw>—)^ whw - W

( м\ n[h>2>-) w ((8 - 6)h>w/2 -N + м) wJn

8>

8 ~ 8 Значит, верна формула 2, и, стало быть, верно, что

1

2

4. Алгоритм Limited Hash Scheduling для задачи построения расписаний

Обозначения.

V:

Vi= vfc' ,¿6(1.....fc]

2 Ei=i Vi

£W N

L =■

|Vw|

s = ,

L к

4.1 Разбиение на области

Определение 1. Назовём вычислительной областью, или просто областью некоторое подмножество пространства П = время х процессоры. Будем говорить, что задача кладётся на верх текущей упаковки в вычислительной области, если задача начинает исполняться на процессорах, принадлежащих области во всё время исполнения задачи, в самый ранний момент времени из возможных после завершения всех предыдущих задач, исполняемых внутри данной области.

Предположим без ограничения общности рассуждений, что > v2 > ••• > . Тогда рассмотрим вычислительную область П1 , равную произведению временного отрезка [0,1] на все процессоры всех кластеров. Разделим П1 по времени на s меньших непересекающихся вычислительных областей с числом

процессоров wfc и временем исполнения -. В итоге получим sfc

вычислительных областей шириной w и временем [(i — 1)-,i-], Vi £ {1,..., fc], по s областей для каждого вычислительного кластера. Области кластера с ускорением v1, в свою очередь, разделим по ширине на 2 подобласти, состоящие из двух областей шириной w i v1 w i V1

-и w--, Vi £ {1, ..., s]

s s

Области кластера с ускорением , Vi = {1,...разделим по ширине на 2

подобласти, состоящие из двух областей шириной

i-1 / . 1 \ w 1 vi X"1 w 1 vi V"1 \ --и w —I--Vi £ {1,..., s]

¿=1 V ¿=1 )

Всего получим 2sfc областей.

Ниже разбиение на области проиллюстрировано на рисунке 1, на котором полосам соответствуют кластеры с соответствующим ускорением(speeding), координате х- число процессоров, координате у- время(работы вычислительных кластеров).

4.2 Алгоритм упаковки в области Limited Hash Scheduling

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

Определение 3. Скажем, что задача исполняется на верху текущей упаковки некоторой вычислительного кластера, если она начинает исполняться в самый ранний момент времени, но не ранее завершения выполнения всех областей(см. разбиение из предыдущего подраздела, т.е. не ранее, чем I) и не ранее завершения выполнения всех задач, исполняемых на данном вычислительном кластере.

Рис. 1. Разбиение вычислительной области П1 на 2sk меньших областей Fig. 1. Hashing П1 into 2 sk areas with smaller volume of computations.

Алгоритм составления расписаний с использованием ограниченных областей Limited Hash Scheduling:

1. Если очередная задача исполнима в одной из 2sk областей, полученных в предыдущем подразделе(при условии исполнения предыдщих задач согласно алгоритму), то кладём задачу на верх текущей упаковки в области с минимальным числом процессором, в которой данная задача исполнима.

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

5. Верхние оценки для алгоритма Limited Hash

Scheduling

В работе [7] была показана следующая Лемма, являющаяся усилением неравенства Азумы в случае определённым образом распределённых случайных величин.

Лемма. (Трушников, 2013.) Пусть случайная величина X = Хх + Х2 + —+ А^, где Xi = ^{qi, ^ принимает значение 1 с вероятностью р и 0 с вероятностью 1 — р, ^ — равномерно распределенная на отрезке (0,1] случайная величина, причем все случайные величины £¿,^¿,1 £ {1, ...,N} независимы в совокупности. Тогда для любого а из интервала (0,1] выполняется неравенство

5 2

Р{Х > (1 + а)£Т} < е-9а Докажем следующую лемму, покрывающую случаи а > 1: Лемма 2. В обозначениях предыдущей леммы, для любого а из интервала (0, 1] выполняется неравенство

5

Р{Х > (1 + а)£Т} < е-9а

,а при а > 1 верно, что

i

Р{Х > (1 + а)£Т} < е-за Доказательство. Нужно доказать утверждение в случае а > 1. В работе [7] было доказано, что

Р{Х > (1 + а)£Т} < exp (pN ((б — 1) — 1 — ^ (1 + a))) Vt > 0

Выберем t = 1. Тогда

Р{Х > (1 + а)£Т} < exp ( pW (е — 1 — 1 —1(1 + а)|)

< exp (pN (е — 5 — 1«)) < exp (pN (—1«)) = е ■

Отсюда выведем следующую лемму:

Лемма 3. Пусть случайная величина X = + Х2 + —+ , где ^ = ^ принимает значение 1 с вероятностью р и 0 с вероятностью 1 — р, ^ — равномерно распределенная на отрезке (0,1] случайная величина, причем все случайные величины ,1 £ {1,..., М} независимы в совокупности. Тогда при всех N > 114

Р(Х >ЕХ + 2-^N lnN] < N-3

Доказательство.

1. EX > 2^NlnN. Тогда по первой части Леммы 2,

г I—,-. С (

Р(Х >ЕХ + 2^N\nN} = Pjx > (1 +

EX

( 5N\nN \ ( N\ /-40lnN\

< exp i-45^™) < к EX<j)< exP {—9—) <

< {т.к.EX <11 < exP I-=-) < N~3

2. EX < 2^NlnN. Тогда по второй части Леммы 2,

г .-, ( ( 2jN\nN

Р(Х > EX + 2VN\nN} = PjX>£Tl1 +

, ЕХ

, 2^N lnN\ < exp (----) < (VN > nq) < N~

Упорядочим области по числу процессоров в порядке убывания: пусть первая область содержит и1 = w (l — ^т) процессоров, ..., область с номером 2sk содержит u2sk = w— процессоров. Скажем, что область с номером i имеет ускорение vn..

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Определние 4. За H^i = {1,...,2sk} обозначим сумму времён исполнения всех задач, число процессоров, необходимых для решения которых не превосходит ширину самой широкой области и1, но строго больше, чем ширина i — 1-ой области ui-1: Ht = 2 (i<j<N)n(^1<ws%) fy, где Wj и hj- число процессоров и нормализованное время, необходимые для решения задачи номер У;

За Н0 обозначим сумму времён исполнения всех задач, число процессоров, необходимых для решения которых строго больше, чем ширина 1-ой области

u1: Hi = 2 (i<j<N)n(wj>Ui) hj.

Определние 5. За ^ обозначим сумму времён i самых широких областей, умноженную на ускорение того кластера, в вычислительном пространстве которой данная область лежит: ^ = 2)=1 vnj.

Напомним, что задача, не исполнимая ни в одной из областей при условии составления расписания для предыдущих задач согласно с алгоритмом Limited Hash Scheduling, называется выпавшей задачей.

Определние 6. За Н обозначим суммарное время исполнения всех выпавших

задач.

Лемма 4.

Н<Н0 + max{0, max{Ht — lt + ¿}}

3

я

Доказательство. Назовём область числом процессоров Uj не переполненной, если все задачи, для решения которых нужно не больше, чем Uj процессоров, упакованы в области числом процессоров < Uj. Остальные области назовём переполненными.

Если область i ускорением v„ - переполнена, то некая задача, требующая не более, чем Uj процессоров, не исполнима ни в одной из областей шириной < щ. Значит, суммарная нормализованная высота задач, исполняемых в -ой

области не менее, чем v.- - — 1.

' S

Пусть ¿0- номер не переполненной области с самым большим числом процессоров. Если все области - переполнены, то определим ¿0 = 2sfc + 1 и = 0. Заметим, что все задачи с W; < uio - не выпавшие. Если ¿0 = 1, то Н = Н0. Если ¿0 > 1, в каждую из областей с номером i < ¿0, попали задачи суммарным временем выполнения не менее, чем 1. Значит,

Н < Я0 + — /¿0-1 + ¿0 — 1) < #0 + max{0,max^ — ^ + ¿}} ■

Предложение 1. После завершения работы алгоритма Limited Hash Scheduling при Н > 0,

- н ь

L < L + :

где L- самое позднее время завершения задачи на одном из вычислительных

Т N и

кластеров, L = ——ц--время начала выполнения выпавших задач, л-

42;=i п

суммарное время исполнения всех выпавших задач. Обозначение.

За й;, i £ {1,..., fc} обозначим max{L, время завершения последней задачи

на вычислителном кластере с номером ¿}.

Доказательство. Н = ^f=1(aj — I)Vj. Заметим, что

к

Н к sr L + + —<

¿¿ = 1 "i ¿¿ = 1 "i Г—J

Докажем последнее неравенство индукцией по числу попавших в

переполнение задач, что £f=1(L-' — а/ < fc, где и а/- промежуточные

значения L и «j после попадания в переполнение j задач.

База индукции при j = 0 очевидна: 0 < fc.

Переход. Пусть ^f=1(LJ-1 — а/-1 < fc. Рассмотрим 2 случая:

1. = i7--1. Тогда Zj=1(iy — а/ < ^(У-1 — а/-1 Ь < к

2. Lj > Ly-1. Тогда из того, что, в соответствии с алгоритмом Limited Hash Scheduling, при вычислении задачи с номером j на верху текущей упаковки в том кластере, в который алгоритм размещает задачу, время завершения задачи минимальное и из того, h < 1, следует, что

к

L' — aj < — V1<i<k^ ^(V-1 — а{-1 )vt < к я

i=i

Предложение 2.E(Ht) < lt Vi E{1,...,k] (см. определения 4 и 5.) Доказательство. Пусть [j ] = m,i — ms = p.

=11

h = s-^vi+-^vm+i = 4 x vfc—д ^ i<sk

„ / I „ / fll+1 \-\fr

sL-i sL-i £f=1 vi

i=1 i=1 l=1

E(Hi) = - P(Uj-1 < w1 < u1) , где w1 - имеет равномерное распределение на [0, w],

s — 1 ' -- I P + 1..

NV1 —^ + Li=iVi+——vm+1 n v1 — vm+1

Ш) = T-5-^-5-=h—'

2YH=1Vi 1 42ki=1Vi s

< li,r. к. v1 > vm+1, при всех i < sk Аналогично доказывается при i > sk,4ro E(Hi) < li Я Теорема 2 (Верхние оценки E(Vsp) для алгоритма Limited Hash Scheduling). При составлении расписаний согласно алгоритму Limited Hash Scheduling, для числа вычислительных кластеров к < V~N ускорением

процессоров самого быстрого кластера v1 < VInN , верно, что для всех N > N0 Е И математическое ожидание свободного объёма вычислений

E(Vsp) < 4wVN\nN = 0(wVN InN), где w- число процессоров на каждом из вычислительных кластеров. Доказательство.

/ к \ , к ч к

W )=E(Lw У va-e(w) = e(l- l)w У V:

Е(У5р) = Еим^^-ш] = Еим^Л - Е(Ш) = Еа - Ь)™^^ (3),

V 1=1 ) \ 1=1 ) 1=1

где Кф- свободный объём вычислений, L- время завершения исполнения последней задачи, Ш- суммарный объём вычислений по всем задачам,

Т= К Ь =

По предложению 1,

к к

(Ь - Ъ)ы ^р^ыН + Е(Ь - Ъ)ы Е(ыН) + Е(кН), (4)

1=1 1=1 где Н - суммарное время выполнения выпавших задач. По Лемме 4, так как в силу выбора б,^ < б < Н<Н0 + тах{0, тах[Н1 - 11 + ¿}} ^ ЕН < ЕН0 +

+£(max{0,max{tti - Z£}) + t <(t < 2sfc) i

< £■(#„) + £(max{0,max{fy - /¿}}) + 4VN (5)

i

(см. определения 4 и 5)

В последней формуле заметим, что Я(Я0) = -p( Wj > w(l--^—) ) =

2 у V 2s2i=iWj/ I

N т-г Л—ir2f=1Wi , Л wVEw Vwlnw --ц-. По условию теоремы, < VlnN— ^ Е (Я0) <--< -.

2 2 s _^ l^j ^ 2 2sfe 2

Также по предложению 2, выполнено, что Я(Я;) < Z£, следовательно, по лемме 3, Vi, Р(Я; > k + 2VNlnN) < Р(Я; > Е(Я;) + 2VNlnN) < N-3. Значит, P(max;^ - /¿} > 2VN ln W} < N-2

Стало быть, £(max{0,maxj{fy -/¿}}) < 2VN ln W + 0(N-1). Подставим полученные результаты в формулу 5:

Я(Я) = Я(Я0) + Е(max{0,max^ - /¿}}) + 4VN _ 1 _

< VNlnN/2 + 2VWlnN + 0(N-1) + 4Vw

Подставляя полученный результат в формулы 3 и 4, имеем:

/ л /VN lnN ---„

< £(wW)+fcw < wl---+ 2VNlnN + 0(N-1) + 4VW ) + fcw <

/VW lnN ---„ --

wl---+ 2VWlnW + 0(N-1) + 5VWI < (N > N0) < 4wV N ln N

= O(wVFEW) ■

6. Заключение и направление дальнейших исследований

Была рассмотрена задача построения расписаний выполнения вычислительных задач на группах вычислителных кластеров с одинаковым числом w одинаковых процессоров, производительность которых для разных кластеров различная. Число процессоров, необходимых для решения задач является случайной величиной, имеющих равномерное на [0, w] распределение. Был проведён вероятностный анализ. Для любого алгоритма построения расписаний была получена оценка снизу на математическое ожидание свободного объёма вычислений Е (Кф) = ^(w Vw). Был предложен алгоритм Limited Hash Scheduling размещения задач в ограниченные области с £(Кф) = ^(w VMn N), работающий в режиме closed-end, то есть знающий число задач N до начала построения расписания. Алгоритм с меньшей шириной областей также может быть применён для числа процессоров , необходимых для решения каждой задачи, равномерно распределённом на [о,и], при w • и. В общем случае при и < v, даже для

задачи Bin Packing не известно онлайнового алгоритма с математическим ожиданием незаполненного пространства контейнерои ^(Lsp) = o(N) [9].

Большой интерес представляет исследование задачи в случае алгоритмов, работающих в режиме open-end, т.е. не имеющих никаких данных о числе задач, для которых требуется построить расписание. В работе [9] для задачи Bin Packing упаковки объектов размером, имеющим равномерное распределение на [0, и], и < 1 в контейнеры единичного размера при анализе в среднем в режиме open-end f(isp) = ^(V^). Интересен вопрос о возможности получении оценки = ^(w Vw) для любого онлайнового

алгоритма, работающего в режиме open-end для задачи построения расписаний.

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

[1]. Aspens J., Azar Y., Fiat A., Plotkin S., Waarts O. On - line load balancing with applications to machine scheduling and virtual circuit routing. In Proc. of the 25th ACM STOC. 1993. pp. 623 - 631, DOI: 10.1145/167088.167248

[2]. Berman P., Charikar M., Karpinski M. On-line load balancing for related machines. LNCS, v. 1272, 1997, pp. 116-125, DOI: https://doi.org/10.1007/3-540-63307-3_52

[3]. С.Н. Жук. О построении расписаний выполнения параллельных задач на гуппах кластеров с различной производительностью. Труды ИСП РАН, том 23, 2012, стр. 447-454, DOI: 10.15514/ISPRAS-2012-23-27

[4]. S.N. Zhuk. Approximate algorithms for packing rectangles into several strips. Discrete Mathematics and Applications, vol 18, issue 1, 2006, pp. 91-105, DOI: https://doi.org/10.1515/156939206776241264

[5]. М.А. Трутников. Об одной задаче Коффмана-Шора, связанной с упаковкой прямоугольников в полосу. Труды ИСП РАН, том 22, 2012, стр. 456-462, DOI: 10.15514/ISPRAS-2012-22-24

[6]. Лазарев Д. О., Кузюрин Н. Н. Алгоритм упаковки прямоугольников в несколько полос и анализ его точности в среднем. Труды ИСП РАН, том 29, вып. 6, 2017 г., стр. 221-228, DOI: 10.15514/ ISPRAS-2017-29(6)-13

[7]. Трутников М. А. Вероятностный анализ нового алгоритма упаковки прямоугольников в полосу., Труды ИСП РАН, том 24, 2013, стр. 457-468, DOI: 10.15514/ISPRAS-2013-24-21

[8]. Лазарев Д.О., Кузюрин Н.Н. Об онлайновых алгоритмах для задач упаковки в контейнеры и полосы, их анализе в худшем случае и в среднем. Труды ИСП РАН, том 30, вып. 4, 2018 г., стр. 209-230. DOI:10.15514/ISPRAS-2018-30(4)-14

[9]. E. G. Coffman, C. Courcoubetis, M. R. Garey, D. S. Johnson, L. A. McGeoch, P. W. Shor, R. R. Weber, M. Yannakakis. Fundamental discrepancies between average-case analyses under discrete and continuous distributions: a bin packing case study. In Proc. of the twenty-third annual ACM Symposium on Theory of computing, 1991, pp. 230240, doi:10.1145/103418.103446

[10]. Кузюрин Н., Грушин Д., Фомин С. Проблемы двумерной упаковки и задачи оптимизации в распределенных вычислительных системах. Труды ИСП РАН, том 26, вып. 1, 2014 г., стр. 483-502, DOI: 10.15514/ISPRAS-2014-26(1)-21

[11]. Ye D., Han X., Zhang G. Online multiple-strip packing. Theoretical Computer Science, Volume 412, Issue 3, 2011, pp. 233-239. DOI: https://doi.org/10.1016/j.tcs.2009.09.29

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

[12]. Жук С.Н. Онлайновый алгоритм упаковки прямоугольников в несколько полос с гарантированными оценками точности. Труды ИСП РАН, том 12, 2007 г., стр. 716, ISSN 2079-8056

[13]. Zhuk S.N. On-line algorithms for packing rectangles into several strips. Discrete Mathematics and Applications, vol. 17, issue 5, 2007, pp. 517-531. DOI: https://doi.org/10.1515/dma.2007.040

[14]. Жук С.Н. О построении расписаний выполнения параллельных задач на группах кластеров с различной производительностью. Труды ИСП РАН, том 23, 2012 г., стр. 447-454. DOI: https://doi.org/10.15514/ISPRAS-2012-23-27

[15]. Foster I., Kesselman C. The grid: Blueprint for a new computing infrastructure. Morgan Kaufmann Publishers Inc., 1999, 748 p.

On-line algorithm for scheduling parallel tasks on related computational clusters with processors of different capacities and its average-case analysis.

1 D.O. Lazarev <dennis810@mail.ru> 1,2 N.N. Kuzyurin <nnkuz@ispras.ru>

1 Ivannikov Institute for System Programming of the Russian Academy of Sciences, 25, Alexander Solzhenitsyn st., Moscow, 109004, Russia 2Moscow Institute of Physics and Technology (State University), 9 Institutskiy per., Dolgoprudny, Moscow Region, 141701, Russia

Abstract. In this article the on-line problem of scheduling parallel tasks on related computational clusters with processors of different capacities was studied in average case. In the problem the objective is to make a schedule on fc clusters with w processors each of N tasks, where the task i, i < N requires time ftf on cluster with nominal capacity of processors and wf < w processors. We presume for all 1 < i < N that wf has uniform distribution on (0, w] and that ftf has uniform distribution on (0,1]. The processors on different clusters have different capacities vit ...,vfc. The task with nominal time ftf will require wf processors be computed in time ^ on cluster number / Let sum volume of computations W be the sum of

volumes of computations for each task: W = wfftf. Let L be the minimal time at which all clusters will compute all the tasks, assigned to them, where each task is assigned to one cluster. The expected value of free volume of computations £(Fsp)is used to analyze the quality of an algorithm, where Fsp = Hi<f<fc vf L - W. It was shown that for every algorithm for scheduling parallel tasks on related clusters £(Fsp) = ■G(wVW). An on-line algorithm Limited Hash Scheduling was proposed, which has £(Fsp) < 4(wVwTn"w) =

0(wVNlnN),/or N >N0 £ N if fc < V^ and < VlnN3^ V 1 < j < fc. The idea of the algorithm is to schedule tasks of close required number of required processors into different limited in time and the number of allowed to use processors areas on clusters.

Keywords: on-line algorithm; closed-end; probabilistic analysis; processors of different capacities; scheduling using limited computational areas; Limited Hash Scheduling.

DOI: 10.15514/ISPRAS-2018-30(6)-6

For citation: Lazarev D.O., Kuzyurin N.N. On-line algorithm for scheduling parallel tasks on related computational clusters with processors of different capacities and it's average-case analysis. Trudy ISP RAN/Proc. ISP RAS, vol. 30, issue 6, 2018, pp. 105-122 (in Russian). DOI: 10.15514/ISPRAS-2018-30(6)-6

References

[1]. M. Aspens J., Azar Y., Fiat A., Plotkin S., Waarts O. On - line load balancing with applications to machine scheduling and virtual circuit routing. In Proc. of the 25th ACM STOC. 1993. pp. 623 - 631, DOI: 10.1145/167088.167248

[2]. Berman P., Charikar M., Karpinski M. On-line load balancing for related machines. LNCS, v. 1272, 1997, pp. 116-125, DOI: https://doi.org/10.1007/3-540-63307-3_52

[3]. Zhuk S.N. On-line algorithm for scheduling parallel tasks on a group of related clusters. Trudy ISP RAN/Proc. ISP RAS, vol. 23, 2012, pp. 447-454 (in Russian). DOI: 10.15514/ISPRAS-2012-23-27

[4]. S.N. Zhuk. Approximate algorithms for packing rectangles into several strips. Discrete Mathematics and Applications, 2006, vol 18, issue 1, pp. 91-105, DOI: https://doi.org/10.1515/156939206776241264

[5]. M. A. Trushnikov. On one problem of Koffman-Shor connected to strip packing problem. Trudy ISP RAN/Proc. ISP RAS, vol. 22, 2012, pp. 456-462 (in Russian). DOI: 10.15514/ISPRAS-2012-22-24 p.

[6]. Lazarev D.O., Kuzyrin N.N. An algorithm for Multiple Strip Package and its average case evaluation. Trudy ISP RAN/Proc. ISP RAS, vol. 29, issue 6, 2017. pp. 221228 (in Russian). DOI: 10.15514/ISPRAS-2017-29(6)-1

[7]. M. A. Trushnikov. Probabilistic analysis of a new strip packing algorithm. Trudy ISP RAN/Proc. ISP RAS, vol. 24, 2013, pp. 457-468 (in Russian). DOI: 10.15514/ISPRAS-2013-24-21

[8]. Lazarev D.O., Kuzjurin N.N. On on-line algorithms for Bin, Strip and Box Packing, and their worst- and average-case analysis. Trudy ISP RAN/Proc. ISP RAS, vol. 30, issue 4, 2018. pp. 209-230 (in Russian). DOI: 10.15514/ISPRAS-2018-30(4)-14

[9]. E. G. Coffman, C. Courcoubetis, M. R. Garey, D. S. Johnson, L. A. McGeoch, P. W. Shor, R. R. Weber, M. Yannakakis. Fundamental discrepancies between average-case analyses under discrete and continuous distributions: a bin packing case study. In Proc. of the twenty-third annual ACM Symposium on Theory of computing, 1991, pp. 230240, doi:10.1145/103418.103446

[10]. N.N. Kuzyurin, D.A. Grushin, S.A. Fomin. Two-dimensional packing problems and optimization in distributed computing systems. Trudy ISP RAS/Proc. ISP RAS. 2014, vol. 26, issue 1, 2015, pp. 483-502 (in Russian). DOI: 10.15514/ISPRAS-2014-26(1)-21

[11]. Ye D., Han X., Zhang G. Online multiple-strip packing. Theoretical Computer Science, Volume 412, Issue 3, 2011, pp. 233-239. DOI: https://doi.org/10.1016/j.tcs.2009.09.29

[12]. Zhuk S.N. Online algorithm for packing rectangles into several strips with guaranteed accuracy estimates. Trudy ISP RAN/Proc. ISP RAS, vol. 12, 2007, pp. 7-16 (in Russian). ISSN 2079-8056

[13]. Zhuk S.N. On-line algorithms for packing rectangles into several strips. Discrete Mathematics and Applications, vol. 17, issue 5, 2007, pp. 517-531. DOI: https://doi.org/10.1515/dma.2007.040

[14]. Zhuk S.N. On-line algorithm for scheduling parallel tasks on a group of related clusters. Trudy ISP RAN/Proc. ISP RAS, vol. 23, 2012, pp. 447-454 (in Russian). DOI: https://doi.org/10.15514/ISPRAS-2012-23-27

[15]. Foster I., Kesselman C. The grid: Blueprint for a new computing infrastructure. Morgan Kaufmann Publishers Inc., 1999, 748 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.