К задаче выбора состава дисков виртуальных машин
Игорь Николаевич Урахчинский доцент, к.т.н., доцент кафедры Прикладной математики и информатики, Казанский национальный исследовательский технический университет им.А.Н.Туполева - КАИ, ул. К.Маркса, 10, г. Казань, 420111, (843)2310086 [email protected]
Аннотация
В работе рассматривается задача оптимального выбора состава дисков виртуальных машин обучающих систем. Предлагается формальная постановка задачи и анализируются методы ее решения.
In this paper considered the problem of optimal content choice of virtual machine disks of learning systems. The formal statement of the problem proposed and analyzed the methods for solving it.
Ключевые слова
обучающая система, операционная и сетевая среда, виртуальные машины, задача о рюкзаке, жадный алгоритм;
learning system, operating and network environment, virtual machines, knapsack problems, greedy algorithm.
Введение
К настоящему времени опубликовано довольно много работ, посвященных как исследованию и разработке методов и технологий компьютерного обучения, так и описанию реализации конкретных автоматизированных обучающих систем [1-5]. Однако, технические вопросы реализации, а особенно ее эффективность, еще недостаточно исследованы [6].
Эффективность использования виртуальных машин и сетей
Использование виртуальных машин при построении операционной и сетевой инфраструктуры обучающих систем позволяет значительно расширить возможности учебного процесса и объем получаемых студентами практических навыков за счет:
моделирования на одном компьютере локальной сети или даже нескольких доменов;
работы под учетной записью администратора, то есть с полными правами доступа;
мобильности операционной и сетевой инфраструктуры обучающей системы, заключающейся в ее достаточно легком переносе на другую локацию;
оперативности восстановления системы в случае сбоев или некорректной работы пользователей.
Однако, несмотря на множество указанных преимуществ, использования виртуальных машин в учебном процессе, у них имеется и существенный недостаток. Файл образа виртуального диска виртуальной машины имеет большой объем -
порядка нескольких гигабайт. Хранение таких файлов на всех рабочих станциях учебного класса не только не рационально использует дисковое пространство, но и сильно осложняет администрирование учебного класса и его подготовку к очередному занятию. Размещение этих файлов на серверах, в свою очередь увеличивает трафик и приводит к значительному замедлению работы самих виртуальных машин.
Ситуация усугубляется если в процессе обучения используется виртуальная сеть, содержащая виртуальные машины с несколькими одинаковыми операционными системами (клонами). В этом случае на рабочих станциях учебного класса или на сервере происходит многократное дублирование данных.
Решить данную проблему позволяют специальные средства, реализованные в системах виртуальных машин различных производителей. Так, например, в Microsoft Virtual PC существуют специальные типы виртуальных жестких дисков виртуальных машин - диск изменений и диск отката [7]. Диск изменений содержит ссылку на другой виртуальный жесткий диск, называемый соответственно родительским, и может использовать его содержимое, как свое собственное. Однако Virtual PC сохраняет все изменения родительского диска, произведенные в течение сеанса работы пользователя или виртуальной машины с диском изменений, в файле диска изменений. В силу специфики своей организации диски изменений часто называют дочерними дисками. На базе одного родительского диска может быть создано несколько дочерних дисков изменений. Таким образом, использование дисков изменений позволяет нескольким виртуальным машинам совместно использовать один и тот же основной (родительский) виртуальный диск, сокращая суммарный объем своих виртуальных дисков.
Диски отката представляют собой контейнер временного хранения всех изменений, произведенных за время сеанса работы виртуальной машины с одним из ее виртуальных дисков. В конце сеанса изменения можно подтвердить, тогда они будут внесены на соответствующий виртуальный диск, либо отменить, тогда они будут уничтожены вместе с диском отката. Диски отката можно создавать как для основных виртуальных дисков, так и для дисков изменений. Однако наиболее важной особенностью дисков отката является то, что Virtual PC создает их по месту расположения файла описания параметров виртуальной машины, не зависимо от того, где расположены соответствующие им виртуальные диски. Поэтому использование дисков отката позволяет значительно снизить трафик в сети, в случае если виртуальная машина выполняется на локальном компьютере, а используемые ей виртуальные диски расположены на сервере.
Пусть для выполнения лабораторных работ используется виртуальная сеть, состоящая из нескольких виртуальных серверов и нескольких виртуальных рабочих станций. Виртуальные серверы представляют собой виртуальные машины, с установленной на них серверной операционной системой (серверный клон), а виртуальные рабочие станции - виртуальные машины с пользовательской операционной системой (пользовательский клон). Кроме того, на различных виртуальных серверах и рабочих станциях может быть установлено специальное программное обеспечение, соответствующее их роли в сети. Эталонные виртуальные машины этой виртуальной сети хранятся на сервере, а лабораторная работа выполняется на физических компьютерах учебного класса (см. рис. 1). То есть каждый студент, на выделенном ему компьютере учебного класса, работает со своей виртуальной сетью.
Используя рассмотренные ранее возможности родительских и дочерних виртуальных дисков, можно при построении виртуальной сети создать по родительскому диску для серверного и пользовательского клонов виртуальных машин, разместив на них наиболее часто используемые соответствующими виртуальными машинами компоненты операционных систем и специального
программного обеспечения, а на дочерние диски установить остальные компоненты. Очевидно, что размер родительского диска должен быть ограничен, например требованиями файловой системы, временем его копирования по сети и т.д.
Формальная постановка задачи
Рассмотрим формальную постановку задачи выбора компонент программного обеспечения, устанавливаемого на родительский диск виртуальной машины.
Рис. 1 Схема организации вычислительного процесса в учебном классе.
Пусть из технических характеристик используемого программного обеспечения и опыта эксплуатации учебных программ известны величины:
п - число используемых компонент программного обеспечения, /^ - объем к - го компонента, и рк - частота использования к - го компонента на виртуальных
машинах, к = (1, п). Введем булевские переменные хк — компоненты вектора X = (х:, х2хп ), такие что:
=
1, если к - й компонент установлен на родительский диск;
0, в противном случае. Тогда объем родительского диска можно определить как
п
L = ^ /кХк
к=1
Суммарный объем дублируемых компонентов дочерних дисков найдем по формуле
Т =£ 1кРк (1 - *к ) (2)
к=1
а условие ограниченности объема родительского диска запишется как
п
Ъ'Л ї V* (3)
к=1
V*
Здесь у - заданный максимальный объем родительского диска.
Теперь задачу выбора состава компонент, устанавливаемых на родительский диск, можно сформулировать как задачу линейного булевского программирования об отыскании хк — компонент вектора X, доставляющих минимум функционалу (2)
при соблюдении ограничения (3).
После несложных преобразований получаем следующую задачу:
тах
J = Ъ сх (4)
к=1
Ъ'л ^ V* (5)
к=1
где ск = 1кРк,к = (1, П).
Задача (4), (5) представляет собой классическую задачу о рюкзаке.
Если имеется только одно ограничение вида (5), то задачу о рюкзаке называют одномерной, в противном случае - многомерной.
п
Методы решения
Найти точное решение задачи о рюкзаке можно одним из методов дискретного программирования [8]: метода отсечения; метода ветвей и границ; метода динамического программирования;
В методах отсечения снимают условия целочисленности переменных и поиск оптимального решения производят двойственным симплекс-методом, а для того чтобы все-таки получить оптимальное решение целочисленным, вводят дополнительные ограничения. Наиболее известным методом отсечения является алгоритм Гомори. Основной недостаток этих методов — плохая сходимость к целочисленному решению.
Метод ветвей и границ состоит в построении дерева возможных вариантов решения, определению оценки границы решения для каждой вершины дерева и отсечению бесперспективных вершин. Эффективность метода зависит от удачного построения правил оценки границы решения. Плохая оценка может привести к полному перебору всех возможных вариантов.
Метод динамического программирования базируется на принципе оптимальности Беллмана. Наиболее известным является метод последовательного анализа вариантов. Метод динамического программирования при некоторых комбинациях исходных данных способен существенно сократить полный перебор.
Перечисленные точные методы решения задачи о рюкзаке при неблагоприятном наборе исходных данных могут иметь экспоненциальную сложность, что и определяет класс сложности задачи о рюкзаке.
К приближенным методам решения задачи относят [9]:
генетические алгоритмы;
алгоритмы муравьиной колонии;
жадные алгоритмы.
Эти алгоритмы имеют полиномиальную сложность. Однако они позволяют получить только приближенное решение.
Жадный алгоритм решения одномерной задачи о рюкзаке наиболее прост в реализации, дает хорошие результаты и состоит в следующем:
1) множество предметов, укладываемых в рюкзак, упорядочивается по убыванию их «удельной ценности» (цены единицы веса) предметов, т. е. так, чтобы
С С7 с„
— > — > ... — (6)
III
11 12 1п
учитывая (4) - (5) получаем следующий вид условия упорядочивания (6)
Р1 > Р2 > ••• Рп
2) в рюкзак (сначала он пустой) последовательно добавляются предметы из упорядоченного множества предметов;
3) при каждом очередном добавлении предмета в рюкзак выполняется проверка ограничения его веса;
4) окончание просмотра всех предметов или нарушение ограничения завершает процесс построения приближенного решения задачи о рюкзаке.
Заключение
Предложен подход к сокращению суммарного объема виртуальных дисков виртуальных машин при построении операционной и сетевой среды обучающих систем. Сформулирована формальная постановка задачи оптимального выбора состава виртуальных дисков виртуальных машин в виде задачи линейного булевского программирования - одномерной задачи о рюкзаке. Проанализированы методы решения данного класса задач и выбран легкореализуемый, быстрый алгоритм, позволяющий получать достаточно хорошие приближенные решения.
Литература
1. Медведева С.Н., Тутубалин П.И. Информационные технологии контроля и оценки
знаний в системе дистанционного обучения Moodle // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2012. - V.15. - №1. - C.555-566. - ISSN 1436-4522. URL:
http://ifets.ieee.org/russian/periodical/journal.html
2. Ризаев И.С., Осипова А. Л. Применение case-технологии в процессе обучения // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2011. - V.14. - №3. - C.395-408. - ISSN 14364522. URL: http://ifets.ieee.org/russian/periodical/journal.html
3. Галеев И.Х. Модель управления процессом обучения в ИОС // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2010. - V.13. - №3. - C.285-292. - ISSN 1436-4522.
URL: http://ifets.ieee.org/russian/periodical/journal.html
4. Медведева С.Н., Дубовский К.П. Проектирование электронного курса сложной логической структуры в системе дистанционного обучения Blackboard // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2011. - V.14. - №4. - C.329-341. - ISSN 14364522. URL: http://ifets.ieee.org/russian/periodical/journal.html
5. Шарнин Л.М., Суздальцев В.А. Дидактические основы перехода высшей школы на двухуровневую систему обучения по направлению «Информационные системы» // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2009. - V.12. - №1. - C.443-451. - ISSN 14364522. URL: http://ifets.ieee.org/russian/periodical/journal.html
6. Гроцев А.Р. Протоколы передачи данных для систем дистанционного обучения // Международный электронный журнал "Образовательные технологии и общество (Educational Technology & Society)" - 2011. - V.14. - №2. - C.300-305. - ISSN 14364522. URL: http://ifets.ieee.org/russian/periodical/journal.html
7. Гультяев А. К. Виртуальные машины: несколько компьютеров в одном. — СПб.: Питер, 2006. — 224 с: ил.
8. А. Кофман, А. Анри-Лабордер. Методы и модели исследования операции. Целочисленное программирование. — М.: Мир, 1977. —432 с.
9. Кормен, Т. Алгоритмы. Построение и анализ: [пер. с англ.] / Томас Кормен, Чарльз Лейзерсон , Рональд Ривест, Клиффорд Штайн. — 2-е изд. — М.: Вильямс, 2005. — 1296 с.