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

кандидата технических наук
Зар Ней Лин
город
Москва
год
2009
специальность ВАК РФ
05.13.06
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Разработка методов и алгоритмов для автоматизированного распределения нагрузки производственного кластерного WEB-сервера»

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

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

РАЗРАБОТКА МЕТОДОВ И АЛГОРИТМОВ ДЛЯ АВТОМАТИЗИРОВАННОГО РАСПРЕДЕЛЕНИЯ НАГРУЗКИ ПРОИЗВОДСТВЕННОГО КЛАСТЕРНОГО \VEB-CEPBEPA

Специальность 05.13.06 - Автоматизация и управление технологическими процессами и производствами (в приборостроении)

АВТОРЕФЕРАТ

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

□03460917

Москва —2009

003460917

Работа выполнена на кафедре «Информатики и программного обеспечения вычислительных систем» в Московском Государственном Институте Электронной Техники (Техническом Университете).

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

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

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

Доктор технических наук, профессор Гагарина Лариса Геннадьевна

Доктор технических наук, профессор Грушевский Александр Михайлович

Кандидат технических наук Каратыгин Сергей Анатольевич

ООО «Кедах Электронике Инжиниринг»

Защита состоится 19 февраля 2009 года в 16:00 на заседании диссертационного совета Д 212.134.04 при Московском государственном институте электронной техники (Техническом университете) по адресу: 124498, Москва, Зеленоград, проезд 4806, МИЭТ

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

Автореферат разослан «\ 3> » 2009 г.

Ученый секретарь [ А.И. Погалов

диссертационного совета доктор технических наук, професса

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

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

В связи с постоянным усложнением задач современного автоматизированного производства весьма актуальной становится задача создания автоматизированных производственных систем с использованием кластерных \уеЬ-серверов.

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

Теоретическим исследованиям и разработке фундаментальных основ распределения нагрузки, созданию математического аппарата, моделей и методов для автоматизированного распределения нагрузки в кластерных \veb-cepBepax посвящены труды видных ученых Я. МикЬе^ее, й. Вап§а, V. Сагс1е1Нш, Е. СаваНссЬю и многих других.

Однако существующие алгоритмы распределения нагрузки \veb-сервера обладают рядом недостатков, в частности: низкое быстродействие, низкая интеллектуальность распределения нагрузки, не учитывающая динамические файлы.

В связи с этим актуальной является разработка методов и алгоритмов для автоматизированного распределения нагрузки производственного кластерного \уеЬ-сервера.

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

В соответствии с указанной целью в работе решаются следующие задачи:

- анализ архитектуры кластерных web-серверов;

- разработка контентно-зависимого алгоритма (КЗА) распределения нагрузки;

анализ производительности КЗА распределения нагрузки; программная реализация подсистемы распределения нагрузки на вычислительном кластере;

имитационное моделирование и экспериментальное исследование показателей функционирования кластерного web-сервера.

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

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

В процессе работы над диссертацией получены следующие новые научные результаты:

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

2. Разработана имитационная модель подсистемы распределения нагрузки для кластерного web-сервера на основе математического аппарата расширенных сетей Петри. Результаты работы имитационной модели подтверждают, что разработанный алгоритм обеспечивает повышение производительности на 35 % по сравнению с алгоритмом WRR и на 55 % по сравнению с алгоритмом LARD.

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

4. Предложена методика расчета времени обслуживания для различных категорий ресурсов web-систем.

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

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

Разработанный алгоритм обеспечивает повышенную отказоустойчивость, производительность и надежность Web-сервера, а также снижение времени ответа кластерного Web-сервера. Разработанный алгоритм даёт выигрыш производительности на 35 % по сравнению с алгоритмом WRR (Weighted Round Robin) и на 55 % по сравнению с алгоритмом LARD (Locality Aware Request Distribution). Фактически, при использовании разработанного алгоритма время ожидания не превышает 2-х секунд, в то время как для алгоритма WRR оно составляет приблизительно 7 секунд, а для алгоритма LARD - приблизительно 20 секунд.

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

Личный вклад автора. Все основные результаты диссертационной работы получены лично автором, в частности:

1. Исследованы архитектуры кластерных web-серверов и проведена их классификация.

2. Разработан контентно-зависимый алгоритм распределения нагрузки кластерного web-сервера.

3. Разработана математическая модель для расчета времени

обслуживания предлагаемого алгоритма.

4. Создана программа реализации подсистемы распределения нагрузки на кластере компьютеров.

5. Разработана имитационная модель входной нагрузки сервера.

6. Разработана имитационная модель распределения нагрузки для кластерного \уеЬ-сервера.

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

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

1. Контентно-зависимый алгоритм распределения нагрузки для кластерного \уеЬ-сервера.

2. Формализованное представление входной нагрузки кластерного web-cepвepa.

3. Программная реализация алгоритма распределения нагрузки кластерного утеЬ-сервера.

4. Имитационная модель подсистемы распределения нагрузки кластерного \уеЬ-сервера.

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

Апробация работы и публикации. Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях:

1. Международная школа-конференция (по приоритетному направлению «Информационно-телекоммуникационные системы» с участием молодых ученых, аспирантов и студентов стран-членов СНГ) - Москва, МИЭТ, 2005.

2. 13-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2006" - Москва, МИЭТ, 2006.

3. 14-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2007" - Москва, МИЭТ, 2007.

4. XI Московская международная телекоммуникационная конфе-

ренция студентов и ученых «Молодежь и наука» - Москва, МИФИ, 2008.

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

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

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

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

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

При использовании \уеЬ-серверов для доступа к специализированным производственным базам данных первые часто имеют низкое время отклика. Одним из решений данной проблемы является построение \veb-сервера на кластере компьютеров. Кластерный web-cepвep - это объединение между собой двух и более серверов в единую систему, которые действуют как единое целое. Кластер состоит из связанных независимых компьютеров. На рис. 1 представлена архитектура кластерного \уеЬ-сервера.

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

Построение \уеЬ-серверов на кластере компьютеров дает следующие преимущества:

выигрыш в стоимости по сравнению с системой на основе суперкомпьютера;

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

- естественная распределённость и наращиваемость системы;

- высокая надежность и устойчивость к отказам.

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

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

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

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

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

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

В главе проанализированы требования, предъявляемые к алгоритмам диспетчеризации:

- низкая вычислительная сложность, потому что решения, прини-

маемые диспетчером, требуются в реальном масштабе времени;

- полная совместимость с существующими web-стандартами и протоколами;

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

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

Можно использовать классификацию, различая статические и динамические алгоритмы. Статические алгоритмы используются только web-выключателями, которые работают на уровне ТСРЯР.

Web-распределители 4ого уровня OSI работают на уровне TCP/IP. Так как пакеты, имеющие отношение к тому же самому соединение TCP должны быть назначены на тот же самый узел web-cepeepa, назначение клиента выполняется на уровне TCP. Web-маршрутизатор поддерживает таблицу связи, чтобы соединять каждый сеанс клиента TCP с целевым сервером.

Так как web-выключатели уровня 4 являются выключателями с неизвестным содержанием состояния клиента, то информация о клиенте ограничена информацией пакетов TCP/IP, то есть адресом источника IP и номерами порта TCP. Эту небольшую информацию о клиенте можно использовать для алгоритмов диспетчеризации, которые статически разделяют узлы сервера и приписывают одних и тех же клиентов к тем же северам. Обычно это реализуется через hash-функцию.

Web-распределители 7ого уровня OSI работают на прикладном уровне, таким образом им известно содержание запроса. Механизмы для маршрутизации уровня 7 более сложны, чем для маршрутизации уровня 4. При этом web-коммутатор должен сначала установить соединение TCP с клиентом и затем получить HTTP-запрос.

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

На каждом из серверов содержатся одна или более web-страниц. Когда одна из web-страниц обновляется, алгоритм рассматривает таблицу

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

Рисунок 2 иллюстрирует схему алгоритма распределения нагрузки для кластерного \уеЬ-сервера. Когда \уеЬ-сервер получает запросы от клиента, извлекается следующий запрос из очереди и определяется его целевой файл /'. Если рабочее множество файла / пусто, то определяется наименее загруженный узел, который добавляется в рабочее множество файла /. В противном случае, если рабочее множество файла /' не пусто, и если средняя загрузка узлов рабочего множества файла /' больше, чем ТН (верхний порог), а средняя загрузка узлов, не входящих в рабочее множество файла /, меньше, чем ТЬ (нижний порог), то определяется наименее загруженный узел, который добавляется к рабочему множеству файла /. Если средняя загрузка узлов в рабочем множестве файла / меньше, чем ТЬ, а средняя загрузка узлов, не входящих в рабочее множество файла больше, чем ТН, то исключается наименее загруженный узел из рабочего множества файла /. Затем текущий запрос посылается на наименее загруженный узел рабочего множества файла /.

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

Целью алгоритма является уменьшение времени ответа и улучшение производительности системы. Ниже представлена математическая модель расчета времени ответа. Запрос на получение \УеЬ-обслуживания может поступить на один или несколько \УеЬ-сайтов. Время, затрачиваемое на обработку запроса на Web-caйтe, состоит из двух компонентов: времени обслуживания и времени нахождения в очереди.

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

Начало

Wi = рабочее множество файла 1 LLN « наименее загруженный узел Most « наиболее загруженный узел Lwl а средняя загрузка узлов в WI Lw-wl & средняя загрузка узлов, не входящих в WI

NWI = узлы, не входящие в Wi ТН = верхний порог TL = нижний порог ALN= средняя загрузка узлов в W1 MIN= наиболее загруженный узел в Wi

Рис. 2. Схема алгоритма выравнивания распределения нагрузки для

\уеЬ-сервера

Для случайных нагрузок:

Рш„ = 1 •

т = 1,

БгТ

=СГ+ */„„,+— + 7Т.

где Рт1а - вероятность того, что требуемый блок в кэше диска отсутствует, ЯЬ - Длина серии, БТ- среднее время поиска в секундах, я1гаг1к -

среднее время случайного поиска в секундах, йгТ - время, в течение которого диск совершает полный оборот, в секундах, СТ- время, в секундах, затрачиваемое контроллером на обработку запроса на ввод/вывод.

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

Выражение = з1гапк / ЯЬ выводится следующим образом. Примем во внимание простое соотношение:

ЯЬ = Ж/Ж,

где М? - количество запросов, принятых серверов за заданный интервал времени; Ж - количество серий, наблюдаемых за указанный временной интервал. Среднее время поиска будет равно сумме времен поиска для каждого запроса в данном интервале, деленной на количество запросов за этот интервал. Только первый запрос из серии требует случайного поиска. Остальные запросы из этой серии требуют поиска с длиной, равной нулю. Таким образом, сумма времен поиска всех запросов эквивалентна количеству серий, умноженному на время случайного поиска. Разделив данную сумму на количество запросов, получим среднее время поиска на один запрос. С учетом ЯЬ = ЫЯ/ИЬ, получим:

Ж х «

гапк _ гапк _ гапк

ИЯ ~ NR/NL ~ Ж

Ниже приведены выражения для расчета времени передачи.

БВ

ТТ = - — 10 6хТЯ

где ТТ- время передачи, SB - размер блока, 77? - скорость передачи.

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

с ^ , ST , [\ / 2 + (RL - l)(\ + Ud /2)]х РгТ , ТТ

о. =Ci H---1---i-->

" RL RL RL

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

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

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

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

На каждом из узлов и в сервере содержится одна или более web-страниц. Когда одна из web-страниц обновляется, алгоритм рассматривает таблицу рабочего множества файла и рассылает запрос на все серверы. Сервер, которому будет передан приходящий запрос, выбирает узлы в соответствии с предлагаемым алгоритмом.

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

Таким образом, программа определяет, находится в рабочем множестве запрашиваемый файл или нет. Сначала программа определяет количество узлов в рабочем множестве. Если рабочее множество файла / пусто, то определяется наименее загруженный узел, который добавляется в рабочее множество файла /. В противном случае, если рабочее множество файла / не пусто, и если средняя загрузка узлов рабочего множества файла i больше, чем ТН (верхний порог), а средняя загрузка узлов, не входящих в рабочее множество файла /, меньше, чем

Рис. 3. Схема работы алгоритма распределения нагрузки для реализации на MPI

TL (нижний порог), то определяется наименее загруженный узел и добавляется к рабочему множеству файла /'. Если средняя загрузка узлов в рабочем множестве файла i меньше, чем TL, а средняя загрузка узлов, не входящих в рабочее множество файла /', больше, чем ТН, то исключается наименее загруженный узел из рабочего множества файла i. Затем текущий запрос посылается на наименее загруженный узел рабочего множества файла г. Для посылки файла используется функция MPl_Send. Она состоит из шести следующих параметров: MPI_Send (&nf, 1, MPI_INT, L, 1, MPI_COMM_WORLD).

Все элементы сообщения расположены подряд в буфере &nf. Тип передаваемых элементов MPI_INT должен указываться с помощью предопределенных констант. После этого программа использует функцию MPI_Bcast (&L, 1, MPIJNT, 1, MPI_COMM_WORLD) для соединения между узлами. При этом осуществляется рассылка сообщения от узла 1 всем узлам, включая себя. При возврате из процедуры содержимое буфера &L узла 1 будет скопировано в локальный буфер узла. Значения параметров 1, MPI_INT и 1 должны быть одинаковыми для всех узлов. Для приема сообщения программа использует функцию MPI_Recv (&nf, 1 ,MPI_INT, 1,1 ,MPI_COMM_WORLD,&status), при которой осуществляется прием сообщения с идентификатором 1 от узла 1 с блокировкой. Число элементов в принимаемом сообщении не должно превосходить значения 1. Если число принятых элементов меньше значения 1, то гарантируется, что в буфере &nf изменятся только элементы, соответствующие элементам принятого сообщения.

Таким образом, осуществлена программная реализация алгоритма КЗА, внедрение которого практически подтвердило повышение быстродействия кластерного Web-сервера.

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

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

серверов.

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

Фишки представляют собой сетевые пакеты. Процедура входного выбора перехода Y101 выполняет циклический опрос входных очередей Q101. Очередь Q101 содержит фишки в соответствии с дисциплиной обслуживания FIFO до тех пор, пока фишка будет находиться в позиции S101. Когда появляется фишка в позиции S101, переход Y101 осуществляет выборку из очереди Q101 и посылку фишки в позицию S110. Аналогично работают переходы Y201, Y301, Y401.

Условная генерация запросов в состоянии ON

Поток 1

Поток 2

Поток 3

Поток 4

Q1G1

О

S110

М>

Q201

О

S210

—О

Q301

О

S310

—о-

Q401

О

S101

"-О

Т102

S102

-о-

Т100

S100

ОН

Т201

Т202

S201

•""О

S202

Т301

S301

T401

S401

"-О-

S402

Т302

S302

-о-

Т402

Рис. 4. Имитационная модель Интернет-трафика

Модель диспетчера содержит источник заявок, очередь диспетчера (С>1), диспетчер и узлы (8101..БЮп). Источник заявок хранит входящие запросы и осуществляет произвольный выбор запроса для его посылки диспетчеру. Очередь диспетчера^ 1) ожидает запрос, чтобы послать его диспетчеру (рисунок 5).

Прием заявок (Б1) получает запросы от диспетчера. За тем алгоритм вычисляет запросы для обслуживания сервером по очереди <32. Обслуживание узла \уеЬ-сервера вычисляет время обработки запроса (рисунок 6).

Источник заявок

Т1

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

Очередь дисперчера 01

О

О в,,

О в„

хюо

Рис. 5. Модель диспетчера

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

Вход

о-в,

Очередь \меЬ-сервера

02

БЗ

ТЗ

Т1

Т2

Обслуживание \web-сервера

Рис. 6. Модель узла кластерного \veb-cepBepa

На рисунке 7 показаны результаты, полученные в ходе имитационных экспериментов, а также их сравнение с результатами работы моделей существующих алгоритмов распределения нагрузки. На графике отображаются количество запросов к узлу и время их обслуживания. Для моделирования использовались следующие параметры TARR/1.0/, NNOD/16/, NFLS/500/, Th/Ю.О/, Т1/5.0/. Как видно из представленных на рисунке 7 графиков разработанный алгоритм распределения нагрузки обеспечивает повышение производительности в среднем на 35 % по сравнению с алгоритмом WRR (Weighted Round Robin) и на 55 % по сравнению с алгоритмом LARD (Locality Aware Request Distribution).

-♦- Разработанный алгоритм -o-WRR LARD

7,5 -о 7-1 2 6,5 -к 6 -. i 5,5 - К зс V 5 га 5 -о 5 4,5 -ml 4 -Ш 1 3,55 з - io 2,5 - 0 т .

Я

. -—♦—----

---

150 335 425 512 Количество запросов/с

Рис. 7. Сравнительные результаты моделирования различных алгоритмов распределения нагрузки

На рисунке 8 показаны сравнительные результаты работы предлагаемого алгоритма и стандартных алгоритмов LARD и WRR. Экспериментально установлено, что при использовании разработанного алгоритма время ожидания при 90% загрузке web-севера не превышает 2-х секунд, в то время как для алгоритма WRR оно составляет приблизительно 7 секунд, а для алгоритма LARD - около 20 секунд.

Время ожидания (сек)

Рис.8. Сравнительные результаты работы предлагаемого алгоритма и стандартных алгоритмов LARD и WRR

В приложениях приведены языки сетевых моделей MDL и MCL, текст программной реализации для алгоритма КЗА на кластере компьютеров.

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

Основные результаты и выводы

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

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

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

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

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

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

5. Предложена методика расчета времени обслуживания для различных категорий ресурсов web-систем.

6. Результаты имитационного моделирования показали, что разработанный алгоритм даёт выигрыш производительности на 35 % по сравнению с алгоритмом WRR (Weighted Round Robin) и на 55 % по сравнению с алгоритмом LARD (Locality Aware Request Distribution).

7. Экспериментально установлено, что при использовании разработанного алгоритма время ожидания загрузки не превышает 2-х секунд, в то время как для алгоритма WRR оно составляет приблизительно 7 секунд, а для алгоритма LARD - около 20 секунд.

8. Результаты диссертационной работы внедрены в учебный процесс кафедры "Информатика и программное обеспечение вычислительных систем" Московского государственного института электронной техники (технический университет).

Основные результаты диссертационной работы представлены в следующих публикациях:

1. Зар Ней Лин. Управление распределением нагрузки в Web-сервере на кластере компьютеров. // Международная школа-конференция (по приоритетному направлению «Информационно-телекоммуникационные системы» с участием молодых ученых, аспирантов и студентов стран-членов СНГ) - М.: МИЭТ, 2005.-С. 18.

2. Зар Ней Лин. Исследование способов распределения нагрузки в кластерных Web-серверах. // Материалы XV всероссийской научно-технической конференции "Информационные технологии в науке, проектировании и производстве". - Нижний Новгород, ННИМЦ «Диалог», 2005. -С. 33.

3. Зар Ней Лин. Алгоритм распределения нагрузки для кластерных Web-серверов. // 13-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2006". - М.: МИЭТ, 2006. -С. 196.

4. Зар Ней Лин. Моделирование модели входной нагрузки Web-сервера на основе математического аппарата сетей Петри. // Материалы XVII всероссийской научно-технической конференции "Информационные технологии в науке, проектировании и производстве". - Нижний Новгород, ННИМЦ «Диалог», 2007. -С. 10.

5. Гагарина Л.Г., Зар Ней Лин. Имитационная модель входной нагрузки Web-сервера. // Сборник научных трудов под ред. Бар-хоткина В.А. - М.: МИЭТ. 2008. -С. 202-204.

6. Зар Ней Лин. Исследование алгоритма распределения нагрузки для кластерных Web-серверов. // "Оборонный комплекс - научно-техническому прогрессу России" - М.: ВИМИ. ISSN 17296552, № 4, 2007. -С. 46-48.

7. Зар Ней Лин. Разработка модели Интернет трафика и алгоритмы распределения нагрузки в кластерах Web-серверов. //XI Московская международная телекоммуникационная конференция студентов и ученых «Молодежь и наука». Часть 2 - М.: МИФИ, 2008. -С. 89-90.

8. Зар Ней Лин. Исследование имитационной модели входной нагрузки web-сервера. // 15-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2008" - М.: МИЭТ, 2008. -С. 156.

9. Зар Ней Лин. Разработка имитационной модели Интернет-трафика для Web-серверов. // "Естественные и технические науки". ISSN 1684-2626, № 4, 2008. -С. 325-327.

Заказ Тираж 90 экз. Уч.-изд. л.^Л>ормат 60x84 1/16 Отпечатано в типографии МИЭТ 124498, Москва, МИЭТ

Оглавление автор диссертации — кандидата технических наук Зар Ней Лин

СПИСОК СОКРАЩЕНИЙ

ВВЕДЕНИЕ

1. АНАЛИЗ АРХИТЕКТУРЫ КЛАСТЕРНЫХ WEB-CEPBEPOB

Особенности архитектуры кластерных web-серверов

1 .'1.1. Архитектура кластерных систем

1.1.2. Области применения кластерных систем

1.1.3. Преимущества кластерных web-серверов

1.2. Классификация кластерных web-серверов

1.2.1. Классификация по способам маршрутизации

1.2.2. Классификация по способам распределения нагрузки

1.2.3. Классификация по способам кэширования данных

ВЫВОДЫ

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

2.1. Анализ алгоритмов распределения нагрузки кластерных web-серверов

2.1.1. Общая характеристика алгоритмов распределения нагрузки—

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

2.1.3. Алгоритмы распределения нагрузки седьмого уровня модели OSI

2.2. Разработка контентно-зависимого алгоритма распределения нагрузки

2.2.1. Общая характеристика алгоритма

2.2.2. Формальное описание алгоритма

2.2.3. Анализ сценариев работы алгоритма

2.3. Анализ производительности контентно-зависимого алгоритма распределения нагрузки

2.3.1. Аналитическая модель алгоритма

ВЫВОДЫ

3. ПОДСИСТЕМА РАСПРЕДЕЛЕНИЯ НАГРУЗКИ ДЛЯ КЛАСТЕРНОГО WEB-CEPBEPA

3.1. Структура подсистемы распределения нагрузки

3.1.1. Общая структура

3.1.2. Узел распределения нагрузки

3.1.3. Узел предварительного кэширования

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

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

3.2.2. Общие процедуры MPI (Интерфейс передачи сообщения)

3.2.3. Реализация подсистемы распределения нагрузки

ВЫВОДЫ

4. ИССЛЕДОВАНИЕ ПОКАЗАТЕЛЕЙ ФУНКЦИОНИРОВАНИЯ WEB-CEPBEPA НА ИМИТАЦИОННОЙ МОДЕЛИ

4.1. Математический аппарат имитационного моделирования

4.1.1. Сети Петри

4.1.2. Расширенные сети Петри

4.2. Имитационная модель входной нагрузки

4.2.1. Характеристика входной нагрузки web-сервера

4.2.2. Имитационная модель входной нагрузки

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

4.3.1. Модель диспетчера web-сервера

4.3.2. Модель узла web-сервера

4.3.3. Результаты имитационных экспериментов

ВЫВОДЫ

Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Зар Ней Лин

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

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

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

Теоретическим исследованиям и разработке фундаментальных основ распределения нагрузки, созданию математического аппарата, моделей и методов для автоматизированного распределения нагрузки в кластерных web-cepBepax посвящены труды видных ученых R. Mukherjee, G. Banga, V. Cardellini, Е. Casalicchio и многих других.

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

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

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

В соответствии с указанной целью в работе решаются следующие задачи:

- анализ архитектуры кластерных web-серверов;

- разработка контентно-зависимого алгоритма (КЗА) распределения нагрузки;

- анализ производительности КЗА распределения нагрузки;

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

- имитационное моделирование и экспериментальное исследование показателей функционирования кластерного web-сервера.

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

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

В процессе работы над диссертацией получены следующие новые научные результаты:

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

2. Разработана имитационная модель подсистемы распределения нагрузки для кластерного web-сервера на основе математического аппарата расширенных сетей Петри. Результаты работы имитационной модели подтверждают, что разработанный алгоритм обеспечивает повышение производительности на 35 % по сравнению с алгоритмом WRR и на 55 % по сравнению с алгоритмом LARD.

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

4. Предложена методика расчета времени обслуживания для различных категорий ресурсов web-систем.

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

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

Разработанный алгоритм обеспечивает повышенную отказоустойчивость, производительность и надежность Web-cepBepa, а также снижение времени ответа кластерного Web-сервера. Разработанный алгоритм даёт выигрыш производительности на 35 % по сравнению с алгоритмом WRR (Weighted Round Robin) и на 55 % по сравнению с алгоритмом LARD (Locality Aware Request Distribution). Фактически, при использовании разработанного алгоритма время ожидания не превышает 2-х секунд, в то время как для алгоритма WRR оно составляет приблизительно 7 секунд, а для алгоритма LARD -приблизительно 20 секунд.

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

Личный вклад автора. Все основные результаты диссертационной работы получены лично автором, в частности:

1. Исследованы архитектуры кластерных web-серверов и проведена их классификация.

2. Разработан контентно-зависимый алгоритм распределения нагрузки кластерного web-сервера.

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

4. Создана программа реализации подсистемы распределения нагрузки на кластере компьютеров.

5. Разработана имитационная модель входной нагрузки web-сервера.

6. Разработана имитационная модель распределения нагрузки для кластерного web-cepBepa.

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

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

1. Контентно-зависимый алгоритм распределения нагрузки для кластерного web-cepBepa.

2. Формализованное представление входной нагрузки кластерного web-сервера.

3. Программная реализация алгоритма распределения нагрузки кластерного web-cepBepa.

4. Имитационная модель подсистемы распределения нагрузки кластерного web-cepBepa.

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

Апробация работы и публикации. Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях:

1. Международная школа-конференция (по приоритетному направлению «Информационно-телекоммуникационные системы» с участием молодых ученых, аспирантов и студентов стран-членов СНГ) - Москва, МИЭТ, 2005.

2. 13-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2006" -Москва, МИЭТ, 2006.

3. 14-я Всероссийская межвузовская научно-техническая конференция студентов и аспирантов "Микроэлектроника и информатика - 2007" -Москва, МИЭТ, 2007.

4. XI Московская международная телекоммуникационная конференция студентов и ученых «Молодежь и наука» - Москва, МИФИ, 2008.

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

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

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

ВЫВОДЫ

Разработана имитационная модель подсистемы распределения нагрузки, использующей предложенный алгоритм КЗА, представленный в главе 2, на основе математического аппарата сетей Петри. Эксперименты с моделями выполнены при помощи программного средства моделирования Winsim.

Создана имитационная модель подсистемы распределения нагрузки для кластерного web-cepBepa на основе математического аппарата сетей Петри. Для получения пульсирующего трафика предлагается использовать в модели суперпозицию четырех IPP-источников, причем каждый IPP-источник охватывает различный интервал времени — от секунд до дней. Представлена имитационная модель алгоритма распределения нагрузки на основе формального математического аппарата сетей Петри. Данные результатов экспериментов совпали с данными, полученными с помощью аналитической модели.

Результаты проведенных имитационных эксперимертов подтвердили, что алгоритм КЗ А улучшает работу web-кластера на 35 % по сравнению с алгоритмом WRR и на 55 % по сравнению с LARD. Фактически, при 90-процентном времени ожидания страницы, при использовании алгоритма КЗА время ожидания страницы меньше, чем 2 секунды, в то время ожидания страницы равно приблизительно 7 секунд для алгоритма WRR и приблизительно 20 секунд для алгоритма LARD.

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

5. Предложена методика расчета времени обслуживания для различных категорий ресурсов web-систем.

6. Результаты имитационного моделирования показали, что разработанный алгоритм даёт выигрыш производительности на 35 % по сравнению с алгоритмом WRR (Weighted Round Robin) и на 55 % по сравнению с алгоритмом LARD (Locality Aware Request Distribution).

7. Экспериментально установлено, что при использовании разработанного алгоритма время ожидания загрузки не превышает 2-х секунд, в то время как для алгоритма WRR оно составляет приблизительно 7 секунд, а для алгоритма LARD - около 20 секунд.

8. Результаты диссертационной работы внедрены в учебный процесс кафедры "Информатика и программное обеспечение вычислительных систем" Московского государственного института электронной техники (технический университет).

Библиография Зар Ней Лин, диссертация по теме Автоматизация и управление технологическими процессами и производствами (по отраслям)

1. Либман Л. Философия распределения нагрузки // Журнал сетевых решений LAN, 2000, с. 225.

2. Robert J.S. Windows Server 2003 Clustering & Load Balancing Hill .: Osborne McGraw.

3. Clark D., Blumenthal M. Rethinking the design of the Internet // The end to end arguments vs. the brave new world, August 2000.

4. Mcllraith S.T., Zeng Т.Н. Semantic Web Services // IEEE Intelligent Syestems, March/April 2001.

5. Stevens W.R. TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols.

6. Либман Л. Философия распределения нагрузки // Журнал сетевых решений LAN, 2001, с. 350.

7. Cardellini V., Casalicchio Е., Colajanni М., Yu P.S. The State of the Art in Locally Distributed Web-server Systems // IBM Research Report, 2001, October.

8. Cardellini V., Colajanni M., Yu P.S. High-Performance Web-server Systems // IEEE Internet Computing, 1999, May-June.

9. Hunt G., Goldszmidt G., King R., Mukherjee R. Network Dispatcher: a connection router for scalable Internet service // Computer Networks and ISDN Systems, 1998, vol. 30.

10. Joseph G.D., Thomas F.L. Microsoft Windows Server 2003 TCP/IP Protocols and Services.

11. Richard W.S., Gary R.W. TCP/IP Illustrated Volume 2: The Implementation.

12. Hunt G., Nahum E., Tracey J. Enabling content-based load distribution for scalable services // Technical report, IBM T.J. Watson Research Center, 1997, May.

13. VeriSign fends off critics at ICANN confab. CNET News.com. Retrieved on 2007-09-22.

14. Mockapetris P. Domain Names Implementation and Specification.

15. Shivaratri N.G., Rrueger P., Singhal M. Load distributing for locally distributed systems // IEEE Computer, Dec. 1992, vol. 25, p. 33-44.

16. Postel J. R. File Transfer Protocol (FTP). Oct-1985.

17. Stierhoff G.C., Davis A.G. A History of the IBM Systems Journal // IEEE Annals of the History of Computing, Jan. 1998, vol. 20, № 1, p. 29-35.

18. Barish G., Obraczrf K. World Wide Web Caching: Trends and Techniques // IEEE Commun. Mag., 2000, vol. 38, no. 5. p. 178-184.

19. Cao P., Liu C. Maintaining Strong Cache Consistency in the World Wide Web // IEEE trans. Сотр., 1998, vol. 47, no. 4, p. 445-457.

20. Tewari R., Dahlin M., Vin H. Ray J. Design Considerations for Distributed Caching on the internet // Proc. 19th Conf on Distributed Computing Systems, IEEE, 1999. p. 273-284.

21. Wolman A., Voelker G., Sharma N., Cardwell N., Rarlin A., Levy H. On the scale and performance of Cooperative Web Proxy Caching // Proc. 17 Symp. Operating System Principles, ACM, 1999, p. 16-31.

22. Cao, P., Zhang J., and Beach K. Active Cache: Caching Dynamic Contents on the Web // Proc. Middleware '98. IFIP, 1998. p. 373-388.

23. Leighton F., Lewin D. Global Hosting System // United States Patent, № 6, Aug. 2000, p. 108.

24. Casavant T.L., Kuhl. J.G. A taxonomy of scheduling in general-purpose distributed computing systems // IEEE Trans. Softw. Eng., 1988, vol. 14, p. 141154.

25. Shirazi B.A., Hurson A.R., Ravi K.M. Scheduling and Load Balancing in Parallel and Dstributed Systems // IEEE Computer Soc., 1995, vol. 5, p. 120-130.

26. Shivaratri N.G., Rrueger P., Singhal M. Load distributing for locally distributed systems // IEEE Computer, Dec. 1992, vol. 25, p. 33-44.

27. Wang Y.T., Morris R.J. Load sharing in distributed systems // IEEE Trans. Computer, Mar. 1985, vol. 34, p. 204-217.

28. Kremier O., Kramer J. Methodical analysis of adaptive load sharing algorithms // IEEE Trans. Parall. Distrib. Syst., Nov. 1992, vol. 3, p. 747-760.

29. Dahlin M. Interpreting stale load information // IEEE Trans. Parall. Distrib. Syst., Oct. 2000, vol. 11, p. 1033-1047.

30. Cisco Systems. 2002. http://www.cisco.com.

31. F5 Networks. 2002. http://www.f5labs.com.

32. Linux Virtual Server project, http://www.linuxvirtualserver.org.

33. Foundry Networks. 2002. Foundry networks server iron. http://www.foundrynet.com/products/webswitches/serveriron.

34. Hunt G.D., Goldszmidn G.S., King R.P., Murherjee R. Network Dispatcher: A connection router for scalable Internet services // Computer Networks, 1998, vol. 30, p. 347-357.

35. Douglas E.C. Internetworking with TCP/IP: Principles, Protocols, and Architecture, 5th .: Prentice Hall., 2006.

36. Hunt G.D., Goldszmidn G.S., King R.P., Murherjee R. Network Dispatcher: A connection router for scalable Internet services // Computer Networks, 1998, vol. 30, p. 347-357.

37. Crovella M.E., Bestavros A. Self similarity in World Wide Web traffic: Evidence and possible causes // IEEE/ACM Trans. Networking, Dec. 1997, vol. 5, p. 835-846.

38. Harchol-Balter M., Crovella M.E., Murta C.D. On choosing a task assignment policy for a distributed server system // Parallel and Distributed Computing, 1999, vol. 59, p. 204-228.

39. Casalicchio E., Colajanni M. A client-aware dispatching algorithm for Web clusters providing multiple services // In Proceedings of the 10th International World Wide Web Conference (Hong Kong, May), ACM Press, New York, 2001, p. 535-544.

40. Stallings W.R. The Origins of OSI, 1998.

41. Charles W.B. Finding Aid. ANSI/SPARC/DISY // Charles Babbage Institute Center for the History of Information Technology, University of Minnesota.

42. David P., Garth A.G., Randy K. A Case for Redundant Arrays of Inexpensive Disks (RAID) // SIGMOD Conference, 1988, p. 109 -116.

43. ANSI Draft SASI Standard, Rev D, February 17, 1982, pg. ii states, "9/15/81 first presentation to ANSI committee X3T9-3 (2 weeks following announcement in Electronic Design)."

44. Microsoft Security Bulletin MS06-007: Vulnerability in TCP/IP Could Allow Denial of Service (913446).

45. International Technical Support Organization RS/6000 SP: Practical MPI Programming. August 1999.

46. Костин А.Е., Илюшечкина JI.B. Модифицированные Е-сети для исследования систем распределенной обработки информации // Автоматика и вычислительная техника, 1988, № 6, с. 27 35.

47. Arlitt М., Wiliamson С. Web Server Workload Characterization: The search for Invariants // Proc. ACM '96 SIGMETRICS Conf. Measurement Comput. Syst., Philadelphia, Pennsylvania, May 1996, p. 126 137.

48. Crovella M., Btstavros A. Self-Similarity in World Wide Web Traffic: Evidence and Possible Causes // IEEE/ACM Transactions on Networking, Dec. 1997.

49. Lenland W., Taqqu M., Willinger W., Wilson D. On the Self-Similar Nature of Ethernet Traffic // IEEE/ACM Trans. Commun. Techno., Feb. 1994.

50. Banga G., Druschel P. Measuring the Capacity of a Web Server // Proc. USENIX Symp. Internet Technol. Syst., Monterey, California, Dec. 1997.

51. V.S. Pai, M. Aron, G. Banga, M. Svendsen, P. Druschel, W. Zwaenepoel, E. Nahum. Locality-aware request distribution in cluster-based network servers // In Proc. of 8th ACM Conf. on Arch. Support for Progr. Languages, San Jose, CA, Oct. 1998.

52. G.D.H. Hunt, G.S. Goldszmidt, R.P. King, R. Mukherjee. Network Web switch: A connection router for scalable Internet services // Proc. of 7th Int. World Wide Web Conf., Brisbane, Australia, April. 1998.