Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Оперативное управление распределением нагрузки в неоднородных информационных системах Моисеев Тимур Николаевич

Оперативное управление распределением нагрузки в неоднородных информационных системах
<
Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах Оперативное управление распределением нагрузки в неоднородных информационных системах
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Моисеев Тимур Николаевич. Оперативное управление распределением нагрузки в неоднородных информационных системах : Дис. ... канд. техн. наук : 05.13.11 Воронеж, 2005 145 с. РГБ ОД, 61:05-5/4258

Содержание к диссертации

Введение

L Построение неоднородных информационных систем 9

1.1 Проблемы построения мультиагентных систем.»», 10

1.2. Понятие протокола. Стандартная семиуровневая модель протокола ISO 13

1.3. Сравнительный анализ методов распределения нагрузки в распределенной серверной сети 16

1.2.1 Размещение информации в распределенной серверной сети 26

1.2,2. Алгоритмы без распределения нагрузки 27

1.3. Разработки в области распределителей нагрузки 29

1.3.1. Аппаратное распределение нагрузки 29

1.3.2. Программное распределение нагрузки 32

1.3.3. Кластерное соединение 33

1.4 Постановка задачи 38

2. Разработка метода распределения вычислительных процессов в серверных системах 39

2.1. Построение и анализ аналитической модели для двух канальной системы 40

2.2 Обобщение модели для n-канальной системы 50

2.3 Расчет характеристик n-канальной системы массового обслуживания 56

2.5 Выводы 65

3. Эвристические алгоритмы динамического управления распределением потока заявок

66

3.1 Механизм распределения нагрузки между серверами сети 67

3.2 Механизмы работы демона серверов и информационного сервера 72

3.4 Агенты системы и методы взаимодействия между ними 82

3.5 Выводы 94

4. Анализ эффективности распределения нагрузки с помощью 95

4.1, Моделирование работы функции распределения нагрузки 96

4.2. Аналитическое моделирование работы функции распределения нагрузки 98

4.2.1 Работа системы распределения нагрузки с использованием функции распределения 99

4.2.2 Работа системы распределения нагрузки без использования функции распределения 104

4.3, Построение имитационной модели распределенной серверной сети 109

4.3.1 Исследование работы системы распределения нагрузки в 112

4.3.2. Имитационное моделирование работы системы распределения нагрузки с использованием пользовательской функции распределения нагрузки 120

4.3.3. Имитационное моделирование работы системы распределения нагрузки в

случае отказа одного из каналов обслуживания 124

4.3.4 Внедрение результатов научно-исследовательской работы 132

4.4. Выводы 133

Заключение 134

Литература

Введение к работе

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

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

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

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

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

обычно используется функция DNS, именуемая циклической выборкой

(round-robin), которая предусматривает возможность круговой передачи IP-адреса любого сервера, составляющего сайт, любому клиенту; в итоге нагрузка равномерно распределяется между всеми серверами. Однако этот механизм недостаточно эффективен в тех случаях, где возможности аппаратных и программных компонентов отдельных серверов неравнозначны. С точки зрения процедуры циклической выборки службы DNS между этими системами нет никакой разницы. Кроме того, данная функция нс имеет представления о доступности того или иного сервера.

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

Тематика диссертационной работы соответствует научному направлению Воронежского государственного технического университета "Вычислительные системы и программно-аппаратные электротехнические комплексы".

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

распределенных серверных систем.

Задачи исследования. В соответствии с поставленной целью сформулированы следующие основные задачи исследования:

  1. Выполнить сравнительный анализ алгоритмов распределения нагрузки, способных работать с распределенной серверной системой,

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

3. Разработать алгоритм динамического управления
распределением потока заявок и создать алгоритм
взаимодействия объектов в неоднородной информационной

системе,

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

Методы исследования. В работе использованы методы теории массового обслуживания, имитациошюго моделирования, объектно-ориентированного программирования.

Научная новизна исследования. К основным результатам работы, отличающимся научной новизной, относятся:

аналитическая модель многосерверной системы,

обеспечивающая получение характеристик соответствующей системы массового обслуживания с параллельными каналами различной интенсивности и отличающаяся учетом бесконечной очереди;

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

структура и алгоритмы функционирования мультиагентной
распределенной системы, обеспечивающие

отказоустойчивость управления информационной системой и отличающиеся наличием подсистемы краткосрочного прогнозирования состояния;

структура программного комплекса моделирования процессов распределения нагрузки, учитывающая - применение

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

результатов диссертации заключается в создании алгоритма оперативного управления системой распределения нагрузки, внедренного в практическую деятельность государственного учреждения «Региональное отделение Фонда социального страхования РФ».

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

Апробация работы. Основные результаты работы докладывались и обсуждались на Всероссийской научно-практической конференции «Актуальные проблемы профессионального образования: подходы и перспективы» (Воронеж, 2004); Всероссийской научно-методической конференции «Телематика-2004» (Санкт - Петербург 2004); Международной научно-практической конференции «Актуальные проблемы информатики и информационных технологий» (Тамбов 2004); международной конференции «Наука на рубеже тысячелетий» (Тамбов 2004); научно-практической конференции «Современные сложные системы управления» (Воронеж 2005); всероссийской научно-практической конференции «Актуальные проблемы профессионального образования: подходы и перспективы» (Боронене 2005).

Публикации. Основные результаты диссертации опубликованы в 14 научных работах, в том числе 1 без соавторов, В работах, опубликованных в соавторстве и приведенных в конце автореферата, лично соискателю

принадлежит: в [27,29,30] многосерверные комплексы Internet-ориентированных систем, [1,28] распределения процессов обслуживания в серверных системах, [31,33,34] применение распределенных систем в учебном процессе, [32,33] методы перераспределения нагрузки в много серверных системах, [35,49] моделирование систем распределения нагрузки, [50] особенности реализации системы распределения потока заявок.

Структура и объем работы. Работа состоит из введения, четырех глав, заключения, списка литературы, включающего в себя 101 наименование и трех приложений. Основная часть работы изложена на 144 страницах, содержит 19 таблиц и 28 рисунков.

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

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

Понятие протокола. Стандартная семиуровневая модель протокола ISO

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

Интерфейсы определяются с помощью протоколов. Протоколы - это соглашения о том, как коммуникационные компоненты и непосредственно компьютеры (в широком смысле этого слова) взаимодействуют друг с другом [16,6,7]. Они могут включать существующие нормативные предписания, которые предусматривают использование какого-либо соглашения или метода в качестве обязательного или рекомендуемого. Как правило, требуется несколько уровней интерфейсов и протоколов для поддержки приложения конечного пользователя, В настоящее время в качестве стандартного протокола взаимосвязи открытых систем Международной организацией по стандартизации ISO (International Standart Organization) принята семиуровневая модель.

Рассмотрим построение данного протокола [6,20,36]: 1. Физический уровень. Функции на этом уровне обеспечивают активацию, поддержку и дезактивацию физической цепи между компьютером и сетевым оборудованием (физические разъемы), 2, Уровень звена данных (канальный уровень).

Данный уровень отвечает за передачу данных по каналу. Он обеспечивает синхронизацию данных для разграничения потока битов из физического уровня, обеспечивает вид представления битов, управление потоком данных таким образом, чтобы гарантировать, что принимающий компьютер не будет перегружен слишком большим количеством данных. Одной из его наиболее главных функций является обнаружение ошибок передачи и обеспечение механизма восстановления в случае потери данных, их дублирования или ошибок в данных. 3. Сетевой уровень. Данный уровень определяет интерфейс компьютеров друг с другом, а также с сетью пакетной коммутации. 4. Транспортный уровень. Обеспечивает интерфейс между сетью передачи данных и верхними тремя уровнями. 5. Сеансовый уровень. Данный уровень обеспечивает интерфейс пользователя с уровнем транспортных услуг, а также средства организации обмена данными между пользователями - пользователь может выбрать: 1) поочередно двунаправленный диалог или одновременно двунаправленный диалог; 2) точки синхронизации для промежуточного контроля и восстановления при передаче файлов; 3) аварийное окончание и рестарты; 4) нормальная и ускоренная передача данных. 6. Уровень представления данных. Данный уровень определяет синтаксис данных в модели, то есть форму представления данных. 7. Прикладной уровень. Данный уровень занимается поддержкой прикладного процесса конечного пользователя. Данный уровень содержит сервисные элементы для поддержки разнообразных прикладных процессов.

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

Расчет характеристик n-канальной системы массового обслуживания

Как описывалось в начале предыдущего параграфа, построенная многоканальная система массового обслуживания характеризуется несколькими параметрами: интенсивностью прихода заявок Л, числом каналов обслуживания п и производительностью каналов №п Проанализировав начальные параметры можно получить ряд характеристик работы системы: - коэффициент загрузки системы — р; - среднее количество заявок в системе — к ; - среднее время пребывания заявки в системе - пр ; - абсолютную пропускную способность - А; - вероятность возникновения очереди Роч

Коэффициент загрузки многоканальной системы массового обслуживания рассчитывается по формуле [9,51] ятоб п Р (2.42) где Тай _ среднее время обслуживания одной заявки, определяется по формуле [5]: 06 р (2.43) откуда // есть среднее значение производительности каналов обслуживания, определяется как ft = — Коэффициент загрузки также выступает как критерий стационарности работы системы, если выполняется условие [24] р 1 (2.44) то существует стационарный режим функционирования системы. В стационарном режиме все вероятностные характеристики системы являются постоянными во времени величинами. Сами происходящие в системе массового обслуживания события остаются при этом случайными. В стационарном режиме среднее число заявок к постоянно, поэтому среднее число заявок, приходящих в единицу времени, равно среднему числу заявок, в единицу времени, уходящих из системы. Следовательно, в стационарном режиме интенсивность потока уходящих заявок приблизительно равна X. Коэффициент загрузки р в стационарном режиме есть среднее число заявок находящихся на обслуживании. Т.о. стационарный режим работы системы можно представить следующим образом:

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

Полученные характеристики могут дать ценную информацию о свойствах реальной системы. Например, (применительно к объекту исследования, который фактически является системой реального времени) среднее время пребывания заявки в системе массового обслуживания, характеризует среднее время ее ответа.

Для проверки работы механизма распределения потока заявок между каналами обслуживания нами была разработана функция распределения потока заявок для л-канальной системы: Ф где j — {L.n} (порядковый номер канала), т = п + 1, п - число каналов.

Для эффективной работы механизма распределения нагрузки, каналы должны быть выстроены по возрастанию, убыванию интенсивности обслуживания, либо иным образом. Порядок построения каналов зависит от величины ру при изменении значение, происходит перераспределение потока заявок между каналами в долях от единицы. При (р = 1 максимум входящего потока заявок направляется на первый канал и далее постепенное снижение нагрузки к последнему каналу. При р = 0 в обратной последовательности, минимум входящего потока заявок на первый канал и возрастает к последнему. Величина q может принимать любое значение от 1 до 0, вследствие чего, минимум нагрузки будет смещаться от последнего к первому каналу.

На практическом примере, можно увидеть вероятности состояний системы. Возьмем п = 10, интенсивности обслуживания каналов соответственно будут равны = {1, 3, 5, 7, 95 11, 13, 155 17, 19}, интенсивность входящего потока заявок Л = 50. Параметр р возьмем равный 05 случай, когда происходит распределение нагрузки между каналами по принципу: максимум нагрузки на последний канал и далее по убыванию, минимум на первый (рисунок 2.6).

Используя вычисленные вероятности состояний каналов системы массового обслуживания, получим их численные значения в соответствии с описанными параметрами (рисунок 2,7).

Механизмы работы демона серверов и информационного сервера

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

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

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

Рассмотренный эвристический алгоритм обмена данными клиента с серверной системой иллюстрирует обобщенный механизм работы серверной сети (рисунок ЗЛ). Далее более подробно рассмотрим механизмы взаимодействия отдельных частей сети,

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

Первым рассмотрим объект управления серверной сети — Демон серверов по своей сути является объектом распределения нагрузки всей серверной системы. На него возложен ряд функций: распределение потока заявок, анализ состояния информационных серверов, формирование таблицы приоритетов, краткосрочное прогнозирование состояния сети. Демон серверов состоит из логических блоков: модуля распределения нагрузки и анализатора состояния системы.

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

Работа системы распределения нагрузки без использования функции распределения

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

Для анализа средней загрузки каждого из каналов обслуживания, обратимся к рисунку 4.6. На представленной гистограмме видно, что загрузка каналов обслуживания выполнена не равномерно. Первые три канала обслуживания работали на грани перехода в режим перегрузки, их запас мощности был менее 10%. Следующие три канала обслуживания использовали свой ресурс более чем на половину и в случае возникновения пиковых нагрузок может возникнуть вероятность перегрузки этой части сети. Оставшиеся каналы, по номерами с 7 по 10, работали в режиме простоя, на них пришлось менее четверти всех выполненных заявок, при том, что они имели максимальную производительность изо всех представленных каналов обслуживания.

Для сравнения, в первом опыте, при использовании функции распределения нагрузки, на последние четыре канала обслуживания пришлось 67% всех выполненных заявок и это притом, что они не были перегружены и имели в среднем запас производительности равный 75%.

Для сравнения, в таблице 5 приведены численные значения средней загрузки каналов обслуживания представленные на рисунке 4.6.

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

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

Как уже описывалось в 3 главе, ключевыми объектами распределенной серверной сети являются: Демон серверов и информационные сервера сети. За распределение нагрузки сети отвечает модуль, расположенный на демоне серверов. Агенты информационных серверов обслуживают заявки клиентов, обмениваются информацией между собой и демоном.

Начальная интенсивность клиентских запросов: число запросов от 2 до 30 за один цикл работы системы распределения нагрузки. Сложность запроса измеряется по 10 бальной шкале. Критерий оценки сложности запроса соответствует складывается из параметров: загрузка ЦП, ОЗУ, жесткого диска и т.д.

Похожие диссертации на Оперативное управление распределением нагрузки в неоднородных информационных системах