- •Организация системы доступа пользователей и разработка технических принципов запуска ресурсоемких приложений в распределенной вычислительной среде на основе технологии облачных вычислений
- •Диссертация
- •Глава 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 в распределенной вычислительной среде
- •Часть исходного кода программы
- •Заключение
- •Литература
Конфигурация Univa Grid Engine
Компания Univa анонсировала создание форка проекта Sun Grid Engine, предназначенного для организации процесса выполнения заданий в сети распределенных вычислений. Компания Univa уже достаточно давно занимается созданием расширений и предоставляет услуги поддержки для решений на базе Univa Grid Engine, имея на это соответствующую OEM-лицензию. После поглощения Univa компанией Oracle, разработка открытого проекта была прекращена, поэтому компания Univa решила взять инициативу в свои руки и совместно с независимым сообществом разработчиков продолжить разработку независимо от Oracle. Продукт Univa Grid Engine предназначен, прежде всего, для сетей среднего размера, охватывающих отдел или небольшое предприятие. Этот продукт предназначен для сетей класса Cluster Grid и доступен бесплатно [7],[58].
Пакет позволяет объединить несколько серверов или рабочих станций в единый вычислительный ресурс, который может быть использован как для пакетных задач, так и для высокопроизводительных пакетных вычислений.
Администратор вычислительной сети может получать данные мониторинга и статистики, и на их основе оптимизировать уровень использования ресурсов. Административный интерфейс позволяет задавать различные параметры вычислительных задач, такие, как приоритеты, требуемые ресурсы оборудования, лицензии на программное обеспечение, временное окно выполнения, права пользователей на доступ к тем или иным ресурсам [7].
На диаграмме показаны компоненты Univa Grid Engine кластера.
Рисунок.2.16. Компоненты Univa Grid Engine
В центре диаграммы – qmaster. Этот центральный компонент Univa Grid Engine управляет кластером, принимая поступающие задания от пользователей, назначая задания на ресурсы, контролируя текущий статус кластера, и обрабатывая команды управления. qmaster – многопоточный демон, который работает на одном хосте в вычислительном кластере. Чтобы уменьшить незапланированный простой кластера, один или более shadow masters могут выполнить задачи на дополнительных узлах в кластере. В случае неудачного завершения задачи qmaster'ом или хостом, задача передается новому qmaster, запуская нового qmaster демона. Каждый хост в кластере, который должен выполнить задания, должен будет запустить соответствующий демон. Демон получает задания от qmaster и выполняет их в определённом месте на своем хосте. Программное обеспечение Univa Grid Engine не устанавливает ограничений на число заданий, которые может распределить демон, но в большинстве случаев число заданий определено числом ядер центрального процессора доступных на хосте. Когда задание завершено, демон сообщает qmaster, что он может планировать новое задание.
В стандартном режиме каждый демон шлет сообщение о своем состоянии qmaster'у. Если qmaster неудачно завершает одну из задач, получая несколько последовательных сообщений от демона, то qmaster не зарегистрирует этого хоста и все его ресурсы как доступные и удалит его из списка планировщика как доступного.
Задания посылаются в qmaster разнообразными путями. DRMAA обеспечивает программный интерфейс для приложения, чтобы обеспечить запуск и контроль задания. Программное обеспечение Univa Grid Engine работает с C и Java, позволяя использовать DRMAA для широкого диапазона приложений. qmon – это графический пользовательский интерфейс Univa Grid Engine. Через qmon пользователи и администратор могут запускать, контролировать и управлять заданиями, а так же управлять всеми функциями кластера. qsub – это командная строка утилита для того, чтобы запускать очереди, пакеты и параллельные задания. Последний компонент, показанный на диаграмме – это ARCo (Accounting and Reporting Console), интернет приложение, обеспечивающее доступ к Univa Grid Engine для учёта информации, хранившейся в базе данных. Используя ARCo, конечные пользователи и администраторы могут создавать и выполнять запросы по учёту работы кластера [3] [7].
Услуги и другие объекты, которые существуют и общаются в Grid, реализованы как демоны UN*X. Кроме того, UGE предлагает огромный набор инструментов в режиме командной строки для планирования заданий, мониторинг и общего управления, с возможностями резервного копирования, и дружественный к пользователю интерфейс. Такой подход открывает очень большие возможности для работы со скриптами операционного окружения, например в режиме терминала.
В дополнение к отмеченным особенностям важно понимать, что реализация инфраструктуры Grid в среде UN*X разрешает использовать все уже доступные стандартные и привычные инструменты коммуникации, такие как rsh и ssh, продвижение X-Window, NFS, NIS +, RPC и т.д.
Первый шаг, необходимый для начала работы, это собрать данные по топологии доступных ресурсов, выбирая подходящие машины для поставленных задач. UGE использует в основном 4 типа хостов: Master host, Execution host, Administration host and Submit host.
Каждый хост может быть членом в то же время больше чем одной категории и будет управлять соответствующими демонами UGE. Единственное ограничение к этому подразделению хостов состоит в том , что может существовать только один Master хост на верхнем уровне UGE grid (названный Cell ) [33].
Рисунок.2.17. Конфигурация Univa Grid Engine (Графический интерфейс пользователя - qmon)
В данной работе реализовали систему управления распределенными ресурсами UGE в в двух многопроцессорных серверах Ultra Sparc T1 в ВТ СПбГЭТУ«ЛЭТИ». И рассмотрено выполнение приложение PI для расчетов в распределенной вычислительной среде. Как видно, мы имеем очень хорошие результаты: ускорение расчетов близко к идеальному.
yemyint@sun2:~$ qhost
HOSTNAME ARCH NCPU NSOC NCOR NTHR LOAD MEMTOT MEMUSE SWAPTO SWAPUS
----------------------------------------------------------------------------------------------
global - - - - - - - - - -
sun1 sol-sparc64 32 1 8 8 2.59 15.9G 10.1G 2.0G 0.0
sun2 sol-sparc64 32 1 8 8 2.70 15.9G 13.6G 2.0G 0.0
Количество потоков
|
Время Выполнения (секунды) на Univa Grid Engine |
Время Выполнения (секунды) на OPENMP |
1 |
37.7104 |
37.7091 |
2 |
18.863 |
18.8585 |
4 |
9.43742 |
9.43435 |
6 |
6.50427 |
6.50327 |
8 |
4.5323 |
4.50626 |
Таблица.2.5. Результаты времени выполнения на приложении PI
Время Выполнения (секунды)
Рисунок.2.18. Результаты времени выполнения на UGE и Openmp
Univa Grid Engine Этот продукт предназначен для сетей класса Cluster Grid и доступен бесплатно. Univa Grid Engine объединяет вычислительные ресурсы для решения особо сложных задач и предлагает эффективный подход для решения таких задач. В системе UGE существует специальная структура данных – параллельное окружение, которое позволяет учитывать особенности работы приложений, использующих технологии параллельного программирования. Для решения параллельных заданий делали интеграцию UGE и Openmp с дополнительным пакетом скриптов. В работе был выбран Univa Grid Engine для системы управления распределенными ресурсами.
Выводы
В данной главе проанализированы и обсуждены проблемы, характеристики, архитектура и приложения нескольких популярных программных продуктов, чтобы пользователи более разумно выбрать то, что они хотят и могут лучше понять различные подходы к построению операционного окружения для доступа пользователей и запуски приложений в распределенной вычислительной среде на основе технологии облачных вычислений. Globus Toolkit - это один из основных инструментов, применяемых для построения Грид-систем и их приложений. Globus - это open-source ПО, имеет большое пользовательское сообщество, хорошую документацию, мощную и стандартизированную систему безопасности. Univa Grid Engine Этот продукт предназначен для сетей класса Cluster Grid и доступен бесплатно. Univa Grid Engine объединяет вычислительные ресурсы для решения особо сложных задач и предлагает эффективный подход для решения таких задач. MOSIX – системное программное обеспечение и одноименная технология для реализации масштабируемых вычислительных кластеров. MOSIX можно рассматривать как операционную систему мульти-кластера, которая включает автоматическое обнаружение ресурса и динамическое распределение рабочей нагрузки, обычно она загружается на уединенных компьютерах с большим количеством процессоров.
В данной работе мы создали операционное окружение для доступа пользователей к распределенной вычислительной среде на основе технологии облачных вычислений. Для организации системы доступа пользователей к распределенной вычислительной среде на основе технологии облачных вычислений можно разделить на 5 частей. Первая часть - Grid Security Infrastructure (GSI) предоставляет API для аутентификации, авторизации и сертификации. GSI основана на надежной и широко используемой инфраструктуре криптографии с открытым ключом (Public Key Infrastructure – PKI). В качестве идентификаторов пользователей и ресурсов в GSI используются цифровые сертификаты X.509. Вторая часть – Globus GRAM. Globus Toolkit предоставляет доступ к вычислительным процессам при помощи компонента GRAM. С его помощью можно добавлять, контролировать, отслеживать и отменять задания в системе. Пользовательские приложения формируют запросы к GRAM на специальном языке RSL (Resource Specification Language). Третья часть – GridFTP используется для организации доступа к данным, включая вопросы безопасности и параллелизма высокоскоростной передачи данных. Протокол GridFTP предоставляет безопасную, устойчивую к ошибкам, быструю и эффективную передачу данных (особенно – в больших объемах). Четвертая часть – Система управления распределенными ресурсами. Последняя часть – Mosix Вычислительный кластер, который принимает поступающие задания от пользователей. В работе были использованы ПО для расчетов в распределенной вычислительной среде на основе Облака. И было проведено тестирование вычислительной среды на различных задачах.
