Составление расписания для распределенных вычислительных сетей в условиях неточных данных

Распределенные вычислительные сети как популярное направление развития информационных технологий. Разработка и анализ применения альтернативных подходов для решения NP-полной задачи распределения работ по исполнителям на основе генетических алгоритмов.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 06.05.2018
Размер файла 235,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Составление расписания для распределенных вычислительных сетей в условиях неточных данных

Распределённые вычислительные сети (РВС) являются одним из популярных направлений развития информационных технологий. Замечено, что чем слабее связь между компонентами системы, тем проще аккумулировать вычислительные ресурсы, но сложнее поддерживать высокий уровень эффективности их использования. Основными способами оптимизации работы РВС является сокращение издержек передачи данных и оптимальное распределение нагрузки. Слияние работ в более крупную независимую единицу является одним из способов решения обоих проблем, при этом становится возможным сведения процесса распределение нагрузки к одной из задач теории расписания.

В широком смысле на время работы независимой единицы могут влиять обрабатываемые ей данные. Если принять, что это влияние сложно оценить, то из-за неопределённости в исходных данных становится невозможным прямое использование классических методов составления расписаний.

С популяризацией мягких вычислений одним из направлений современных исследований является разработка методов составления расписаний в условиях неопределённости. Планирование в рамках случайных величин подробно рассмотрено в [1]. В[2] показано применение комбинации нейронных сетей с генетическими алгоритмами для решении различных задач со случайными, нечёткими и неточными данными в условии.

Представив процесс распределения нагрузки для минимизации времени обработки независимых единиц в РВС как задачу распределения работ по исполнителям, работающих параллельно, и допустив, что

· производительность исполнителей различна,

· каждая работа неделима и независима,

· процесс выполнения работы непрерывен,

· в некоторый момент времени исполнитель может выполнять только одну работу,

· работа не требует предварительных операций,

· идентичные работы группируются по типам работ можно наглядно продемонстрировать специфику решения задач с неопределенностью.

2. Постановка задачи

Пусть дано m исполнителей, обладающих разной производительностью, и работ, сгруппированных в p типов. Каждый исполнитель k?{1,…, m} может выполнить любую работу, но для выполнения работы i-го типа исполнители могут затрачивать разное время. Этот факт учитывается технологической матрицей

В классическом случае, где tik?R, задачу можно свести к задаче дискретного программирования следующего вида

сеть информационный алгоритм

3. Общая схема генетических алгоритмов

Задача (2) относится к задачам дискретной оптимизации и является NP-полной [1], из чего следует, что универсального алгоритма, отличного от полного перебора, не существует. Общий подход к решению данной задачи может быть основан на нахождении субоптимального решения, что позволит экономить вычислительные ресурсы. Для этого целесообразно использовать генетические алгоритмы (ГА) - метод эвристического поиска решения задач оптимизации, основанный на имитации различных механизмов естественного отбора. Идея алгоритма заключается в манипулировании имеющейся совокупностью закодированных решений (хромосом) с помощью ряда генетических операторов и получении новых хромосом, являющихся новыми вариантами решения [3]. В отличие от случайного поиска, ГА использует информацию, накопленную в процессе эволюции (поиска) от предыдущих поколений. ГА не накладывают ограничений на вид целевой функции и область определения задачи, однако параметры работы часто подбираются эмпирически [4].

Реализация ГА обычно начинается с поиска способа кодирования хромосомы - однозначного представления варианта решения оптимизационной задачи. Каждая хромосома состоит из набора генов.

Общая схема генетического алгоритма включает следующие этапы [5]:

· Инициализация алгоритма. Этап включает кодирование генов и хромосом, определение функции приспособленности, определение условия завершения, выбор начальной популяции.

· Оценка степени приспособленности хромосом в популяции. Осуществляется на основе функции приспособленности, которая строится с учётом целевой функции задачи.

· Проверка условия завершения поиска. В случае выполнения условия, выбор оптимальной хромосомы в качестве решения, иначе- переход к следующему шагу.

· Селекция хромосом. Селекция считается эффективной, если она создаёт возможность перехода из одной подобласти поиска решений в другую. Выделяют два основных типа селекции: случайный выбор и выбор на основе значений целевой функции (например, элитная селекция или селекция на основе заданной шкалы).

· Выполнение генетических операторов. Основными операторами являются: кроссинговер и мутация.

· Создание и оценка новой популяции. Возврат к шагу2.

Оператор кроссинговера (скрещивания)- конструкция ГА, отвечающая за создание потомков из хромосом родителей. Существует большое количество разновидностей оператора скрещивания[6-7].

Простейший одноточечный оператор кроссинговера, подразумевает наличие разрезающей обе родительские структуры на два сегмента точки, для последующего склеивания соответствующих сегментов различных родителей и формирования двух новых хромосом потомков. Точка разрыва обычно выбирается случайно. Например:

Рис. 1. Пример работы одноточечного кроссинговера

При увеличении точек разрыва увеличивается количество способов обмена участками хромосом между особями, но если точек становится слишком много, нарушается производство приспособленного потомства [6].

Если гены хромосомы содержат бинарную информацию, то допускается использование универсального оператора кроссинговера. Вместо использования разрезающей точки (точек), используется бинарная маска, которая либо задаётся заранее, либо генерируется случайным образом. Её длина равна длине хромосомы. Потомки выводятся путём сложения по модулю 2 родителей с маской [6]. На рис. 2 представлен пример универсального кроссинговера.

Рис. 2. Пример работы универсального кроссинговера.

Оператор мутации - конструкция ГА, отвечающая за создание потомка из хромосомы родителя или её части. Существует масса операторов мутации. Например, при одноточечной мутации случайно выбирается ген в родительской хромосоме, который меняется местами с соседним геном, получая хромосому потомка. Популярным способом мутации является полное замещение родительской хромосомы случайно сгенерированной хромосомой потомка.

ГА может включать дополнительные операторы. Наиболее распространенные - оператор редукции, нацеленный на сокращение популяции вместе с исключением неудачных решений, и оператор рекомбинации, определяющий процессы, связанные со сменой поколений (итерации работы ГА) и другие[6].

4. Решение дискретной задачи планирования

Пусть для Rm||Cmax за каждой задачей закреплён свой ген, значение которого отвечает за номер исполнителя. Сформировав и объединив цепи из работ одного типа, получим представление расписания в виде хромосомы

Отбор (селекцию) будет производиться следующим образом: популяция выстраивается в линейный список и каждая особь на нечётной позиции скрещивается с соседом, стоящим впереди. Такой отбор позволяет реализовать частично параллельную версию ГА, например, с применением технологии OpenMP, при этом гарантируя участие всех особей без дополнительных механизмов контроля за использованием хромосомы в вычислениях (синхронизации). Включение в параллельную секцию оценки особей, селекции, операторов кроссинговера и мутации позволяет существенно ускорить поиск субоптимального решения.

В качестве оператора скрещивания используется модифицированный одноточечный кроссинговер. Первая модификация включает в себя запрет на скрещивание между родственниками. Под родственниками будем понимать особей, представляющие одинаковое решение с помощью различных хромосом. Пусть, например, имеются следующие особи:

В данном случае видно, что две хромосомы представляют одинаковое решение. Так, например, в обоих случаях для работы типа 1 c11=8, c12=2, c13=1, c14=0. Аналогичная ситуация с работой типа 2: c21=4, c22=5, c23=2, c24=1. Очевидно, что значение целевой функции тоже будет одинаковым. Для уничтожения дубликата решения (родственника) перед скрещиванием одна из родительских особей замещается новой, со случайно сгенерированной хромосомой, после чего выполняется одноточечный кроссинговер.

Вторая модификация заключается в локальном применении селекции. Вычислим значения целевых оптимизационных функций потомков и родителей. Из четвёрки особей места родителей займут те, у кого значения целевой функции меньше, чем у остальных.

Поскольку для селекции популяция выстроена в линейный список, то для того чтобы особь имела возможность скрещиваться с другими членами популяции, необходим дополнительный оператор перемешивания популяции, при этом некоторые особи подвергаются случайной мутации.

Время работы генетического алгоритма будет ограничено числом итераций.

5. Задача составления расписания в условиях неточных данных

Предположим, что исходная информация для задачи Rm||Cmax является приближенной и выражается в виде интервальных чисел, которые относятся к классу неточных величин. Они являются самым общим способом представления неопределённой информации о времени выполнения работ.

Согласно[8] под интервальным числом[a] будем понимать вещественный отрезок , где . Распространёнными характеристиками интервального числа являются ширина числа и его медиана . При получим обычное число [8].

Пусть исходные данные представлены в виде интервальной технологической матрицы - матрицы, компоненты которой представляют собой интервальные значения времени выполнения работ. Для решения задачи планирования на основе ГА, предлагаются следующие подходы, позволяющие получить субоптимальный план.

Сведение задачи к её дискретному варианту подразумевает, что в широком смысле можно получить с помощью вычисления б ?[0,1] значений элементов по формуле[2]

При различных получим следующие варианты планирования:

· б>1, пессимистичное планирование (оптимизация по максимальному времени выполнения работ);

· б>0, оптимистичное планирование;

· б>0,5, в результате чего , планирование по центральным величинам;

· б~бik, в результате чего формируется отдельная матрица , по которой каждому элементу [tik] ставится в соответствие свой коэффициент бik для преобразования .

Матрица может быть сформирована лицом, принимающим решения (экспертом), а следовательно можно говорить об использовании экспертной информации. Однако знаний эксперта может не хватить для тонкой и точной подстройки коэффициентов, из-за чего решения будут неоптимальными. Автоматизировать настройку матрицы A можно с помощью механизма обратной связи, но здесь возникают следующие проблемы:

· проблема обучения- очевидно, что сразу оптимальные коэффициенты бik получить не удастся, следовательно их подбор превращается в отдельный итерационный процесс, причём с учётом изменений условия задачи Rm||Cmax; кроме того, требуется активное выполнение пробных действий, явным образом организованный поиск методом проб и ошибок;

· проблема оценки - сложно определить, насколько текущее значение бik лучше или хуже другого; проблема усугубляется тем, что .

Независимо от выбора б неопределённость об времени выполнения работы «ликвидируется» ещё до входа в ГА, в результате чего он оперирует уже вещественными числами.

Другой способ основывается на том, что решением задачи(2), в конечном итоге, является хромосома-победитель, выявленная из всей популяции с помощью функции приспособленности. Однако ранжировать хромосомы при наличии неопределённости в ней можно различными способами. Пусть ГА оперирует непосредственно интервальными числами. В силу простоты функции приспособленности достаточно опираться на интервальную арифметику [8].

Пусть функция приспособленности для хромосомы-решения C, содержащая неопределённость имеет вид (учитывая cik?0)

Для реализации оператора используется распространённый способ сравнения интервальных чисел

зачастую при б=0.5 [8-9]. Однако конкретно для задачи(2) допустимм вариант

Согласно(8) при сравнении планов вводится приоритет: сначала анализируется наихудший возможный случай выполнения работ по плану, затем, если последствия одинаковы, просматривается наилучший случай.

6. Вычислительный эксперимент

Для реализации вычислительного эксперимента разработана компьютерная программа на языке C с применением технологии параллельного программирования OpenMP. Целью вычислительного эксперимента заключается в анализе влияния способа сравнения хромосом на конечное расписание. Сравним стандартный способ (7) при б=0.5 и способ на основе приоритета (8).

Пусть имеется m=3 исполнителя и n=500 работ, сгруппированных в p=4 типов: n1=180, n2=80, n3=140, n4=100. Зададим технологическую матрицу:

Случайным образом сгенерировав начальную популяцию из10000 особей, ГА выполнил 35000 итераций. При переходе от одной итерации к другой случайным образом мутировали 32 особи. В результате были получены следующие субоптимальные решения:

В ходе экспериментов замечено, что с каждой итерацией увеличивается потребность в уничтожении дубликатов решения для поддержания разнообразия внутри популяции.

Сравним два полученных плана. Отметим, что . Видно, что при распределении работ по плану C2, построенному с применением приоритетного сравнения, снижаются максимально возможные временные затраты, а также формируется расписания с более чёткими границами по времени, что следует из .

Появление неопределённости в условии задач часто требует пересмотра методов их решения. В контексте задачи планирования РВС, наличие неопределённости выступает в качестве допущения, упрощающего сбор и анализ первичных данных. Так для представления неопределённости в затратах времени были использованы интервальные числа, дающие информацию только о временнымх границах. Благодаря ГА и его модификациям рассмотрен способ составления субоптимального плана, снижающего общую занятость РВС.

Этот способ в сочетании с нейронными сетями позволяет получить гибридный алгоритм, сочетающий эффективность и адаптивность к изменяющимся условиям работы РВС.

Литература

сеть информационный алгоритм

1. Pinedo M.L. Scheduling: theory, algorithms, and systems. - Springer Science & Business Media, 2012.

2. Лю Б. Теория и практика неопределенного программирования / Б. Лю; Пер. с англ. - М.: БИНОМ. Лаборатория знаний, 2014. - 416 с.

3. Панченко Т.В. Символьная модель ГА // Генетические алгоритмы: учебно-методическое пособие. - Астрахань: Издательский дом «Астраханский университет». - С. 41-50.

4. Родькина М.Б. Разработка эволюционных алгоритмов для решения задач теории расписаний в условиях неопределённости: Автореф. дис. канд. техн. каук. - Воронеж, 2013. - 16 с.

5. Пегат А. Самоорганизация и самонастройка нечётких моделей методом поиска // Нечёткое моделирование и управление. - 2-е изд. - М.: БИНОМ. Лаборатория знаний, 2013. - С. 530-538.

6. Гладков Л.А., Курейчик В.В., Курейчик В.М. Генетические алгоритмы. - М.: ФИЗМАТЛИТ, 2006. - 320 с.

7. Каширина И.Л. Введение в эволюционное моделирование. - Воронеж, 2007. - 39 с.

8. Добронец Б.С. Интервальные числа // Интервальная математика: учеб. пособие. - Красноярск: Краснояр. гос. ун-т. - С. 31-33.

9. Левин В.И. Сравнение интервальных чисел и оптимизация систем с интервальными параметрами // Автомат. и телемех. - №4. - 2004. - С. 133-142.

Размещено на Allbest.ru

...

Подобные документы

  • Классификация вычислительных сетей. Функции локальных вычислительных сетей: распределение данных, информационных и технических ресурсов, программ, обмен сообщениями по электронной почте. Построение сети, адресация и маршрутизаторы, топология сетей.

    доклад [23,2 K], добавлен 09.11.2009

  • История развития локальных вычислительных сетей. Составление транспортной задачи с помощью вычислительных средств Microsoft Office Excel. Классификация и архитектура ЛВС. Многослойная модель сети. Подбор программного обеспечения с помощью сети интернет.

    курсовая работа [854,9 K], добавлен 05.03.2016

  • Классификация компьютерных сетей. Назначение компьютерной сети. Основные виды вычислительных сетей. Локальная и глобальная вычислительные сети. Способы построения сетей. Одноранговые сети. Проводные и беспроводные каналы. Протоколы передачи данных.

    курсовая работа [36,0 K], добавлен 18.10.2008

  • Определение, свойства и характеристики распределенных систем баз данных. Основная задача систем управления ими. Архитектура распределения СУБД. Сравнение технологий файлового сервера и "клиент-сервера". Стратегия распределения данных по узлам сети ЭВМ.

    курсовая работа [601,3 K], добавлен 24.05.2015

  • Описание компонентов сети конфиденциальной связи. Система распределения ключей на основе линейных преобразований. Описание разработанных программ. Криптостойкость алгоритма распределения ключей. Алгоритм шифрования данных в режиме обратной связи.

    курсовая работа [98,3 K], добавлен 26.09.2012

  • Комплексное исследование истории развития, основных понятий, области применения и особенностей генетических алгоритмов. Анализ преимуществ генетических алгоритмов. Построение генетического алгоритма, позволяющего находить максимум целочисленной функции.

    курсовая работа [27,9 K], добавлен 23.07.2011

  • Анализ средств построения динамически масштабируемых ВС. Разработка алгоритма, обеспечивающего устойчивость функционирования информационно-вычислительных сетей в условиях воздействий компьютерных атак, использующих фрагментированные пакеты сообщений.

    дипломная работа [3,8 M], добавлен 21.12.2012

  • Составление математической модели расписания в школе. Назначение и область применения программного продукта. Обоснование выбора инструментальных средств. Описание разработки, алгоритмов и методов решения, форматов данных и пользовательского интерфейса.

    курсовая работа [1,6 M], добавлен 18.01.2012

  • Принципы и критерии построения распределенных баз данных. Ряд свойств, которым по К. Дейту должна удовлетворять распределенная база данных: независимость узлов, прозрачность расположения, обработка распределенных запросов. Типы распределенных баз данных.

    реферат [131,5 K], добавлен 18.06.2013

  • Классификация вычислительных сетей. Основные причины широкого распространения локальных вычислительных сетей. Топология вычислительной сети. Обоснование дифференциального и интегрального исчисления. Характеристика основных правил дифференцирования.

    контрольная работа [292,0 K], добавлен 21.12.2010

  • Проблемы, связанные с продуктивным распределением и систематизированием больших потоков информации. Основные виды распределенных баз данных, анализ процессов их функционирования. Стратегии распределения данных. Распределение сетевого справочника данных.

    курсовая работа [397,5 K], добавлен 09.08.2015

  • Преимущества распределенных система обработки данных. Классификация интегрированных технологий. Модели реализации технологии "клиент-сервер". Мониторы обработки транзакций. Глобальные вычислительные и информационные сети. Виды доступа к глобальным сетям.

    презентация [2,1 M], добавлен 20.11.2013

  • Семантические сети как модели представления знаний. Основные методы определения сходства графовых моделей систем. Метод решения задач определения сходства семантических сетей на основе их сложности. Разработка алгоритмов и их программная реализация.

    дипломная работа [1,3 M], добавлен 17.12.2011

  • Применение сетевых технологий в управленческой деятельности. Понятие компьютерной сети. Концепция открытых информационных систем. Преимущества объединения компьютерных сетей. Локальные вычислительные сети. Глобальные сети. Международная сеть INTERNET.

    курсовая работа [38,1 K], добавлен 16.04.2012

  • Принцип построения компьютерных сетей: локальные вычислительные сети и глобальные компьютерные сети Internet, FidoNet, FREEnet и другие в деле ускорения передачи информационных сообщений. LAN и WAN сети, права доступа к данным и коммутация компьютеров.

    курсовая работа [316,0 K], добавлен 18.12.2009

  • Особенности проектирования и анализ современных информационных локальных и глобальных вычислительных сетей. Проведение настройки виртуальной локальной вычислительной сети (VLAN), HTTP и DNS серверов, сетевых протоколов OSPF, RIP, STP, технологий NAT.

    курсовая работа [182,1 K], добавлен 16.01.2014

  • Развитие информационных технологий. Разработка персонального компьютера. История возникновения локальной вычислительной сети. Задачи сервера. Классификация компьютерных сетей. Технология передачи информации. Межсетевое взаимодействие. Появление Интернет.

    презентация [669,9 K], добавлен 16.03.2015

  • Описание генетических алгоритмов. Применение генетического алгоритма для решения задачи коммивояжера. Постановка задачи безусловной оптимизации. Изучение распространения генетических алгоритмов на модель с несколькими взаимодействующими популяциями.

    дипломная работа [979,1 K], добавлен 30.05.2015

  • Классификация и области использования в экономике автоматизированных информационных технологий, их современное состояние и перспективы развития. Виды информационных систем управления. Основные задачи организации корпоративных вычислительных сетей.

    реферат [23,6 K], добавлен 10.03.2013

  • Изучение особенностей создания алгоритмов вычислительных задач. Визуальное программирование стандартных компонентов среды программирования Delphi. Технология создания компонента Delphi для решения производственной задачи. Выполнение блок-схемы алгоритма.

    курсовая работа [638,0 K], добавлен 30.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.