Файл: Распределенная технология обработки информации (Классификация кластерных вычислений).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 25.04.2023

Просмотров: 105

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

3.Клеточные автоматы

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

4. Системы дифференциальных уравнений

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

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

Также кластеры могут классифицироваться по:

- стандартности комплектующих;

- по однородности узлов;

- по типу узловых процессоров.

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


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

1.4 Кластеры контейнеров

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

Процесс создания кластера контейнеров предполагает [11]:

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

- проверку наличия необходимых прав.

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

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

Open Source-система Kubernetes, служащая для решения задач по управлению контейнерными кластерами появилась в результате разработок, накопленных Google в течение 10 лет эксплуатации Borg — технологии по изоляции процессов в виртуальной среде.

Технология Kubernetes в настоящее время считается «идеальной платформой» для оркестрации контейнеров. Она позволяет управлять кластерами виртуальных машин и Linux-контейнерами как единым целым, является лидером систем, рекомендуемых для внедрения для средних и крупных предприятий.

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

Технология Swarm интересна в первую очередь представителям малых и средних предприятий, объем запуска задач в которых не более 60 тыс. контейнеров и до 1500 нод. Благодаря автоматической совместимости с Docker использование Swarm интересно разработчикам как развитие данной бизнес-модели по наращиванию своего облачного присутствия. Большую помощь в развитии этого направления оказывает Microsoft Azure, которая предлагает поддержку Swarm [14].


Третьим основным игроком на рынке кластеризации контейнеров является система Apache Mesos. Данная система является централизованной отказоустойчивой для управления кластерами, позволяющей объединять в группы отдельные узлы (Mesos Slaves) в соответствии с выставленными требованиями, позволяющая в дальнейшем обеспечивать им изоляцию от остальных ИТ-ресурсов и управление.

2. Виртуализация

2.1 История и определения

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

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

Первые виртуальные машины появились в 1961 году в супервизорах суперкомпьютеров класса Atlas, которые были разработаны английской фирмой Ferranti. К середине 60-х годов реализация данной технологии была проведена в проекте IBM M44/44X Project и компьютерах класса IBM 7044 [3].

Следующим этапом развития технологи виртуализации стала разработка концепции виртуальных машин. Разработка данной концепции началась в 1965 году, когда исследователями корпорации IBM была предпринята экспериментальная попытка разделения компьютера на отдельные небольшие компоненты. Данное направление исследований привело к появлению многопользовательской операционной среды на компьютерах класса IBM System 370 и System 390 и операционных системах VM/ESA, составляющих основу генеалогической линии IBM VM (Virtual Machine).

Далее рассмотрим основные виды технологий виртуализации.


Как правило, в качестве решений на основе реализации технологий виртуализации рассматриваются [9]:

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

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

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

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

Далее рассмотрим технологии виртуализации в архитектуре x86.

Впервые применение апаратной виртуализации была реализовано в 386-х процессорах. Технология носила название V86 mode. Данный режим позволял осуществлять запуск нескольких DOS-приложений в параллельном режиме.

В 2005-м году компаниями Intel и AMD были представлены решения, в которых была реализована аппаратная поддержка технологий виртуализации — INTEL VT и AMD-V. Была проведена реализация дополнительных инструкций по предоставлению прямого доступа к ресурсам процессора из гостевых систем. Данный набор дополнительных инструкций получил наименование Virtual Machine Extensions (VMX).

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

Технологии на основе VT-d позволяют избегать полной виртуализации на уровне устройств ввода-вывода. Использование VT-d, VMM позволяет проводить «прикрепление» драйверов физических устройств к виртуальнм машинам, что позволяет гостевым ОС осуществлять взаимодействие с прикрепленными устройствами без передачи управления виртуальной машине через механизм DMA (предполагающие прямой доступ устройств к ОЗУ минуя процессор) [10].

В следующем поколении аппаратной виртуализации были реализованы технологии по виртуализации памяти. Примерами техноогий данного класса являются: AMD NPT (Nested Page Tables) / Intel EPT (Extended Page Tables). При этом технологии HAP — следует рассматривать как маркетинговые технологии, так как в реальности обозначают одно и то же. Проведение вызова операций из гостевых ОС, проводится путем команды VMLAUNCH, после чего со стороны виртуальной машины начинается исполнение своего кода с дальнейшим использованием инструкции VMRESUME. Однако при проведении операций с памятью, гостевые ОС должны работать под управлением монитора виртуальных машин VMM с возможностью управления памятью (механизм имеет название Shadow Paging). Применение технологий Extended Page Tables (EPT) предполагает, что гостевые ОС могут самостоятельно работать со страницами памяти, включая осуществление контроля Page Faults, которые, проходят через гипервизоры и вызывают команду VMEXIT. Инструкция VMEXIT по сути представляет собой процесс передачи управления к монитору виртуальных машин гипервизора, который осуществляет действия в соответствии с поступающими инструкциями. Таким образом, чем меньше вызовов VMEXIT — тем лучше.


Далее проведем анализ технологий мобильной виртуализации.

Компанией VMware была продемонстрирована технология MVP (Mobile Virtualization Platform), представляющая гипервизор для мобильных устройств, который позволяет использовать на телефонах в оновременном режиме такие платформы, как Google Android и Windows Mobile. Разработка предназначена для создания на мобильных устройствах дополнительного защищенного окружения для работы с конфиденциальной информацией.

Раюота гипервизора MVP была продемонстрирована на планшетном ПК Nokia N800. Объема памяти в 128MB и 256MB Flash оказалось достаточно для возможности одновременного запуска двух виртуальных сред с установленными Windows CE 6.0 и Google Android [11].

TRANGO представляет собой гипервизор с технологией на базе виртуального процессора, который позволяет проводить запуск на мобильных устройствах с RISC-процессорами от ARM или MIPS нескольких гостевых операционных систем.

Компанией Citrix было проведено объединение своих усилий с группой разработчиков Open Kernel Lab (OK Lab) по созданию уникальной мобильной платформы, получившей название Nirvana Phone.

Технология Nirvana Phone рассматривается как гибридное решение, включающее функции карманных смартфонов и функций, реализованных в традиционных настольных гипервизорах. В системе имеется виртуальный рабочий стол XenDesktop, который легко может разворачиваться в полноценное рабочее место с возможностью подключения большого монитора, мыши и клавиатуры за счет использования мобильного клиентского модуля виртуализации OKL4 Microvisor 4.0. Самими разработчиками считается, что оптимальный способ подключения периферийных устройств будет связан с беспроводным интерфейсом
Bluetooth – использование данного канала позволяет использовать большое количество уже выпущенных серийно устройств.

2.2 Преимущества виртуализации

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