Интернет-журнал «Науковедение» ISSN 2223-5167 http ://naukovedenie.ru/ Том 7, №6 (2015) http ://naukovedenie. ru/index.php?p=vol7-6 URL статьи: http ://naukovedenie. ru/PDF/101TVN615.pdf DOI: 10.15862/101TVN615 (http://dx.doi.org/10.15862/101TVN615)
Уральский Николай Борисович
ФГБОУ ВПО «Российский государственный социальный университет»
Россия, г. Москва Аспирант E-mail: [email protected]
Сизов Валерий Александрович
ФГБОУ ВПО «Российский государственный социальный университет»
Россия, г. Москва Профессор Доктор технических наук E-mail: [email protected]
Капустин Николай Клементьевич
ФГБОУ ВПО «Московский авиационный институт»
Россия, г. Москва Доцент
E-mail: [email protected]
Оптимизация вычислительного процесса фитнесс-функции генетического алгоритма в распределённых системах обработки данных
Аннотация. Развитие распределенных вычислительных систем требует разработки эффективных вычислительных процедур, одновременно учитывающих структуру программного и информационного обеспечения, а также структуру технического обеспечения систем. Работа направлена на повышение эффективности модульных распределенных систем обработки данных за счет разработки и использования эволюционных моделей, методов и алгоритмов проектирования прикладного программного обеспечения. Разработанные модели проектирования прикладного программного обеспечения одновременно учитывают характеристики программного, информационного и технического обеспечения систем. В работе предложен метод, повышающий эффективность генетического алгоритма за счёт увеличения скорости выполнения вычислений фитнес-функции. Разработанный генетический алгоритм с модифицированной фитнес-функцией, значительно более оперативный, чем классический алгоритм, а при небольшом числе итераций находит расписание вычислительного процесса наиболее близкое к оптимальному. Проведенный эксперимент доказывает, что при назначении расписаниям неточных оценок, время работы фитнес-функции разработанного модифицированного генетического алгоритма значительно сокращается при достижении эффективных расписаний вычислительного процесса. Таким образом, разработанные эволюционные модели, методы и алгоритмы проектирования прикладного программного обеспечения позволяют повысить оперативность распределенных систем обработки данных.
Ключевые слова: модульные распределенные системы обработки данных; генетические алгоритмы; фитнес-функция; оптимизация вычислительного процесса; структура программного обеспечения.
Ссылка для цитирования этой статьи:
Уральский Н.Б., Сизов В.А., Капустин Н.К. Оптимизация вычислительного процесса фитнесс-функции генетического алгоритма в распределённых системах обработки данных // Интернет-журнал «НАУКОВЕДЕНИЕ» Том 7, №6 (2015) http://naukovedenie.ru/PDF/101TVN615.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ. DOI: 10Л5862/101ГУШ15
Статья опубликована 25.11.2015.
Введение
Потребность решения крупномасштабных задач, развитие облачных технологий и работа с «большими данными» приводят к интенсивному развитию распределенных моделей предоставления вычислительных ресурсов [12, 6, 8]. На сегодняшний день список «Топ-500» включает в себя вычислительные системы различных конфигураций, но опыт последних десяти лет показал, что для эффективного решения практических задач ядер суперскалярного типа, лёгких или тяжёлых, явно недостаточно - необходимы ядра различной архитектуры и функционального назначения т.е. так называемая гибридность. Свойство гибридности означает неоднородность на уровне процессорных ядер. На более высоком уровне есть ещё один тип неоднородности - гетерогенность, когда в состав суперкомпьютера входят целые сегменты из специализированных процессоров и сетей, оптимизированных для решения какой-либо задачи или класса задач [5].
По прогнозам появление в ближайшее время постмуровской элементной базы и новых принципов построения суперкомпьютеров приведёт к созданию специализированных гетерогенных суперкомпьютеров зеттафлопсного уровня в 2020 году, а йоттафлопсного -после 2024 года.
Усложнение структуры вычислительных систем будет продолжаться, это проявится в сложной иерархии коммуникаций и памяти, усилении гибридности/гетерогенности и многократно возрастающей сложности управления. Поэтому сегодня крайне важен поиск новых методов, алгоритмов и способов организации управления вычислительным ресурсом
[5].
На сегодняшний день перед разработчиками стоит задача не столько построения компьютерной конфигурации, при запуске на которой производительность специально созданной тестовой программы превысила бы рубеж в один экзафлопс, сколько обеспечения максимально эффективного режима выполнения реальных приложений, задействующих все выделенные им ресурсы суперкомпьютера [4].
Стремление добиться большей производительности и энергоэффективности, не меняя существующие модели программирования [4, 3], требуют применения эффективных систем распараллеливания. В этой связи актуальной задачей на сегодняшний день остаётся синтез оптимальной логической структуры комплекса информационно-зависимых задач (ИЗЗ) для распределённых систем [15, 13].
1. Общая модель
Оптимизационные модели логической структуры комплекса информационно-зависимых задач в вычислительной сети разрабатываются с учетом показателя целесообразности распараллеливания ИЗЗ в вычислительной сети (ВС) - у. При у>1 актуальной является задача синтеза оптимальной логической структуры комплекса ИЗЗ по критерию минимального времени решения (задача F1).
При у<1 с точки зрения сокращения времени решения комплекса ИЗЗ эффект от распараллеливания в вычислительной сети (ВС) отрицательный. Поэтому в качестве критерия целесообразно использовать минимум суммарного межоперационного интерфейса (задача Б2).
Таким образом, общую последовательность проектирования оптимальной логической структуры комплекса информационно-зависимых задач (ИЗЗ) можно представить в виде алгоритма, изображенного на рисунке 1.
В качестве начальной информации используются характеристики ВС, и канонической структуры комплекса ИЗЗ в ярусно-параллельной форме. Задача F1* главным образом отличается от задачи F1 тем, что учитывает временные затраты на протоколы. Методы решения задач рассматриваются в следующей главе.
Содержательная постановка задачи F1(F1*) формулируется следующим образом. По известным характеристикам узлов вычислительной сети, каналов передачи данных, топологии ВС, канонической структуры комплекса ИЗЗ необходимо определить логическую структуру комплекса ИЗЗ в виде множеств операционных модулей (ОМ) и отношений между ними, а также размещение операционных модулей в вычислительной сети, которые обеспечивали бы минимальное время решения ИЗЗ и выполнение сетевых, системных и структурных ограничений.
Рисунок 1. Общая последовательность проектирования оптимальной логической структуры программного и информационного обеспечения комплекса информационно-зависимых задач
Задача F1 имеет следующий вид. Найти:
"" R
N
n X max
\Enrm)n=1 М
R T^nml.r . \ (c „nm с, l з nm з, l \ о
X En [tm + Trm)+X[Vn * m + Ф ' 'm j+ t пр
r =1 l=1
+
+
N-1 M NM
£ X XX Z
n=1 m=1 n'=n+1 m'=1
ZB ^Tj nm BX xrjn'm' . г-г\пш -fc
ll + Фп 'т'1п
l=1
(1)
при ограничениях:
на однозначное распределение процедур по модулям NM _
X X Enm = 1, Vr, r = 1, Ä,
n=1 m =1
L M-1 M , _
X X X = 0, Vn, n = 1, N,
l=1 m=1 m = m+1
X вх ^nm в ^n' m = 0, Vn, n ', m, m = 1M,n' > n; l=1
• на неравномерность загрузки узлов ВС
M N M N
[1/M )X XT,„,-а< Tnm <[1/M )X XX T„m + e,
m=1 n=1 m=1 n =1
где e - допустимое отклонение от среднего времени выполнения ОМ в ВС;
• на сложность межоперационного интерфейса
M M N-1 N L „
X X X- X XX В ¥Г ^ m < ^ an,
m=1 m'=1 n=1 n'=n+1l=1
(2)
(3)
(4)
где Б оп - максимальное количество передаваемых по каналам информационных элементов;
• на сложность межоперационного интерфейса между отдельными узлами ВС N-1 N Ь
XXX в
n=1 n'=n+11=1
B\TfnmBXxjjrim' ^ qm
< ^ mm' , (5)
где 5* 1 I - максимальное количество передаваемых по каналам информационных элементов между узлами т и т';
• на общее число процедур в составе каждого ОМ
Я ___
___ -А- ..
(6)
XE^ < R*m , Vn, m, n = 1,M, m = 1, N,
r=1
L
где Япт - максимальное число процедур в пт-ом ОМ;
• на число информационных элементов, обрабатываемых процедурами каждого ОМ
Ь
< Ьт.• (7)
' = 1
где ¿пт - максимальное число информационных элементов, обрабатываемых процедурами каждого ОМ;
• на объем доступной внешней памяти в узлах ВС
N ( Я Ь \ _
х х ЕПтРг + Хс(3Vптр'
п=1 V г=1 ' =1
< Рт, т = 1, М, (8)
где Рт - максимальный объем доступной внешней памяти в т-ом узле ВС.
Ограничение (2) является необходимым и достаточным условием распараллеливания последовательности процедур или их размещения по ОМ. Очевидность первого равенства определяется необходимостью однозначного распределения процедур по модулям. Выполнение второго равенства обязательно ввиду запрета на передачу информации внутри этапов между узлами ВС. Третье равенство необходимо для получения однонаправленности вычислительного процесса в рамках логики последовательно-параллельных форм.
Задача Б1* формулируется следующим образом.
Найти:
тИепт)= тхяе;"к+т„,)+I,
\ЕПт) ¡ЕПт)П=1 М г
'г \т
г=1
+
Ь , \ N М /
^¡Г с пт с.' . пт з,' | . I „пт
Ц VI • (т + V • (т) + X
'=1 п'=п +1 т' =1
+ tф + г0чк )+ I1 / сПт' В ВХ т Р ~ Ттт' 1 Ктт' ) )
'=1
(9)
при ограничениях 2-8.
Для постановки задачи Б2 необходимо определить ряд величин. Пусть О = ||^гг'|| - матрица объемов передач информации,
Ь
где §гг' = X ^г' ' ™гЧ ' Р - объем передачи информации между процедурами г и г';
Тогда задача Б2 будет иметь следующий вид. Найти:
м м я я
ее ее утут
т=1т'=1 г =1 г' =1
при ограничениях:
на однозначное распределение процедур по узлам ВС М _
Е у7 = 1, ^, г = 1, Я;
т=1
на объем доступной внешней памяти в узлах ВС
Я ь
.т г . „т I
Еутр + Еф7■ р <Рт , т = 1,м
г=1 I=1
на неравномерность загрузки узлов ВС
М м
(1/М) ЕТт ~д< Тт < (1/М) ЕТт + д,
т=1 т=1
где
т= "т Е У г у г + 1т г =1
т-ого узла ВС.
(10)
(11)
(12)
(13)
Я / \ ь
т Т Я -,,т(с(з) т с(з),т
Т т= 1т = Е уг \Тг + 1т)+ Е ФI ■ Ч - время реализации процедур
г= 1 I= 1
Целесообразность включения в задачу ограничений 4, 13 обусловлена возможностью достижения минимального значения целевой функции за счёт уменьшения коэффициента использования технических средств, что ведёт к низкой производительности и невысокой эффективности работы ВС.
2. Разработка эволюционной модели
При выборе стратегии распараллеливания ИЗЗ (задача Б1*) и принятии решения об использовании метода последовательного улучшения, происходит запуск алгоритма поиска оптимальной логической структуры комплекса ИЗЗ. Данная задача является КР-полной и для её решения применяются приближённые методы и эвристические алгоритмы на основе эволюционной модели.
Эволюционное моделирование находит множество применений при решении различных классов задач [18]. Заимствование законов развития природы даёт возможность решать эти задачи в более широком, универсальном смысле без ограничений ранее разработанных математических моделей [1 стр. 3]. Различные эволюционные модели рассмотрены в [16].
Генетические алгоритмы (ГА) — это стохастические эвристические оптимизационные методы эволюционного моделирования, основанные на принципах естественного отбора. ГА используется в разных областях, где невозможно найти лучшее решение и требуется найти решение максимально приближенное к оптимальному [21]. Математическое описание и применение классического ГА в распределении программных модулей в ВС подробно рассмотрено в работах [7, 9]. В общем виде ГА представляет последовательность следующих шагов:
1) формирование популяции;
2) расчёт оценок для каждой особи (фитнес-функция);
3) стохастический отбор наиболее приспособленных особей;
4) скрещивание (кроссинговер);
5) мутация.
Основная проблема применения и разработки программного обеспечения, использующего аппарат генетических алгоритмов, заключается в выборе:
1) функции приспособленности (фитнес-функция), т.е. таких условий, что помогут ограничить пространство поиска только теми значениями, которые вероятно являются решениями;
2) кодирование хромосом (существуют различные методы кодирования, которые обсуждаются в работе [20]);
3) параметров генетического алгоритма (количество предков и потомков, частота мутаций и т.д.), которые с одной стороны должны не препятствовать быстрому прохождению процедуры ранжирования особей по приспособленности, с другой стороны не должны приводить к преждевременному схождению к неверному результату [19].
Проблема выбора фитнес-функции и кодирование хромосом тесно связаны между собой, т.к. чем меньше информации содержится в хромосоме, тем сложнее вычисления фитнес-функции наоборот. Другой аспект проблемы - повышение требования к объёму оперативной памяти при использовании сложной кодировки хромосом.
При решении задачи построения логической структуры комплекса ИЗЗв качестве «хромосомы» выступает расписание выполнения процедур на узлах ВС. В данной работе выбрана максимально простая кодировка - каждый слот расписания соответствует одной процедуре из канонической формы графа ИЗЗ и содержит идентификатор узла, на котором данная процедура выполняется, таким образом, меняя идентификаторы узлов, процедуры объединяются в различные ОМ и распределяются по ВС [15]. В части операторов ГА выбор был сделан в пользу классики, т.е. применялись оператор отбора - "колесо рулетки" [11], одноточечный кроссинговер и простой оператор мутации, меняющий случайно выбранные гены местами.
При использовании простой кодировки возрастают вычисления, производимые фитнес-функцией. Временные затраты связаны с поиском и обработкой матриц, описывающих
каноническую форму графа ИЗЗ и структуру ВС, а также данных, содержащих информацию о весах процедур и объёмах пересылаемых данных, производительности узлов и пропускной способности коммуникаций. Метод, предложенный в следующей главе, направлен на ускорение вычислений производимых фитнесс-функцией.
3. Разработка эволюционных методов оптимизации структуры программного обеспечения для распределенных систем обработки данных
В данной главе представлен метод, оптимизирующий работу фитнес-функции.
Математическая формулировка классической фитнес-функции подробно описана в работе [14].
В общем виде фитнес-функция вычисляет время каждой процедуры при ограничениях на порядок выполнения процедур (процедуры-приёмники не могут запускаться до выполнения соответствующих им процедур-передатчиков) и освобождение узлов и коммуникаций, т.к. если узел или линия связи заняты процедура не может начать выполнение или передачу данных.
Определим множество расписаний в популяции размером п, как 8={бь 1е1}, ^{гО, п}, а каждое 1-е расписание как = {ху: ]е ) }Д={]:0, т},где т-количество задач в комплексе ИЗЗ, а X] - ген-слот кодирующий задачу с идентификатором ].
Обозначим фитнес-функцию как F(si), данная функция вычисляет время выполнения расписания si , а Дху ) процедура функции F(si) обрабатывающая слот Ху.
Пусть Т1 время выполнения расписания si , ^ - время выполнения процедуры с идентификатором j расписания si , а Ттт лучшая оценка для уже обработанных расписаний, тогда ¿у = Дху ).
Тогда функцию Б^) можно записать как , tj+l ... £т-1, tm
а время выполнения расписания
Т1= ) А^)... Цд^) Дх^)).
Блок-схема на рисунке 2 представляет алгоритм выполнения модифицированной фитнес-функции.
Назначение неточной оценки расписанию 81
+
1 г
г =1
+ 1 г
г
конец
Рисунок 2. Алгоритм выполнения модифицированной фитнес-функции
На начальном этапе фитнес-функция обрабатывает первую особь (расписание-хромосому), полученная оценка считается лучшей на данный момент и сохраняется в переменной Ттт.
При вычислении оценки каждого последующего расписания время выполнения каждой процедуры^- сравнивается с оценкой лучшей особи и если задача не является последней в
расписании, а время выполнения больше или равно оценке лучшей особи, то расписание определяется как менее эффективное, чем лучшее, и данному расписанию назначается приблизительная оценка. В случае вычисления фитнес-функцией времени выполнения всего расписания, полученное время сравнивается с временем лучшей особи, и в зависимости от результата сохраняется в переменной Tmin.
Несмотря на дополнительные операции сравнения, происходит уменьшение времени работы фитнес-функции за счёт сокращения вычислений времени выполнения задач. Алгоритм предполагается разделять на потоки, с помещением переменной Tmin в общую память.
Величина назначаемой неточной оценки вопрос требующий отдельного рассмотрения. Т.к. назначение нулевых оценок не позволяет попадать менее эффективным расписаниям в следующие популяции, что может приводить к преждевременной сходимости.
Исследуемый метод предназначен для обработки сравнительно коротких расписаний, в связи с чем неэффективным расписаниям назначается минимальная ненулевая оценка, что увеличивает вероятность отбора данных расписаний и сохраняет стохастичность ГА. Для работы с расписаниями большой длины при назначении неточных оценок предполагается вводить дополнительные операции с использованием процентной шкалы и смещением точки старта алгоритма, этот метод будет исследован в других экспериментах.
4. Разработка экспериментального стенда для исследования методов оптимизации
1. Инструментальные средства разработки
Для исследования эффективности модифицированного алгоритма по сравнению с классическим был разработан стенд, который состоит из персонального компьютера (ПК) под управлением 32-разрядной Windows7 и программы «Анализатор генетических алгоритмов». Характеристики ПК представлены в таблице 1.
Таблица 1
Процессор ОЗУ
AMD Athlon(tm)NeoProcessor MV-40 1,60 GHz 2,00 Гб
Программа реализована на языке С++/СЫ, являющемся расширением языка С++, в среде У!8иа181;иёю 2008 выбор языка и среды обусловлен возможностью в пределах одного программного кода разделить данные на управляемые и неуправляемые, и сделать свою программу более эффективной, поскольку неуправляемые системой данные быстрее обрабатываются и их существование определяется только программистом, а не сборщиком мусора [10].
2. Функции и возможности стенда
Стенд позволяет задавать различные конфигурации вычислительной сети (ВС) и комплекса информационно-зависимых задач (ИЗЗ), и на основе этих данных получать времена выполнения классической и модифицированной фитнес-функций, оценки лучших особей на каждой итерации, а также отображает на графиках общее время работы фитнес-функций, и изменение значения лучшего расписания в процессе поиска. Выходные данные операторов ГА и всех созданных популяций каждого алгоритма, сохраняются в файлеОеп_А1.1х1;, что даёт возможность проанализировать результаты работы каждого оператора.
3. Примеры интерфейса
Главное окно программы представлено на рисунке 3. Ьчуц, ШДИД^^^^^^^^И
Файл Конфигурация
Рисунок 3. Главное окно программы «Анализатор генетических алгоритмов»
Исходные данные конфигурации ВС, графа комплексаИЗЗ и начальной популяции расписаний записываются в файл ConfigGA.ini. Ниже представлен список секций и параметров файла.
[NumTasks] - числозадач
[NumNodes]- число узлов
{CharacteristicsTasks} - секция «характеристикизадач» содержит секции {Task...}
{Task...} - секция с параметрами для задачи с номером ...
[InteractionTasks] - зависимостизадач
[WeightTask] - вес задачи
[VolDate] - объем передаваемых данных
[ProductivityNodes] - производительность узлов
{WeightCommunications} - секцияспараметрами линий связей узлов
[Node.] - связи узла с идентификатором ...
[SizePopulation] - размерпопуляции
[PointCrossingover] - точкаскрещивания
[NumPointMutation] - числоточекмутации
[ChromosomeSchedule] - начальная популяция расписаний
Для исключения ошибок, возникающих при вводе данных и удобства ввода в программе, предусмотрен специальный интерфейс, который вызывается из меню «Конфигурация»->«1№-файл» рисунок 4. При этом открывается окно «Инициализация», в котором производится ввод параметров.
Рисунок 4. Окно ввода параметров
После ввода параметров активируется кнопка «Запуск ГА» рисунок 3, при нажатии на которую, программа производит поиск оптимального расписания, используя два алгоритма с классической фитнес-функцией и модифицированной. Соответствующие окна показывают времена выполнения фитнес-функций и лучшие расписания на каждой итерации, а также графики общего времени выполнения каждой фитнес-функциии график, отображающий изменения значения лучшего расписания в процессе поиска.
5. Планирование эксперимента по оценке эффективности разработанных методов и его результаты
5.1. Цель эксперимента
Цель эксперимента заключается в получение результатов, подтверждающих ускорение вычислений модифицированной фитнес-функции по сравнению с классической при различном числе итераций.
Результат эксперимента считается положительным при неснижающихся результатах поиска эффективных расписаний.
Предполагается, что время работы фитнес-функции в процессе поиска оптимальной структуры будет экспоненциально сокращаться.
5.2. Факторы
В качестве исходных данных при проведении эксперимента были введены параметры полносвязной гетерогенной сети и комплекса ИЗЗ со следующими конфигурациями.
Сеть состоит из трёх узлов (рисунок 4), которые имеют разные оценки производительности, и межузловых связей, обладающих различной пропускной способностью.
Выбранный комплекс ИЗЗ состоит из шестнадцати процедур. Каноническая форма ИЗЗ представлена на рисунке 6 в виде ориентированного ациклического графа [15], в конфигурационный файл программы граф вводится в виде матрицы достижимости. Ниже представлены все исходные параметры сети и комплекса ИЗЗ.
Рисунок 5. Структурная схема ВС
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Рисунок 6. Граф комплекса ИЗЗ и его матрица достижимости
Параметры ВС и комплекса ИЗЗ представлены в таблицах 2, 3, 4, 5. Таблица 6 содержит популяцию расписаний из 20 особей.
Таблица 2
Оценки производительности узлов
Оценки производительности узлов
узел №1 6
узел №2 12
узел №3 9
Таблица 3
Матрица весов межузловых коммуникаций
Матрица весов межузловых коммуникаций
№ узла 1 2 3
1 0 4 10
2 4 0 8
3 10 8 0
Таблица 4
Веса процедур комплекса ИЗЗ
№ процедуры 1 2 3 4 5 6 7 8 9 10 11
Вес процедуры 4 3 1 7 8 10 16 14 7 5 10
№ процедуры 12 13 14 15 16 17 18 19 20 21
Вес процедуры 3 9 5 5 9 7 4 4 10 2
Таблица 5
Веса передаваемых данных
Связи 1- 1- 2- 2- 2- 3- 4- 4- 5- 5- 6- 6-
процедур >4 >6 >4 >5 >6 >6 >7 >8 >8 >9 >9 >10
Вес передачи 5 5 7 7 7 8 3 3 4 4 12 12
Связи процедур 7->11 8->12 9->13 10->14 11->15 11->17 12->16 13->16 13->17
Вес передачи 2 17 5 8 3 3 1 4 4
Связи процедур 14->15 15->19 16->19 17->20 18->20 18->21 19->21 20->21
Вес передачи 8 12 7 8 10 10 15 11
Таблица 6
Начальная популяция расписаний
№ особи Слоты расписания
1 2 1 3 3 3 2 2 3 2 2 2 1 3 3 1 2 3 3 1 2 2
2 3 3 1 2 3 3 2 1 2 3 1 1 3 1 2 3 3 1 2 3 1
3 2 2 1 1 2 2 1 3 2 2 2 1 3 3 1 2 1 3 3 3 3
4 1 2 3 2 2 2 3 1 2 2 1 3 2 2 2 3 2 1 2 3 1
5 3 3 2 1 2 3 1 1 3 1 2 3 2 3 2 2 3 3 1 2 1
6 3 3 3 3 3 3 3 1 1 3 2 3 2 1 2 2 3 1 2 1 2
7 1 1 3 2 3 2 1 2 2 1 3 2 2 2 1 3 3 1 3 1 2
8 2 2 1 3 1 1 2 1 2 3 2 3 2 2 3 3 2 1 2 1 3
9 3 3 3 3 3 3 3 1 2 1 2 3 1 3 3 3 2 2 3 3 3
10 1 1 2 1 2 3 1 3 3 3 3 3 3 3 1 2 3 2 3 2 2
11 2 3 2 3 2 3 2 2 3 2 1 2 2 1 3 2 2 3 2 3 2
12 3 3 3 3 3 3 3 3 2 1 2 2 1 3 2 1 2 1 3 2 3
13 1 3 1 2 1 2 1 3 3 3 3 3 3 2 1 2 3 1 2 1 2
14 1 2 3 2 3 2 2 3 2 2 3 2 1 2 2 1 3 1 2 1 2
15 3 2 2 3 3 3 2 3 3 3 3 3 3 2 1 2 1 2 2 3 2
16 1 1 2 3 2 1 1 3 3 3 3 3 1 1 3 2 2 3 2 3 1
17 2 3 1 2 1 2 2 3 2 3 2 2 3 2 2 3 3 1 2 1 2
18 1 2 3 3 1 2 3 2 3 3 3 3 3 3 2 1 1 1 3 2 3
№ особи Слоты расписания
19 1 1 2 3 1 3 1 2 1 2 1 3 3 3 3 3 2 2 1 3 2
20 1 2 3 2 3 2 3 1 2 1 2 1 2 1 3 2 1 2 3 2 3
21 3 3 2 3 2 3 3 2 3 2 1 1 3 1 2 1 2 1 2 1 3
22 2 1 2 2 1 3 2 2 2 1 3 3 1 3 2 2 2 1 3 3 1
23 3 3 3 2 1 2 2 1 3 2 3 2 2 3 2 1 2 3 2 1 2
24 3 2 3 2 1 2 2 1 3 2 3 1 2 3 2 3 3 1 2 3 2
25 3 2 3 3 3 3 3 3 2 3 2 2 3 2 2 3 2 3 2 2 2
26 3 1 1 3 2 3 2 1 2 2 3 2 2 2 1 3 3 1 3 3 3
27 1 2 3 1 1 3 1 2 3 3 1 2 2 2 1 3 2 1 3 2 2
28 3 2 2 3 2 2 3 2 1 2 3 1 1 3 1 2 3 1 3 2 2
29 1 2 2 1 3 2 2 2 1 3 3 1 2 3 3 3 3 1 2 3 2
30 3 2 2 2 1 3 3 1 2 1 3 3 1 1 3 1 2 3 3 1 1
5.3. Результаты эксперимента представленные в таблицах, на графиках
Таблица 7
Результаты эксперимента
Кол-во итераций Среднее время работы фитнес-функции классического ГА, мс Среднее время работы фитнес-функции модифицированного ГА, мс Средняя оценка лучшей особи ГА с классической фитнес-функцией, * Средняя оценка лучшей особи ГА с модифицированной фитнес-функцией,*
10 1,5 1 ,2 639 584
100 14,3 10,5 576 556
1000 182,8 87,1 572 541
5000 1000 490 540 540
*оценки измеряются в условных квантах времени
1000
400
200
О-1-----к
1 3 5 7 9
Модифицированный ГА -Класси1'!»«™ ГА
Рисунок 7. График сходимости алгоритмов при 10 итерациях
1000-
800-
600-
400
200-
о-
L \ V"—
■
21
41 61 81 -Модифицированный ГА -Классический ГА
Рисунок 8. График сходимости алгоритмов при 100 итерациях 1000-
800' 600400' 200 ■ о
■
201
401 601 »01 -Модифицированный ГД -Классический ГА
Рисунок 9. График сходимости алгоритмов при 1000 итерациях
Вывод
Проведенный эксперимент доказывает, что при назначении расписаниям неточных оценок, время работы алгоритма значительно сокращается, что не влияет на результаты поиска эффективных расписаний.
Из таблицы 7 видно, что модифицированная фитнес-функция выполняет вычисления значительно быстрее чем классическая, а при небольшом числе итераций ГА, применяющий описанный метод с назначением неточных оценок неэффективным расписаниям, находит решение, наиболее близкое к оптимальному.
Недостаток разработанного метода заключается в большей склонности ГА, использующего модифицированную фитнес-функцию к ранней конвергенции, что следует из графиков отображающих сходимости алгоритмов. Данный недостаток может устраняться попеременным включением алгоритмов. Также значительный прирост в скорости даёт возможность усиливать мутацию и кроссинговер.
ЛИТЕРАТУРА
1. Аверченков В.И., Казаков П.В. Эволюционное моделирование и его применение / 2-е изд., [Текст] - М.: Флинта, 2011.
2. Бабин Д.В., Вороной С.М., «Генетический алгоритм построения расписаний для многопроцессорных вычислительных систем», [Текст]: Донецкий государственный институт искусственного интеллекта, Украина «Искусственный интеллект», 2005.
3. Букатов А.А., В.Н. Дацюк, А.И. Жегуло Программирование многопроцессорных вычислительных систем/-Ростов на Дону [Текст]: ООО "ЦВВР", 2003.
4. Волков Д. Явление больших идей/Открытые системы [Текст] №8, 2013 www.osmag.ru.
5. Горбунов В., Елизаров Г., Эйсымонт Л. Экзафлопсные суперкомпьютеры достижения и перспективы/Открытые системы [Текст] №7, 2013, www.osmag.ru.
6. Ефимов А.В., С.Н. Мамойленко, Е.Н. Перышкова Организация функционирования распределённых вычислительных систем при обработке наборов масштабируемых задач» [Текст] /Вестник томского государственного университета, Управление, вычислительная техника и информатика №2 (15), 2011.
7. Jaspal Singh, Harsharanpal Singh, Efficient Tasks scheduling for heterogeneous multiprocessor using Genetic algorithm with Node duplication" [Текст], Indian Journal of Computer Science and Engineering Vol. 2 No. 3 Jun-Jul 2011.
8. Каляев А.И. Об одном методе мультиагентной организации облачных вычислений на базе сети компьютеров частных пользователей [Текст], -Таганрог: НИИ Многопроцессорных Вычислительных Систем Южного Федерального Университета, 2012.
9. Kazunori Kojima, Masaaki Ishigame, Goutam Chakraborty, Hiroshi Hatsuo, and Shozo Makino "Asynchronous Parallel Distributed Genetic Algorithm with Elite Migration" [Текст] International Journal of Information and Mathematical Sciences 4:2 2008.
10. Медведев В.И. Особенности объектно-ориентированного программирования на C++/CLI, C# и Java [Текст] / 2-е изд., - Казань: РИЦ «Школа», 2010.
11. Портал искусственного интеллекта, Методы селекции в генетических алгоритмах [Электронный ресурс], / http://www.aiportal.ru/articles/genetic-algorithms/methodsselection.html.
12. Радченко Г.И. Распределенные вычислительные системы [Текст], Челябинск: Фотохудожник, 2012.
13. Руденко Ю.М. Распределение программных модулей по узлам вычислительной сети с общим полем памяти для граф-схем параллельных алгоритмов [Текст] / Наука и образование №10, 2011.
14. Сальников А.Н. Система разработки и поддержки исполнения параллельных программ [Текст] / Диссертация на соискание учёной степени кандидата физико-математических наук, - М, 2006.
15. Сизов В.А. Проектирование программного и информационного обеспечения комплекса связанных задач в сети ЭВМ [Текст] / Автоматизированные системы управления, 1995.
16. Уральский Н.Б., Сизов В.А. Разработка оптимизационных моделей и алгоритмов определения расписаний выполнения программных модулей в вычислительной сети на основе эволюционного подхода [Текст] / Материалы III международной научно-практической конференции «Проблемы устойчивости и безопасности систем жизнеобеспечения в сфере жилищно-коммунального хозяйства», 2012.
17. Хохлова М.Н. Теория эволюционного моделирования [Текст] / "Цефей", 2013.
18. Цой Ю.Р., Спицын В.Г. Эволюционный подход к настройке и обучению искусственных нейронных сетей [Текст] / Нейроинформатика, том 1, №1, 2006.
19. Чипига А.Ф., Воронкин Р.А. Проблема сходимости мажоритарного генетического алгоритма [Текст] / Искусственный интеллект, 2005.
20. Шаповалов Т.С. Планирование выполнения заданий в распределённых вычислительных системах с применением генетических алгоритмов [Текст] / Российская академия наук дальневосточное отделение вычислительный центр, -Хабаровск, 2010.
21. Шаповалов Т.С., Пересветов В.В. Генетический алгоритм составления расписаний для распределённых гетерогенных вычислительных систем [Текст] / Вычислительные методы и программирование, - Таганрог, 2009.
Рецензент: Статья рецензирована членами редколлегии журнала.
Uralskii Nikolai Borisovich
Russian state social university Russia, Moscow E-mail: [email protected]
Sizov Valerii Aleksandrovich
Russian state social university Russia, Moscow E-mail: [email protected]
Kapustin Nikolay Klementievich
Moscow aviation institute Russia, Moscow E-mail: [email protected]
Optimization of the computational process the fitness function of genetic algorithm in distributed data processing systems
Abstract. Development of distributed computing systems requires the development of efficient computational procedures, while taking into account the structure of the software and information systems, as well as the structure of logistics systems. The work is aimed at improving the efficiency of modular distributed data processing systems through the development and use of evolutionary models, methods and algorithms for the design of application software. The models developed design software application at the same time take into account the characteristics of the software, information and logistics systems. In this work we propose a method that improves the efficiency of the genetic algorithm by increasing the speed of execution of the calculation of the fitness function. Developed a genetic algorithm with a modified fitness function, significantly faster than the classical algorithm, and with a smaller number of iterations finds the schedule of the computational process is closest to optimal. The experiment proves that the appointment schedules imprecise runtime A modified genetic algorithm is significantly reduced when the effective scheduling of the computational process. Thus, the developed evolutionary models, methods and algorithms for the design of application software can improve the efficiency of distributed data processing systems.
Keywords. modular distributed data processing system, genetic algorithms, fitness function, optimization of the computational process, the soft ware structure.
REFERENCES
1. Averchenkov V.I., Kazakov P.V. Evolyutsionnoe modelirovanie i ego primenenie / 2e izd., [Tekst] - M.: Flinta, 2011.
2. Babin D.V., Voronoy S.M., «Geneticheskiy algoritm postroeniya raspisaniy dlya mnogoprotsessornykh vychislitel'nykh sistem», [Tekst]: Donetskiy gosudarstvennyy institut iskusstvennogo intellekta, Ukraina «Iskusstvennyy intellekt», 2005.
3. Bukatov A.A., V.N. Datsyuk, A.I. Zhegulo Programmirovanie mnogoprotsessornykh vychislitel'nykh sistem/-Rostov na Donu [Tekst]: OOO "TsVVR", 2003.
4. Volkov D. Yavlenie bol'shikh idey/Otkrytye sistemy [Tekst] №8, 2013 www.osmag.ru.
5. Gorbunov V., Elizarov G., Eysymont L. Ekzaflopsnye superkomp'yutery dostizheniya i perspektivy/Otkrytye sistemy [Tekst] №7, 2013, www.osmag.ru.
6. Efimov A.V., S.N. Mamoylenko, E.N. Peryshkova Organizatsiya funktsionirovaniya raspredelennykh vychislitel'nykh sistem pri obrabotke naborov masshtabiruemykh zadach» [Tekst] /Vestnik tomskogo gosudarstvennogo universiteta, Upravlenie, vychislitel'naya tekhnika i informatika №2 (15), 2011.
7. Jaspal Singh, Harsharanpal Singh, Efficient Tasks scheduling for heterogeneous multiprocessor using Genetic algorithm with Node duplication" [Tekst], Indian Journal of Computer Science and Engineering Vol. 2 No. 3 Jun-Jul 2011.
8. Kalyaev A.I. Ob odnom metode mul'tiagentnoy organizatsii oblachnykh vychisleniy na baze seti komp'yuterov chastnykh pol'zovateley [Tekst], - Taganrog: NII Mnogoprotsessornykh Vychislitel'nykh Sistem Yuzhnogo Federal'nogo Universiteta, 2012.
9. Kazunori Kojima, Masaaki Ishigame, Goutam Chakraborty, Hiroshi Hatsuo, and Shozo Makino "Asynchronous Parallel Distributed Genetic Algorithm with Elite Migration" [Tekst] International Journal of Information and Mathematical Sciences 4:2 2008.
10. Medvedev V.I. Osobennosti ob"ektno-orientirovannogo programmirovaniya na C++/CLI, C# i Java [Tekst] / 2-e izd., - Kazan': RITs «Shkola», 2010.
11. Portal iskusstvennogo intellekta, Metody selektsii v geneticheskikh algoritmakh [Elektronnyy resurs], / http://www.aiportal.ru/articles/genetic-algorithms/methodsselection.html.
12. Radchenko G.I. Raspredelennye vychislitel'nye sistemy [Tekst], Chelyabinsk: Fotokhudozhnik, 2012.
13. Rudenko Yu.M. Raspredelenie programmnykh moduley po uzlam vychislitel'noy seti s obshchim polem pamyati dlya graf-skhem parallel'nykh algoritmov [Tekst] / Nauka i obrazovanie №10, 2011.
14. Sal'nikov A.N. Sistema razrabotki i podderzhki ispolneniya parallel'nykh programm [Tekst] / Dissertatsiya na soiskanie uchenoy stepeni kandidata fiziko-matematicheskikh nauk, - M, 2006.
15. Sizov V.A. Proektirovanie programmnogo i informatsionnogo obespecheniya kompleksa svyazannykh zadach v seti EVM [Tekst] / Avtomatizirovannye sistemy upravleniya, 1995.
16. Ural'skiy N.B., Sizov V.A. Razrabotka optimizatsionnykh modeley i algoritmov opredeleniya raspisaniy vypolneniya programmnykh moduley v vychislitel'noy seti na osnove evolyutsionnogo podkhoda [Tekst] / Materialy III mezhdunarodnoy nauchno-prakticheskoy konferentsii «Problemy ustoychivosti i bezopasnosti sistem zhizneobespecheniya v sfere zhilishchno-kommunal'nogo khozyaystva», 2012.
17. Khokhlova M.N. Teoriya evolyutsionnogo modelirovaniya [Tekst] / "Tsefey", 2013.
18. Tsoy Yu.R., Spitsyn V.G. Evolyutsionnyy podkhod k nastroyke i obucheniyu iskusstvennykh neyronnykh setey [Tekst] / Neyroinformatika, tom 1, №1, 2006.
19. Chipiga A.F., Voronkin R.A. Problema skhodimosti mazhoritarnogo geneticheskogo algoritma [Tekst] / Iskusstvennyy intellekt, 2005.
20. Shapovalov T.S. Planirovanie vypolneniya zadaniy v raspredelennykh vychislitel'nykh sistemakh s primeneniem geneticheskikh algoritmov [Tekst] / Rossiyskaya akademiya nauk dal'nevostochnoe otdelenie vychislitel'nyy tsentr, - Khabarovsk, 2010.
21. Shapovalov T.S., Peresvetov V.V. Geneticheskiy algoritm sostavleniya raspisaniy dlya raspredelennykh geterogennykh vychislitel'nykh sistem [Tekst] / Vychislitel'nye metody i programmirovanie, - Taganrog, 2009.