Научная статья на тему 'Алгоритмы управления многопроцессорными системами с неоднородным множеством работ'

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

CC BY
213
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МНОГОПРОЦЕССОРНАЯ СИСТЕМА / ПРЕРЫВАЕМЫЕ И НЕПРЕРЫВАЕМЫЕ РАБОТЫ / РАСПИСАНИЯ / MULTIPROCESSOR SYSTEM / INTERRUPTIBLE AND NON-INTERRUPTIBLE JOBS / SCHEDULING

Аннотация научной статьи по математике, автор научной работы — Гончар Дмитрий Русланович, Фуругян Меран Габибуллаевич

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

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

We propose an approximate algorithm to build the speed-optimal schedule for the set of heterogeneous jobs. Some jobs admit interruption while others do not. We allow for the arbitrary processors' speed. We use the multicoasting algorithm with calibration and the modified algorithm of packing

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

УДК 519.86 ББК 22.18

АЛГОРИТМЫ УПРАВЛЕНИЯ МНОГОПРОЦЕССОРНЫМИ СИСТЕМАМИ С НЕОДНОРОДНЫМ МНОЖЕСТВОМ РАБОТ

Гончар Д. Р. *, Фуругян М. Г.2

(Учреждение Российской академии наук Вычислительный центр им. А. А. Дородницына РАН, Москва)

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

Ключевые слова: многопроцессорная система, прерываемые и непрерываемые работы, расписания.

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

Рассматривается вычислительная система, состоящая из т процессоров, производительности которых равны 5Ь S2, •••, $т-Работая в течение времени ?, процессор ] выполняет работу объемом tSj. Имеется множество работ N = N и Ы2, где -непрерываемые работы, N2 - работы, допускающие прерывания и переключения с одного процессора на другой. Заданы объемы wi и V, работ / е N1 и / е N соответственно. Прерывания и переключения не связаны с временными затратами. Требуется со-

1 Дмитрий Русланович Гончар, кандидат технических наук (rtsccas@yandex.ru).

2 Меран Габибуллаевич Фуругян, кандидат физико-математических наук, доцент (Москва, ул. Вавилова, д. 40, тел. (499) 135-40-29).

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

Подобные задачи для случая, когда все работы являются непрерываемыми и не допускают переключений с одного процессора на другой, широко освещены в литературе. Подробный обзор литературы для случая, когда все работы являются непре-рываемыенепрерываемыми, а также для случая, когда работы допускают прерывания и переключения, содержится в [5]. Задачи со смешанным типом работ мало освещены в литературе. Так, например, в [1, 2] предполагается, что каждая работа строго закреплена за конкретным процессором, на множестве работ задан частичный порядок выполнения и, кроме того, только один из приборов допускает прерывания. В [4] рассмотрены случаи, когда директивные интервалы одинаковые, а также, когда директивные интервалы могут различаться, но с рядом дополнительных ограничений. В [5] рассмотрен случай идентичных процессоров.

2. Разбиение процессоров на две группы

Сначала все процессоры разбиваются на две группы. Все непрерываемые работы выполняются только процессорами первой группы, а прерываемые работы будут выполняться процессорами как первой, так и второй групп. Число процессоров в группах - т1 и т2- пропорционально суммарным объемам работ из N и N2 соответственно и обратно пропорционально суммарным производительностям процессоров в этих группах, т. е.

(i) mi = max <

I

w.

к : к є Z,

I W + I V

>

I

j=i

ієМ

iєN?

I Sj

j=i

К m2 = m - m,.

Будем предполагать, что в первую группу входят процессоры j = 1, 2, ..., ть а во вторую - у = т1 + 1, т1 + 2, ..., т.

3. Распределение непрерываемых работ

Для распределения непрерываемых работ по т1 процессорам авторами был использован приближенный мультиоценоч-ный алгоритм с калибровкой [3], который дает неплохую оценку погрешности и является достаточно эффективным. Рекомендации по его использованию даны в [3].

Без ограничения общности можно считать, что процессоры упорядочены по невозрастанию производительностей, а работы из N - по невозрастанию объемов, т. е. 51 > s2 > ... > 8т, VI > У2 >...> V Пусть Qj - длина интервала загруженности

процессора у (1 < у < т1) по расписанию, построенному для множества работ N1, и пусть Qmax = тах Qi, Ттох = Vl/sm,

у=1, .. ,,т

tmin = Vi/ Smi + L T > max (Q

Пі = |Ni|, П2 = |N2|.

max5 ^max,

), Lj = T- Qj (j = 1, ..., m,),

4. Достаточное условие существования расписания заданной длины

Определим достаточное условие существования расписания, длина которого не превосходит величины T > max (Qmax, tmax). Для этого сначала опишем алгоритм упаковки множества работ N2 на (m2 + 1) процессорах. Пусть max L,s , = L, s, (LjSj - максимальный объем работы, который

j=1,...,m1

процессор , может выполнить до момента времени T после 234

выполнения работ из N1). Алгоритм распределяет работы из Ы2 по процессорам/0, щ+1, ..., т.

Алгоритм упаковки

Шаг 1. Если У V, < Ь}- 5;о, то все работы из N2 выполнять на

^N2

процессоре /0 последовательно, начиная с момента Q/о .

В противном случае перейти на шаг 2.

к

Шаг 2. Пусть номер к (0 < к < ^) такой, что У V, < ^ ,

,=1

к+1 к

а У V,. > . Положить © = Q. + (У V,)/ 5. . Работы

./о л> х-']о х*—1 1/ 1о

,=1 ,=1

1, 2, ..., к е N2 выполнять последовательно без прерываний на

процессоре /0 в интервале [ Q/о, ©]. Работу к + 1 е N выполнять

сначала на процессоре т1 + 1 в интервале [0, (^+1 - (Т - ©)5/0) / 5т1+1 ], а затем на процессоре /0 в интервале

[©, Т]. Такое переключение корректно, так как ^к+1 - (Т - ©)5/0 ) / 5 + < ©, что, в свою очередь, следует из

соотношений

К+1 - (Т -©)5/0)/ Ч +1 = ^+1/ +1 - - (Т -©)5/0/ ^+1 <

Vl/ 5т - (Т-©) ==Т тах - Т +©< Т - Т + © = © .

Положить © = (^+1 - (Т - ©>. )/ 5т1 +1 .

Шаг 3. Пусть работы , = 1, 2, ., р из N2 (к + 1 < р < п2) уже распределены по процессорам т1 + 1, ..., I (т1 < I < т), причем процессоры т1 + 1, ..., I - 1 загружены в интервале времени [0, Т], а процессор I - в интервале [0, ©].

Если © + vp+1/s1 < Т, то работу р + 1 выполнять без прерываний на процессоре I в интервале [©, © + vp+1/s1]; положить © = © + vp+1/s1. Если © + vp+1/s1 > Т, то работу р + 1 выполнять сначала процессором I + 1 в интервале [0, -

- (Т - ©)51)/51+1] < ©, а затем процессором I в интервале [©, Т];

(такое переключение корректно, так как (ур+1 - (Т - ©)5г)/5г+1 < ©, что, в свою очередь, следует из соотношений

(V! - (Т - ©) sl)/sm = (ур+^1+1 - (Т - ©) sl)/sl+l <

< у^т - (Т - ©) = ттах - Т + © < Т - Т + © = ©; положить © = (ур+1 - (Т - ©)sl)/sl+1. Далее шаг 3 выполнять для работ р + 2, ..., «2 из Л^2.

Лемма 1. Достаточным условием существования расписания длины, не превышающей Т > тах Отах, ттах), является выполнение неравенства

т

(2) XX < К**, + Т XV

г'е^2 ]=т1+1

Доказательство леммы следует из описанного выше алгоритма упаковки. Переписав соотношение (2) в виде

оТ і Ь VI И + Т

ге^2 і =ш,+1

( ( ш ^

получаем, что при Т > X V + / X Яі + Я,- ^ 1 1о

V2 0 V1 = Ш, +1 0

существует расписание, длина которого не превосходит Т. Отсюда следует, что достаточным условием существования расписания длины Т является выполнение неравенства

( \

X V- + бтах 51

г~~~1-----------, О ,Т

т тах та

Т ^ Ттах = тах

5. Необходимое условие существования расписания заданной длины

Лемма 2. Необходимым условием существования расписания длины, не превосходящей Т, является выполнение неравенства

і

(при условии, что работы из N уже распределены).

Доказательство леммы следует из того, что невыполнение условия (4) означает превышение величины требуемого суммарного объема работы процессоров над величиной максимально возможного объема в интервале длиной Т.

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

( X + X ^

(5) Ттіп = таХ

ІЄ^ ІЄ^

т

X *, і=і

вп

6. Модифицированный алгоритм упаковки

Алгоритм распределяет работы множества Ы2 сначала по процессорам первой группы (если это возможно), а затем - по процессорам второй группы. При этом предполагается, что работы из Ы1 были уже распределены по процессорам первой группы. Длина построенного расписания не превосходит Т. Если такого расписания не существует, алгоритм сообщает об этом.

Шаг 1. Расположить процессоры первой группы в порядке не убывания величин Ьд-, а работы из Ы2 - в порядке не убывания объемов. Будем считать, что

V: < Ь2 Ъ2 <• • •< Ьт1 V! < У2 <• . • < ^ .

Шаг 2. Положить р = 1, і = 1.

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

Шаг 3. Пусть р, р + 1, ..., п2 є Ы2 - работы, ранее не назначенные на процессоры. Если существует номер к >р такой, что

к к+1

XV. < і и XV. > і, то назначить работы р, ..., к є Ы2 на

І=р І=р

процессор і, на котором они должны выполняться последова-

ієМ гє^2 і=1

X •

тіп

тельно в интервале

к

О, • Я, +(X У- )/ 8, I. Положить

_ -=р _

Ь, =Ь, - (XV')/8,; о, = о, + (XV)/8,; Р = к + 1. Если р > и,

-=р -=р

то остановиться, все работы из Ы2 назначены. Если р < и, перейти на шаг 4.

Шаг 4. Положить , =, + 1. Если , < т1, то перейти на шаг 3; если, > т1 - на шаг 5.

Шаг 5. Расположить процессоры первой группы в порядке невозрастания величин Ь^,. Будем считать, что

Ь^ > Ь2 82 >. . . > Ьщ 8т1 > 0 (если Ь, = 0 при некоторых ,', то

соответствующие процессоры первой группы исключаем из дальнейшего рассмотрения). Положить © = 0; ,\ = 1; ,2 = т1 + 1.

Шаг 6. Если ,\ < т1 и © + (ур - Ь^ 8^)/ 8, < , перейти на

шаг 7;

если ,1 < ть © + (Ур - Ьк5К) / 5;2 > 0Л и © + Ур / < Т , пе-

рейти на шаг 8;

если ,1 < т1, © + (Ур - ЬЛ 5;1) / > е;1 и © + Ур / 5;2 > Т , пе-

рейти на шаг 9;

если,1 > т1 и © + Ур /5,2 < Т, перейти на шаг 8;

если,1 > т1 и © + Ур / 5,2 > Т, перейти на шаг 9;

Шаг 7. Работу р назначить на процессор ,2 в интервале [©,© + (ур -Ь^8, )/8, ] и на процессор,1 в интервале [<2к,Т].

Положить © = © + (Ур -ЬЛ5;1)/5;2 ;р = р + 1;, = ,\ + 1.

Перейти на шаг 11.

Шаг 8. Работу р назначить на процессор ,2 в интервале [©, © + V / я. ] . Положить © = © + V / я. ; р = р + 1. р ,2 р ,2

Перейти на шаг 11.

Шаг 9. Работу p назначить на процессор j2 + 1 в интервале [0,(vp - (T -©)Sj )/ sj2+1] и на процессор j2 в интервале [©, T],

Положить © = (Vp - (T - ©)s;2) / Sj2+i; j = j2 + 1; p = p + 1.

Перейти на шаг 10.

Шаг 10. Если j2 < m2, перейти на шаг 11. Если j2 > m2, остановиться; не все работы из N2 могут быть назначены на процессоры; расписание длины не более T не построено.

Шаг 11. Если p > n, остановиться; все работы из N2 назначены на процессоры. Еслиp < n, перейти на шаг 6.

Сделаем несколько замечаний. На шаге 3 алгоритма некоторые работы из N2 назначаются на процессоры первой группы, на которых они выполняются без прерываний. На шаге 7 очередная работа p е N2 выполняется сначала на процессоре j2 второй группы, а затем - на процессоре j1 первой группы. Корректность такого переключения следует из того, что © + (vp - Lji s;. )/ s;2 < Qj На шаге 9 работа p выполняется

сначала на процессоре j2 + 1, а затем на процессоре j2. Такое переключение корректно, поскольку

(Vp -(T-©)s]2)/Sj2+1 <© .

Это неравенство следует из соотношений:

(vp - (T - ©)sj2 ) / S2+1 = Vp / ^+1 - (T - ©)S;-2 / j +1 <

< v,/sm - (T-©) = = t max - T + ©< T - T + © = ©.

7. Алгоритм решения исходной задачи

Поскольку решается задача на быстродействие, будем искать такое значение T, что расписание длины T существует, а расписания длины T - 1 не существует. Используя леммы 1, 2 и формулы (3), (5), этот поиск будем проводить в интервале [Tmn, Tmax] с помощью дихотомической процедуры (деление отрезка пополам). При этом для выбранного значения T будем использовать модифицированный алгоритм упаковки.

Алгоритм решения исходной задачи

Шаг 1. По формулам (1) вычислить величины m1, m2.

Шаг 2. С помощью мультиоценочного алгоритма с калибровкой [3] построить расписание выполнения работ N1 на m1 процессорах.

Шаг 3. По формулам (3), (5) вычислить величины Tmin, Tmax.

Шаг 4. С помощью алгоритма деления отрезка [Tmin, Tmax] пополам найти такое целое T е [Tmin, Tmax], что при T = T модифицированный алгоритм упаковки строит расписание длины, не превосходящей T, а при T = T - S - нет, где 0 < S < 1.

Расписание, построенное с помощью модифицированного алгоритма упаковки при T = T, - это искомое расписание выполнения работ из N2.

Отметим, что вычислительная сложность мультиоценочного алгоритма с калибровкой (шаг 2) - O(n1 log n1), а модифицированного алгоритма упаковки - 0(n2 log n2). Сложность шагов 1 и 3 - О (n1 + n2). Поскольку

ГТТг + Qmin Л

Tmcx £ Tmcx max

-іє^---------------- Q t

Л ’ гС ma^ п

m2 +1

V 0

то число обращений к модифицированному алгоритму упаковки не более log (Tmax - Tmin). Поэтому сложность предложенного алгоритма составляет O(n1 log n1 + n2 log n2 • log(Tinax - Tmin)).

Опишем работу алгоритма на следующем примере: ni = n2 = 4, m = 4, Si = 1 (i = 1, ..., 4), wi = 5, W2 = 1, W3 = 4, W4 = 4, Vi = 3, V2 = 1, V3 = 5, V4 = 4. Пусть N1 = {ab a2, 03, a4}, N2 = {61, b2, b3, b4}. На рис. 1 изображена диаграмма распределения работ по процессорам при значениях m1 = m2 = 2, вычисленных по формуле (1). Мультиоценочный алгоритм с калибровкой распределил работы из N1 следующим образом: на процессоре 1 выполняется работа a1 в интервале [0; 5] и работа a2 в интервале [5; 6], а на процессоре 2 - работа a3 в интервале [0; 4] и работа a4 в интервале [4; 8]. В этом случае T = 8. Модифицированный

алгоритм упаковки назначает работы из N2 следующим образом. На шаге 3 работа Ь2 назначается на процессор 1 в интервале [6; 7]. На шаге 7 работа Ь3 назначается на процессор 3 в интервале [0; 4] и на процессор 1 в интервале [7; 8]. На шаге 8 работа Ь4 назначается на процессор 3 в интервале [4; 8], а работа Ь1 - на процессор 4 в интервале [0; 3].

«1 «2 Ь2 Ь3

«3

а4

1 процессор

2 процессор

3 процессор

Ь1

4 процессор

0----1----2---3-----4----5----6---7-----8 ^ 1

Рис. 1. Распределение работ по процессорам при т1 = т2 = 2

Ь

Ь

3

4

Ь 5

Ь4

«1 Ь2 Ь4

«3 «2 Ь5

а4 Ь:

1 процессор

2 процессор

3 процессор

4 процессор

0----1---2----3---4-----5----6----7 ^ г

Рис. 2. Распределение работ по процессорам при т[ =3,

т,

На рис. 2 изображена диаграмма распределения работ по процессорам при т| = 3 и т2 = 1. В этом случае Т = 7.

Результаты численных экспериментов. Были проведены численные эксперименты. Число работ п полагалось равным 100, 400 и 1000, а число процессоров т - 20, 60 и 100. Экспери-

менты проводились для различных значений числа п непрерываемых работ и числа п2 прерываемых работ. Для каждого набора значений п, т, щ, п2 проводилось по 50 экспериментов со значениями объемов работ и производительностей процессоров, полученными с помощью программного генератора случайных чисел, позволяющего получать псевдослучайные числа с равномерным распределением на заданном множестве. Для объемов работ таким множеством был отрезок [1, 2600], а для производительностей процессоров - отрезки [1, 4] и [1, 16]. Расчеты проводились для различных комбинаций упорядочения (по не убыванию и не возрастанию) процессоров первой группы (относительно величин Ь]^]) и работ из Ы2 (относительно их объемов V,). В таблице 1 приведены результаты для случая, когда работы из Ы2 упорядочены по невозрастанию объёмов, а процессоры первой группы - по невозрастанию величин поскольку в этом случае погрешность была наименьшей.

В каждом эксперименте вычислялись значения т1 и т2, задаваемые формулами (1), и среднее значение D оценки погрешности (по 50 расчетам) для каждого набора п, т, пь п2. Оценка относительной погрешности алгоритма вычислялась по форму-

Далее аналогичные расчеты проводились для всевозможных разбиений процессоров на две группы, соответствующих значениям т' и т2 (т, + т2 = т), и для каждого такого раз-

биения вычислялось среднее значение оценки погрешности D'.

Из результатов численных экспериментов можно сделать следующие выводы.

1. При упорядочении работ из N по невозрастанию их объемов , а процессоров первой группы - по невозрастанию величин Ь]^]- погрешность существенно меньше, чем в остальных

ле

Д = (Т - т *)/ Т * х100%, где

(Т * не превосходит длины оптимального расписания.)

случаях. Если не считать вырожденных примеров (когда П = 1), погрешность А' в этих случаях не превосходила 2,7 %.

2. Значения т' и т'2 не более чем на единицу отличаются от значений т1 и т2, задаваемых формулой (1).

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

3. С ростом числа непрерываемых работ, как правило, растет доля экспериментов, в которых А' < А, а также растут значения А, А' и А - А'.

Таблица 1. Результаты численных экспериментов

№ п м А'

1 100 20 [1; 4] 0 - 2

2 400 60 [1; 4] 0 - 1

3 1000 100 [1; 4] 0 - 0,2

4 100 20 [1; 16] 0 - 2

5 400 60 [1; 16] 0 - 2,7

6 1000 100 [1; 16] 0 - 0,5

Литература

1. БУЛАНЖЕ Д. Ю. Оптимальная коррекция директивных интервалов для задачи одного прибора. - М.: ВЦ АН СССР, 1983

2. БУЛАНЖЕ Д. Ю., СУШКОВ Б. Г. Оптимальная коррекция директивных интервалов для задачи одного прибора // Изв. АН СССР, Техн. кибернетика. - 1982. - №6. - С. 160-169.

3. ГОНЧАР Д. Р. Мультиоценочный алгоритм решения минимаксной задачи составления расписания // Системы управления и информационные технологии. - 2007. - №1.3(27). -С. 324-328.

4. СКИНДЕРЕВ С. А., ФУРУГЯН М. Г. Алгоритмы планирования вычислений в многопроцессорных системах с неоднородным множеством работ. - М.: ВЦ РАН, 2006.

5. ФУРУГЯН М. Г., ГОНЧАР Д. Р. Минимаксная задача планирования вычислений в многопроцессорной системе со

смешанным набором работ // Системы управления и информационные технологии. - 2009. - №2(36). - С. 36-39.

ALGORITHMS OF CONTROL IN MULTIPROCESSOR SYSTEM WITH MIXED JOBS SET

Dmitry R. Gonchar, Computing Center of RAS, Moscow, Cand.Sc. (rtsccas@yandex.ru).

Meran G. Fourougian, Computing Center of RAS, Moscow, Cand.Sc. assistant professor (rtsccas@yandex.ru).

Abstract: We propose an approximate algorithm to build the speed-optimal schedule for the set of heterogeneous jobs. Some jobs admit interruption while others do not. We allow for the arbitrary processors’ speed. We use the multicoasting algorithm with calibration and the modified algorithm of packing.

Keywords: multiprocessor system, interruptible and non-

interruptible jobs, scheduling.

Статья представлена к публикации членом редакционной коллегии В. Н. Лебедевым

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