Аппаратно-вычислительный комплекс виртуализации и управления ресурсами в среде облачных вычислений
Иллюстрации
Показать всеИзобретение относится к области кибернетики, автоматики, вычислительной техники и связи. Технический результат – обеспечение повышения оперативности и гибкости планирования и распределения запрашиваемых ресурсов. Аппаратно-вычислительный комплекс виртуализации и управления ресурсами в среде облачных вычислений для осуществления контроля за распределением и доступом параллельно выполняемыми процессами к общесетевым ресурсам, введенным в состав сложных технических систем и состоящим из программных компонентов, модулем динамического контроля конфликтных ситуаций, функционирующим в близком к реальному времени режиме и активизируемым всякий раз при планировании и распределении общих сетевых ресурсов. В алгоритм функционирования модуля контроля заложено вычисление размерности бинарной матрицы конфликтной ситуации, построенной с использованием информации от модуля виртуализации, от модуля диспетчеризации, от средства управления графиком, от ЭВМ управления, причем бинарная матрица однозначно отражает состояние общесетевых ресурсов в среде облачных вычислений, а именно, идентифицирует отсутствие конфликтной ситуации, и запрашиваемые параллельно выполняемыми процессами общесетевые ресурсы выделяются или сигнализирует о конфликтной ситуации, и выделение общесетевых ресурсов либо задерживается на время анализа и виртуализации до перевода сети в бесконфликтное состояние, либо осуществляется выделение и доступ модулем диспетчеризации запрашиваемых параллельно выполняемыми процессами общесетевых ресурсов путем переназначения в сторону повышения приоритетов выбранных к выполнению более важных конфликтующих процессов.
Реферат
Изобретение относится к области кибернетики, автоматики, вычислительной техники и связи. Может быть использовано при проектировании, испытаниях, эксплуатации и модернизации сложных технических систем (СТС) со средой облачных вычислений для обоснования и выбора их технического облика в новых или специфических условиях применения. Эти условия задаются соответствующими требованиями, удовлетворение которым лежит в направлении анализа и синтеза технического облика СТС, формирования на этой основе модели СТС и последующего моделирования ее функционирования с целью проверки выполнимости указанных требований и эффективности ее практического использования.
Наилучшее применение данное изобретение может найти на транспорте, в авиационной и ракетно-космической промышленности, например, при разработке технологии создания наземного автоматизированного комплекса управления подвижными объектами, в том числе и космическими аппаратами, с использованием методов виртуализации и облачных вычислений.
Развитие и модернизация распределенных СТС (включая ее ИТ-инфраструктуру, ИТ-информационные технологии) организаций государственного сектора, стратегических промышленных предприятий и крупных компаний до недавнего времени осуществлялись путем централизации вычислений, строительства высокопроизводительных центров обработки данных (ЦОД), которые каналами связи объединяли в сеть. В качестве ключевых недостатков такого подхода к созданию СТС, и, в частности, ИТ-систем, построенных на базе классической архитектуры, являются различия в степени загрузки разных ЦОД, низкий коэффициент использования сетевых ресурсов, особенно серверов и накопителей данных, неравномерность информационной нагрузки, избыточность в дублировании, сложность и непрозрачность управления, а также низкая мобильность использования ресурсов СТС, возникновение нештатных конфликтных ситуаций из-за сбоев, отказов оборудования, ошибок в программном обеспечении, нарушений систем синхронизации, несовершенства архитектурных и проектных решений, тупиковых ситуаций, аварийных и веерных отключений систем электропитания, вирусов, атак «хакеров», «спама» и других деструктивных факторов, приводящих к необходимости длительного ожидания послеаварийного восстановления систем (http://www.antiviruspro.ru/news/archive/123273.php - [Д1], Зиновьев Э.В. Управление сетевыми информационными процессами и ресурсами, Рига, "Зинатнэ", 1987, 304 с. - [Д2]).
Из уровня техники известно построение вычислительных систем в виде кластеров (многомашинных систем), которые представляют собой вычислительный комплекс, состоящий из нескольких компьютеров (узлов), а также программные и аппаратные средства связи компьютеров, которые обеспечивают работу всех компьютеров комплекса как единого целого (В.Г. Олифер, Н.А. Олифер. Компьютерные сети, учебник для вузов, СПб., 2005 - [Д3]).
Кластеры применяют для повышения надежности и производительности СТС. Надежность повышается за счет того, что при отказе одного из узлов кластера вычислительная нагрузка (или часть ее) переносится на другой узел. Для обмена служебной информацией узлами используются межпроцессорные связи. С помощью этих связей каждый узел кластера периодически проверяет состояние других узлов и выполняемых ими вычислительных задач. Если какой-либо узел или одна из его задач (входящая в набор защищаемых от отказов задач) изменили свое состояние на неработоспособное, то начинается процедура перемещения (реконфигурации) нагрузки на один из работоспособных узлов. При этом защищаемая задача должна хранить свои данные на одном из разделяемых дисков, чтобы новый узел смог продолжать их использовать после отказа основного.
Однако такое решение имеет такие же перечисленные выше недостатки, поскольку отсутствует механизм контроля и управления ресурсами таким образом, чтобы обеспечивалось бесконфликтное распределение сетевых ресурсов и нагрузки в системе. Сложность и непрозрачность управления кластером обусловлена тем, что каждый из компьютеров, входящих в его состав, работает под управлением собственной, отличной от других, операционной системы. Кроме того, указанное решение имеет большое время реконфигурации, поскольку оно связано с активацией новой копии программного процесса на другом узле. При этом также возможна потеря части данных, находившихся в оперативной памяти отказавшего узла.
Другим аналогом настоящего изобретения является аппаратно-вычислительный комплекс для предоставления доступа к программному обеспечению в концепции облачных вычислений (патент №122505 на полезную модель «Аппаратно-вычислительный комплекс для предоставления доступа к программному обеспечению в концепции облачных вычислений» - [Д4]). Данный комплекс предназначен для предоставления доступа к программному обеспечению в концепции облачных вычислений, включающий связанные между собой и соединенные с Интернет группу ЭВМ, группу ЭВМ для хранения программных сессий, файловые хранилища и высокопроизводительные вычислительные ресурсы, при этом аппаратно-вычислительный комплекс дополнительно снабжен ЭВМ учета ресурсов, через которую связаны группа ЭВМ для хранения программных сессий и высокопроизводительные вычислительные ресурсы.
Указанный комплекс, как следует из описания [Д4], обеспечивает достижение технического результата в виде расширения класса программных продуктов, которые могут быть установлены в инфраструктуру хаба (платформы, на которую можно установить программный продукт). При этом система учета ресурсов (управления), которую предусматривает такой комплекс, обеспечивает лишь ограничение доступа к ресурсам лицам, не прошедшим проверку.
В качестве прототипа заявляемого изобретения выбран аппаратно-вычислительный комплекс виртуализации и управления ресурсами в среде облачных вычислений (патент №2543962 «Аппаратно-вычислительный комплекс виртуализации и управления ресурсами в среде облачных вычислений» - [Д5]). Комплекс отличается тем, что в него дополнительно введены модуль виртуализации, модуль диспетчеризации и средство управления графиком, при этом модуль виртуализации связан со второй группой ЭВМ для хранения программных сессий и с ЭВМ управления, модуль диспетчеризации связан со второй группой ЭВМ для хранения программных сессий и с ЭВМ управления, средство управления графиком связано со второй группой ЭВМ для хранения программных сессий и с ЭВМ управления, причем модуль виртуализации выполнен с возможностью создания виртуальной машины (ВМ) посредством эмуляции, по меньшей мере, одного аппаратного ресурса, выбранного из: высокопроизводительных вычислительных ресурсов, разделяемых файловых хранилищ, памяти и создания однозначных связей между, по меньшей мере, одним выбранным аппаратным ресурсом и его эмуляцией; модуль диспетчеризации выполнен с возможностью управления процессами выделения/возврата аппаратных ресурсов для ВМ и назначения для каждой ВМ параметров вес и лимит, где параметр вес определяет величину реального доступного процессорного времени, а параметр лимит определяет величину максимального доступного процессорного времени; средство управления графиком выполнено с возможностью распределения сетевых ресурсов между ВМ на основании информации, полученной от ЭВМ управления.
Достигаемый прототипом технический результат заключается в существенном снижении времени перевода нагрузки между узлами за счет представленной технологии виртуализации, поскольку она не зависит от типа установленной операционной системы на компьютере пользователя (рабочей ЭВМ) и не требует активизации новой копии программного процесса. Кроме того, введение модуля диспетчеризации с объявленными функциями позволяет обеспечить эффективное распределение нагрузки в системе, учитывая запросы от ЭВМ пользователей и доступные вычислительные мощности реальных устройств.
Однако в качестве основного недостатка как аналогов, так и прототипа, следует выделить невозможность осуществления динамического контроля конфликтного распределения сетевых ресурсов между одновременно выполняемыми в рамках СТС процессами, и, как следствие, дополнительные временные затраты на анализ и реконфигурацию. Уместно отметить, что конфликтность в СТС чаще всего порождается в результате возникновения сбоев, отказов, наличия ошибок в программном обеспечении, нарушения систем синхронизации, несовершенства архитектурных и проектных решений, тупиков, аварийных и веерных отключений систем электропитания, вирусов, атак «хакеров», «спама» и их комбинаций. Поэтому, своевременное и оперативное обнаружение конфликтности необходимо и возможно только средствами динамического контроля (Артамонов Г.Т., Тюрин В.Д. Топология сетей и многопроцессорных систем, М., Радио и связь, 1991, 248 с. - [Д6], Дж. Джонсон Вычислительные сети и распределенная обработка данных, части I и II, М., ФиС, 1986 г. - [Д7]. То есть, реконфигурация СТС требует контроля за запросом, получением, использованием и освобождением ресурсов между одновременно выполняемыми в рамках СТС процессами и/или процедурами.
Уточним, что наиболее подходящим определением процесса будет следующее: «процесс есть систематизированная последовательность операций, направленная на получение конкретного результата при выполнении программы с ее исходными данными и потребляемыми ею при этом ресурсами» (Вычислительная техника и обработка данных. Терминологический словарь фирмы IBM. Пер. с англ., Статистика, 1978, 232 с. - [Д8]).
Под ресурсом понимается любая компонента (техническая, программная, информационная), имеющая свое уникальное имя или адрес в СТС, и выделяемая управляющим процессам во временное пользование. В рамках СТС, построенной с использованием принципов виртуализации и облачных вычислений, сетевыми ресурсами, подлежащими разделению между одновременно выполняемыми процессами, могут быть:
- технические - ЛВС, информационно-вычислительные комплексы, серверы, компьютеры, мосты, шлюзы, узлы, буферная память узлов, периферийное и сервисное оборудование систем, каналы связи, дисковые устройства, отдельные устройства;
- программные - совокупность программных модулей или отдельные программы из состава специального программного обеспечения (СПО);
- информационные - наборы данных, записи в базах или банках данных, в которых хранятся, например, исходные данные для расчетов, справочники, нормативно-справочная информация и др. Ресурсы такого рода принято называть повторно используемыми (SR) (Шоу А. Логическое проектирование операционных систем. Пер. с англ., М., Мир, 1981, 360 с. - [Д9]).
Следует отметить, что в среде виртуализации и облачных вычислений возникают многочисленные проблемы и технические сложности, которые в настоящее время требуют усовершенствования, а именно:
- обеспечение одновременного (совместного) неконфликтного доступа к ресурсам и данным множеству клиентов (процессам и процедурам), сохранив их консистентность (согласованность данных друг с другом, целостность данных, а также их внутреннюю непротиворечивость);
- появление и распространение в среде виртуализации и облачных вычислений вредоносного программного обеспечения (ПО);
- выявление в среде виртуализации и облачных вычислений ПО, не являющегося вредоносным, но содержащим в себе ошибки, которые могут привести к возникновению деструктивных процессов;
- информация в среде виртуализации и облачных вычислений может находиться в распределенных хранилищах, что приводит к необходимости учитывать скорость и надежность передачи данных по каналам связи.
Каждая из этих проблем и технических сложностей, как правило, приводит к возникновению и развитию в облачных системах деструктивных процессов, порождающих, в свою очередь, конфликтные ситуации при одновременном доступе к ресурсам и данным (источники информации: [Д2], [Д6]; [Д7]; http://revolution.allbest.ru/programming/00384046_0.html - [Д10]; http://swsys-web.ru/cloud-computing-basic-concepts-problems.html - [Д11]; Туманов Ю.М. Защита сред облачных вычислений путем верификации программного обеспечения на наличие деструктивных свойств // Автореф. канд. дисс., М.: Издательство НИЯУ «МИФИ», 2012. 20 с. - [Д12]; Привалов А.Н., Клепиков А.К. Модель распределения ресурсов при облачных вычислениях. Журнал «Известия ТулГУ». Технические науки. - Тула: изд-во ТулГУ, 2012. - №3. - с. 151-157 - [Д13]; Повышение надежности систем на базе виртуализации, https://technet.microsoft.com/ru-ru/library/ee922690.aspx - [Д14]). Основной недостаток современных систем виртуализации - это отсутствие динамического контроля возникновения конфликтных ситуаций из-за деструктивных явлений и факторов при параллельном (одновременном) выполнении нескольких процессов и процедур, требующих выделения запрашиваемых ресурсов и данных распределенного типа.
Из уровня техники известно (патент №2543962 - [Д5]), что современная система виртуализации и управления общими сетевыми ресурсами при параллельном (одновременном) выполнении нескольких процессов позволяет обеспечивать выполнение следующих основных функций:
- виртуализацию и разделение между отдельными виртуальными машинами таких типов аппаратных (физических) и информационных ресурсов хоста, как физические процессоры, оперативная память, ресурсы хранения данных, внешние аппаратные интерфейсы (USB, IEEE 1394, RS-232, FC, SAS, SCSI, IDE, LPT, COM).
- запуск и выполнение (в режиме разделения ресурсов) в рамках виртуальных машин основных типов гостевых операционных систем (далее ОС): ОС семейства MS Windows, ОС семейства Linux;
- возможности дискретного изменения количества выделенных виртуальным машинам ресурсов (квоты процессорного времени, размеров ресурсов дискового хранения, размеров оперативной памяти).
- диспетчеризацию выполнения виртуальных машин на физических серверах с учетом приоритетов, назначаемых отдельным виртуальным машинам в момент их запуска;
- управление запущенными виртуальными машинами, включая изменение приоритета выполнения, изменение квот выделенных ресурсов, перемещение виртуальных машин между хостами.
- мониторинг состояния виртуальных машин (загружена/работает/остановлена), тип и количество назначенных ресурсов;
- поддержание на гостевую ОС не менее 64 виртуальных процессоров, с возможностью последующего увеличения до 128;
- поддержание на гостевую ОС не менее 64 Гб виртуальной оперативной памяти, с возможностью увеличения до 128 Гб;
- поддержание не менее 2-х виртуальных сетевых интерфейсов на виртуальную машину, с возможностью последующего увеличения количества в процессе эксплуатации до 8.
- виртуализацию физических сетевых интерфейсов между виртуальными системами, в том числе и монопольное предоставление сетевых ресурсов выделенному виртуальному серверу;
- создание снимков состояния виртуальных машин по расписанию;
- архивирование снимков состояния виртуальных машин;
- предоставление размера дискового пространства для гостевых ОС без перезагрузки/выключения до 10 Тб.
Тем не менее, в существующих средах виртуализации и облачных вычислений отсутствует функция контроля возникновения конфликтности при обслуживании запросов и доступа параллельно выполняемых процессов и процедур к общесетевым ресурсам и распределенным данным. Как правило, одной из основных причин возникновения конфликтности в средах облачных вычислений, является возникновение и воздействие так называемых деструктивных явлений и факторов [Д10÷Д14], приводящих к конфликтности, что и требует осуществления контролирующих функций.
Достигаемый заявленным изобретением технический результат заключается в автоматизации контроля ситуаций при планировании и распределении запрашиваемых процессами ресурсов и данных распределенного типа в сложной технической системы (СТС) со средой облачных вычислений, что обеспечивает повышение оперативности и гибкости планирования и распределения запрашиваемых ресурсов.
Технический результат достигается вводом в состав АВК модуля конфликтности с объявленными функциями, вырабатывающего по определенному алгоритму признак конфликтности, который используется при принятии решения о выделении/невыделении запрашиваемых ресурсов и данных распределенного типа.
Сущность данного изобретения заключается в том, что в состав аппаратно-вычислительного комплекса введен модуль динамического контроля возникновения конфликтных ситуаций, информационно связанный с модулями виртуализации и диспетчеризации, а также со средством управления графиком и с ЭВМ управления. Введенный модуль состоит из совокупности программных компонентов. При этом в алгоритм функционирования модуля динамического контроля конфликтных ситуаций заложено выполнение компонентов программы обработки запросов, компонентов программы обработки владений, компонентов программы вычисления значения размерности матрицы конфликтов, что позволяет функционировать ему в режиме, близком к реальному. Так, компоненты программы обработки запросов по информации от средства управления графиком формируют матрицу запросов для монопольного Zм и разделяемого Zр типов доступа к общесетевым ресурсам. Компоненты программы обработки владений формируют по информации от модуля диспетчеризации матрицу монопольного Vм и разделяемого Vр типов владений. С помощью компонентов этих программ могут быть сформированы искомые матрицы в соответствии с формулами:
где: ri, и rj - общие сетевые ресурсы, запрашиваемые и находящиеся во владении процессов ρi и ρj.
С помощью компонентов программы вычисления значения размерности матрицы конфликтов , полученной с учетом результатов выполнения компонентов программ обработки запросов и обработки владений, могут быть сформированы сначала матрица конфликтов по формуле: , а затем и вычислена размерность матрицы конфликтов как произведение числа ненулевых строк на число ненулевых столбцов, а сами конфликтующие процессы однозначно определяются программой из матрицы конфликтов как номера ненулевых строк.
При этом, как доказывается в [Д2], нулевое или единичное значение размерности бинарной матрицы конфликтов идентифицирует отсутствие конфликтной ситуации, что определяется модулем динамического контроля и передается на ЭВМ управления, и запрашиваемые параллельно выполняемыми процессами ρi и ρj общесетевые ресурсы ri и rj выделяются модулем диспетчеризации по команде от ЭВМ управления.
значение, а именно два, три, и т.д., определяемое модулем динамического контроля и передаваемое на ЭВМ управления, идентифицирует конфликтную ситуацию в сети, после чего выделение запрашиваемых параллельно выполняемыми процессами ρi и ρj общесетевых ресурсов ri и rj либо задерживается, либо осуществляется. Выделение задерживается модулем диспетчеризации по команде от ЭВМ управления на время анализа и виртуализации до перевода сети в бесконфликтное состояние путем создания модулем виртуализации виртуальной машины посредством эмуляции, по меньшей мере, одного аппаратного ресурса, выбранного из: высокопроизводительных вычислительных ресурсов, разделяемых файловых хранилищ, памяти и создания однозначных связей между, по меньшей мере, одним выбранным аппаратным ресурсом и его эмуляцией. Выделение и доступ запрашиваемым параллельно выполняемым процессам ρi и ρj к общесетевым ресурсам ri и rj осуществляется модулем диспетчеризации по команде от ЭВМ управления путем переназначения в сторону повышения ЭВМ управления приоритетов выбранных к выполнению более важных конфликтующих процессов из состава ρi и ρj.
Уточним, что при порождении запроса от процесса на требуемый ресурс производится проверка на владение данного ресурса каким-либо другим процессом (процессами). Если запросившему процессу выделены какие-либо ресурсы, то удовлетворяется и текущий его запрос. В том случае, когда выданный процессом запрос является первым, то производится проверка занятости всех ресурсов, определенных в требованиях процесса. Если требуемые процессу ресурсы свободны, то они резервируются за процессом на все время его выполнения и распределяются по мере поступления запросов от данного процесса. В противном случае процесс блокируется до момента освобождения всех требуемых ему ресурсов или до создания на СТС бесконфликтного состояния, обеспечиваемого виртуализацией.
Рассмотрим подробнее описание сущности и взаимодействия объектов (компонентов) заявленного изобретения, имея ввиду, что наряду с приведенным вариантом могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения, поэтому изложенные ниже сведения не следует принимать как ограничивающие объем правовой охраны заявленного формулой изобретения.
Cтруктурно-функциональная схема аппаратно-вычислительного комплекса виртуализации и управления общесетевыми ресурсами СТС, содержит:
первую группу рабочих ЭВМ;
вторую группу ЭВМ для хранения программных сессий;
разделяемые файловые хранилища;
высокопроизводительные вычислительные ресурсы;
ЭВМ управления;
локальный компьютер пользователя;
модуль виртуализации;
модуль диспетчеризации;
средство управления графиком;
модуль динамического контроля конфликтных ситуаций.
Требует уточнения следующие моменты.
1) Под сетью понимается как сеть Интернет, так и другие виды сетей (например, LAN, WLAN и т.п.).
2) Для преодоления указанных выше недостатков, существующих в уровне техники решений, в предлагаемый аппаратно-вычислительный комплекс дополнительно вводится система виртуализации аппаратных ресурсов.
3) Технология виртуализации в данном случае представлена гипервизорной виртуализацией аппаратных ресурсов. В основе гипервизорной виртуализации лежит гипервизор (монитор виртуальных машин). Он выполняет роль посредника между физическими устройствами сервера и их представлением в гостевой операционной системе. Отличается гибкостью и поддержкой практически любых операционных систем в качестве гостевых операционных систем.
Как отмечается в описании прототипа [Д5], в состав аппаратно-вычислительного комплекса (АВК) виртуализации и управления ресурсами входят модуль виртуализации, модуль диспетчеризации, средство управления графиком со всеми необходимыми информационными связями. В предложенном изобретении в состав АВК виртуализации и управления ресурсами дополнительно введен модуль динамического контроля конфликтных ситуаций. Ниже приведены краткие разъяснения по назначению, выполняемым функциям, реализации и взаимодействию компонентов аппаратно-вычислительного комплекса.
Отметим следующее, что за создание виртуальных устройств отвечает модуль виртуализации, за распределение виртуальных ресурсов - модуль диспетчеризации, за распределение сетевых ресурсов между ВМ на основании информации, получаемой от ЭВМ управления, отвечает средство управления графиком, за контроль и учет доступа к общесетевым ресурсам отвечает модуль динамического контроля конфликтных ситуаций на основе информации, получаемой от связанных с ним модуля виртуализации, модуля диспетчеризации, средства управления графиком и ЭВМ управления.
Процесс виртуализации состоит из эмуляции хотя бы одного устройства (аппаратного ресурса), созданием связей между устройством и его эмуляцией, назначением (при необходимости) политик доступа виртуальных машин (ВМ) к виртуализированному ресурсу.
Совокупность ВМ может быть реализована посредством второй группы ЭВМ для хранения программных сессий.
Виртуализация памяти определяется как трансляция адресного пространства физической памяти в виртуальное адресное пространство.
Виртуализация сети определяется как процесс объединения аппаратных и программных сетевых ресурсов в единую виртуальную сеть. Виртуализация сети разделяется на внешнюю, то есть соединяющую несколько аппаратных сетей в одну виртуальную, и внутреннюю, создающую виртуальную сеть между ВМ, выполняющихся на одном хосте.
Виртуализация дисковых устройств (файловых хранилищ) определяется как прозрачное представление системы хранения на уровне блоков, когда логический адрес блока никак не привязан к его реальному, физическому адресу. Виртуализация разделяемых дисковых устройств позволяет объединять физические устройства хранения в виртуальные пулы дисков. Из пулов могут выделяться отдельные виртуальные диски, подключаемые при необходимости к ВМ.
Информацией, используемой при реализации алгоритма создания ВМ, являются: уникальные идентификаторы всех аппаратных ресурсов; сведения о доступности аппаратных ресурсов (ОЗУ, процессоры, хранилище); сведения о создаваемой ВМ (ОЗУ, процессоры, размер виртуального диска, сетевые параметры).
Результатом реализации алгоритма создания ВМ является создание уникального идентификатора ВМ и регистрация параметров ВМ (в ЭВМ управления или в модуле виртуализации).
Информацией, используемой при реализации алгоритма удаления ВМ, являются: уникальный идентификатор удаляемой ВМ; информация о состоянии удаляемой ВМ (запущена/не запущена).
Результатом реализации алгоритма удаления ВМ является остановка ВМ, если она запущена, и удаление метаданных ВМ и образа жесткого диска. При этом должен происходить запрос состояния ВМ - если ВМ запущена, перед удалением ее необходимо корректно завершить и освободить ресурсы.
Миграция ВМ производится в случае необходимости технического обслуживания аппаратного узла, связанного с возникновением в его работе нештатных ситуаций, включая и конфликтные ситуации, а также ситуации при уплотнении малонагруженных ВМ с целью экономии ресурсов. Информацией, используемой при реализации алгоритма миграции ВМ, являются: уникальный идентификатор переносимой ВМ; метаданные переносимой ВМ; уникальные идентификаторы всех аппаратных ресурсов; сведения о доступности аппаратных ресурсов (ОЗУ, процессоры, хранилище); уникальный идентификатор узла, на который будет произведена миграция;
Результатом реализации алгоритма миграции ВМ является перенос ВМ на другой аппаратный узел.
При холодной миграции происходит остановка ВМ и запуск ее на другом узле. Согласно требованиям по отказоустойчивости все ресурсы пула равнозначны и располагают информацией о всех ВМ и доступом к единому хранилищу, следовательно переноса информации не требуется, необходимо просто дать команду на запуск ВМ модулю управления другого аппаратного узла.
При горячей миграции происходит перенос в фоновом режиме образа оперативной памяти запущенной ВМ на другой аппаратный узел, таким образом остановки ВМ не происходит. Под понятием «живая миграция» подразумевается процесс переключения контекста исполнения ВМ с одного хоста пула на другой.
Модуль виртуализации состоит из нескольких компонентов: компонента предоставления аппаратных ресурсов, предназначенного для выделения аппаратных ресурсов, их виртуализации и предоставления для использования виртуальными машинами; компонента управления, предназначенного для управления компонентой предоставления аппаратных ресурсов и предоставления внешнего интерфейса приложений (API) для ЭВМ управления; компонента регистрации событий, предназначенного для регистрации событий в процессе виртуализации и управления.
Указанные компоненты в составе модуля виртуализации могут быть выполнены в виде агентов, размещенных на машиночитаемом носителе или в памяти, при выполнении которых компьютером обеспечивается реализация описанных функций. Кроме того, такие компоненты могут быть выполнены в виде устройств, размещенных на общей шине данных, функционирующих под управлением соответствующего программного обеспечения.
Модуль диспетчеризации предназначен для управления процессами выделения/возврата аппаратных ресурсов для ВМ по команде от ЭВМ управления.
В частности, распределение ресурсов процессора происходит по следующему алгоритму.
Все виртуальные процессоры (vCPU) виртуальных машин выстраиваются в очередь модуля диспетчеризации (например, в его оперативной памяти). Модуль диспетчеризации обрабатывает очередь vCPU, распределяя vCPU между доступными физическими процессорами в соответствии с политиками. Политики распределения описываются параметрами ВМ - параметрами вес и лимит. Значение веса определяет, сколько получит ВМ реального процессорного времени. Например, ВМ с весом 512 получит на хосте в два раза больше процессорного времени физического процессора, чем ВМ со значением веса 256. Значение параметра вес может изменяться в диапазоне от 1 до 65535, по умолчанию равен 256.
Значение лимита может использоваться для того, чтобы указать максимальную величину процессорного времени, которую может получить ВМ, даже в случае, если хост-система простаивает. Значение выражается в процентах: 100 - это один физический процессор, 50 - это половина процессора, 400 - 4 процессора. При этом значение лимита не может быть большим чем VCPU*100, т.е. одному виртуальному процессору не может соответствовать больше чем один реальный процессор.
Ресурсы процессора могут быть выбраны из состава высокопроизводительных вычислительных ресурсов (которые могут представлять собой, например, пул процессоров).
Распределение памяти происходит по следующему алгоритму.
Модуль диспетчеризации выделяет память виртуальной машине в монопольное пользование. Выделение памяти ВМ больше, чем имеется физической памяти, невозможно. Доступная для ВМ память определяется как объем физической памяти хоста, входящего в пул, за минусом объема памяти, необходимой для работы служебных ВМ. Максимальное количество памяти, выделяемой ВМ, определяется параметрами ВМ при запуске ВМ на исполнение. В случае, если объема доступной виртуальной памяти недостаточно для запуска ВМ с указанным объемом памяти, запуск ВМ невозможен.
Ресурсы физической памяти могут быть выбраны из состава второй группы ЭВМ 2 для хранения программных сессий.
Распределение сетевых ресурсов между виртуальными машинами выполняется средствами управления графиком.
Приоритизация обращений ВМ к дисковой подсистеме может выполняться с помощью механизма планировщика CFQ (Completely Fair Queuing) Linux.
Алгоритм распределения дискового пространства между ВМ аналогичен алгоритму распределения памяти.
Модуль диспетчеризации состоит из нескольких компонентов: компонента выделения/возврата аппаратных ресурсов, предназначенного для управления процессами выделения/возврата аппаратных ресурсов для виртуальных машин и управляющими структурами, контролирующими распределение оперативной памяти между процессами комплекса и виртуальными машинами; компонента управления, предназначенного для управления программной компонентой выделения/возврата аппаратных ресурсов и предоставления внешнего API для ЭВМ управления; компонента регистрации событий, предназначенного для регистрации событий в процессе диспетчеризации и управления.
Указанные компоненты в составе модуля могут быть выполнены в виде агентов, размещенных на машиночитаемом носителе или в памяти, при выполнении которых компьютером обеспечивается реализация описанных функций. Кроме того, такие компоненты могут быть выполнены в виде устройств, размещенных на общей шине данных, функционирующих под управлением соответствующего программного обеспечения.
Средство управления графиком выполнено с возможностью распределения сетевых ресурсов между ВМ на основании информации, полученной от ЭВМ управления.
Модуль динамического контроля конфликтных ситуаций, функционирующий в близком к реальному времени режиме, состоит из нескольких компонентов: компонента учета априори распределенных каждому параллельно выполняемому в сети процессу общесетевых ресурсов, компонента учета и формирования бинарной матрицы владений каждым процессом общесетевых ресурсов, компонента учета и формирования бинарной матрицы запросов каждым процессом общесетевых ресурсов, компонента построения и вычисления размерности бинарной матрицы конфликтных ситуаций, компонента информационного обмена со связанными с модулем динамического контроля модулем виртуализации, модулем диспетчеризации, средством управления графиком и ЭВМ управления.
Указанные компоненты в составе модуля динамического контроля конфликтных ситуаций могут быть выполнены в виде агентов, размещенных на машиночитаемом носителе или в памяти, при выполнении которых компьютером обеспечивается реализация описанных функций. Кроме того, такие компоненты могут быть выполнены в виде устройств, размещенных на общей шине данных, функционирующих под управлением соответствующего программного обеспечения.
ЭВМ управления обеспечивает ведение мониторинга и учета выделенных и запрашиваемых отдельными виртуальными машинами ресурсов и обменивается полученной информацией и соответствующими командами с модулем виртуализации, модулем диспетчеризации, средством управления графиком и с модулем динамического контроля конфликтных ситуаций.
Это позволяет обеспечить гибкость распределения нагрузки в сети, а также позволяет своевременно обеспечивать создание необходимого количества ВМ для обработки поступающих запросов от рабочих ЭВМ.
Модули виртуализации, диспетчеризации, средства управления графиком и динамического контроля конфликтных ситуаций могут быть выполнены в виде аппаратно-программного комплекса на базе существующих ЭВМ под управлением соответствующего программного обеспечения.
Пояснение. Используемые в материалах заявки понятия «ресурсы», «сетевые ресурсы» и «распределенные ресурсы» являются тождественными, и приводятся как наиболее часто употребляемые в пределах временных рамок развития ИТ-технологии, а именно: ЭВМ - Вычислительные сети - Облачные вычисления.
Аппаратно-вычислительный комплекс виртуализации и управления ресурсами в среде облачных вычислений, включающий в себя связанные между собой и соединенные посредством сети первую группу рабочих ЭВМ и вторую группу ЭВМ для хранения программных сессий, ЭВМ управления, через которую связаны вторая группа ЭВМ для хранения программных сессий, высокопроизводительные вычислительные ресурсы и разделяемые файловые хранилища, а также связанные со второй группой ЭВМ для хранения программных сессий и с ЭВМ управления модуль виртуализации, модуль диспетчеризации и средство управления графиком, обеспечивающие соответственно создание виртуальных машин, управление выделением/возвратом аппаратных ресурсов и назначением приоритета в момент запуска для каждой виртуальной машины с учетом возможных временных ограничений, распределение сетевых ресурсов между виртуальными машинами на основании информации, получаемой от ЭВМ управления, отличающийся тем, что в состав аппаратно-вычислительного комплекса введен связанный по информации с модулем виртуализации, с модулем диспетчеризации, со средством управления графиком и с ЭВМ управления, состоящий из программных компонентов модуль динамического контроля возникновения конфликтных ситуаций, в алгоритм функционирования которого заложено выполнение компонентов программы обработки запросов по информации от средства управления графиком, формирующих матрицу запросов для монопольного Zм и разделяемого Zp типов доступа к сетевым ресурсам, а также компонентов программы обработки владений по информации от модуля диспетчеризации, формирующих матрицу монопольного Vм и разделяемого Vp типа владений соответственно по формулам:
,
где: ri и rj - общие сетевые ресурсы, запрашиваемые и находящиеся во владении процессов ρi и ρj, и компонентов программы вычисления значения размерности матрицы конфликтов