Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диссертация ( Е Мьинт Наинг ).doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
2.3 Mб
Скачать

Конфигурация 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 Вычислительный кластер, который принимает поступающие задания от пользователей. В работе были использованы ПО для расчетов в распределенной вычислительной среде на основе Облака. И было проведено тестирование вычислительной среды на различных задачах.