Исследование алгоритма Крона и его модификации при различных исходных данных
Автор: Кобак Валерий Григорьевич, Титов Дмитрий Вячеславович, Золотых Олег Анатольевич
Журнал: Вестник Донского государственного технического университета @vestnik-donstu
Рубрика: Технические науки
Статья в выпуске: 8 (69) т.12, 2012 года.
Бесплатный доступ
Рассматривается задача распределения множества заданий между устройствами однородной вычислительной системы по минимаксному критерию. Приводится постановка задачи, в которой подробно описываются объект исследования и принципы его функционирования. Для решения поставленной задачи предлагается использовать приближённые алгоритмы. Рассмотрены классический и модифицированный алгоритмы Крона и способы их улучшения за счёт формирования начального распределения заданий между устройствами вычислительной системы. С этой целью используются алгоритм критического пути и алгоритм Пашкеева. Для оценки эффективности полученных модификаций алгоритма Крона в работе приведены выходные значения ряда вычислительных экспериментов при различных входных параметрах. Эффективность модифицированных алгоритмов оценивалась по времени работы и отклонению полученного значения загрузки от оптимального значения. Разработаны программные средства для анализа эффективности модифицированных алгоритмов.
Алгоритм крона, модификация алгоритма крона, минимаксный критерий, начальное распределение, балансировка загрузки, вычислительная система
Короткий адрес: https://sciup.org/14249943
IDR: 14249943
Текст научной статьи Исследование алгоритма Крона и его модификации при различных исходных данных
Введение. В настоящее время широкое распространение и развитие получили вычислительные устройства с многоядерной архитектурой процессора и многопроцессорной архитектурой. Причём такие устройства могут входить в состав многомашинных комплексов, позволяющих решать сложные задачи путём распределения вычислительного процесса между ресурсами (ядрами процессора, процессорами, узлами многомашинного комплекса). Это позволяет значительно сократить временные затраты. Однако в процессе распараллеливания вычислений может возникнуть дисбаланс в загрузке доступных вычислительных ресурсов: часть устройств может простаивать, а другая часть будет загружена на сто процентов. Это приведёт к неэффективному использованию оборудования и, как следствие, к увеличению времени решения вычислительной задачи [1]. Поэтому особую важность представляет равномерное распределение нагрузки на все вычислительные ресурсы (приборы, устройства).
Постановка задачи. Пусть имеется многомашинная вычислительная система (рис. 1), состоящая из п идентичных параллельно функционирующих устройств (ЭВМ) Р = ^рх,...,рД.
В ходе работы в систему поступает m независимых заданий Q = ^qv...,qm^, которые распределяются между процессорами и обрабатываются параллельно. Причём известно время выполнения >го задания f на любом из процессоров вычислительной системы, где j = 1, m . В каждый момент времени отдельный процессор обслуживает не более одного задания, которое не передаётся на другой процессор. Задача распределения сводится к разбиению исходного множества заданий на п непересекающихся подмножеств. Критерием разбиения, обеспечивающим оптимальность распределения по быстродействию, служит минимаксный критерий. Он определяет такое распределение заданий по процессорам, при котором время загрузки Т параллельным заданием минимально.
На рис. 1 приведено схематичное изображение многомашинной вычислительной системы, на вход которой поступает множество заданий, и множество значений времени выполнения каждого задания. Необходимым условием эффективного функционирования такой системы является равномерная загрузка всех вычислительных устройств, поэтому важную роль в такой системе играет балансировщик. Это устройство при получении входных параметров (множества заданий и множества значений времени выполнения) распределяет задания между устройствами вычислительной системы (создаёт баланс загрузки) по заданному алгоритму.
Рис. 1. Схематичное изображение многомашинной вычислительной системы
Алгоритм Крона. Для решения однородной минимаксной задачи можно использовать приближённые алгоритмы, которые позволяют получить решение, близкое к оптимальному, за меньшее время (по сравнению с точными алгоритмами).
Одним из таких алгоритмов является алгоритм Крона. Его применение обеспечивает случайное распределение множества заданий на множество приборов, вычисление времени загрузки каждого прибора {Т}(/ = 1,..., л) и обмен заданиями между приборами с максимальным Ттах и минимальным 7™|П значениями из набора {Т} при выполнении условия l^max _ ^min| < д, где Д = Ттах - Г"1, k, j= 1,2 ..., m.
После каждой операции обмена значения {Та} пересчитываются, выбираются новые два прибора с Ттах и Т™, и процесс проверки указанного выше условия повторяется. Если условие ни разу не выполнится, алгоритм завершается [2]. На рис. 2 приведена схема итерационного процесса выбора пары заданий для последующего обмена по классическому алгоритму Крона.
Также авторы предлагают рассмотреть алгоритм Крона, который модифицирован следующим образом. Сначала множества заданий распределяются по классическому алгоритму Крона. Затем они дополнительно уточняются посредством обмена заданиями между приборами с максимальным Ттах и очередным Г'значением из набора {Т}. При этом выполняются условия:
^max > qj
Qk - Qj < Д, где tfaxe7™, qieT, Д = Ттах- Т, к, j= 1, 2 ... m, i = 1, 2 ..., п.
После каждой операции обмена значения {Т} пересчитываются, выбираются новые два прибора с 7тах и Т, и процесс проверки указанного выше условия повторяется. Если сравнение с Ттах проведено для каждого Т и условие ни разу не выполнилось, то алгоритм завершается. На рис. 3 приведена схема итерационного процесса выбора пары заданий для последующего обмена по модифицированному алгоритму Крона.
pl |
Р2 |
рз |
Р1 |
' Р” |
рЗ |
pl |
P2 |
p3 |
|||||||||||||||||
ill |
121 |
131 |
11J |
ОI |
131 |
tl I |
121 131 |
||||||||||||||||||
112 122 |
132 |
Н2 |
122 |
132 |
112 |
122 |
132 |
||||||||||||||||||
ИЗ 123 133 ПЗ |
123 |
133 из |
123 I |
133 |
|||||||||||||||||||||
114 134 115 |
114 134 115 |
114 134 115 |
|||||||||||||||||||||||
фтм |
•ртая • |
"pros |
1 |
1 |
'plW |
*ртй |
|||||||||||||||||||
111 >121 и til - 121 < А |
111 >122 и 111 - 122 < А |
til. > 123 и til — 123 < A |
|||||||||||||||||||||||
1*1 |
р2 |
1>3 |
pl |
р2 |
1*3 |
1 pl |
p2 |
1 |
I*3 |
||||||||||||||||
HI |
121 |
131 |
til |
121 131 |
111 121 131 |
||||||||||||||||||||
112 |
122 |
132 |
112 |
122 132 И 2 122 132 |
|||||||||||||||||||||
ИЗ 123 133 U4 134 115 |
ИЗ 114 115 |
123 133 134 |
113 1123 133 114 134 115 |
||||||||||||||||||||||
"роад |
Т* |
| piisx' |
^mN |
1 |
|||||||||||||||||||||
tlZ > t21 И 112 "*■ t21 < X |
112 > 122 и 112 - 122 < Д |
t!2 > 123 и tl2— 123 < Д |
Рис. 2. Схема итерационного процесса выбора пары заданий для последующего обмена по классическому алгоритму Крона
I” |
pl |
рз |
pl |
Pl |
p3 |
pl |
p2 |
P3 |
||||||||
111 |
121 |
131 |
Hl |
121 |
131 |
til |
121 Bl |
|||||||||
112 |
122 |
132 |
112 |
122 |
132 |
112 |
02 |
132 |
||||||||
113 123 133 ИЗ |
123 |
133 113 |
123 |
133 |
||||||||||||
114 134 115 |
114 134 115 |
11 1 115 |
134 |
|||||||||||||
^rhtx |
T2 |
Tf" |
y^max |
Т» |
T,^ |
T^ |
тг |
|||||||||
til >121 и til - 121 < A |
I |
11 >122 и til-122<Д |
1 |
H>t23n til-123 < A |
1 pl |
p2 |
p3 |
pi |
p2 |
|>3 |
[pi__L |
|l2 |
p3 |
||||||||
Hi |
12 i |
13! |
Hi |
121 |
131 |
Ш |
121 |
131 |
||||||||
122 |
B2 |
112 |
02 : |
132 |
112 | |
122 |
132 |
|||||||||
113 |
123 |
133 |
U3 |
123 |
133 |
113 |
123 |
133 |
||||||||
114 |
134 |
114 |
134 |
114 |
134 |
|||||||||||
115 |
0 5 |
115 |
||||||||||||||
1 T «X |
T™ |
"T BMX 4 J |
T,™ |
1T-"™ I |
T, |
Tgr™® |
||||||||||
tl2>t21n tl2- |
121 < A |
tl2> |
tl2>t23n tl2-L |
13 < |
A |
Рис. 3. Схема итерационного процесса выбора пары заданий для последующего обмена по модифицированному алгоритму Крона
Улучшение алгоритма за счёт модификации начального распределения заданий. Авторы предлагают улучшить классический алгоритм Крона и приведённую выше его модификацию. Начальное распределение заданий будет выполняться с помощью алгоритма критического пути (СРМ) и алгоритма Пашкеева. Ранее, при исследовании классического и модифицированного алгоритмов Крона начальное распределение множества заданий формировалось посредством случайного распределения заданий по приборам. Таким образом, в результате сочетания классического и модифицированного алгоритма Крона с алгоритмами критического пути и Пашкеева получены новые модификации, экспериментальное исследование которых приведено ниже [3].
Проведение вычислительных экспериментов, направленных на получение статистических данных о работе каждого из алгоритмов, позволит выявить эффект (положительный или отрицательный) в произведённых модификациях алгоритма Крона. Входные данные для проведения экспериментов: п — количество устройств, m — количество заданий, Zi—z2 — диапазон генерации времени загруженности прибора (t7 e[zlzz2]). В ходе экспериментов случайным образом сгене рированы по 100 векторов загрузки, содержащие задания в диапазоне [zv z2]. Они были преобразованы в соответствие с алгоритмом критического пути и Пашкеева. Полученные результаты усреднялись по количеству экспериментов. В табл. 1 и 2 представлены результаты экспериментов для диапазона заданий 25—30.
Таблица 1
Усреднённые значения критериев
п |
m |
Значения исследуемых критериев |
||||
Opt |
Крона и СРМ |
Time (Крона и СРМ) |
Крона и Пашкеева |
Time (Крона и Пашкеева) |
||
6 |
32 |
147,129 |
155,201 |
0,172 |
155,231 |
0,218 |
8 |
32 |
110,485 |
110,443 |
0,156 |
110,452 |
0,031 |
12 |
32 |
73,844 |
81,346 |
0,126 |
81,423 |
0,157 |
Таблица 2
Усреднённые значения критериев
п |
m |
Значения исследуемых критериев |
||||
Opt |
Модификация Крона и СРМ |
Time (модификация Крона и СРМ) |
Модификация Крона и Пашкеева |
Time (модификация Крона и Пашкеева) |
||
6 |
32 |
147,129 |
154,646 |
0,377 |
154,675 |
0,296 |
8 |
32 |
110,485 |
110,441 |
0,109 |
110,445 |
0,191 |
12 |
32 |
73,844 |
80,957 |
0,281 |
80,946 |
0,486 |
В соответствии с данными табл. 1 и 2 можно рассчитать отклонение полученных значений критериев от оптимального значения при разном количестве устройств. Результаты расчётов приведены в табл. 3.
Таблица 3
Значения отклонений исследуемых критериев
п |
Крона и СРМ |
Крона и Пашкеева |
Модификация Крона и СРМ |
Модификация Крона и Пашкеева |
6 |
8,072 |
8,102 |
7,517 |
7,546 |
8 |
0,042 |
0,033 |
0,044 |
0,04 |
12 |
7,502 |
7,579 |
7,113 |
7,102 |
Для большей наглядности значения, приведённые в табл. 3, представим в виде графика (рис. 4).

Рис. 4. Значения отклонений исследуемых критериев
Выводы. Оценивая полученные результаты, можно сделать вывод об эффективности описанных модификаций.
Сравнивались модификации классического и преобразованного алгоритма Крона, полученные с помощью алгоритма СРМ и алгоритма Пашкеева. По данным, приведённым в табл. 1 и 2, видно, что в первом случае результаты лучше. Однако при увеличении количества приборов более эффективна вторая пара модифицированных алгоритмов.
В целом, следует отметить, что модификации преобразованного алгоритма Крона дают лучшие результаты по сравнению с модификациями классического алгоритма, и это отчётливо видно на графике (рис. 4).
Список литературы Исследование алгоритма Крона и его модификации при различных исходных данных
- Кофман, Э. Г. Теория расписаний и вычислительные машины/Э. Г. Кофман. -Москва: Наука, 1987. -334 с.
- Кобак, В. Г. Сравнительный анализ алгоритмов решения задачи планирования в однородных вычислительных системах/В. Г. Кобак, М. С. Иванов//Математические методы в технике и технологиях -ММТТ-20: сб. тp. XX Междунар. науч. конф. -Ярославль, 2007. -Т. 2, секц. 2. -С. 56-57.
- Кобак, В. Г. Повышение эффективности алгоритма Крона за счёт модификации начального распределения заданий/В. Г. Кобак, О. А. Золотых, Д. В. Титов//Современные проблемы информатизации в моделировании и социальных технологиях: сб. тр. XVI Междунар. открытой науч. конф. -Воронеж: Научная книга, 2011. -С. 246-251.