УДК 681.3+681.5
ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ РАСПРЕДЕЛЕНИЯ ДЛЯ ОДНОРОДНЫХ СИСТЕМ ПРИ КРАТНОСТИ ЗАДАНИЙ КОЛИЧЕСТВУ УСТРОЙСТВ
© 2011 г. В.Г. Кобак , Д.В. Титов , В.И. Калюка , О.А. Золотых
'Донской государственный технический 'Donskoy State Technical University,
университет, г. Ростов-на-Дону Rostov-on-Don
"Филиал Военной академии связи, "Branch of the Military Academy of Communications
г. Новочеркасск (Novocherkassk)
Представлена оценка двух модификаций генетического алгоритма, которые дают решения, очень близкие к оптимальным, за полиномиальное время. Оба эти алгоритма приводят, в конечном счете, к решению двухприборной минимаксной задачи, однако по различным вычислительным путям.
Ключевые слова: теория расписаний; задача планирования; трудоемкость решения; генетический алгоритм; списочные алгоритмы; вычислительный эксперимент; множество заданий; ядра процессора.
The given work states an estimation to two updatings of genetic algorithm which give decisions very close to optimum, for polynom time. Both these of algorithm, lead, finally, to the decision of a two-instrument minimax problem, however on various computing ways.
Keywords: theory of schedules; planning problem; labour input of the decision; genetic algorithm; list algorithms; computing experiment; set of tasks, processor kernels.
Введение
Во многих отраслях промышленности и производства очень часто применяются многопроцессорные (многоядерные) вычислительные системы для решения различного рода задач. Для упорядочивания и распределения независимых заданий по параллельно работающим независимым процессорам возникает необходимость в эффективном планировании. Построение оптимального плана (расписания) относится к задачам ЛР-полным, т.е. трудоемкость решения распределительной задачи определяется по экспоненте, как 0(пт), где О - временная асимптотическая сложность алгоритма, а п и т - целые числа больше единицы, задающие размерность задачи. Исследование задач теории расписаний помогает изучить фундаментальные свойства практических задач и направлено на построение более эффективных алгоритмов решения. Исследование методов построения расписаний, близких к оптимальным расписаниям, определяется возможностью экономии вычислительных ресурсов и времени на получение решения распределительной задачи.
Постановка задачи
Задача теории расписаний для однородных систем обработки информации может быть сформулирована следующим образом. Имеется однородная вычислительная система, состоящая из п идентичных устройств (параллельных процессоров или ядер процессора) Р = {р1,...,рп}, на которые поступает т независимых заданий Q = ..., qm }, образующих парал-
лельную программу, причем известно время выполнения /-го задания tj на любом из процессоров вычислительной системы, где / = 1, т . В каждый момент времени отдельный процессор обслуживает не более одного задания, которое не передаётся на другой процессор. Задача составления расписания сводится к разбиению исходного множества заданий на п непересекающихся
п
подмножеств, т.е. Ог : V/,/ е[1,п] ПО- = 0 и \\Qi = Q.
1=1
Критерием разбиения, обеспечивающего оптимальность расписания по быстродействию, служит минимаксный критерий, определяя такое распределение заданий по процессорам, при котором время завершения параллельной программы Ттт минимально, т.е.
Ттт = тах {Т т^ (1)
1<г<п
где Ti = £ tj - загрузка /-го процессора (время
ей
окончания выполнения множества заданий Ог с О, назначенных на процессор pi, где / = 1, п) [1].
Методы решения распределительной задачи
Методы решения однородных распределительных задач можно разбить на два класса. Первый класс -это точные методы, такие как метод полного перебора, алгоритм Романовского, алгоритм Алексеева. Второй класс методов - приближенные методы, к которым относятся следующие подклассы методов: спи-
сочные и эвристические методы. Списочные методы включают в себя метод критического пути, алгоритм Пашкеева и др. К эвристическим методам относятся: генетические алгоритмы, метод отжига, метод роящихся частиц и д. р.
Для получения оптимального решения однородной распределительной задачи используются точные методы решения. Однако, в силу её ЛР-полноты, с увеличением размерности распределительной задачи, а также при сужении диапазона ресурсных оценок распределяемых заданий получение оптимального решения за доступное время может стать недостижимым. В этой ситуации приходится ориентироваться на быстрые, но приближенные методы, позволяющие получить решение, близкое к оптимальному, такие как генетические алгоритмы.
Критерий оценки качества расписания
Одной из самых распространенных оценок качества расписания является минимаксная оценка, в которой в качестве функции оценки выступает выражение (1). Однако в данной работе будет использоваться оценка, предложенная в работе [2]. Суть её в следующем. Если найти сумму времен выполнения всех т заданий и разделить е' на количество устройств п, то получится минимально возможное по минимаксной
оценке значение TTO =
Z tj / n
j-
причем веществен-
ное значение округляется в большую сторону до целого, а целое значение остается без изменения. Данное значение будем называть теоретическим оптимумом. Причем оптимальное решение по минимаксному критерию Ттто может как совпадать с теоретическим
оптимумом, так и быть меньше его, т.е. Ттто < ТТо .
Для оценки качества расписания находится отклонение получившегося решения Ттт от теоретического оптимума ТТо, т.е.
ATto - Tmm TTO ■
(2)
Предложенная оценка (2) качества расписания показывает, насколько найденное решение по минимаксному критерию отстоит от теоретически возможного, следовательно, чем меньше оценка, тем точнее было решение, а при ATTO = 0 можно утверждать, что получено точное решение поставленной задачи.
Списочные методы
Списочные методы отличаются простотой в построении и реализации и характеризуются достаточно высокой эффективностью с точки зрения времени выполнения. Одним из самых распространенных списочных алгоритмов является метод критического пути (Critical Path Method, CPM). Принцип действия CPM заключается в том, что очередное задание из списка заданий, упорядоченных по убыванию, назначается на процессор с самой минимальной суммарной загрузкой. Для данного метода имеется теоретически вы-
численная максимальная оценка погрешности, которая не превышает 0,33 и не зависит от количества распределяемых работ или их размера [1].
Генетические алгоритмы
К одним из самых популярных эвристических методов относятся генетические алгоритмы (ГА), которые являются одной из парадигм эволюционных вычислений, построены на принципах, сходных с принципами естественного отбора и генетики. Общий принцип работы ГА состоит в следующем: на первом шаге формируется начальное поколение, состоящее из заданного числа особей; на втором шаге происходит отбор особей и применение операторов кроссовера и мутации ГА с заданной вероятностью, формирование нового поколения; на третьем шаге происходит проверка условия останова, которая обычно заключается в неизменности лучшего решения в течение заданного числа поколений; если проверка прошла успешно, то лучшая особь выбирается как найденное решение, иначе происходит переход на второй шаг. Такая схема -наиболее общий алгоритм для решения разнотипных задач. В данном случае решения задачи теории расписания минимаксный критерий будет являться оптимизационной функцией, а условием останова будет неизменность лучшего решения в течение заданного числа поколений. При отборе родительских пар для оператора кроссовера берется текущая особь и случайно выбранная из исходного вектора особей. Для формирования нового поколения используется турнирный отбор, при котором из заданного числа особей (в данном случае две особи) выбирается лучшая, которая перейдет в новое поколение. Лучшей особью считается та, для которой значение оптимизационной функции минимально.
В базовой схеме работы ГА, в ходе формирования нового поколения, особи потомков могут замещать родительские особи. Такой подход достаточно естественен, но не особенно эффективен, так как существует вероятность замещения лучшей родительской особи худшей особью потомка. Для решения данной проблемы был разработан принцип элитизма, суть которого заключается в том, что в новое поколение включаются лучшие родительские особи (элитные особи), что позволяет не потерять хорошее промежуточное решение. Число элитных особей может быть от одной и более.
Модификации генетического алгоритма
В статье [3] была предложена модификация ГА, которая была самой эффективной из рассмотренных. Суть модификации заключается в том, что при формировании нового поколения использовался бинарный турнирный отбор, в котором участвовала очередная особь, т.е. родительская, и результирующая, полученная в ходе выполнения операторов кроссовера и мутации. Предложенный способ формирования нового поколения называется турнир с родителем.
В статье [4] был предложен декомпозиционный подход к решению распределительных задач с четным количеством устройств с помощью ГА, который был самым эффективным из рассмотренных методов решения задач. Суть данного подхода заключалась в следующем, вначале распределяется т заданий с помощью ГА на k устройств, где k = п /2, получается k непересекающихся подмножества заданий, т.е.
Ql иQ2 и...иQk = Q.
Далее распределяется каждое подмножество заданий Q1, Q2,..., Qk, применяя ГА, на два устройства, в результате получается 2k = п непересекающихся подмножества заданий, т.е. Q11 и Q12 = Q1,..., Qk 1 и Qk2 = Qk , образующих расписание для п устройств, т.е. Qll и02 и.иQkl иQk2 = Q■ Причем, если в результате выполнения данного алгоритма получается, что k = п /2 является четным числом, то для распределения т заданий на k устройств вызывается рекурсивно данный алгоритм. Такой подход получил название метод бинарной декомпозиции с использованием ГА (МБДГА).
Экспериментальное сравнение генетических и списочного алгоритмов
С целью исследования эффективности генетических алгоритмов распределения для однородных систем при кратности заданий количеству устройств и сравнения их со списочным алгоритмом был проведен вычислительный эксперимент. Количество элементов системы параллельной обработки информации и количество заданий, которые распределялись между устройствами, приведено в таблице. Для проведения эксперимента были случайным образом сгенерированы 100 задач, содержащие задания, время выполнения которых находится в диапазоне [25, 30], причем каждая задача решалась следующими алгоритмами: СРМ; ГА №1 - ГА с использованием турнира с родителем; ГА №2 - ГА - турнир с родителем и одной элитной особью, полученной с помощью СРМ; ГА №3 -МБДГА - турнир с родителем; ГА №4 - МБДГА с использованием турнира с родителем и одной элитной особью, полученной с помощью СРМ. Для всех ГА
были выбраны следующие фиксированные параметры: число особей составляло 50; условие останова - появление в процессе решения более 500 поколений с лучшей одинаковой особью; вероятность кроссовера составляла 90 %; вероятность мутации 10 %. Качество расписаний определяли с помощью усредненной по количеству экспериментов оценки (2), т.е.
_ 100 ДТто = ^ДТТог /100 (таблица). г =1
Проанализировав данные, приведенные в таблице, можно отметить, что для малых значений т самым эффективным алгоритмом является ГА № 4, т.е. МБДГА с использованием турнира с родителем и одной элитной особью, полученной с помощью СРМ. Однако для больших значений т по точности можно выделить два алгоритма СРМ и также ГА №4, причем среднее время нахождения решения СРМ не превышает 0,1 мс, в отличие от ГА №4, для которого время нахождения решения составляет в среднем несколько сотен миллисекунд. Следует отметить, что наихудшее решение во всех случаях вернул ГА № 1, т.е. стандартный ГА с использованием турнира с родителем.
Выводы
С целью решения однородных распределительных задач при кратности заданий количеству устройств для малых и больших значений количества заданий т следует использовать метод бинарной декомпозиции с использованием ГА и турнирного отбора, а также одной элитной особи, полученной с помощью метода критического пути. Однако для быстрого нахождения решения при большом количестве заданий т можно использовать метод критического пути.
Литература
1. Коффман Э.Г. Теория расписания и вычислительные машины. М., 1987.
Результаты вычислительного эксперимента
n m Усредненная оценка ДТто Усредненное время решения задач, мс
CPM ГА №1 ГА №2 ГА №3 ГА №4 CPM ГА №1 ГА №2 ГА №3 ГА №4
4 32 0,04 0,53 0,03 0 0 0,12 18,76 17,36 36,41 40,42
128 0 1,1 0 0 0 0,03 68,21 50,01 98,55 103,12
6 30 0,06 1,81 0,06 0,03 0 0,01 28,1 25,74 39,97 46,04
126 0 4,38 0 0,2 0 0,02 71,16 49,35 110,07 108,42
8 32 0,13 3,07 0,13 0,07 0 0,01 18,04 17,40 64,38 76,92
128 0 6,04 0 0,01 0 0,03 78,52 48,99 158,24 173,24
10 30 0,16 3,48 0,15 0,84 0,1 0,01 18,29 17,07 49,80 59,06
130 0 7,65 0 1,59 0 0,05 84,24 49,34 136,99 123,33
2. Алексеев О.Г. Комплексное применение методов дискретной оптимизации. М., 1987.
3. Титов Д.В., Кобак В.Г. Анализ подходов к улучшению результатов работы генетического алгоритма при решении однородной минимаксной задачи // Проблемы информатики в образовании, управлении, экономике и тех-
нике : сб. ст. VIII Всерос. науч.-техн. конф., 19-20 нояб. Пенза, 2008. С. 76 - 78. 4. Титов Д.В. Модификация генетического алгоритма распределения для четного количества однородных приборов // Изв. вузов. Сев.-Кавк. регион. Техн. науки. 2010. № 1. С. 3 - 6.
Поступила в редакцию 17января 2011 г.
Кобак Валерий Григорьевич - д-р техн. наук, профессор, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет. E-mail: valera3 3 305@mail. ru
Титов Дмитрий Вячеславович - канд. техн. наук, старший преподаватель, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет. E-mail: [email protected]
Калюка Владимир Иванович - канд. техн. наук, заместитель начальника кафедры, кафедра «Автоматизированные системы управления войсками и связи», филиал Военной академии связи, г. Новочеркасск. E-mail: [email protected]
Золотых Олег Анатольевич - старший преподаватель, кафедра «Программное обеспечение вычислительной техники и автоматизированных систем», Донской государственный технический университет. E-mail: olzo <[email protected]
Kobak Valery Grigorevich - Doctor of Technical Sciences, professor, department «Software Computer Technology and Automated Systems», Donskoy State Technical University. E-mail: [email protected]
Titov Dmitry Vjacheslavovich - Candidate of Technical Sciences, senior lector, department «Software Computer Technology and Automated Systems», Donskoy State Technical University E-mail: [email protected]
Kalyuka Vladimir Ivanovich - Candidate of Technical Sciences, Deputy Head of the department of Automated systems, Command and Control and Communications, branch of the Military Academy of Communications, Novocherkassk. E-mail: [email protected]
Zolotykh Oleg Anatolevich - senior lecturer, department «Software Computer Technology and Automated Systems», Donskoy State Technical University. E-mail: olzo <[email protected]