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

кандидата технических наук
Артемьев, Александр Борисович
город
Москва
год
2005
специальность ВАК РФ
05.13.13
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка алгоритмов и моделей управления нагрузкой серверов в распределенных системах»

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

На правах рукописи

АРТЕМЬЕВ АЛЕКСАНДР БОРИСОВИЧ

РАЗРАБОТКА АЛГОРИТМОВ И МОДЕЛЕЙ УПРАВЛЕНИЯ НАГРУЗКОЙ СЕРВЕРОВ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ

Специальность 05Л3.13 - Телекоммуникационные системы н

компьютерные сети

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата технических наук

Москва-2005

Работа выполнена в Московском государственном ннстшуге электроники и математики (техническом университете)

Научный руководитель:

кандидат технических наук Стеценко Юрий Петрович

Официальные оппоненты:

доктор технических наук, профессор Фролов Евгений Борисович кандидат технических наук, профессор Восков Леонид Сергеевич

Ведущая организация:

Научно - исследовательский центр проблем безопасности дорожного движения МВД России

Защита диссертации состоится "22" ноября 2005г. в 16.00 часов на заседании диссертационного совета Д 212.133.03 при Московском государственном институте электроники и математики (МИЭМ): 109028, Москва, Б. Трехсвятительский пер., дом 3/12.

С диссертацией можно ознакомиться в библиотеке МИЭМ.

Автореферат разослан "21" октября 2005г.

Ученый секретарь диссертационного совета - *

доцент, к.т.н..

Леохин Ю.Л.

эогч

242.0435

ВВЕДЕНИЕ

Актуальность работы.

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

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

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

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

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

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

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

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

На защиту выносятся:

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

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

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

• комплекс математических моделей для анализа и оптимизации алгоритмов управления нагрузкой серверов;

• математические модели для анализа работы серверов при различных режимах обработки запросов.

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

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

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

Методы исследований.

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

Апробация работы.

Основные положения и результаты диссертации докладывались на Международной конференции «Информационные и телекоммуникационные технологии в интеллектуальных системах» (Барселона, 2004 г.), ХЫ Всероссийской конференции по проблемам математики, информатики, физики и химии (РУДН, 2005 г.), научно-технических семинарах МИЭМ (2003-2005 гг.).

Публикации.

Результаты диссертационной работы отражены в 5 опубликованных печатных работах.

Структура и объем диссертации.

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

КРАТКОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

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

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

1 При большом количестве приложений нагрузка зависит от того, какому приложению отдают «предпочтение» пользователи в тот или иной период работы системы.

2) При большом количестве пользователей возможно закрепление пользователей (клиентов) за серверами приложений, однако при этом загрузка серверов будет зависеть от активности пользователей.

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

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

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

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

В качестве наиболее объективных критериев будем использовать следующие.

Взвешенные затраты, связанные с временем пребывания в очередях

N г

запросов клиентов: ^ =]£в,Л1/й!н > где - среднее время ожидания в

(=1

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

м м

запросов к приложениям: = , где Иг]" - среднее время

ожидания в очереди запроса на исполнение приложения Лоу -

интенсивность потока запросов на исполнение приложения у; с) -

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

к

запросов к серверам: Р3 = , где - среднее время ожидания в

А=1

очереди запроса к серверу к; Л2к - интенсивность потока запросов на сервер к, с1к - стоимостной коэффициент, определяющий величину штрафа за ожидание в очереди в течение единицы времени запроса к серверу к.

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

Взвешенные затраты на время пребывания в очередях к конкретным

N К г

серверам запросов конкретных клиентов системы: = Х^а^Л^Й^, где

Жш - среднее время ожидания в очереди запроса от клиента г на сервере к, Л'к - интенсивность потока запросов от клиента г на сервер к, а1к -стоимостной коэффициент, определяющий величину штрафа за ожидание в очереди в течение единицы времени запросом от клиента г на сервере к.

Взвешенные затраты на время пребывания в очередях запросов к конкретным приложениям на конкретных серверах . системы:

и К

~ > Где К ' среднее время ожидания в очереди запроса

у=и=!

на исполнение приложения /' на сервере к, Л"к - интенсивность потока

запросов на сервер к на исполнение приложения у; с^ - стоимостной

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

Наконец, в качестве критерия будем использовать взвешенные затраты на время пребывания в очередях запросов конкретных клиентов к конкретным приложениям на конкретных серверах системы:

ПИК

^о = X X X"¡¡к^чк^т' где ^Щк - среднее время ожидания в очереди

запроса от клиента г на исполнение приложения ] на сервере к, Лук -

интенсивность потока запросов от клиента на исполнение приложения ] на сервере к, аок - стоимостной коэффициент, определяющий величину штрафа

за ожидание в очереди в течение единицы времени запросом от клиента / на исполнение приложения у на сервере к.

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

Взвешенные затраты на простои серверов системы: = ~^екР0к, где

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

Теперь для решения задач оптимального выбора параметров системы, в качестве критерия можно выбирать функционал вида: £(р) = .Р(р) + £(р), где р = {/>!, рг, ..., рд} вектор параме-фов системы, компоненты которого имеют численные значения равные значениям соответствующих параметров системы. В качестве слагаемых в формуле могут использоваться любые из приведенных выше соответствующих критериев. Значения слагаемых критерия зависят от параметров, компонент вектора р.

В третьей главе математические модели для анализа алгоритмов управления нагрузкой.

Для всех моделей исходными данными являются.

N - количество пользователей в системе (количество клиентов), М -количество типов приложений, вызываемых пользователями, К -количество серверов. Л,у - интенсивность потока запросов от пользователя /

на исполнение приложения j. Длительность исполнения приложения / на сервере к считаем случайной величиной с функцией распределения с

конечными первым и вторым моментами: 0 < Ь^ < оо и 0 < Ь2ц < со.

При независимой работе серверов в качестве модели системы серверов можно рассматривать совокупность из К однолинейных СМО типа М/в/1/оо.

Исследована работа отдельной СМО (одного сервера), когда все запросы образуют одну очередь и обслуживаются в порядке поступления.

Для всех алгоритмов справедливы формулы, позволяющие вычислять интенсивности потоков запросов:

N и

® интенсивность суммарного потока запросов: Л = 2] £ Лу . в интенсивность суммарного потока запросов на исполнение

N

приложения у от всех клиентов: А0у = ^Лу - ® >

/=1

» интенсивность суммарного потока запросов от клиента:

Исследован алгоритм управления, с фиксированным расределением клиентов по серверам, т.е. за сервером номер к закреплено фиксированное множество клиентов, которое определяется вектор-строкой тк ={т1к,т2к,...,тм}, где от№= 1, если клиент номер г закреплен за сервером к и т1к =0, если клиент номер / не закреплен за сервером к.

При этом должны выполняться следующие условия: для всех к

К N К N

=1; ££»»» для любого А: М>£т1к >1. <ы м к=1 <=1

Для заданного разбиения выведены формулы для расчета параметров

потоков запросов и длительностей ожидания в очередях для сервера номер к.

Эти формулы дают возможность вычислять характеристики работы

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

определенных в главе 2. Так получено:

М N ^ М и N

к ~ > ¿¡к ~ т1к XЛу » ~ > =

у=1 ¿=1 7=1 /=1

Среднее время ожидания в очереди для любого запроса на сервере

Iм** и ..

номер А можно вычислить по формуле: = - (]Г )11 ~ X ^к^к ■

2

При распределении клиентов должны выполняться условия,

N М

предотвращающие перегрузку серверов: рк = X X Лу^л, < 1 Для всех к =

ы у=1

1,2,..., К.

Для расчета длительностей ожидания в очередях получены формулы:

( к ЛГ А/

И» = Е- ^ = XтЖ, . ^ = Х>Л > ^ = И» (если на /=1 (=1

сервер А поступают запросы на исполнение приложения у, т.е. если

/=1 *=1 Л

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

N Af

Вероятность простоя сервера вычисляется так: Рок = 1 -J]mlk ^АуЬщ .

1=1 j=\

Далее исследован алгоритм, когда производится фиксированное распределение приложений по серверам, которое для сервера к задано вектором nк = {щк,п2к.....пик}, где njk- 1, если приложение j установлено

на сервере к, и nJk- 0, если приложение j не установлено на сервере к.

При фиксированном распределении приложений должны выполняться

к и к м

условия: для всех у. £ nlk = 1; £ njk ~ М; для любого к: M>^nJk>i.

к=1 № к=1 j=\

Получены формулы для расчета интенсивностей потоков запросов:

N U м N t М

Л2к =EZЦП)к > hjk , Л* =£J>!/"jk ' ^ijk =^ijnjk-

i=l 1 ¡=1 J=l

При этом можно вычислить основную характеристику работы сервера: WXk. Для распределения приложений должны также выполняться условия,

и N

предотвращающие перегрузку серверов: рк = X njk X <1 Для всех ^ =

1 i=i

1,2, ...,К.

Другие характеристики вычисляются по формулам:

с=1>,л. к -£f и -i4-i4

t=i Ah ¿„i Л y=i Л (=i Л

Для данного распределения справедливы равенства:

К = £п*К и = ^ и = если =л«>0> т-е-

У=1 У=1

на сервер к поступают запросы от клиента номер /.

м N

Вероятности простоя сервера имеет вид: Рок = 1 - £ п^ £ .

У=1 1=1

Полученные формулы позволяют вычислять значения показателей

качества управления (критериев эффективности) решения задачи распределения приложений по серверам.

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

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

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

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

Проведено исследование алгоритма диспетчеризации запросов на исполнение приложений. В данном случае, для каждого сервера и типа приложения задается р1к >0 - вероятность направления запроса на

исполнение приложения номер у на сервер номер к.

Естественно, что должны выполняться условия: р^ =1 (для всех у = м

1,2.....АО, >0 для всех ¿=1,2, ...,К.

У-1

Для данного алгоритма получено: *, ^ л/ А/ и

¡=1 7=1 м ;=1

Формула среднего времени ожидания очереди:

± >1 ,'=) у=1 ,'=1

Из формулы следует, что при назначении вероятностей р]к должны

М N

выполняться ограничения: рк = Х^ХЛу^д Для всех к=1,2,..., /С.

У=1 ¡=1

к

Используя данную формулу, получим, что IVх" Р*

ы

К X , , ы

К = Е~Г- и Кк Ида = 1>ЛИ РГ,'; = Ги, если на сервер

к=\ Л.,, /=1

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

Исследован алгоритм диспетчеризации запросов от клиентов. В этом случае для каждого сервера и типа приложения задается д1к £ 0 -

вероятность направления запроса от клиента номер ; на сервер номер к.

к

Естественно, что должны выполняться условия: =.1 для всех i -

к=1

N

1,2, и >0 для всех к = 1,2,

1=1

Для данного алгоритма получено: V» М N » М

А ~ ¿^ЛуУ*, А2к = ЕЕЛ^й , =Лл,уи и яик =

¡=1 /=11=1 /=1

Среднее время ожидания запросом в очереди для обслуживания на сервере

1 А/ N МЫ

;=1 /=1 ;=1 м

М N

При этом должны выполняться ограничения: рк = Х^ХЛу^л < 1для всех

У=1 1=1

к=1,2,..„К.

Далее получено: < = Ъ Т^и и

*=1 Л0у А=1 А],-

и если на сервер номер А поступают запросы на

исполнение приложения номер

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

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

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

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

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

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

4. Разработан комплекс математических моделей для исследования базовых алгоритмов управления нагрузкой серверов. Модели дают

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

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

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

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

Основные публикации по теме диссертации

1. Артемьев А.Б. Григорьев О.Г. Модель обслуживания клиентов в системе клиент-сервер. Телекоммуникационные технологии в промышленности и образовании. Сборник научных трудов. М.: МАДИ, 2003.-с. 92-98.

2. Артемьев А.Б. Пряхина Е.В. Модель работы сервера приложений с общей очередью запросов. Телекоммуникационные технологии в промышленности и образовании. Сборник научных трудов. М.: МАДИ, 2003. - с. 99-102.

3. Артемьев А.Б. Моделирование системы клиент-сервер. XLI Всероссийская конференция по проблемам математики, информатики, физики и химии. Тезисы докладов. М.: рУДН, 2005. - с. 78-79.

4. Артемьев А.Б., Корденков Н.В. Модель работы сервера приложений. XLI Всероссийская конференция по проблемам математики, информатики, физики и химии. Тезисы докладов. М.: РУДН, 2005. - с. 76-77.

5. Artemiev А. В. Problem of management of application servers group. Second International Conférence. Information fiid Télécommunication Yechnologies in Intelligent Systems. Proceedings. Bfrcelona, Spain. May 2004. P. 148.

6. Артемьев А.Б., Корденков H.B., Саксонов E.A. Алгоритмы динамического управления нагрузкой серверов в распределенных системах. Информационные, сетевые и телекоммуникационные технологии. Кафедра ВСиС. Сб. научных трудов. - М.: МИЭМ, 2005.

7. Артемьев А.Б., Корденков Н.В, Саксонов Е.А. Анализ алгоритма управления нагрузкой серверов в распределенных системах. Информационные, сетевые и телекоммуникационные технологии. Кафедра ВСиС. Сб. научных трудов. - М.: МИЭМ, 2005.

8. Артемьев А.Б, Латышев А.В, Саксонов Е.А. Анализ статического алгоритма управления нагрузкой серверов в распределенных системах. Информационные, сетевые и телекоммуникационные технологии. Кафедра ВСиС. Сб. научных трудов. - М.: МИЭМ, 2005.

г

I

ц

ИД №06117 от 23.10.2001 Подписано в печать 18.10.2005.

Формат 60x84/16. Бумага типографская № 2. Печать - ризография. Усл. печ. л. 1,2 Уч.-изд. л. 1,1 Тираж 100 экз. Заказ 730,

Московский государственный институт электроники и математики 109028, Москва, Б.Трехсвятитепьский пер., 3/12.

Центр оперативной полиграфии (095) 916-88-04, 916-89-25

•п / l/â.

РНБ Русский фонд

2007-4 9034

v\

rlOiî

-a J

• 'Л

Оглавление автор диссертации — кандидата технических наук Артемьев, Александр Борисович

ВВЕДЕНИЕ.

1. ТЕХНОЛОГИИ ВЗАИМОДЕЙСТВИЯ В РАСПРЕДЕЛЕННЫХ СИСТЕМАХ.

1.1. Принципы построения распределенных систем.

1.2. Модель взаимодействия «клиент-сервер».

1.2Л. Клиенты и серверы вычислительных сетей.

1.2.2. Взаимодействие с базами данных.

1.2.3. Развитие модели «клиент-сервер» для распределенных вычислений

1.3. Распределенные объектные технологии.

1.3.1. Основные сведения о технологии СОЯВА.

1.4. Проблемы построения распределенных систем.

Выводы.

2. МЕТОДЫ УПРАВЛЕНИЯ НАГРУЗКОЙ СЕРВЕРОВ ПРИЛОЖЕНИЙ.

2.1. Выравнивание нагрузки методом разделения приложений.

2.1.1. Разделение приложений.

2.1.2. Стратегии разделения.

2.1.3. Статическое распределение приложений.

2.2. Управление нагрузкой с использованием репликации данных.

2.2.1. Механизмы репликации.

2.3. Управление нагрузкой распределением клиентов.

2.4. Критерии качества решения задачи управления нагрузкой.

Выводы.

3. МАТЕМАТИЧЕСКИЕ МОДЕЛИ ДЛЯ АНАЛИЗА АЛГОРИТМОВ УПРАВЛЕНИЯ НАГРУЗКОЙ

3.1. Общая постановка задачи моделирования.

3.2. Статическое распределение.

3.2.1. Распределение клиентов по серверам.

3.2.2. Распределение приложений по серверам.

3.2.3. Оптимизация распределения.

3.3. Динамическое распределение потоков запросов.

3.3.1. Диспетчеризация запросов на исполнение приложений.

3.3.2. Диспетчеризация запросов от клиентов.

3.4. Модели работы серверов.

3.4.1. Модель сервера приложений с синхронной обработкой запросов.

3.4.2. Модель работы сервера с разделением ресурсов.

Выводы.

4. ПРИМЕНЕНИЕ РАЗРАБОТАННЫХ АЛГОРИТМОВ И МОДЕЛЕЙ ДЛЯ УПРАВЛЕНИЯ В РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ

Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Артемьев, Александр Борисович

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

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

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

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

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

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

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

На защиту выносятся:

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

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

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

• комплекс математических моделей для анализа и оптимизации алгоритмов управления нагрузкой серверов;

• математические модели для анализа работы серверов при различных режимах обработки запросов. f

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

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

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

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

Апробация работы.

Основные положения и результаты диссертации докладывались на Международной конференции «Информационные и телекоммуникационные технологии в интеллектуальных системах» (Барселона, 2004 г.), ХЫ Всероссийской конференции по проблемам математики, информатики, физики и химии (РУДН, 2005 г.), научно-технических семинарах МИЭМ (2003 - 2005 гг.).

Публикации.

Результаты диссертационной работы отражены в 8 опубликованных печатных работах.

Структура и объем диссертации.

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

Заключение диссертация на тему "Разработка алгоритмов и моделей управления нагрузкой серверов в распределенных системах"

ОСНОВНЫЕ РЕЗУЛЬТАТЫ И ВЫВОДЫ

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

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

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

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

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

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

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

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

1. Авен О.И., Гурии H.H., Коган Я.А. Оценка качества и оптимизация вычислительных систем. - М.: Наука, 1982. - 464 с.

2. Айвазян С.А. и др. Прикладная статистика //том 1 Основы моделирования и первичная обработка данных. М.: Финансы и статистика, 1983. -471с.

3. Альянах И.Н. Моделирование вычислительных систем. JI.: Машиностроение, 1988. - 223 с.

4. Арсеньев Б.П., Яковлев С.А. Интеграция распределенных баз данных. СПб.: Изд-во "Лань", 2001.- 464 с.

5. Атре Ш. Структурный подход к организации баз данных. М.: Финансы и статистика, 1983.

6. Афанасьев В.Н., Фуфлыгин М.Д. Информационные технологии в социально-экономической сфере. М.: МИЭМ, 1998.

7. Байцер Б. Архитектура вычислительных комплексов. В 2-х частях. -М.: Мир, 1974.

8. Бакусов JI.M. и др. Математические модели информационных процессов и управления в АСУ: Учебн. пособие. Уфа, 1991.

9. Балыбердин В.А. Оценка и оптимизация характеристик систем обработки данных. М.: Радио и связь, 1987. - 176 с.

10. Барышев M.JL, Драчевский В.И., Капитанов В.Т. Исследование эффективности автоматизированных систем управления дорожным движением.- М., ВНИЦБД МВД СССР, 1990.

11. П.Башарин Г.П., Бочаров П.П., Коган Я.Л. Анализ очередей в вычислительных сетях. Теория и методы расчета. М.: Наука, 1989. -336 с.

12. Бертсекас Д., Галагер Р. Сети передачи данных.: Пер. с англ. М.: Мир, 1989.-544 с.

13. Блэк Ю. Сети ЭВМ: протоколы, стандарты, интерфейсы. / Пер. с англ. -М.: Мир. 1990.-510с.

14. Бобровски С. Oracle 7: вычисления клиент/сервер. Пер. с англ. С. Орлова. М.: "Лори"., 1996.

15. Богуславский Л.Б., Ляхов А.И. Оценка производительности распределенных информационно-вычислительных систем архитектуры "клиент-сервер". Автоматика и телемеханика, №9, 1995.

16. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем.- М.: Финансы и статистика, 1989. 260 с.

17. П.Бойченко Е.В. и др. Локальные вычислительные сети. М.: Радио и связь, 1985.

18. Бочаров П.П., Рыков В.В. Проблемы анализа устойчивости и производительности открытых систем.// Развитие и применение открытых систем. Тезисы докладов Ш международной конференции.-М.: МЦНТИ, 1996.

19. Бронштейн О.И., Духовный И.М. Модели приоритетного обслуживания в информационно-вычислительных системах. М.: Наука, 1976.-220 с.

20. Вишневский В.М. Теоретические основы проектирования компьютерных сетей. М.: Техносфера, 2003. - 512с.

21. Внедрение современных технологий и новых форм организации работы Госавтоинспекции Свердловской области. Информация. Екатеринбург, 1995. С. 16.

22. Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. М.: Наука, 1966.

23. Григорьев О.Г. Модель работы сервера приложений в распределенной систехме // Электросвязь. 2004. № 10.

24. Григорьев О.Г. Модели работы серверов обработки запросов в распределенной информационной системе // Proceedings of International Conference "Information and Telecommunication Technologies in Intelligent Systems" / Barcelona, Spain, May 22-29, 2004.

25. Гуляев Ю.В., Олейников А.Я., Филинов E.H. Развитие и применение открытых систем в Российской Федерации. // Информационные технологии и вычислительные системы. М.:1995. Том 1, N 1, с. 1-12.

26. Гусева А.И. Технология межсетевых взаимодействий. М.: Диалог МИФИ, 1997. - 176 с.

27. Дейт К. Введение в системы баз данных. 6-е изд. М.: Диалектика, 1998.-784 с.

28. Джейсон Причард. Просто и доступно. СОМ и CORBA. Архитектуры, стратегии и реализации. Из-во "Лора", 2001. 372 с.

29. Дирк Слема, Джейсон Гарбис, Перри Рассел. Корпоративные системы на основе CORBA. Пер. с англ. М.: Изд. Дом "Вильяме", 2000. - 386 с.

30. Дунаев С.Б. INTRANET технологии. М.: Диалог-МИФИ, 1997. - 272 с.

31. Дэвис Д., Барбер Д., Прайс У., Соломонидес С. Вычислительные сети и сетевые протоколы. М.: Мир, 1982. - 562 с.

32. Емеличев В.А. Метод построения последовательности планов для решения задач дискретной оптимизации. М.: Наука, 1981.

33. Калшшченко Jl.Л., Костромина O.E., Хитрова О.Н. Концепции построения систем управления распределенными БД// Прикладная информатика. М.: Финансы и статистика.- 1984.

34. Камер Дуглас Э. Компьютерные сети и Internet. Разработка приложений для Internet. : Пер. с англ. М.: Изд. дом "Вильяме", 2002. - 640 с.

35. Кемени Дж., Снелл Дж. Конечные цени Маркова. М.: Наука, 1970. -272 с.

36. Клейнрок Л. Теория массового обслуживания. Пер. с англ. Под ред. В.И. Неймана. М.: Машиностроение, 1979. -432 с.

37. Клейнрок Л. Вычислительные системы с очередями. Пер. с англ. Под ред. Б.С. Цыбакова.- М.: Мир. 1979. 600 с.

38. Конвей. Р.В., Максвелл В.Л., Миллер Л.В. Теория расписаний. М.: Наука, 1975.-360 с.

39. Кофман А., Анри-Лабордер А. Методы и модели исследования операций. М.: Мир, 1977. - 432 с.

40. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978.-432с.

41. Кульба В.В., Ковалевский С.С., Косяченко С.А., Сиротюк В.О. и др. Теоретические основы проектирования оптимальных структур распределенных баз данных, 1999.

42. Ладыженский Г.М. Технология "клиент-сервер" и мониторы транзакций./Открытые системы. Вып.7. 1994.

43. Ладыженский Г.М., Леонтьев В.В., Пуха Ю.В. Принципы построения распределенных информационных систем.// Развитие и применение открытых систем. Тезисы докладов Ш международной конференции.-М.: МЦНТИ, 1996.

44. Ланкастер П. Теория матриц. Пер. с англ. М.: Наука, 1978. - 280 с.

45. Лсзер Н. Архитектура открытых распределенных систем. Открытые системы, вып. 3. 1993.

46. Липаев В.В. Направления развития методов и стандартов открытых систем.// Информатика и вычислительная техника. Научно-технический сб. Вып. 1-2. 1995.

47. Мартин Дж. Вычислительные сети и распределенная обработка данных/М.: "Финансы и статистика", 1985.

48. Мартин Дж. Организация баз данных в вычислительных системах. -М.: Мир, 1980. 664 с.

49. Месарович М., Мако Д., Такахара И. Теория иерархических многоуровневых систем. М.: Мир, 1973.

50. Моисеев H.H., Иванилов Ю.П., Столярова Е.М. Методы оптимизации. М.: Наука, 1978.-352 с.

51. Моисеев H.H. Математические задачи системного анализа. М.: Наука, 1981.-488 с.

52. Москаленко О.М. Опыт проектирования и разработки банковской системы для трехуровневой архитектуры клиент-сервер. // СУБД. -1996.- №3. С.29-43.

53. Нейман В. И. Структуры систем распределения информации. М.: Связь, 1975.-264 с.

54. Николаев В.И., Брук В.М. Системотехника: методы и приложения. -Л.: Машиностроение, 1985. 199 с.

55. Овчаров Л.А. Прикладные задачи теории массового обслуживания, М.: Машиностроение, 1969.

56. Олифер В.Г., Олифер H.A. Компьютерные сети. Принципы, технологии, протоколы. СПб.: Питер, 1999. 672 с.

57. Олифер В.Г., Олифер H.A. Новые технологии и оборудование IP-сетей. СПб.: БХВ-Санкт-Петербург, 2000. 512с.

58. Организация ЭВМ и вычислительных сетей. Под. ред. проф. В.Н. Лзарова- М.: МГИЭМ, Центр сетевых технологий, 1997.

59. Основы теории вычислительных систем. Под ред. Майорова С.А. -М.: Высшая школа, 1978.

60. Прангишвили И.В. и др. Локальные микропроцессорные вычислительные сети,- М.: Наука, 1984.

61. Растригин Л.А. Современные принципы управления сложными объектами. М:. Сов. радио, 1980.

62. Редкозубов С.А. Статистические методы прогнозирования в АСУ.-М.: Энергоиздат, 1981.

63. Ретано А., Слайс Д., Уайт Р. Принципы проектирования корпоративных IP-сетей. : Пер. с англ. М.: Изд. дом «Вильяме», 2002.- 368 с.

64. Риордан Дж. Вероятностные системы обслуживания. М.: Связь, 1966.- 184 с.

65. Саати Т.А. Элементы теории массового обслуживания и ее приложения. М.: Сов. Радио, 1971. - 520с.

66. Садовский В.Н. Основания общей теории систем. М.: Наука, 1974. -280 с.

67. Саксонов Е.А. Исследование многоканальной замкнутой циклической системы массового обслуживания. Автоматика и телемеханика. 12, 1979. с.80-86.

68. Семенов Ю.А. Протоколы и ресурсы Internet. М.: Радио и связь, 1996. -320 с.

69. Сипсер Р. Архитектура связи в распределенных системах.- М.: Мир, 1981.

70. Столингс В. Криптография и защита сетей: принципы и практика, 2-е изд.: Пер. с англ. М.: Изд. Дом «Вильяме», 2001. - 672 с.

71. Танненбаум Э., М. Ван Стен. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003. - 877 с.

72. Телекоммуникационные компьютерные сети России. Справочник.-М.: Россия, 1992.

73. Воробьев Е.М. Введение в систему «Математика». М.: Финансы и статистика, 1998. - 262 с.

74. Ульман Дж. Основы систем баз данных: Пер. с англ. М.: Финансы и статистика. 1983. - 572 с.

75. Уэлдон Д.-Л. Администрирование баз данных: Пер. с англ. М.: Финансы и статистика. - 1984. - 360 с.

76. Файнберг В. Базы данных типа "клиент-сервер" // Компьютер Пресс.-1990. №7.- С.49-54.

77. Феллер В. Введение в теорию вероятностей и ее применения. В 2-х томах. Пер с англ.- М.: Мир, 1987. Т1-528с. Т2-738с.

78. Фролов A.B., Фролов Г.В. Глобальные сети компьютеров. М.: Диалог МИФИ.- 1995.

79. Фрэнк Г., Фриш И. Сети, связь и потоки. Пер. с англ. М.: Связь, 1978.- 448 с.

80. Цвиркун А.Д. Основы синтеза структуры сложных систем. -М.: Наука, 1982.

81. Шварц М. Сети связи: протоколы, моделирование и анализ: В 2 ч,- М.: Наука, 1992. -336 с.

82. Шенк Д.Д. Руководство Novell. Технология клиент/сервер и ее приложения.- М.: Лори, 1995. 272 с.

83. Adler R. Distributed Coordination Model for Client/Server Computing/ IEEE Computer, vol. 28, N4, pp. 14-22.

84. Anderson R. Security Engineering A Guide to Building Dependable Distributed Systems. New-York: John Wiley, 2001.

85. Buretta M. Data Replication: Tools and Techniques for Managing Distributed Information. New York: John Wiley, 1997.

86. Cheng P. A. Security Architecture for the Internet Protocol. IBM Systems Journal, N1, 1998.

87. Cristian F. Understanding Fault-Tolerant Distributed Systems. Commun. ACM, vol. 34, N2, hh. 56-78.

88. Emmeich W. Engineering Distributed Objects. New-York: John Wiley, 2000.

89. Forman I.R. On the design of large distributed systems // Proc. IEEE CS 1986 Int. Conf. on Computer Languages, Miami, FL.-1986.-P.84-95.

90. Ford W. Computer Communications Security Principles, Standard Protocols and Techniques. New Jersey: Prentice-Hall, 1994. '

91. James D. McCabe. Practical Computer Network Analysis and Design. Morgan Kaufmann Publishing company, 1998.

92. Lawor E.L., Levitt K.N., Turres I. Module Clustering to Minimize Delay in Digital Network / IEEE Trans. v.EC - 18. - N1 - p.445-451.

93. Oracle. Database Administrator's Guide. Oracle Corp.- 1984.

94. Stallings W. Data and Computer Communications, Fifth Edition. Upper

95. Saddle River, NJ: Prentice Hall, 1997.