
- •Организация системы доступа пользователей и разработка технических принципов запуска ресурсоемких приложений в распределенной вычислительной среде на основе технологии облачных вычислений
- •Диссертация
- •Глава 1. Классификация распределенных вычислительных сред 15
- •Глава 1. Классификация распределенных вычислительных сред 6
- •2Глава 2. Проблемы доступа пользователей и анализ продуктов для запуска приложений в распределенной вычислительной среде 14
- •Введение
- •Глава 1. Классификация распределенных вычислительных сред
- •Клиент-сервер
- •Метакомпьютинг
- •Основные понятия
- •Кластерная технология
- •Технологии Грид
- •Архитектура Грид
- •Общие задачи Грида
- •Технологии и системы облачных вычислений
- •Основные характеристики Облачных вычислений
- •Особенности облачных вычислений
- •Вызовы облачных вычислений
- •Глава 2. Проблемы доступа пользователей и анализ продуктов для запуска приложений в распределенной вычислительной среде
- •Анализ системы безопасности для распределенных вычислений
- •Системы авторизации Grid
- •Системы авторизации облачных вычислений
- •Анализ Облачных платформ для эффективного построения облачной вычислительной среды
- •Облачная платформа ( eucalyptus)
- •Облачная платформа (OpenNebula )
- •Облачная платформа (Abicloud )
- •Облачная платформа (Nimbus )
- •Анализ безопасности программной интерфейса api для управления ресурсами и сервисами Облачных вычислений
- •Исследование производительности метакомпьютера с единым образом операционной системы
- •Исследование производительности pvm c и без миграции процессов mosix в гетерогенной среде
- •Исследование производительности mpi с и без миграции процессов mosix в виртуальной среде
- •Анализ продукты Globus Toolkit для организации системы доступа пользователей к распределенной вычислительной среде
- •Gridftp – для управления данными
- •Gram – для управления процессами
- •Разработка и исследование системы управления ресурсами Univa Grid Engine в многопроцессорных северах
- •Конфигурация Univa Grid Engine
- •Глава 3. Организация системы доступа пользователей и разработка технических принципов запуска ресурсоемких приложений
- •Разработка системы безопасности грида в систему облачных вычислений
- •Разработка системы управления облачными ресурсами
- •Программный интерфейс drmaa для интеграции программных продуктов
- •Мosix вычислительный кластер на основе технологии облачных вычислений
- •Запуск приложение в распределенной вычислительной среде на основе технологии облачных вычислений
- •Глава 4. Консолидация и интеграция программных комплексов
- •Интеграция mpich2 и uge для запуска параллельных приложений
- •Интеграция uge и Globus toolkit для запуска приложений через drmaa
- •Интеграция системы безопасности Грида в систему Облачных вычислений
- •Разработка программного обеспечения OpenFoam в распределенной вычислительной среде
- •Часть исходного кода программы
- •Заключение
- •Литература
Облачная платформа (Nimbus )
Nimbus – это IaaS-решение, предназначенное для научных вычислений. Используя Nimbus, можно брать в аренду удаленные ресурсы (например, предоставляемые Amazon EC2) и управлять ими локально (конфигурировать, разворачивать виртуальные машины, следить за их работой и т.д.). Решение Nimbus образовалось из проекта Workspace Service (который является частью Globus.org). Nimbus базируется на платформе Amazon EC2 и поддерживает гипервизоры Xen и KVM/Linux[31],[73],[85].
EC2 and other cloud platforms
Context client
Cloud client
Reference client
EC2 client
Context broker
WSRF
EC2 WSDL
RM API
Workspace servise
Iaas gateway
Workspace resource manager
Workspace pilot
Workspace control
Рисунок.2.8. Архитектура Платформы Nimbus
В настоящий момент существуют несколько платформ "облачных" вычислений, у каждого есть отличительные особенности и преимущества. Чтобы лучше понять эти платформы, мы проведем их подробное сравнение по различным аспектам реализации. Характеристики и особенности этих платформ приведены в таблице 2.2, анализ которой показывает следующее.
Как видно из таблицы 2.2, несмотря на разные реализации этих облачных платформ, есть много общего между ними. Например, все они являются масштабируемыми, все обеспечивают IaaS, все поддерживают динамическое развертывание платформы, все поддерживают виртуализацию по Xen технологии, и все поддерживают операционную систему Linux и разработку приложений на Java. Однако, есть также принципиальные различия в виде их сетевых интерфейсов, структуры и надежности и так далее. Обычно, у каждой облачной платформы есть свои собственные преимущества перед другими. Например, с точки зрения надежности, OpenNebula является более зрелой [73].
|
Eucalyptus |
OpenNebula |
Nimbus |
AbiCloud |
Характер Облока |
Публичное |
Частное |
Публичное |
Публичное/ Частное |
Масштабируемость |
Масштабируемое |
динамическое, масштабируемое |
масштабируемое |
масштабируемое |
Форма Облока |
IaaS |
IaaS |
IaaS |
IaaS |
Совместимость |
Поддержка EC2, S3 |
открытое, многоплатформное |
Поддержка EC2 |
Нет поддержки EC2 |
Развертывание |
Динамическое развертывание |
Динамическое развертывание |
Динамическое развертывание |
Пакетное развертывание |
Способ развертывания |
Командная строка |
Командная строка |
Командная строка |
веб-интерфейс |
Переносимость |
Общий |
Общий |
Общий |
Лёгкий |
Поддержка виртуальных машин |
Xen, KVM and VMware vSphere, ESX and ESX |
Xen, KVM, VMware |
Xen, KVM |
VirtualBox, Xen, VMware,VM |
Веб-интерфейс |
Веб-сервис |
EC2 WSDL, WSRF |
libvirt, EC2, OCCI, API |
libvirt |
Надёжность |
- |
Откаты хостов и виртуальных машин |
- |
- |
Поддержка Операционных систем |
Linux |
Linux |
Linux |
Linux |
Развитие |
Java |
Java |
Java, Python |
ruby, C++, python |
Таблица.2.2. Сравнение нескольких платформ облачных вычислений
Облачные вычисления - новая технология, широко изученная в последние годы. Появилось много облачных платформ как от производителей, так и в академической сфере. Разобраться со всеми проблемами и понять, как использовать эти платформы, является определенной проблемой. Подробное их сравнение было представлено в этой статье с упором на таких аспектах, как архитектура, характеристики, приложения и так далее. Из проведенного анализа пользователи могут лучше понять характеристики и надежнее выбирать платформу облачных вычислений согласно протоколам, интерфейсам, совместимости, реализации, требованию по развертыванию и возможности развития и так далее. Хотя у каждой платформы облачных вычислений есть свои достоинства, одну вещь очень важно подчеркнуть - независимо от того, какая платформа выбрана, остаются нерешенные проблемы. Укажем в качестве примера механизмы кластерного отказа в облачной среде, гарантии согласованности и синхронизации на различных кластерах в облачной платформе, стандартизация, безопасность облачной платформы и данных при передаче и так далее. Все эти проблемы требуют своего решения для каждой конкретной реализации [73],[74].
На тестовом полигоне ПМПУ СПбГУ облако строилось на гетерогенной системе состоящей из сильно различающихся по производительности кластеров, построенных на двух-, четырех- и шестипроцессорных Оптеронах. Тем не менее, Eucalyptus показал себя, с одной стороны, как эффективное средство объединения ресурсов в такой сильно неоднородной среде, а, с другой стороны, имеющиеся в нем инструментальные средства позволяют легко масштабировать и переконфигурировать имеющиеся ресурсы, что очень важно для университетских сетей с их неоднородной загрузкой.
Представлен релиз платформы для организации управления облачной инфраструктурой и виртуальными окружениями OpenNebula. OpenNebula позволяет организовать работу локальной облачной инфраструктуры для предоставления сервисов IaaS (инфраструктура как сервис), похожей на Amazon EC2, или обеспечить работу гибридной схемы, комбинируя ресурсы локального дата-центра и внешних облачных провайдеров. В наличии имеются средства для организации развёртывания виртуальных окружений, мониторинга, контроля доступа, обеспечения безопасности и управления хранилищем. Код системы полностью открыт под лицензией Apache. Готовые установочные пакеты доступны для Ubuntu, openSUSE, RHEL/CentOS и Debian.
в OpenNebula 3.6 представлено несколько интересных новшеств, из которых можно отметить:
Реализация механизма горячего подключения дисковых разделов, позволяющего добавлять к виртуальному окружению новые разделы или существующие образы виртуальных машин;
Полностью переписаны инструменты для назначения квот и аккаунтинга, которые теперь включены в ядро OpenNebula, что позволило улучшить интеграцию с такими механизмами, как AuthZ и AuthN, а также другими компонентами платформы (например, интерфейсом Sunstone). Добавлены новые типы квот на хранилища и пропускную способность сети;
Функция перепланирования виртуальных машин, позволяющая принудительно мигрировать виртуальные машины на другие хосты, например, для освобождения заданного сервера с целью проведения работ по его обслуживании;
Поддержка жёсткой перезагрузки зависших виртуальных машин;
Возможность определения разных системных хранилищ для разных кластеров виртуальных машин. Для работы с хранилищами подготовлен новый LVM-драйвер;
Функция клонирования существующих дисковых образов и создания дубликатов шаблонов виртуальных машин;
Улучшение производительности подсистемы авторизации;
Поддержка указания нескольких LDAP-серверов для аутентификации пользователей;
Предоставление разработчикам документ-ориентированного хранилища, которое может быть использовано для сохранения состояний запускаемых приложений;
Редизайн некоторых вкладок (dashboard, cluster view) в web-интерфейсе Sunstone. Поддержка настройки через web-интерфейс горячего подключения дисков, клонирования образов и установки квот;
Полная интеграция с сервисом OpenNebula Marketplace, предоставляющем пользователям средства для поиска и установки готовых виртуальных окружений, преднастроенных для выполнения тех или иных функций.
Одновременно можно отметить релиз конкурирующей с OpenNebula системы Eucalyptus 3.1, позволяющей создать совместимую с Amazon EC2 (API EC2, S3, EBS) локальную cloud-инфраструктуру для прозрачного выполнения образов виртуальных машин на базе собственного набора серверов, базирующихся на технологиях Xen или KVM. Eucalyptus 3.1 продолжается развитие существенных новшеств, появившихся в ветке 3.x, таких как поддержка обеспечения высокой доступности, управление идентификацией, модульная структура.
Новая версия примечательна возвращением к полностью открытому характеру разработки. Напомним, что Eucalyptus является одной из первых облачных платформ, популярность которой в последнее время существенно снизилась - например, серверная редакция Ubuntu перешла на платформу OpenStack. Основной причиной потери интереса разработчиков к Eucalyptus был перевод проекта на модель Open Core, при которой открытым остаётся только базовая часть, а расширенные функции распространяются только в платной версии. Отныне данная модель признана компанией Eucalyptus неэффективной, и проект вернулся к полному открытию всех наработок, без разделения на платную и community версии. Полный набор исходных текстов Eucalyptus 3.1, которые поставляются под лицензией GPLv3, можно загрузить с GitHub. Примечательно, что разработка отныне будет вестись с использованием GitHub, что упростит участие в проекте сторонних энтузиастов.
Из добавленных в Eucalyptus 3.1 улучшений можно отметить:
Новая архитектура создания плагинов и разбиение платформы на модули, позволяющие автоматизировать процесс установки и упростить обноление;
Улучшенные средства контроля зависимостей, позволяющие добиться лучшей совместимости с различными дистрибутивами Linux;
Новый автоматизированный набор тестов для слежения за обеспечением высокого качества проекта;
Средства для упрощения развёртывание облачных систем на базе последней версии Red Hat Enterprise Linux с поддержкой EC2, EBS, S3 и IAM с возможностью использования платформ Red Hat Enterprise Virtualization и VMware;
FastStart - самодостаточное средство для автоматизации создания IaaS-инфраструктуры на базе Eucalyptus. Общее время, которое необходимо для создание рабочей IaaS системы оценивается в 20 минут. Режим FastStart может быть использован в CentOS 5 с Xen или в CentOS 6 с KVM. Для установки и настройки более сложных конфигураций представлен набор инструментов SilverEye.