УДК 681.3+681.5
Исследование алгоритма Крона и его модификации при различных исходных данных
В. Г. Коба к, Д. В. Титов, О. А. Золотых
(Донской государственный технический университет)
Рассматривается задача распределения множества заданий между устройствами однородной вычислительной системы по минимаксному критерию. Приводится постановка задачи, в которой подробно описываются объект исследования и принципы его функционирования. Для решения поставленной задачи предлагается использовать приближённые алгоритмы. Рассмотрены классический и модифицированный алгоритмы Крона и способы их улучшения за счёт формирования начального распределения заданий между устройствами вычислительной системы. С этой целью используются алгоритм критического пути и алгоритм Пашкеева. Для оценки эффективности полученных модификаций алгоритма Крона в работе приведены выходные значения ряда вычислительных экспериментов при различных входных параметрах. Эффективность модифицированных алгоритмов оценивалась по времени работы и отклонению полученного значения загрузки от оптимального значения. Разработаны программные средства для анализа эффективности модифицированных алгоритмов.
Ключевые слова: алгоритм Крона, модификация алгоритма Крона, минимаксный критерий, начальное распределение, балансировка загрузки, вычислительная система.
Введение. В настоящее время широкое распространение и развитие получили вычислительные устройства с многоядерной архитектурой процессора и многопроцессорной архитектурой. Причём такие устройства могут входить в состав многомашинных комплексов, позволяющих решать сложные задачи путём распределения вычислительного процесса между ресурсами (ядрами процессора, процессорами, узлами многомашинного комплекса). Это позволяет значительно сократить временные затраты. Однако в процессе распараллеливания вычислений может возникнуть дисбаланс в загрузке доступных вычислительных ресурсов: часть устройств может простаивать, а другая часть будет загружена на сто процентов. Это приведёт к неэффективному использованию оборудования и, как следствие, к увеличению времени решения вычислительной задачи [1]. Поэтому особую важность представляет равномерное распределение нагрузки на все вычислительные ресурсы (приборы, устройства).
Постановка задачи. Пусть имеется многомашинная вычислительная система (рис. 1), состоящая из п идентичных параллельно функционирующих устройств (ЭВМ) Р ={р1,...,рп].
В ходе работы в систему поступает т независимых заданий (3 = которые рас-
пределяются между процессорами и обрабатываются параллельно. Причём известно время выполнения >го задания на любом из процессоров вычислительной системы, где у = 1, т. В
каждый момент времени отдельный процессор обслуживает не более одного задания, которое не передаётся на другой процессор. Задача распределения сводится к разбиению исходного множества заданий на п непересекающихся подмножеств. Критерием разбиения, обеспечивающим оптимальность распределения по быстродействию, служит минимаксный критерий. Он определяет такое распределение заданий по процессорам, при котором время загрузки Т параллельным заданием минимально.
На рис. 1 приведено схематичное изображение многомашинной вычислительной системы, на вход которой поступает множество заданий, и множество значений времени выполнения каждого задания. Необходимым условием эффективного функционирования такой системы является
равномерная загрузка всех вычислительных устройств, поэтому важную роль в такой системе играет балансировщик. Это устройство при получении входных параметров (множества заданий и множества значений времени выполнения) распределяет задания между устройствами вычислительной системы (создаёт баланс загрузки) по заданному алгоритму.
«71, Я2, ■■
и, £?> ■■■
Рис. 1. Схематичное изображение многомашинной вычислительной системы
Алгоритм Крона. Для решения однородной минимаксной задачи можно использовать приближённые алгоритмы, которые позволяют получить решение, близкое к оптимальному, за меньшее время (по сравнению с точными алгоритмами).
Одним из таких алгоритмов является алгоритм Крона. Его применение обеспечивает случайное распределение множества заданий на множество приборов, вычисление времени загрузки каждого прибора {Т} (/= 1,..., п) и обмен заданиями между приборами с максимальным Гтах и минимальным Т"1"1 значениями из набора {Т} при выполнении условия
|<7*тах - ЯГ\ < Д,
где Л = Гтах - Г"1'11, к, у = 1, 2 ..., т.
После каждой операции обмена значения {Тк} пересчитываются, выбираются новые два прибора с Гтах и Г"1"1, и процесс проверки указанного выше условия повторяется. Если условие ни разу не выполнится, алгоритм завершается [2]. На рис. 2 приведена схема итерационного процесса выбора пары заданий для последующего обмена по классическому алгоритму Крона.
Также авторы предлагают рассмотреть алгоритм Крона, который модифицирован следующим образом. Сначала множества заданий распределяются по классическому алгоритму Крона. Затем они дополнительно уточняются посредством обмена заданиями между приборами с максимальным Гтах и очередным Г'значением из набора {Т}. При этом выполняются условия:
яГх > Я], яГх - я! < А,
где яГхе Тах, ф Г, Л = Гтах - Г, к, у = 1, 2 ... /л, / = 1,2 ..., п.
После каждой операции обмена значения {Т} пересчитываются, выбираются новые два прибора с Т™3* и Г', и процесс проверки указанного выше условия повторяется. Если сравнение с Гтах проведено для каждого Т' и условие ни разу не выполнилось, то алгоритм завершается. На
рис. 3 приведена схема итерационного процесса выбора пары заданий для последующего обмена по модифицированному алгоритму Крона.
|»1 |>2 1 І*-1 і
111 121
С '
114 |И
I
»11 ^ Ї21 її П1- 121 < Л
І>1 ! 1>2 |»3
1 11 1 і'і іч
и: 1,:: го
н ' 12' 133
134
ЇІ 5
■рта* 1 *1':. ••
П1 ■'122м (11— 122 < Л
1,1 I 1*2 I | |>3
|; 11 121 14
!П
11 5 в-1
І рггжк I І І
німі*» аі-иі<д
|>1 1*2 р-5
111 і:і т
И '
і -> ■> Г2л
0 2
1 ^ я
I Н2 11:^ (Ы ! I .5
115
121 в! (І і 12! ГЧ
І 1 [ с; 1 1 112 | 12> 2
Г Л Л Ил | 12' ) 1''
1 >4 Н-1 і »-1
( 1 - [ | г • | | [ I рШЙ» I IТ* ■ ’* I 1 1 1 Тг: [ | 'Гг-:- | [ |
и2-121и Н.2-121<Д 0.2" 122и 112 - 122 < А ІІ2М23н 112 - ХИ < Л
Рис. 2. Схема итерационного процесса выбора пары заданий для последующего обмена по классическому алгоритму Крона
І» I і>2 |іЗ
(1 і 121 1'1
Л 2 (' ’ ('2
И ' 12? I.'.'
!П 1'1
Я'
Т.~л Т, г;
1>< її1 |і2 1 121 |іі 1 т
112 122 1л2
II л 12.' 1лл
1І 1 1'' I
!И
Т;п-.л: 1 Гт/ 1
111 -- М2 и Ш - 122 < Л
Ш" (23и И1-123<Л
12л
о
І I’1 1*2 11*3 І I’1 Iі- |»3 I'1 1 І>2 1 |>3
111 Є1 1 в! ш 121 ві ш »21
1 !|- 02 1!|- 1 ^1 1-2 | 112 | | 1 Л (.'2
112 - 121 и И2 -121 < А
*15
И '
т,,. Т- т,„. т,,. т, Т,- Іт"~ Т: т,.
Г12-Г23н й.2~123<Л
Г12М22и 112 - 122 < Л
Рис. 3. Схема итерационного процесса выбора пары заданий для последующего обмена по модифицированному алгоритму Крона
Улучшение алгоритма за счёт модификации начального распределения заданий. Авторы предлагают улучшить классический алгоритм Крона и приведённую выше его модификацию. Начальное распределение заданий будет выполняться с помощью алгоритма критического пути (СРМ) и алгоритма Пашкеева. Ранее, при исследовании классического и модифицированного алгоритмов Крона начальное распределение множества заданий формировалось посредством случайного распределения заданий по приборам. Таким образом, в результате сочетания классического и модифицированного алгоритма Крона с алгоритмами критического пути и Пашкеева получены новые модификации, экспериментальное исследование которых приведено ниже [3].
Проведение вычислительных экспериментов, направленных на получение статистических данных о работе каждого из алгоритмов, позволит выявить эффект (положительный или отрицательный) в произведённых модификациях алгоритма Крона. Входные данные для проведения экспериментов: п — количество устройств, т — количество заданий, г2 — диапазон генерации времени загруженности прибора (£■ е[г1;г2]). В ходе экспериментов случайным образом сгенерированы по 100 векторов загрузки, содержащие задания в диапазоне [г1г г2]. Они были преобразованы в соответствие с алгоритмом критического пути и Пашкеева. Полученные результаты усреднялись по количеству экспериментов. В табл. 1 и 2 представлены результаты экспериментов для диапазона заданий 25—30.
Таблица 1
Усреднённые значения критериев
п т Значения исследуемых критериев
0р1 Крона и СРМ Т1те (Крона и СРМ) Крона и Пашкеева Т1те (Крона и Пашкеева)
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
Усреднённые значения критериев
Значения исследуемых критериев
п т Ор1 Модификация Крона и СРМ Т1те (модификация Крона и СРМ) Модификация Крона и Пашкеева Т1те (модификация Крона и Пашкеева)
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).
8,00
7.00
6.00
5.00
4.00
3.00
2.00
□ 6 ■ 8
□ 12
1,00
0,00
Крона и СРМ Крона и Пашкеева Модификация Модификация
Крона и СРМ Крона и Пашкеева
Рис. 4. Значения отклонений исследуемых критериев
Выводы. Оценивая полученные результаты, можно сделать вывод об эффективности описанных модификаций.
Сравнивались модификации классического и преобразованного алгоритма Крона, полученные с помощью алгоритма СРМ и алгоритма Пашкеева. По данным, приведённым в табл. 1 и 2, видно, что в первом случае результаты лучше. Однако при увеличении количества приборов более эффективна вторая пара модифицированных алгоритмов.
В целом, следует отметить, что модификации преобразованного алгоритма Крона дают лучшие результаты по сравнению с модификациями классического алгоритма, и это отчётливо видно на графике (рис. 4).
Библиографический список
1. Кофман, Э. Г. Теория расписаний и вычислительные машины / Э. Г. Кофман. — Москва : Наука, 1987. - 334 с.
2. Кобак, В. Г. Сравнительный анализ алгоритмов решения задачи планирования в однородных вычислительных системах / В. Г. Кобак, М. С. Иванов // Математические методы в технике и технологиях — ММТТ-20 : сб. тр. XX Междунар. науч. конф. — Ярославль, 2007. — Т. 2, секц. 2. — С. 56-57.
3. Кобак, В. Г. Повышение эффективности алгоритма Крона за счёт модификации начального распределения заданий / В. Г. Кобак, О. А. Золотых, Д. В. Титов // Современные проблемы информатизации в моделировании и социальных технологиях : сб. тр. XVI Междунар. открытой науч. конф. — Воронеж : Научная книга, 2011. — С. 246-251.
Материал поступил в редакцию 22.11.2012.
References
1. Kofman, E.G. Teoriya raspisaniy i vychislitelnyye mashiny. [Scheduling theory and computing machines.] Moscow: Nauka, 1987, 334 p. (in Russian).
2. Kobak, V.G., Ivanov, M.S. Sravnitelnyy analiz algoritmov resheniya zadachi planirovaniya vod-norodnykh vychislitelnykh sistemakh. [Comparative analysis of solution algorithms to planning problems in homogeneous parallel computing systems with distributed memory.] Matematicheskiye metody v tekhnike i tekhnologiyakh — MMTT-20: sb. tr. XX Mezhdunar. nauch. konf. [Mathematical techniques in methods and technology - MMTT-20: Proc. XX Int. Sci. Conf.] Yaroslavl, 2007, vol. 2, sect. 2, pp. 56-57 (in Russian).
3. Kobak, V.G, Zolotykh, O.A., Titov, D.V. Povysheniye effektivnosti algoritma Krona za schet modifikatsii nachalnogo raspredeleniya zadaniy. [Improvement of Kron algorithm at the expense of modification of starting allocation of tasks.] Sovremenyye problemy informatizatsii v modelirovanii i so-tsialnykh tekhnologiyakh: sb. tr. XVI Mezhdunar. otkrytoy nauch. konf. [Modern problems of informatization in modeling and social technologies: Proc. XVI Int. Open Sci. Conf.] Voronezh: Nauchnaya kniga, 2011, pp. 246-251 (in Russian).
INVESTIGATION OF KROHN'S ALGORITHM AND ITS MODIFICATION FOR VARIOUS BASIC DATA
V. G. Kobak, D. V. Titov, O. A. Zolotykh
(Don State Technical University)
The problem on the task distribution among the multiple homogeneous computing devices by the minimax criterion is considered. The problem definition with the detailed description of the subject of inquiry and its basics is given. It is proposed to use approximate algorithms for the solution to the problem. Both Krohn's classical and modified algorithms, and the techniques of improving them through the initial task distribution among the computer system devices are considered. The critical-path algorithm and Pashkeyev's algorithm are used for this purpose. The output values of a number of computational experiments at various input parameters are given in the paper for estimating the efficiency of the obtained Krohn's algorithm modifications. The modified algorithms efficiency has been evaluated by the operate time and by the departure of the obtained load values from the optimum. The software to analyze the modified algorithm efficiency is developed.
Keywords: Krohn's algorithm, Krohn's algorithm modification, minimax criterion, initial distribution, load balancing, computing system.