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

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

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

□□3485866

ПЕРВИН АРТЕМ ЮРЬЕВИЧ

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

Специальность 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

- 3 ДЕК 2009

Переславль-Залесский 2009

003485866

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

Научный руководитель — Знаменский Сергей Витальевич, д.ф.-м.н. Консультант — Московский Александр Александрович, к.х.н.

Официальные оппоненты: Соколинский Леонид Борисович, д.ф.-м.н. Жуматий Сергей Анатольевич, к.ф.-м.н.

Ведущая организация: Учреждение Российской академии наук Институт космических исследований РАН.

Защита состоится 18 декабря 2009 г. вД часов на заседании Диссертационного совета ДМ 002.084.01 при Учреждении Российской академии наук Институте программных систем им. А.К. Айламазяна РАН по адресу: 152020, Ярославская обл., Переславский район, с. Веськово, ул. Петра I, д. 4а.

С диссертацией можно ознакомиться в библиотеке Учреждения Российской академии наук Института программных систем им. А.К. Айламазяна РАН.

Автореферат разослан «17» ноября 2009 г.

Автореферат размещен на сайте ИПС им. А.К. Айламазяна РАН http://www.botik.ru/PSI

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

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

С.М. Пономарева

Общая характеристика работы

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

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

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

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

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

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

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

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

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

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

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

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

Методы исследования. Результаты исследования получены на базе разработанного программного комплекса Виртуальные сервисы. При проектировании и реализации системы применялись открытые международные стандарты (1МЬ, \VSDL, Х.509 и другие), использовались инструментальные среды и пакеты системного ПО. Реализация программного комплекса велась с применением компонентного подхода. Математическая модель управления вычислительными ресурсами построена с помощью теории оптимизации динамических систем.

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

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

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

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

Практическая значимость результатов работы определяется их применимостью для решения задач эффективного использования мощностей высокопроизводительных вычислительных кластеров, что продемонстрировано при реализации: • суперкомпыотерной программы «СКИФ-ГРИД» Союзного Государства в проекте «Разработка программных средств организации виртуальных кластеров на суперкомпьютерах семейства "СКИФ"»,

• программы фундаментальных исследований Президиума РАН №15 «Разработка фундаментальных основ создания научной распределенной информационно-вычислительной среды на основе технологии GRID».

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

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

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

• 3-я международная конференция "Распределенные вычисления и Грид технологии в науке и образовании", Дубна, 2008 г.

• XV Всероссийская научно-методическая конференция "Телематика'2008" Санкт-Петербург, 2008.

• Международная научная конференция «Параллельные вычислительные технологии» (ПаВТ'2008), Санкт-Петербург, 2008 г.

• IV международная конференция «Параллельные вычисления и задачи управления» (РАСО'2008), Москва, 2008 г.

• 3rd Workshop on Virtualization in High-Performance Cluster and Grid Computing (VHPC '08), Las Palmas de Gran Canaria, Spain, 2008.

• XVI Международная конференция по Вычислительной механике и современным прикладным программным системам (ВМСППС'2009), Алушта, Крым, 2009 г.

• Семинары Исследовательского центра мультипроцессорных систем ИПС РАН в г. Переславль-Запесский (2007-2009).

Основные результаты диссертации отражены в пяти печатных работах, в том числе в трудах трех научных конференций и двух статьях, включая одну публикацию [5] в издании из списка ВАК.

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

Содержание работы

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

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

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

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

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

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

Каждый виртуальный сервис имеет следующие параметры:

• Имя сервиса

• Минимально допустимые потребности в ресурсах:

о Объем оперативной памяти хост-машины (узла кластера) о Объем свободного дискового пространства о Свободное количество хост-машин

• Внешний и внутренний сетевые порты

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

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

Система Виртуальные сервисы состоит из следующих компонент (рис. 1).:

—Цстггра.1ь«ый угс.ч-

Средсгн* управления

иные «текущем хгюанни уз;ю»

Среде г м и ере н « и ря плен в и ынросак

Иерешпр;«дяе1 запросы ноль ювач «лей

Управление виртуальной машиной- •

П.1анмршш|нк сервиса 1

Запрось

Обращение к сервису

Применения правил ыщпнругишпни

М<-не,|жер серн наш

Пользователь

Закроем ресурсов

Запросы на расширение ц высвобождение ресурсов

База ,1: мони1оринга

Сшпемяый пляниромнмк

Поставщик Сервис»

Рисунок 1: Архитектура системы Виртуальные Сервисы

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

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

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

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

■ Запросить дополнительные ресурсы.

■ Запросить высвободить неиспользуемые мощности.

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

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

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

• Пользовательские интерфейсы.

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

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

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

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

В главе показано, что разработанная система управления комплексами ВМ обладает функциональными возможностями сопоставимыми с аналогичными программными решениями (ЕС2, Eucalyptus, OpenNebula), а по некоторым характеристикам превосходит их. Так, например, в Виртуальных сервисах реализованы механизмы для распределения ресурсов в автоматическом режиме, имеются средства обеспечения высокой доступности сервисов и балансировки нагрузки ВМ сервиса.

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

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

стере, и иллюстрирует возможности ВМ для эффективной организации ИТ-инфраструктуры.

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

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

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

Картографический сервис МарБегуег.

В основе картографического сервиса лежит программа МарЗегуег. МарЗегуег предназначен для работы с интерактивными каргами, которые могут быть просмотрены непосредственно в браузере с помощью гиперссылок. В случае с Виртуальными сервисами использовались данные по округу Итаска, штат Миннесота, США. Отображаемые пользователем страницы содержат сгенерированные по запросу фрагменты карты. Интерфейс сервиса МарЭеп'ег представлен на рис. 2.

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

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

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

Управление ресурсами

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

13

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

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

Профиль производительности сервиса отражает зависимость между объемом ресурсов, предоставленных этому сервису, генерируемой на это приложение нагрузкой и качеством обслуживания (уровнем сервиса), обеспечиваемое этим сервисом. Объем ресурсов может быть выражен в абсолютных (например, 1 ГБайт оперативной памяти) или в относительных величинах (53% процессора). Нагрузка определяется для каждого приложения в соответствии с его внутренней логикой. Так, для картографического сервиса нагрузка выражается количеством одновременно обращающихся к сервису пользователей (частота запросов в секунду). Уровень сервиса определяется набором характеристик приложения, однозначно описывающих его состояние с точки зрения пользователя. В случае с картографическим сервисом уровень сервиса может определяться в зависимости от среднего времени отклика веб-сервера.

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

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

Рисунок 3: схема управления ресурсами

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

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

Математическая модель управления ресурсами приложений Построим математическую модель рассматриваемой задачи для системы, состоящей из п приложений, использующих т различных категорий ресурсов. Пусть V, (() — количество ВМ, обеспечивающих работу приложения /, в момент времени (. Обозначим через ^ (I) , 1 = 1У = 1,..., т — количество ресурса } , выделенного приложению I в момент времени /. Ограничения на количество ВМ и на использование ресурсов записываются в виде:

где у+, г] , г* — некоторые константы.

Предполагается, что каждое приложение имеет индивидуальный набор А, характеристик, определяющих его текущее состояние. Характеристика зависит от количества ВМ, обеспечивающих работу приложения, от объема ресурсов, предоставленных приложению, и от оказываемой на приложение с течением времени неуправляемой пользовательской нагрузки ¿¡(0» / = При этом характеристики могут быть составлены либо на испытательном стенде до запуска приложения в эксплуатацию, либо непосредственно в процессе работы приложения.

Обозначим через р,к = р,к(V,(0,гп(0,ъ(0>...,гт(*),Ц(0), /' = 1 ,...,п, к = \,...,к1 —характеристику к приложения /', через р1к —целевой уровень соответствующей характеристики.

С помощью функций

можно получить некоторую суммарную оценку характеристик каждого из приложений в момент времени / . Здесь через а1к > 0 обозначены весовые коэффициенты, выбираемые согласно значимости каждой характеристики приложения. Будем называть функции <т( (?) уровнями сервиса приложений.

(1)

<7,(0 = 2>.Л -= 1.-.И. (2)

Задача состоит в поддержании значения уровня сервиса (2) вблизи некоторого целевого уровня сервиса на дискретном наборе моментов времени Т - {/(1, ?0 + /?,...,?„ +17/; = /11 . Эта задача равносильна минимизации отклонения уровня сервиса:

к, 1 = £сс,к [р,к - р,к (V|(0,гп(0,...,гш(О, А(0)]

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

Тогда исходную задачу динамического распределения ресурсов можно поставить в виде дискретной задачи оптимального управления следующего вида: ГеГ = [Г0,Г,], 1 = 1,...,Л,

V,.(О > 1, п < У V,.(О < г: < < г/, / = 1,...,И, у = 1,...,т, (3)

= тш,

1=1 о,

где Д > 0 обозначены весовые коэффициенты, выбираемые согласно приоритету каждого приложения (большее значение весового коэффициента соответствует более высокому приоритету соответствующего приложения). Здесь роль управлений играют функции уДО» ги(1) > / = 1,...,и, у = \,...,т .

Функции рк .. ,гш(1), задаются таблично своими профи-

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

обоих приложений полученные в результате функции уровня сервиса ¿V являются

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

Эксперимент по управлению ресурсами виртуальных сервисов

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

псевдослучайных чисел из некоторого диапазона [ Хтш , ], где Ьтзх определяет такую ситуацию, в которой требуется предоставить практически весь объем доступных ресурсов этому сервису для того чтобы обеспечить целевой уровень

сервиса. Для , соответственно, достаточно минимального объема ресурсов.

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

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

На рис. 4 изображен набор нагрузок для сервиса МарБил-ег. В данном случае нагрузка определяется количеством одновременно выполняющихся запросов к картографическому сервису, моделируемых с помощью программы ШретГ в течение некоторого промежутка времени (1 мин). На графике отчетливо видны два пика в моменты времени г = 14 и г = 45, в которых нагрузка близка к ¿т ■

На рис. 5 изображен набор нагрузок для сервиса Х-Сот.

Нагрузка на сервис Х-Сот

1800

1600

1400

_ 1200 О

£ 1000

^ 800 <и

600 400 200 0

Рисунок 5: нагрузка на сервис Х-Сот

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

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

запуска со сроком окончания близким к Хтах . Три последних запуска оказывают

минимальную нагрузку на сервис.

На рис. 6 представлены результаты работы сервиса МарЭегуег при заданной нагрузке. Синими точками на графике отмечены результаты работы сервиса при использовании оптимизирующего алгоритма. Красными — при статическом равномерном распределении ресурсов, при котором каждому сервису предоставляется четыре ВМ, каждая с долей процессора 100. Зеленой линией отмечено целевое значение времени отклика.

Рисунок 6: уровень сервиса приложения \IapServer

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

На рис. 7 в аналогичных обозначениях показана работа сервиса Х-Сот.

1

2 -400

Уровень сервиса Х-Сот

..............................................................................................................

-----—-X . х......—-у- •

«1 »2 \ «3 #4 ШЪ *6

...........................................\.....................................................................................................................

\

\

_____\________________________

\

-^ X-

X------х-------X

- Ор1>т1ге(1

-

Рисунок 7: уровень сервиса приложения Х-Сот

20

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

Распределение ресурсов

900 т

£ 500 £ 400

Рисунок 8: гистограмма распределения ресурсов

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

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

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

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

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

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

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

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

Публикации по теме диссертации

1. Первин А.Ю., Московский A.A., Walker В. Динамическое управление ресурсами виртуальных инструментов на вычислительном кластере. - Труды международной научной конференции «Параллельные вычислительные технологии» (28.01-01.02.2008, Санкт-Петербург). - Челябинск: Изд. ЮУрГУ, 2008, с. 186-198.

2. Первин А.Ю., Московский A.A., Walker В. Оптимальное управление ресурсами виртуальных инструментов на вычислительном кластере. - Труды FV международной конференции «Параллельные вычисления в задачах управления» (27-29.10.2008, Москва). - Москва, Институт проблем управления им. В.А. Трапезникова РАН, с. 1136-1149.

3. Pervin A., Moskovksy A., Walker В. Dynamic Resources Management of Virtual Appliances on a Computational Cluster. Euro-Par 2008 Workshops - Parallel Processing: Proceedings of the 14th International Euro-Par Conference (2629.08.2008, Las Palmas de Gran Canaria). - Springer Berlin / Heidelberg, Lecture Notes in Computer Science 5415/2009, pp. 33-42.

4. Первин А.Ю, Московский A.A., Walker В. Динамическое управление ресурсами виртуальных инструментов на вычислительном кластере. - Вычислительные методы и программирование, 2008, №9, с. 32-40.

5. Первин А.Ю, Московский А.А. Виртуальные приложения для грид-вычислений. - Информационно-управляющие системы, 2008, 6, с. 36-43.

Личный вклад автора в работах, опубликованных в соавторстве, заключается в следующем: в [1] автору принадлежит описание архитектуры системы и разработанных сервисов; в [2] — актуальность темы и постановка задачи; в [3] — промежуточная реализация оптимизационного алгоритма; в [4] — методика профилировки приложений и описание полученных результатов; в [5] — предлагаемый подход распределения ресурсов вычислительного кластера.

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

Список условных обозначений и сокращений.

ВВЕДЕНИЕ.

Актуальность темы.

Цели и задачи работы.

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

Научная новизна работы.

Практическая значимость.

Апробация результатов диссертации.

Структура работы.

Содержание работы.

ГЛАВА 1. Технологии виртуализации.

1.1 Истоки виртуализации.

1.2 Современные технологии виртуализации.

1.2.1 Основные подходы виртуализации.

1.2.2 Аппаратная поддержка виртуализации.

1.3 Современные виртуальные машины.

1.3.1 VMware.

1.3.2 CitrixXen.

1.3.3 Parallels Virtuozzo Containers.

1.4 Области применения виртуальных машин.

1.4.1 Консолидация рабочих нагрузок.

1.4.2 Разработка ПО и нового оборудования.

1.4.3 Распространение ПО в виде виртуальных машин.

1.5 Прикладные системы.

1.5.1 Amazon ЕС2.

1.5.2 ЗТега Applogic.

1.5.3 Eucalyptus.

1.5.4 OpenNebula.

1.5.5 Nimbus.

1.6 Выводы.

ГЛАВА 2. Система Виртуальные сервисы.

2.1 Виртуальный сервис.

2.1.1 Образ файловой системы.

2.2 Компоненты системы.

2.2.1 Системный планировщик.

2.2.2 Планировщик сервиса.

2.2.3 Монитор сервиса.

2.2.4 Модуль управления правилами маршрутизации.

2.2.5 Система мониторинга.

2.2.6 Модуль управления виртуальной машиной.

2.3 Интерфейсы системы.

2.3.1 Консольный интерфейс.

2.3.2 Веб-интерфейс.

2.3.3 Грид-интерфейс.

2.4 Выводы.

ГЛАВА 3. Экспериментальная часть.

3.1 Разработанные сервисы.

3.1.1 Сервис Виртуальный кластер.

3.1.2 Картографический сервис MapServer.

3.1.3 Вычислительный сервис Х-Com.

3.2 Управление ресурсами.

3.2.1 Профиль производительности.

3.2.2 Управление уровнем сервиса.

3.2.3 Математическая модель управления ресурсами.

3.2.4 Эксперимент по управлению ресурсами.

3.3 Выводы.

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

Актуальность темы

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

Говоря о достоинствах виртуализации можно выделить две ключевых причины востребованности этой технологии. Во-первых, статистика показывает, что средняя загрузка х86 серверов в мире не превышает 10% [1], т.е. 90% инвестиций, затраченных на формирование серверной инфраструктуры, оказывается израсходованными впустую. К этому также следует добавить всевозрастающие расходы на электроэнергию, кондиционирование и аренду площадей для размещения серверов. Так, по оценкам IDC [2], ежегодные расходы на электроэнергию в крупных центрах обработки данных (ЦОД) могут превысить стоимость самого серверного оборудования уже в 2015 году.

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

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

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

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

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

• переместить с одного физического компьютера на другой;

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

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

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

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

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

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

Предлагаемое в рамках диссертационной работы программное решение Виртуальные сервисы ориентировано на использование в первую очередь на высокопроизводительных вычислительных установках, где технологии виртуализации являются актуальной темой научных исследований [3, 4, 48, 49]. Такие вычислительные системы, как правило, используются одновременно несколькими пользователями для решения ресурсоемких, узкоспециализированных научных и инженерных задач, требующих для корректного функционирования определенного набора системного и прикладного ПО. Эти требования часто создают конфликтные ситуации, связанные с различиями версий служебного ПО. Система Виртуальные сервисы позволяет решить эти проблемы с помощью специализированных сервисов — изолированных вычислительных окружений 7 для решения конкретных пользовательских задач. При этом объем аппаратных ресурсов, доступных сервису, может меняться динамически в соответствии с текущими потребностями пользователей этого сервиса.

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

Цели и задачи работы

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

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

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

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

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

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

Результаты исследования получены на базе разработанного программного комплекса управления виртуальными машинами Виртуальные сервисы. При проектировании и реализации системы применялись открытые международные стандарты (UML, WSDL, Х.509 и другие), использовались инструментальные среды и пакеты системного ПО. Реализация программного комплекса велась с применением компонентного подхода. Математическая модель управления вычислительными ресурсами построена с помощью теории оптимизации динамических систем.

Научная новизна работы

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

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

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

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

Практическая значимость

Программная система Виртуальные сервисы разработана в рамках работ по суперкомпьютерной программе «СКИФ-ГРИД» Союзного Государства в проекте «Разработка программных средств организации виртуальных кластеров на суперкомпьютерах семейства "СКИФ"», а также по программе фундаментальных исследований Президиума РАН №15 «Разработка фундаментальных основ создания научной распределенной информационно-вычислительной среды на основе технологии GRID».

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

Апробация результатов диссертации

По теме диссертации автором опубликовано 5 работ (из них 1 в издании по перечню ВАК). Статей в научных журналах — 2. Тезисов докладов и выступлений на международных и российских научных конференций — 3.

Материалы, вошедшие в диссертационную работу, докладывались и обсуждались на семинарах ИПС РАН и на следующих конференциях:

• 3-я международная конференция "Распределенные вычисления и Грид технологии в науке и образовании", Дубна, 30 июня — 4 июля 2008 г.

• XV Всероссийская научно-методическая конференция "Телематика'2008" Санкт-Петербург, 2008.

• Международная научная конференция «Параллельные вычислительные технологии» (ПаВТ'2008), Санкт-Петербург, 28 января — 1 февраля 2008 г.

• IV международная конференция «Параллельные вычисления и задачи управления» (РАСО'2008), Москва, 27 — 29 октября 2008 г.

• 3rd Workshop on Virtualization in High-Performance Cluster and Grid Computing (VHPC '08), Las Palmas de Gran Canaria, Canary Island, Spain, August 26 — 29, 2008.

• XVI Международная конференция по Вычислительной механике и современным прикладным программным системам (ВМСППС'2009), Алушта, Крым, 25 — 31 мая 2009 г.

Структура работы

Диссертация состоит из введения, трех глав, заключения, библиографического списка из 62 наименований и пяти приложений. Объем диссертационной работы составляет 104 страницы машинописного текста, включая 31 рисунок.

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

3.3 Выводы

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

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

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

Заключение

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

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

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

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

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

Библиография Первин, Артем Юрьевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

1. Роджер Диттнер, Виртуализация и Microsoft Virtual Server 2005, Бином-Пресс, 2008 г.

2. N. Martinez, К. Bahloul. Green IT Barometer: European Organisations and the Business Imperatives of Deploying a Green and Sustainable IT Strategy Электронный ресурс.,http://www.dell.com/downloads/global/corporate/environ/complyЯDCWP28Q.pdf

3. Mark F. Mergen, Volkmar Uhlig, Orran Krieger, Jimi Xenidis: Virtualization for high-performance computing. Operating Systems Review 40(2): 8-11 (2006)

4. Lamia Youseff, Richard Wolski, Brent C. Gorda, Chandra Krintz: Paravirtualiza-tion for HPC Systems. ISPA Workshops 2006: 474-486.

5. R. P. Goldberg. Survey of virtual machine research. IEEE Computer, pp 34-35, June 1974.

6. Gerald J. Popek and Robert P. Goldberg (1974). "Formal Requirements for Vir-tualizable Third Generation Architectures". Communications of the ACM 17 (7), pp 412-421.

7. Meyer, P. A. and L.H. Seawright,"A Virtual Machine Time-Sharing System", IBM Systems Journal, 9, No. 3, 1970, pp. 131-149.

8. R.P.Case and A.Padegs, "Architecture of the IBM System/370", Communications of the ACM 21, No. 1, 73-96, January 1978.

9. Peter H. Gum. System/370 extended architecture: Facilities for virtual machines. IBM Journal of Research and Development, 27(6):530-544, November 1983.

10. Кольца защиты Электронный ресурс., http://ru.wikipedia.org/wik^onb4a3an^HTbi

11. DOSBox, a x86 emulator with DOS Электронный ресурс., http://www.dosbox.com/

12. Kevin P. Lawton, Bochs: A portable PC Emulator for Unix/X, Linux Journal, Volume 1996, Issue 29es (September 1996), Article No. 7.

13. Wine Электронный ресурс., http://www.winehq.org/

14. S. Devine, E. Bugnion, and M. Rosenblum. Virtualization system including a virtual machine monitor for a computer with a segmented architecture. US Patent, 6397242, Oct. 1998.

15. VMware Virtualization Technology Электронный ресурс., http ://www. vmware.com/

16. QEMU Электронный ресурс., http://www.nongnu.org/qemu/

17. Hyper-V Электронный ресурс., http://en.wikipedia.org/wiki/Hyper-V

18. Xen Электронный ресурс., http://www.xen.org/

19. The User-mode Linux Kernel Электронный ресурс., http://user-mode-linux.sourceforge.net/

20. Padala, Pradeep; Zhu, Xiaoyun; Wang, Zhikui; Singhal, Sharad; Shin, Kang G., HPL-2007-59 technical report Электронный ресурс., http://www.hpl.hp.com/techreports/2007/HPL-2007-59Rl .html?jumpid= regRl 002USEN

21. P.-H. Kamp and R. N. M. Watson. Jails: Confining the Omnipotent Root. In Proc. of the 2nd International SANE Conference, Maastricht, The Netherlands, May 2000.

22. Ligneris, B. D., "Virtualization of Linux-Based Computers: The Linux-vserver Project," 19th International Symposium on High Performance Computing Systems and Applications, HPCS, pp. 340-346, May, 2005.

23. OpenVZ Электронный ресурс., http://wiki.openvz.org/MainPage

24. Virtuozzo Электронный ресурс. http://www.parallels.com/products/virtuozzo/

25. Solaris Containers Электронный ресурс., http://en.wikipedia.org/wiki/ Solaris Containers

26. Gil Neiger, Amy Santoni, Felix Leung, Dion Rodgers, and Rich Uhlig. Intel Vir-tualization Technology: Hardware support for efficient processor virtualization. Intel Technology Journal, 10(3):167-177, August 2006.

27. AMD. Amd64 virtualization codenamed "pacifica" technology: Secure virtual machine architecture reference manual, May 2005.

28. Comparison of platform virtual machines Электронный ресурс., http://en.wikipedia.org/wiki/Comparisonofplatformvirtualmachines

29. Laurianne McLaughlin, Adventures in managing virtualization, Электронный ресурс., http://www.cio.com/article/341813/ AdventuresinManagingVirtualization

30. Daniel Dern, How Virtualization Improves Software Development, Электронный ресурс., http://www.cio.com/article/480420/ HowVirtualizationImprovesSoftwareDevelopment

31. Cloud computing Электронный ресурс., http://en.wikipedia.org/wiki/Cloudcomputing

32. Utility computing Электронный ресурс., http://en.wikipedia.org/wiki/Utilitycomputing

33. Software-as-a-Service Электронный ресурс., http://en.wikipedia.org/wiki/Softwareasaservice

34. Amazon Elastic Compute Cloud (Amazon EC2) Электронный ресурс., http:// aws. amazon.com/ec2/

35. Grid Computer Operating System for Web Applications Электронный ресурс., http://www.3tera.com/AppLogic/

36. OpenNebula Электронный ресурс., http://www.opennebula.org/doku.php

37. S.M. Kelly and R. Brightwell, "Software Architecture of the Light Weight Kernel, Catamount", In Proc. 2005 Cray User Group Ann. Tech. Conf.102

38. Netfilter/iptables project homepage Электронный ресурс., http://www.netfilter.org/

39. Barry O'Donovan, Advanced Features of netfilter/iptables, Linux Gazette, November 2004 (#108) Электронный ресурс.,http ://linuxgazette .net/10 8/odono van. html

40. Ganglia Monitoring System Электронный ресурс., http://ganglia.info/

41. High availability Электронный ресурсы., http://en.wikipedia.org/wiki/Highavailability

42. UNICORE — Distributed computing and data resources Электронный ресурс., http://www.unicore.eu/

43. UNICORE-Community —Projects Электронный ресурс., http://www.unicore.eu/community/projects/

44. GridBean Developer Guide Электронный ресурс., http://gpe4gtk.sourceforge.net/gridbeans.htm

45. POV-Ray — The Persistence of Vision Raytracer Электронный ресурс., http ://www.po vray. org/

46. W. Huangy, J. Liuz, B. Abaliz, and D. K. Panda. A Case for High Performance Computing with Virtual Machines. In Proc. of the 20th ACM Int. Conf. on Super-computing (ICS), June 2006.

47. H. Bjerke. HPC Virtualization with Xen on Itanium. Master's thesis, Norwegian University of Science and Technology (NTNU), July 2005.

48. Кластер (группа компьютеров) Электронный ресурс., http://ru.wikipedia.org/wiki/Kлacтep(гpyппaкoмпьютepoв)

49. Linux НА Электронный ресурс., http://www.linux-ha.org/

50. Beowulf Электронный ресурс., http://en.wikipedia.org/wiki/Beowulf(computing)

51. Walfredo Cirne. Grid Computing for Bag of Tasks Applications. In Proc. of the Third IFIP Conference on E-Commerce, E-Business and E-Govemment, September 2003.

52. Абрамов С., Адамович А., Инюхин А., Московский А., Роганов В., Шевчук Ю., Шевчук Е. Т-Система с открытой архитектурой // Суперкомпьютерные системы и приложения. — Минск: ОИПИ НАН Беларуси, 2004, 18-22 с.

53. MapServer Электронный ресурс., http://mapserver.gis.umn.edu/

54. Воеводин В., Филамофитский М. Суперкомпьютер на выходные. — Т. 5: Открытые системы, 2003, 43-48 с.

55. Thain D., Livny М. Distributed computing in practice: the Condor experience // Concurrency and Computation: Practice and Experience. — T. 17, № 2-4, 2004, 323-356 c.

56. Yathiraj B. Udupi, Akhil Sahai, Sharad Singhal: A Classification-Based Approach to Policy Refinement. Integrated Network Management 2007: 785-788.

57. Httperf homepage Электронный ресурс., http://www.hpl.hp.com/research/linux/httperf/

58. Бахвалов H. С., Жидков Н. П., Кобельков Г. М. Численные методы — М.: Лаборатория Базовых Знаний, 2001.