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

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

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

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

Рахман Павел Азизурович

РАЗРАБОТКА МЕТОДИКИ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ

ИСПОЛЬЗОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСОВ ПРИ ПРИМЕНЕНИИ ТЕХНОЛОГИИ ВИРТУАЛЬНЫХ МАШИН

Специальность: 05.13.13 "Телекоммуникационные системы и компьютерные сети"

АВТОРЕФЕРАТ

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

Москва - 2005

Работа выполнена на кафедре Вычислительных машин, систем и сетей Московского Энергетического Института (Технического университета).

Научный руководитель: кандидат технических наук, профессор

Ладыгин Игорь Иванович

Официальные оппоненты: доктор технических наук, профессор

Топорков Виктор Васильевич

кандидат технических наук, доцент

Бурцев Александр Борисович

Ведущая организация: Московский технический университет

связи и информатики

Защита состоится 1 апреля 2005 г. в 16 час. 00 мин. на заседании Диссертационного совета Д 212.157.01 при Московском энергетическом институте (Техническом университете) по адресу: 111250, г. Москва, ул. Красноказарменная, д. 17, ауд. Г-306.

С диссертацией можно ознакомиться в библиотеке Московского энергетического института (Технического университета).

Отзывы в двух экземплярах, заверенные печатью организации, просьба направлять по адресу: 111250, г. Москва, ул. Красноказарменная, д. 14, Ученый совет МЭИ (ТУ).

Автореферат разослан 2005 г.

Ученый секретарь

Диссертационного совета Д 212.157.01

к.т.н. профессор

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

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

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

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

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

Основные задачи диссертации.

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

• Анализ существующих моделей распределения ресурсов.

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

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

• Разработка программной реализации алгоритма поиска оптимального распределения логических серверов по компьютерам.

• Экспериментальное исследование при помощи разработанной методики и программного обеспечения.

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

Научная новизна работы заключается в следующем:

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

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

Практическая ценность работы состоит в следующем:

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

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

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

Основные научные положения, выносимые на защиту:

• Методика реорганизации серверного парка с целью повышения эффективности использования вычислительных ресурсов при применении технологии виртуальных машин.

• Математическая модель задачи поиска оптимального распределения логических серверов по компьютерам и метод ее решения.

Апробация и внедрение результатов работы. Результаты работы докладывались и обсуждались на международном форуме информатизации МФИ-2004 "Информационные средства и технологии". Результаты работы были внедрены в производственный процесс отдела системных и сетевых технологий Информационно-Вычислительного Центра МЭИ (ТУ), а также использовались при выполнении учебных научно-исследовательских работ и в дипломных проектах студентов кафедры Вычислительных машин, систем и сетей МЭИ (ТУ).

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

Структура и объем работы.

Основная часть диссертации состоит из введения, четырех глав и заключения и содержит 170 страниц машинописного текста, 33 рисунка и 21 таблицу. Список литературы включает 70 наименований. Дополнительная часть содержит 6 приложений, в том числе исходные тексты программного обеспечения, акт о внедрении. Общий объем приложений составляет 220 страниц машинописного текста, включая 44 рисунка и 55 таблиц.

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

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

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

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

- уровень изоляции логических серверов;

- сетевая и антивирусная безопасность серверного парка;

- надежность функционирования серверного парка;

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

На сегодняшний день существуют пять основных подходов:

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

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

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

• применение адекватных аппаратных решений;

• применение технологии виртуальных машин.

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

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

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

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

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

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

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

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

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

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

Таким образом, во второй части главы сделан вывод о необходимости разработки новой математической модели.

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

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

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

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

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

На рисунках 1 и 2 приведены схемы алгоритмов для первого и второго этапа реорганизации серверного парка.

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

Отметим несколько ключевых моментов для обоих этапов.

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

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

- множество компьютеров парка и базовые уровни их ресурсов;

- множество логических серверов и их требования к ресурсам;

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

- требования базовой операционной системы;

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

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

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

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

Рис. 1. Схема алгоритма для первого этапа реорганизации

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

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

Входными данными математической задачи являются:

- множество типов ресурсов {3?,}, 1 = 1 ..N0, где N0 - число типов ресурсов;

- множество компьютеров {Н|(}, к = 1.ЛЧН, где N11 - число компьютеров, и матрица базовых уровней ресурсов {И^}, 1 = 1 ..N0, к = 1 .^Н, компьютеров;

- множество логических серверов = 1..№, где N8 - число логических серверов, и матрица требований {(^у}, 1 = 1 ..N0, j = 1 ..N8, серверов;

- вектор требований {V,}, 1 = 1 ..N0, базовой операционной системы;

- дополнительная булева матрица ограничений {Е^}, ё = 1 ..МХ, j = 1 ..N8, где NX - число дополнительных ограничений. Строки матрицы соответствуют группам логических серверов, столбцы соответствуют логическим серверам, если элемент Е^ равен 1, то это означает, что ^й логический сервер входит в ё-ую группу. Для логических серверов, входящих в конкретную группу не допускается их размещение на одном и том же компьютере;

- булев вектор маски {О^ . Если элемент 01 равен 1, то это означает, что по 1-му типу ресурса необходимо проводить оптимизацию.

Основными выходными данными задачи являются: булева матрица распределения {Х^}, к = 1.ЛЧН, j = 1.ЛЧ8, логических серверов по компьютерам. Если элемент Х^ равен 1, то это означает, что ^й логический сервер распределен на к-й компьютер.

Вторичными выходными данными задачи являются:

- матрица загрузки ресурсов компьютеров {г)к|}, к - 1..МН, 1 = ^.N0, которая достаточно просто вычисляется по исходным данным и матрице распределения логических серверов по компьютерам;

- множество { Кцем} 6 {Нк} незадействованных компьютеров и множество логических серверов которые не удалось никуда распределить, и которые достаточно просто определяются по матрице распределения.

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

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

Разработанная модель задачи состоит из следующих компонент: • для каждого k-го компьютера, k = 1..КН, должны выполняться ограничения по ресурсам и дополнительные ограничения для исключения возможности размещения определенных логических серверов на один компьютер:

(1)

для каждого .¡-го логического сервера, ] = 1..№, должны соблюдаться ограничения о том, что логический сервер может быть размещен на один и только один компьютер:

(2)

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

(3)

где, - неизвестное множество индексов компьютеров, которые

должны быть задействованы в соответствии с оптимальным распределением.

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

Предложен следующий подход к решению исходной задачи в целом: - вводится некоторый, так называемый "большой шаг", обозначаемый буквой Т. Вводится множество индексов {К(Т)} компьютеров, оставшихся незадействованными на шаге Т. Вводится множество индексов {1(Т)} логических серверов, оставшихся нераспределенными на шаге Т. Очевидно, на нулевом шаге Т = О, {К(0)} = {1,...,ОТ}, {1(0)} = {1,...,Ш}. Считаем, что логические серверы отделены от компьютеров, переведены на виртуальную платформу, и требуется поиск их нового распределения по компьютерам;

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

(4)

на каждом шаге Т последовательно рассматриваются все компьютеры с индексами оставшиеся к моменту шага Т, и выбирается тот, для

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

(5)

где, Lmax (Т, к) - оптимальное значение целевой функции на шаге Т при решении подзадачи для k-го компьютера.

Lk» (Т) - наивысшее оптимальное значение целевой функции на шаге Т среди значений Lraax (Т, к) для всех к е {К(Т)}

В условии (5) особенно важно условие того что L^» (Т) не должно быть нулевым, это гарантирует, что на шаге Т хотя бы один логический сервер распределится и хотя бы один компьютер будет задействован. Если Ц» (Т) = О, то это означает, что дальнейшее распределение логических серверов невозможно и решение исходной задачи должно быть прекращено.

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

{K(r+i)}={wm*

{лт+\)}=т№*} ()

где, - множество индексов логических серверов, которые были

распределены на f-й компьютер. Если в результате преобразования (3.4), множество К(Т + 1) или J(T + 1) окажется пустым, то решения задачи завершается, в противном случае переход к шагу Т + 1.

На рисунке 3 представлена схема алгоритма решения задачи в целом.

Рис. 3. Схема алгоритма решения задачи в целом

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

(7)

где, N - число переменных, М - число ограничений. Матрица {ау}, 1 = 1 ..М,] = 1 .ЛЧ, - левая часть, авектор {Ь]}, 1 = 1..М, - правая часть ограничений. Вектор 1..Ы, - коэффициенты целевой функции.

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

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

(8)

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

Модель (8) задачи условной псевдобулевой оптимизации формируется из модели (4) подзадачи для рассматриваемого k-го компьютера в рамках текущего "большого шага" Т, с помощью следующих несложных формул:

М = МС+1ч%^|{] СЩ

Для всех] = 1.. .К и д = ¡-й элемент из {1(Т)|:

• Для всех1 = 1.. .N0: ау = ч; = -

• Для всех1 = ЫС + 1.. Ж + №С: а^ = Е,_мс,ч; Ь\ = 1;

Здесь особо следует отметить, что модель (8) формируется только в случае, если для любого 1 = 1.К: Яц - V, > 0. В противном случае, очевидно, что логические серверы не могут быть распределены на заданный компьютер в силу явной нехватки по одному или нескольким типам ресурса компьютера, и подзадачу нет смысла решать.

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

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

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

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

Таким образом, используя предложенные методы решения задачи поиска распределения и подзадач условной псевдобулевой оптимизации, мы можем получить матрицу распределения {Х^}, k=l...NH, j=l...NS, логических серверов по компьютерам.

Тогда, используя матрицу распределения несложно также

вычислить матрицу загрузки ресурсов компьютеров k = 1.ЖИ, i = 1

для оценки загрузки ресурсов:

ЛЩ ХуО.--

I 1 4 , если : П.. - V. >0 7 = 1%-^ й ' (9)

Чг

О, в противном случае

Наконец, достаточно очевидно, что множество индексов незадействованных компьютеров {Ки;м} - это и есть множество индексов

оставшихся компьютеров на последнем "большом шаге" алгоритма решения задачи поиска распределения.

Аналогично, = Р(Ткпм)} - множество индексов логических

серверов, оставшихся нераспределенными.

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

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

определяется тем, что сам метод локального поиска обладает сходимостью. Введенные усложнения метода локального поиска - множество стартовых точек (MS) и управляемый радиус зон поиска (MR) - влияют на объем перебора, но не делают его бесконечным.

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

Х-\(

I \{ЫН-Т)*М5

т = о{

Ш = ГП1П1

(Л®-Г)

V

* Ж -Т) + 1Г0(уЖ- Т)

(10)

№ - Т,МЯ),Я = гат(ЛИ, Л»)

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

р = о

(И)

Соответственно, W1 - число точек во всех зонах поиска, кроме первой, и оно вычисляется по следующей формуле:

(12)

Получить сумму ряда (10) в общем виде не представляется возможным. Тем не менее, были получены некоторые приближенные оценки зависимости объема перебора от тех или иных параметров. Объем перебора полиномиально зависит от числа компьютеров ^Щ. Объем перебора полиномиально ~0(МБ) зависит от числа стартовых точек (Мв). Объем перебора полиномиально ~0(^МК+1) зависит от числа логических серверов (N8) при малых значениях радиуса зон поиска (МЫ « N8), и экспоненциально -0(2^) при MR = Ш.

Также получена оценка нижней границы качества решения в зависимости от радиуса зон поиска (MR) и от числа логических серверов (№), но только для случая одного компьютера (NH=1), путем анализа решения нескольких представительных примеров с последующим обобщением результатов анализа. Введено понятие точности, как отношение загрузки ресурсов компьютера при субоптимальном решении (распределении логических серверов на компьютер), к загрузке ресурсов компьютера, достигаемых в глобальном оптимуме. Соответственно, получены 2 оценки для наихудшего случая исходных данных: При отсутствии дополнительных ограничений (матрицы {Е^} ):

( мя г

(13)

|^е[0,1],ЛВ>3,Мйе[1,Л«-2]

При наличии дополнительных ограничений:

С

^ е [ОД], Л« > 3, Л/Л е [1, ТУХ - 2]

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

В первой части главы выполнен обзор современных подходов к разработке прикладного программного обеспечения, а также рассмотрены требования, предъявляемые к разрабатываемым программам. В соответствии с ними в рамках диссертации было разработано Windows-приложение в среде Delphi 7.0, которое во второй части главы кратко описано.

В третьей части главы описаны экспериментальное исследование и полученные результаты. Проведено экспериментальное исследование по оценке времени решения задач в зависимости от ее размерности. В частности, на рисунке 4 приведен график зависимости времени решения от числа компьютеров, а на рисунке 5 график зависимости времени решения от числа логических серверов при радиусе зон поиска равном 1 (MR =1) и при прочих неизменяемых исходных данных задачи. Результаты экспериментального исследования подтвердили оценки объема перебора, полученные аналитическим путем в третьей главе.

t, сек

5 10 15 20 25

Рис. 4. График зависимости времени решения от числа компьютеров

Рис. 5. График зависимости времени решения от числа логических серверов

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

Далее рассмотрено несколько производственных задач. Сравнение результатов решения задач при помощи программного инструмента и вручную наглядно показало существенное преимущество качества получаемых решений при использовании программного инструмента, реализующего алгоритм решения задачи поиска распределения, предложенного в главе 3. В частности, в одной из задач было задано 15 логических серверов, работающих на 15 компьютерах. При использовании методики и разработанной программы удалось обойтись всего 6 задействованными компьютерами (сокращение в 2,5 раза). При попытке решения этой же задачи вручную требовалось 9 задействованных компьютеров (сокращение только в 1,66 раза).

Проведена оценка качества решений в зависимости от радиуса зон поиска (МЯ) и числа логических серверов (N8) на ряде модельных примеров, исходные данные которых выбирались из соображений наихудшего случая. Результаты экспериментов подтвердили оценки нижней границы точности, выведенные в третьей главе. В частности в таблице 1 приведены результаты одной из серии экспериментов по оценке точности субоптимальных решений при различных радиусах зон поиска (МЯ) при отсутствии дополнительных ограничений.

Таблица 1

X 1 2 3 10 17 18 19

Загрузка ресурса при 50% 66,67% 75% 90,91% 94,45% 94,74% 95%

Загрузка ресурса при МИ =N8 100% 100% 100% 100% 100% 100% 100%

Точность субоптимального решения 0,5 0,6667 0,75 0,9091 0,9445 0,9474 0,95

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ.

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

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

20

огл - р*. /з

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

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

• Разработана программная реализация алгоритма решения задачи поиска оптимального распределения логических серверов по компьютерам.

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

Основные положения диссертационной работы изложены в 4-х

печатных изданиях.

• Рахман ПА. Подходы к повышению эффективности использования вычислительных ресурсов корпоративных сетей // Труды международной конференции "Информационные средства и технологии". - М.: Янус-К, 2004.-Т. 3. -С. 120-121.

• Рахман П.А. Использование методов дискретной оптимизации для решения задач распределения ресурсов при применении технологии виртуальных машин в корпоративных сетях // Труды международной конференции "Информационные средства и технологии". - М.: Янус-К, 2004. - Т. 3. - С. 122-123.

• Рахман ПА. Проблемы переноса современных операционных систем с реальной аппаратной платформы на виртуальную // Труды международной конференции "Информационные средства и технологии". - М: Янус-К, 2004. - Т. 3. - С. 124-125.

• Рахман П.А. Концептуальный подход к повышению эффективности использования вычислительных ресурсов корпоративных сетей при применении технологии виртуальных машин // Объединенный научный журнал. - М: Тезарус, 2005. - №2. - С. 59-67.

Подписано в печать Полиграфический центр МЭИ (ТУ) Красноказарменная ул., д. 13

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

Основные термины, обозначения и сокращения.

Введение.

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

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

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

1.1.1. Использование ресурсов для внутренних задач.

1.1.2. Использование ресурсов для задач сторонних организаций.

1.1.3. Применение адекватных аппаратных решений.

1.1.4. Объединение сервисов и снижение числа серверных ОС.

1.1.5. Применение технологии виртуальных машин.

1.2. Обзор моделей распределения ресурсов.

1.2.1. Традиционные модели распределения ресурсов.

1.2.2. Современные модели распределения ресурсов.

Выводы по главе 1.

2. Разработка методики по реорганизации серверного парка.

2.1. Общий подход.

2.2. Подходы к сбору первичной информации.

2.2.1. Выбор типов ресурсов и размерностей для оценки их уровней.

2.2.2. Сбор информации по физическим компьютерам.

2.2.3. Сбор информации по логическим серверам.

2.2.4. Оценка требований базовой операционной системы.

2.2.5. Требования надежности функционирования серверного парка.

2.2.6. Выбор цели оптимизации.

2.3. Поиск распределения логических серверов на компьютеры.

2.4. Первичная и вторичная оценка распределения.

2.5. Первичная реорганизация серверного парка.

2.6. Оценка качества функционирования серверного парка.

2.7. Поиск причин неудовлетворительного функционирования.

2.8. Корректировочная реорганизация серверного парка.

2.9. Возврат к исходному состоянию или компромиссы.

Выводы по главе 2.

3. Разработка математической модели и метода решения задачи поиска распределения логических серверов по компьютерам.

3.1. Разработка математической модели.

3.2. Поиск метода решения.

3.2.1 Существующие методы решения поставленной задачи.

3.2.2 Предлагаемый вариант решения с разбиением на подзадачи.

3.2.3. Существующие приближенные методы решения подзадач.

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

3.3. Анализ характеристик предложенных методов.

Выводы по главе 3.

4. Программная реализация алгоритма поиска оптимального распределения

4.1. Требования к программной реализации.

4.2. Описание разработанного программного обеспечения.

4.3. Экспериментальное исследование и внедрение.^.

Выводы по главе 4.

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

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

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

Для конечных рабочих мест характерно то, что, как правило, для них выделяются компьютеры, которые в той или иной степени уступают по техническим параметрам компьютерам, используемых в парке серверов. Кроме того, пользователи используют множество приложений, которые могут на 100% загружать процессор, "съедать" всю оперативную память, помимо этого, пользователи часто размещают на своих персональных компьютерах данные, не относящиеся к работе (музыка, видео), которые могут занимать все дисковое пространство. Наконец, пользователи вправе считать и требовать, что все ресурсы их рабочего компьютера принадлежат задачам и приложениям, используемыми ими. В таких условиях, практически отсутствует возможность и, главное, целесообразность повышения загрузки ресурсов на рабочих компьютерах. Использование же серверов приложений, когда множество пользователей использует один мощный сетевой вычислительный ресурс для запуска своих приложений, частично решает проблему, но как, показывает практика, рабочие компьютеры все равно остаются достаточно сильно нагруженными. Наконец, по элементарным соображениям информационной безопасности недопустимо размещение каких-либо серверных функций или чужих приложений или данных на пользовательском компьютере.

Что же касается компьютеров серверного парка, то многолетняя практика эксплуатации серверных операционных систем и сетевых служб показала то, что на сегодняшний день большинство компьютеров серверного парка достаточно слабо загружены по ресурсам. Такая ситуация сложилась по следующей причине: рынок аппаратных решений развивается, стремительно и производители оборудования очень быстро отказываются поддерживать старое оборудование, которое можно было бы эффективно использовать для размещения некоторых серверных служб. Так, например, один из важнейших элементов хорошо защищенной корпоративной сети - контроллер домена, по сегодняшним меркам крайне малотребователен к ресурсам: 2-3% среднесуточной загрузки процессора класса Pentium, сетевой трафик — несколько десятков или сотен килобайт данных, которые передаются не постоянно, а однократно через определенные периоды (от 15 минут до 1 часа или даже реже), памяти требуется не более 64 МБ, дискового пространства требуется порядка 1-1.5 ГБ. В тоже время, по соображениям безопасности, на контроллере домена крайне не рекомендуется размещать какие-либо иные серверные службы (файловые ресурсы, WEB-серверы и т.д.), то есть одному лишь контроллеру со столь низкими требованиями необходим целый компьютер. Конечно, можно было бы подобрать адекватную конфигурацию компьютера для такого малотребовательного сервера, однако, тот же жесткий диск емкостью 1.5-2 Гб на сегодняшний день найти достаточно сложно, а новые диски такой емкости не производятся уже давно. Использовать старые диски 10-летней давности крайне неразумно и чревато: они могут выйти из строя в любой момент, а гарантии и техническая поддержка на них отсутствует. Наконец, любой разумный и ответственный человек вряд ли захочет связываться со столь рискованным и устаревшим оборудованием. В таких условиях, руководство фирмы вынуждено приобретать для сервера современные диски емкостью от 40 ГБ и выше, модули памяти емкостью от 256 МБ, современные процессоры, прекрасно осознавая, что большая часть каждого из ресурсов сервера будет безнадежно простаивать. Тем не менее, выход из данной ситуации есть - это применение технологии виртуальных машин, позволяющей функционировать нескольким операционным системам вместе со всеми ее службами - логическим серверам - на одном физическом компьютере. При этом с точки зрения безопасности в корпоративных сетях, обеспечивается максимальная изоляция каждой ОС вместе с ее службами от остальных ОС, они просто разделяют одни и те же аппаратные средства. Таким образом, серверный парк со слабой загрузкой ресурсов может быть существенно оптимизирован, что в конечном счете должно привести к уменьшению объема используемого оборудования и затрат на его поддержку. Кроме того, освободившееся оборудование может быть использовано для получения дополнительной прибыли. Данная диссертация посвящается разработке методики повышения эффективности использования ресурсов компьютеров.

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

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

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

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

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

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

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

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

• Разработана программная реализация алгоритма решения задачи поиска оптимального распределения логических серверов по компьютерам.

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

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

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

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

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

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

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

Публикации. Опубликованы 4 статьи по теме диссертации:

• Рахман П.А. Подходы к повышению эффективности использования вычислительных ресурсов корпоративных сетей // Труды международной конференции "Информационные средства и технологии". - М.: Янус-К, 2004. - Т. 3.-С. 120-121.

• Рахман П.А. Использование методов дискретной оптимизации для решения задач распределения ресурсов при применении технологии виртуальных машин в корпоративных сетях // Труды международной конференции "Информационные средства и технологии". - М.: Янус-К, 2004. - Т. 3. - С. 122-123.

• Рахман П.А. Проблемы переноса современных операционных систем с реальной аппаратной платформы на виртуальную // Труды международной конференции "Информационные средства и технологии". - М.: Янус-К, 2004. - Т. 3.-С. 124-125.

• Рахман П.А. Концептуальный подход к повышению эффективности использования вычислительных ресурсов корпоративных сетей при применении технологии виртуальных машин // Объединенный научный журнал. - М.: Тезарус, 2005. - № 2. - С. 59-67.

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

Задано множество компьютеров {HJ, k=l.NH серверного парка. Каждый k-й компьютер предоставляет определенный набор ресурсов, базовые уровни которых заданы в виде множества {Rj,k}, i=l.NC, k=l.NH. Базовый уровень каждого i-ro типа ресурса представляет собой ключевую техническую характеристику определенной аппаратной компоненты k-го компьютера, например, R^ - емкость оперативной памяти, - емкость дисковой подсистемы, R3jk - пропускная способность сетевой подсистемы, R^k -вычислительная мощность процессора и т.д. Задано множество логических серверов {Sj}, j=l.NS, каждая из которых в любой момент времени функционирует на одном конкретном k-м компьютере. Каждый логический сервер для возможности его полноценного функционирования предъявляет определенный набор требований {Qy}, i=l.NC, j=l.NS, к вышеприведенному множеству ресурсов.

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

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

Выводы по главе 4

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

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

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

- Результаты экспериментов по'оценке времени решения задача подтвердили оценку объема перебора, полученную аналитическим путем в главе 3.

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

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

173

Заключение

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

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

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

В рамках диссертации получены следующие результаты:

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

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

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

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

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

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

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

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

176

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

1. Зубанов Ф.В. Microsoft Windows 2000. Планирование, развертывание, установка. - М.: ИТД "Русская Редакция", 2000.

2. Медведовский И.Д., Семьянов П.В., Платонов В.В. Атака через Интернет. — М.: НПО "Мир и семья-95", 1997.

3. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. 2-е изд. - СПб.: Издательский дом "Питер", 2004.

4. Олифер В.Г., Олифер Н.А. Сетевые операционные системы СПб.: Издательский дом "Питер", 2001.

5. Тормасов А. Виртуализация операционных систем // Открытые системы. -2002. -№ 1.-С. 15-22.

6. Гук М. Процессоры Intel: от 8086 до Pentium II. СПб.: "Питер Ком", 1997.

7. Гук М., Юров В. Процессоры Intel Pentium IV, Pentium III, AMD Athlon и Duron. — СПб.: Издательский дом "Питер", 2001.

8. Intel Corporation. Official site with technical documentation. Santa Clara: Intel Corporation, CA, USA, 2005. http://www.intel.com

9. VMware Inc. Official site with technical documentation. Palo Alto: VMware Inc., CA, USA, 2005. http://www.vmware.com

10. Костромин В. Виртуальный компьютер. Обмен данными с реальными миром // Открытые системы. 2001. - № 11. - С. 17-25.

11. Microsoft Corporation. Official site with technical documentation. Redmond: Microsoft Corporation, WA, USA, 2005. http://www.microsoft.com/technet

12. Гук M. Аппаратные средства IBM PC. Энциклопедия. 2-е изд. - СПб.: Издательский дом "Питер", 2002.

13. Беллман Р., Дрейфус С. Прикладные задачи динамического программирования. -М.: Наука, 1965.

14. Беллман Р., Калаб Р. Динамическое программирование и современная теория управления. — М.: Наука, 1969.

15. Бронштейн И.Н. Семендяев К.А. Справочник по математике для инженеров и учащихся втузов. 13-е изд. -М.: Наука, Гл. изд. физ-мат. лит., 1986.

16. Дж.П.Мюллер, И.Чоудри. Microsoft Windows 2000. Настройка и оптимизация производительности. / Пер. с англ. — М.: Изд. "Эком", 2001.

17. Стивен Норткатт, Джуди Новак. Обнаружение вторжений в сеть. / Пер. с англ. М.: Изд. "Лори", 2001.

18. Microsoft Press. Учебный курс MCSE Windows 2000 Server. / Пер. с англ. -М.: Изд. ИТД "Русская Редакция", 2000.

19. Сойер Б. Проектирование экспертных систем. — М.: Изд. "Наука", 1993.

20. Джеффри Рихтер. Windows для профессионалов / Пер. с англ. 4-е изд. — СПб.: Питер, 2004.

21. Еремин И.И., Астафьев Н.Н. Введение в теорию линейного и выпуклого программирования. -М.: Наука, 1979.

22. Карманов В.Г. Математическое программирование. — М.: Наука, 1986.

23. Пападимитриу X., Стайглиц К. Комбинаторная оптимизация. Алгоритмы и сложность -М.: Мир, 1985.

24. Антамошкин А.Н., Масич И.С. Эффективные алгоритмы условной оптимизации монотонных псевдобулевых функций // Вестник СибГАУ. — 2003.-№4.-С. 15-24.

25. Семенкина О.Э., Жидков В.В. Оптимизация управления сложными системами методом обобщенного локального поиска М.: Изд. "МАКС Пресс", 2002.

26. Барский А.Б. Параллельные процессы в вычислительных системах. Планирование и организация. М.: Радио и связь, 1990.

27. Головкин Б.А. Расчет характеристик и планирование параллельных вычислительных процессов. — М.: Радио и связь, 1983.

28. Гэри М.Р., Джонсон Д.С. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982.

29. Липаев В.В. Распределение ресурсов в вычислительных системах. М.: Статистика, 1979.

30. Михалевич B.C., Кукса А.И. Методы последовательной оптимизации в дискретных сетевых задачах распределения ресурсов. М.: Наука, 1983.

31. Танаев B.C., Гордон B.C., Шафранский Я.М. Теория расписаний. Одностадийные системы. М.: Наука, 1984.

32. Теория расписаний и вычислительные машины. / Под ред. Э.Г. Коффмана. — М.: Наука, 1984.

33. Топорков В.В. Модели распределенных вычислений. М.: ФИЗМАТЛИТ, 2004.

34. Топорков В.В. Оптимизация распределения ресурсов в системах жесткого реального времени // Известия РАН. Теория и системы управления. — 2004. -№ 3 С. 61-71.

35. Топорков В.В. Разрешение коллизий параллельных процессов в масштабируемых вычислительных системах // Автоматика и телемеханика. -2003. -№ 5.-С. 180-189.

36. Barth P. A. Davis-Putnam. Based Enumeration Algorithm for Linear Pseudo-Boolean Optimization. Max-Planck-Institut fur Informatik, January 1995.

37. Boros E., Hammer P.L. Pseudo-Boolean Optimization. Rutcor Research Report, RRR 48-2001, September 2001.

38. Boros E., Lari I., Simeone B. Block Linear Majorants in Quadratic 0-1 Optimization. Rutcor Research Report, RRR 18-2000, March 2000.

39. Ekin O., Foldes S., Hammer P.L., Hellerstein L. Equational Theories of Boolean Function. DIMACS Technical Report 97-79, December 1997.

40. Hammer P.L., Peled U.N. On the Maximization of a Pseudo-Boolean Function. Journal of the Association for Computing Machinery, Vol. 19, No. 2, April 1972.

41. Джим Макби. Microsoft Exchange 5.5 Server для профессионалов. Проблемы и решения. / Пер. с англ. СПб.: "Питер", 2000.

42. Сью Мошер. Руководство по Microsoft Exchange. / Пер. с англ. М.: "Русская Редакция", 1998.

43. Пол Робишо. Администрирование инфраструктуры сети Windows 2000. / Пер. с англ. -М.: "Лори", 2001.

44. Энил Десай. Администрирование служб каталога Windows 2000. / Пер. с англ.-М.: "Лори", 2001.

45. Microsoft Press. Учебный курс Internet Security And Acceleration Server 2000. / Пер. с англ. М.: "Русская Редакция", 2002.

46. Microsoft Press. Безопасность сети на основе Windows 2000. Учебный курс MCSE. / Пер. с англ. М.: "Русская Редакция", 2002.

47. Microsoft Press. Сети TCP/IP. Ресурсы MS Windows 2000 Server. / Пер. с англ. -М.: "Русская Редакция", 2001.

48. Microsoft Press. Распределенные системы. Ресурсы MS Windows 2000 Server. / Пер. с англ. М.: "Русская Редакция", 2001.

49. Microsoft Press. Сопровождение сервера. Ресурсы MS Windows 2000 Server. / Пер. с англ. М.: "Русская Редакция", 2001.

50. Microsoft Press. Межсетевое взаимодействие. Ресурсы MS Windows 2000 Server. / Пер. с англ. М.: "Русская Редакция", 2002.

51. Керниган Б. Пайк Р. Практика программирования. / Пер. с англ. — СПб.: "Невский Диалект", 2001.

52. Антлг Элианс. Принципы объектно-ориентированной разработки программ. / Пер. с англ. М.: "Вильяме", 2002.

53. Джон Макгрегор, Дэвид Сайке. Тестирование объектно-ориентированного программного обеспечения. / Пер. с англ. М.: ТИД "ДС", 2002.

54. Сэм Канер. Тестирование программного обеспечения. / Пер. с англ. — Киев: "Диасофт", 2000.

55. К. Ауэр. Р. Миллер. Практическое руководство по экстремальному программированию. / Пер. с англ. СПб.: "Питер", 2003.

56. Microsoft Press. Архитектура Microsoft Windows для разработчиков / Пер. с англ. М.: "Русская Редакция", 1998.

57. Ари Каплан, Мортер Нильсен. Windows 2000 Изнутри. / Пер. с англ. М.: "ДМК", 2000.

58. Ал. Вильяме. Системное программирование в Windows 2000. / Пер. с англ. — СПб.: "Питер", 2001.

59. М. Руссинович. Соломон Д. Внутреннее устройство Microsoft Windows 2000. / Пер. с англ. М.: "Русская Редакция", 2004.

60. Румянцев П.В. Основы программирования в Win32 API. — М.: "Радио и Связь", 1998.

61. Д.Б. Поляков, И.Ю. Круглов. Программирование в среде Турбо Паскаль версии 5.5.-М.: Изд-во МАИ, 1992.62; В.В. Фаронов. Турбо Паскаль. Книга 1. "Основы Турбо Паскаля". М.: "МВТУ-ФЕСТО ДИДАКТИК", 1992.

62. Федоров А., Рогаткин Д. Borland Pascal в среде Windows. — Киев: "Диалектика", 1993.

63. A.M. Епанешников, В.А. Епанешников. Программирование в среде Turbo Pascal 7.0. 3-е изд. стер. - М.: "ДИАЛОГ - МИФИ", 1996.

64. Федоров А.Г. Создание Windows-приложений в среде Delphi. — М.: "Компьютер Пресс", 1995.

65. Том Сван. Основы программирования на Delphi для Windows 95. / Пер. с англ.-Киев: "Диалектика", 1996.

66. Федоров А.Г. Delphi 2.0 для всех. М.: "Компьютер Пресс", 1997.

67. Тексейра С. Delphi 5.0. Основные методы и технологии программирования. / Пер. с англ. М.: "Вильяме", 2000.

68. Культин Н.Б. Самоучитель Delphi 6.0. Программирование на Object Pascal. — СПб.: "BHV-Санкт-Петербург", 2001.

69. Гофман В. Delphi 6.0 в подлиннике. Руководство для разработчика. — СПб.: "BHV-Санкт-Петербург", 2001.