ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ INFORMATICS, COMPUTER ENGINEERING AND CONTROL
УДК 681.3.681.5 DOI: 10.17213/0321-2653-2016-3-3-8
РЕШЕНИЕ ОДНОРОДНОЙ МИНИМАКСНОЙ ЗАДАЧИ РАЗЛИЧНЫМИ МОДИФИКАЦИЯМИ АЛГОРИТМА КРОНА
SOLUTION OF THE HOMOGENEOUS MINIMAX PROBLEMS OF VARIOUS MODIFICATIONS OF THE CROHN ALGORITHM
© 2016 г. В.Г. Кобак, А.Г. Жуковский, О.А. Золотых, А.Н. Ростов
Кобак Валерий Григорьевич - д-р техн. наук, профессор, доцент, Донской государственный технический универси-стет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Жуковский Александр Георгиевич - д-р пед. наук, профессор, доцент, Донской государственный технический универ-систет, г. Ростов-на-Дону, Россия. E-mail: zhykovskij @mail. ru
Золотых Олег Анатольевич - доцент, Донской государственный технический универсистет, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Ростов Адрей Николаевич - магистрант, Институт энергетики и машиностроения Донского государственного технического университета, г. Ростов-на-Дону, Россия. E-mail: [email protected]
Kobak Valery Grigorievich - Doctor of Technical Sciences, professor, Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Zhukovsky Alexander Georgievich - Doctor of Pedagogical Sciences, professor, Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Zolotykh Oleg Anatolievich - assistant professor, Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Rostov Andrei Nikolayevich - graduate student, Institute for Energy and Engineering Don State Technical University, Rostov-on-Don, Russia. E-mail: [email protected]
Рассматривается решение распределительной задачи для однородных систем с помощью алгоритма Крона и его модификаций. Проведён анализ результатов работы каждого из предложенных алгоритмов и сделаны выводы об их эффективности.
Ключевые слова: распределительная задача; однородная система; алгоритм Крона; модификация алгоритма; вычислительные эксперименты; множество заданий; ядра процессора.
In this paper we consider the decision problem for a homogeneous distribution systems with Crohn's algorithm and its modifications. The analysis of the results of each of the proposed algorithms and draw conclusions about their effectiveness.
Keywords: distribution problem; a homogeneous system; the algorithm Crohn's modification of the algorithm; computational experiments; the set of tasks; the CPU core.
Введение
Конвергенция сетевых и компьютерных технологий породила новую архитектуру, такую как интеллектуальная вычислительная сеть. Та-
кая сеть способна обеспечить обработку и передачу больших объёмов информации. Структура такой сети может быть основана на узлах с одинаковой вычислительной «мощностью» и в целом представлять собой однородную систему.
Каждый из узлов такой системы способен производить обработку той части информации от общего объёма, которая ему передана. Таким образом, обработка информации может производиться параллельно, на нескольких узлах. Очевидно, что распараллеливание вычислительных процессов позволяет сократить общее время обработки информации, поскольку исходная вычислительная задача разбивается на множество независимых подзадач разного «объёма», каждая из которых обрабатывается на определенном узле интеллектуальной вычислительной сети. Однако очень важным фактором при такой обработке информации, влияющим на общее время решения задачи и эффективность использования вычислительного ресурса, является распределение множества подзадач или множества заданий между узлами сети. При этом наибольшая эффективность использования вычислительных ресурсов и наименьшее время обработки информации будет достигнуто при равномерной загрузке узлов вычислительной сети. Поэтому возникает задача составления списочного расписания в результате решения, которой может быть получен такой план загрузки каждого узла сети, при котором множество заданий будет решено за минимальное время при максимальной загрузке каждого узла сети.
Постановка задачи
Задачу составления списочных расписаний для однородных систем можно сформулировать в общем виде следующим образом. Пусть имеется многопроцессорная система, состоящая из п не связанных идентичных устройств (процессоров, ядер процессора, узлов интеллектуальной вычислительной сети) Р = {р-,..., рп }. В ходе работы в систему поступает т независимых заданий Q = {#-,...,дт}, которые распределяются между устройствами и обрабатываются параллельно. Причем известно время выполнения ;-го задания
t (ду-) на любом из устройств вычислительной
системы, где ; = 1, т . В каждый момент времени отдельное устройство обслуживает не более одного задания, которое не передаётся на другое устройство. Задача составления расписания сводится к построению некоторого разбиения Rk исходного множества заданий на п непересекающихся подмножеств:
Rk (в, п) = {01, в2,.вп}, в, С в,
в = и п=1в,, в, п в; =0, ™ * у.
Критерием разбиения, обеспечивающим оптимальность расписания по быстродействию, служит минимаксный критерий, определяющий такое распределение заданий по устройствам (т.е. разбиение множества в), при котором загрузка наиболее загруженного процессора будет минимально возможной:
T = max T2,.. } ^
1<i<n
min
r1,r2>...
где Ti = ^ t [qj ) - время загрузки i-го устройства (время окончания выполнения множества заданий Qi с Q , назначенных на устройство pi) [1].
Алгоритмы решения
Сформулированная задача может быть решена как с помощью точных методов, так и посредством приближённых [1, 2]. Недостатком точных алгоритмов являются большие временные затраты, которые являются критическими при решении данного класса задач. Поэтому в большинстве случаев используют приближённые методы, которые позволяют получить решение, близкое к оптимальному за приемлемое время.
Алгоритм Крона и его модификации
Одним из приближённых методов является алгоритм Крона [3]. В работе [4] приведен модифицированный алгоритм Крона (в дальнейшем будем называть его базовым алгоритмом). Принцип его действия заключается в следующем:
Шаг 1. Генерируется случайное разбиение Rk (множество заданий распределяется на множество устройств).
Шаг 2. Вычисляется время загрузки каждого устройства {T1,T2,...Tn} .
Шаг 3. Выбираются устройства с максимальной pi max и минимальной pi min загрузкой и вычисляется Д = Tmax -Tmln . Если Д<1, то
I max I min "
переход на шаг 6.
Шаг 4. В множестве Q, max отыскивается задание, удовлетворяющее условию t (qr )<А, qr е Q, max , это задание «перебрасывается» в множество Q, min, корректируются величины Timax и T,min и выполняется переход на шаг 3. Если такого задания нет, то переход на шаг 5.
Шаг 5. Отыскивается пара заданий
qr е Qi max, qs е Qi min таких, что
t (qr )>t (qs) и t (qr)-t (qs )<А, (1)
выполняется обмен заданиями qr и qs между множествами Q, max и Q, min, корректируются величины Timax и Timin и выполняется переход на шаг 3. Если таких заданий нет, то переход на шаг 6.
Шаг 6. Алгоритм завершает работу.
Пример работы модифицированного алгоритма Крона. Пусть имеется 3 устройства и 7 заданий Q = (qb q2, ... q?}, имеющих следующие времена выполнения: {2,3,4,5,5,6,6}. В результате выполнения шага 1 получилось разбиение:
Ri = {{q4, q2, qi, q3}, {q6, q?}, {q5}}.
Для этого разбиения времена загрузки устройств составят: {14, 12, 5}. Получаем: imax = 1, imin = 3, А = 9. Выбираем первое задание из множества Q1 (это будет q4). Так как t(q4) = 5 < 9, то перебрасываем его в множество Q3 и получаем новое разбиение:
R2 = {{q2, q1, q3}, {q6, q?}, {q4, q5}}.
Для этого разбиения времена загрузки устройств составят: {9, 12, 10}. Получаем: imax = 2, imin = 1, А = 3. Так как в множестве Q2 нет заданий с временем выполнения меньше, чем А, то переходим к шагу 5. Для обмена выбираем пару q3, q6, так как (t(q6) = 6) > (t(q3) = 4) и (6 - 4) < А. Выполняем обмен и получаем новое разбиение:
R2 = {{q2, q1, q6}, {q3, q?}, {q4, q5}}.
Для этого разбиения времена загрузки устройств составят: {11, 10, 10}. Так как А = 1, то алгоритм завершает работу.
Приведённый алгоритм уже был исследован авторами ранее, результаты исследований приведены в работах [4] и [5]. В упомянутых докладах приведены результаты сравнительного анализа работы алгоритма Крона в чистом виде
и его модификаций. В данной работе использованы две модификации алгоритма Крона.
Первая модификация заключается в добавлении шага 5.1, который работает после шага 5 (вместо перехода из шага 5 к завершению алгоритма):
Шаг 5.1. Отыскивается пара заданий qr eQi max' qs eQj, Qj е Rk \ Q i max \ Qi min таких, что t(qr)>t(qs) и t(qr)-1(qs)<А А = Tmax -Tj, выполняется обмен заданиями qr и qs между множествами Qi max и Qj, корректируются величины Timax и Tj и выполняется переход на шаг 3. Если таких заданий нет, то переход на шаг 6.
Пример. Пусть имеется 3 устройства и 8 заданий Q = {q1, q2, ... q8}, имеющих следующие времена выполнения: {3,3,5,5,5,5,5,6}. В результате выполнения шага 1 получилось разбиение:
R1 = {{q1, q2, q«}, {q3, q4}, {q5, q6, q?}}.
Для этого разбиения времена загрузки устройств составят: {12, 10, 15}. Получаем: imax = 3, imin = 2, А = 5. Нетрудно убедиться, что для этого разбиения базовый алгоритм на этом завершает работу, и полученный результат далек от оптимального. Но первая модификация предлагает вместо завершения работы выполнить шаг 5.1, который для данного примера производит обмен заданиями q1 и q5 между множествами Q1 и Q3. Получаем:
R2 = {{q5, q2, q«}, {q3, q4}, {q1, q6, q?}}.
Для этого разбиения времена загрузки устройств составят: {14, 10, 13}, imax = 1, imin = 2, А = 4. Выполняется шаг 4 базового алгоритма, который производит переброс задания q2 из множества Q1 в Q2. Получаем:
R2 = {{q5, q«}, {q2, q3, q4}, {q1, q6, q?}}.
Для этого разбиения времена загрузки устройств составят: {11, 13, 13}, imax = 2, imin = 1, А = 2. Для этого разбиения уже не могут быть выполнены ни шаг 4, ни шаг 5, ни шаг 5.1 и алгоритм завершает работу. Несложно проверить, что хотя А > 1, данное разбиение невозможно улучшить, и оно является оптимальным.
Вторая модификация заключается в добавлении шага 5.2, который работает после шага 5.1:
Шаг 5.2. Отыскиваются две пары заданий
qr1, qr 2 eQi max, qs1, qs 2 eQj, Qj e Rk \ Qi max \ Qi min
таких, что t(qrl) + t[qr2 )> t (isl) + t [qs 2 ) и
t(qrl) +t(qr2)-1(qsl)-1(qs2)<Д, Д = T,max -Tj , выполняется обмен парами заданий (qr1, qr2) и (qs1, qs1) между множествами Qi max и Qj, корректируются величины Timax и Tj и выполняется переход на шаг 3. Если таких заданий нет, то переход на шаг 6.
Формирование начального распределения для алгоритма Крона на основе алгоритмически различных подходов
В рамках данной статьи предлагается исследование влияния начального распределения на точностные характеристики алгоритма Крона. Как известно, в классическом варианте алгоритма Крона начальное распределение формируется путем случайного размещения заданий по устройствам, но вопрос влияния другого вида формирования базового распределения на точность алгоритма Крона является малоизученным. Поэтому предлагается формировать начальное распределение путем размещения заданий последовательно на все устройства и путем размещения заданий изначально только на одно случайно выбранное устройство. Дальнейшее уточнение решения распределительной задачи будет проводиться в соответствии с классическим алгоритмом Крона и описанными выше модификациями.
Таким образом, в работу алгоритма Крона необходимо внести некоторые коррективы, а именно при старте алгоритма исходное множество заданий распределять не случайным образом, а с помощью одного из предложенных алгоритмов и так для каждого сформированного набора заданий. Таким образом, в исследовании принимают участие следующие алгоритмы:
- классический алгоритм Крона (АК_1);
- классический алгоритм Крона с начальным распределением на одно устройство (АК_2);
- классический алгоритм Крона с последовательным начальным распределением по всем устройствам (АК_3);
- модифицированный алгоритм Крона, работающий по принципу обмена заданиями меж-
ду устройством с наибольшей загрузкой и очередным устройством со случайным начальным распределением (АК_4);
- модифицированный алгоритм Крона, работающий по принципу обмена заданиями между устройством с наибольшей загрузкой и очередным устройством с начальным распределением на одно устройство (АК_5);
- модифицированный алгоритм Крона, работающий по принципу обмена заданиями между устройством с последовательным начальным распределением по всем устройствам (АК_6);
- модифицированный алгоритм Крона, работающий по принципу обмена парами заданий между устройством с наибольшей загрузкой и очередным устройством со случайным начальным распределением (АК_7);
- модифицированный алгоритм Крона, работающий по принципу обмена парами заданий между устройством с наибольшей загрузкой и очередным устройством с начальным распределением на одно устройство (АК_8);
- модифицированный алгоритм Крона, работающий по принципу обмена парами заданий между устройством с наибольшей загрузкой и очередным устройством с последовательным начальным распределением по всем устройствам (АК_9).
Экспериментальное сравнение алгоритмов решения распределительной задачи
В рамках исследования модифицированного алгоритма Крона поставлены вычислительные эксперименты, позволяющие получить статистику решений и оценить эффективность работы алгоритма при разных значениях параметров. Такими параметрами являются: п - количество устройств, т - количество заданий, z2] - диапазон генерации времени загруженности устройства (t (ц; )е[ Zl, Z2]). В ходе экспериментов были
случайным образом сгенерированы по 1000 векторов загрузки, содержащие задания в диапазоне z2]. Полученные результаты усреднялись по количеству экспериментов. В сводной таблице представлены результаты экспериментов для диапазона заданий [25, 30].
Усредненные значения результатов работы алгоритмов
n m Значения исследуемых алгоритмов
Topt АК 1 АК 1 T АК 2 АК 2 T АК 3 АК 3 T АК 4 АК 4 T
3 31 284,441 284,822 0,108 284,809 0,487 284,817 0,535 284,784 0,286
3 51 467,689 467,724 0,156 467,724 0,519 467,738 0,688 467,908 0,283
3 71 651,128 651,774 0,217 651,703 1,142 651,762 1,214 651,694 1,007
Продолжение таблицы
n m Значения исследуемых алгоритмов
Topt АК 5 АК 5 T АК 6 АК 6 T АК 7 АК 7 T АК 8 АК 8 T АК 9 АК 9 T
3 31 284,441 284,704 0,639 284,726 0,392 284,681 2,691 284,637 2,727 284,673 2,837
3 51 467,689 467,827 0,317 467,841 0,418 467,754 17,723 467,704 17,891 467,733 18,027
3 71 651,128 651,684 1,084 651,692 1,125 651,679 65,287 651,642 65,319 651,671 65,428
Продолжение таблицы
n m Значения исследуемых алгоритмов
Topt АК 1 АК 1 T АК 2 АК 2 T АК 3 АК 3 T АК 4 АК 4 T
5 31 170,833 179,109 0,231 178,211 0,326 178,124 0,22 177,165 0,456
5 51 280,946 281,248 0,246 281,25 1,057 281,233 1,307 281,068 1,414
5 71 391,139 391,863 0,233 391,738 1,5 391,692 1,577 391,629 1,577
Продолжение таблицы
n m Значения исследуемых алгоритмов
Topt АК 5 АК 5 T АК 6 АК 6 T АК 7 АК 7 T АК 8 АК 8 T АК 9 АК 9 T
5 31 170,833 176,845 0,685 176,792 0,598 177,101 7,301 176,592 7,851 176,971 7,675
5 51 280,946 281,173 1,547 281,047 1,983 281,149 35,265 281,01 35,482 281,972 35,729
5 71 391,139 391,588 2,039 391,612 2,398 391,302 41,144 391,211 41,327 391,361 41,529
Продолжение таблицы
n m Значения исследуемых алгоритмов
Topt АК 1 АК 1 T АК 2 АК 2 T АК 3 АК 3 T АК 4 АК 4 T
7 31 122,199 132,568 0,236 131,471 0,217 131,455 0,267 130,69 0,657
7 51 200,813 206,517 0,752 205,748 0,751 205,769 1,311 204,634 2,66
7 71 279,286 279,398 0,842 279,528 1,086 279,524 1,877 279,936 2,758
Окончание таблицы
n m Значения исследуемых алгоритмов
Topt АК 5 АК 5 T АК 6 АК 6 T АК 7 АК 7 T АК 8 АК 8 T АК 9 АК 9 T
7 31 122,199 130,589 0,843 130,539 1,284 130,324 9,063 129,337 9,293 129,583 9,247
7 51 200,813 204,649 2,574 204,692 2,873 204,335 67,438 204,265 67,691 204,315 67,946
7 71 279,286 279,892 3,185 279,939 3,985 279,321 68,249 279,261 68,486 279,483 68,752
Вывод
По результатам вычислительных экспериментов можно уверенно сказать, что модификации алгоритма Крона, работа которых основана на обмене парами заданий, являются наиболее точными, по сравнению с другими модификациями, несмотря на довольно долгое время поиска решения. В связи с этим, из приведенных модификаций, рекомендуется использовать АК_8 как дающую результат, наиболее близкий к оптимальному.
Литература
1. Коффман Э.Г. Теория расписания и вычислительные машины. М.: Наука, 1987.
2. Романовский И.В. Алгоритмы решения экстремальных задач. М.: Наука,1977. 352 с.
3. Krone M. Heuristic programming applied to scheduling models.-Proc. 5th Annual Princeton Conf. Inform. Sei. Syst., 1971. P. 193 - 196.
4. Кобак В.Г., Иванов М.С. Сравнительный анализ алгоритмов решения задачи планирования в однородных вычислительных системах // Мат. методы в технике и технологиях - ММТТ-20: сб. тр. XX Междунар. науч. конф. Ярославль, 2007. Т. 2, секц. 2.
5. Кобак В.Г., Титов Д.В., Золотых О.А. Алгоритмический подход к увеличению эффективности алгоритма Крона в однородных системах // Материалы межвуз. науч.-техн. конф. «Перспективы развития средств и комплексов связи. Подготовка специалистов связи». Новочеркасск, 2011. С. 179 - 181.
6. Кобак В.Г., Титов Д.В., Золотых О.А. Повышение эффективности алгоритма Крона за счёт модификации начального распределения заданий // Труды XX междунар. науч.-техн. конф. «Современные проблемы информатизации». Воронеж, 2011. С. 234 - 239.
References
1. Koffman E.G. Teoriya raspisaniya i vychislitel'nye mashiny [Theory of the schedule and computers]. Moscow, Nauka Publ., 1987.
2. Romanovskii I.V. Algoritmy resheniya ekstremal'nykh zadach [Algorithms of the solution of extreme tasks]. Moscow, Nauka Publ., 1977, 352 p.
3. Krone M. Heuristic programming applied to scheduling models.-Proc. 5th Annual Princeton Conf. Inform. Sei. Syst., 1971, Pp. 193-196.
4. Kobak V.G., Ivanov M.S. [The comparative analysis of algorithms of the solution of a task of planning in uniform computing systems]. Matematicheskie metody v tekhnike i tekhnologiyakh - MMTT-20: sb. tp. XX Mezhdunar. nauch. konf. [Mathematical methods in equipment and technologies - MMTT-20: collection of works XX of the International scientific conference]. Yaroslavl, 2007, vol. 2, section 2.
5. Kobak V.G., Titov D.V., Zolotykh O.A. [Algorithmic approach to increase in efficiency of algorithm Krone in uniform systems]. Perspek-tivy razvitiya sredstv i kompleksov svyazi. Podgotovka spetsialistov svyazi: Materialy mezhvuzovskoi nauchno-tekhnicheskoi konferent-sii [Prospects of development of means and complexes of communication. Communication training of specialists: Materials of interuni-versity scientific and technical conference]. Novocherkassk, 2011, pp. 179-181. [In Russ.]
6. Kobak V.G., Titov D.V., Zolotykh O.A. [Increase of efficiency of algorithm Krone due to modification of initial distribution of tasks]. Sovremennye problemy informatizatsii: Trudy XX mezhdunarodnoi nauchno-tekhnicheskoi konferentsii [Modern problems of informatization: Works XX of the international scientific and technical conference]. Voronezh, 2011. С. 234-239. [In Russ.]
Поступила в редакцию 13 июля 2016 г.