Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Корсуков Александр Сергеевич

Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред
<
Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Корсуков Александр Сергеевич. Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред : диссертация ... кандидата технических наук : 05.13.11 / Корсуков Александр Сергеевич; [Место защиты: Ин-т динамики систем и теории управления СО РАН].- Иркутск, 2009.- 147 с.: ил. РГБ ОД, 61 09-5/1389

Содержание к диссертации

Введение

Глава 1. Распределенные вычисления 12

1.1. Основные понятия 12

1.2. Вычислительные кластеры 15

1.3. Системы управления заданиями 23

1.4. Кластерная система condor 26

1.5. Технология Grid 29

1.5.1. Программное обеспечение Grid 29

1.5.2. Проекты Grid ' 31

1.6. Обзор веб-технологий 36

Глава 2. Способы и средства построения распределенной вычислительной среды 39

2.1. Модель распределенной вычислительной среды 39

2.2. Пользовательский интерфейс 45

2.3. Инструментальный комплекс discent 48

2.4. Конструктор 49

2.4.1. Построение модели распределенной вычислительной среды 49

2.4.2. Язык заданий 49

2.4.3. Командный язык 51

2.4.4. Создание веб-форм 53

2.5. База данных 59

2.6. Система WIM 61

Глава 3. Построение распределенных вычислительных сред 83

3.1. Этапы организации и применения распределенных вычислительных сред 83

3.2. Создание Grid 86

3.2.1. Архитектура Grid 87

3.2.2. Децентрализованное управление потоками заданий в Grid 93

3.3. Моделирование потоков заданий в grid 95

3.3.1. Генератор потоков заданий 96

3.3.2. Результаты вычислительного эксперимента 101

3.4. Решение практических задач в grid 105

3.5. Организация вычислительного кластера вуза 107

Заключение 112

Литература 113

Список сокращений 121

Введение к работе

Актуальность темы. Применение методов математического моделирования при решении фундаментальных и прикладных задач на ЭВМ зачастую требует больших затрат машинного времени, а также значительных объемов оперативной памяти и дискового пространства [30]. Одним из путей решения данной проблемы является использование суперкомпьютерной вычислительной техники. Последнее обстоятельство является решающим для самого широкого внедрения технологий суперкомпьютинга в научно-исследовательскую деятельность и формирования на их основе важного сегмента наукоемких технологий.

На сегодняшний день существует большое число различных видов параллельных и распределенных вычислительных систем. По этим системам имеется обширная библиография [1, 3, 6, 11, 20, 21, 29, 32, 38, 39, 65]. Основываясь на анализе этих и других работ и принимая по внимание функциональные возможности высокопроизводительной вычислительной техники, можно выделить следующие основные ее классы: мультикомпьютеры, симметричные мультипроцессоры с общей памятью (SMP - Symmetric Multi Processing), массово-параллельные системы (МРР - Massively Parallel Processing) и вычислительные кластеры.

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

SMP-системы состоят из совокупности процессоров (до нескольких десятков), разделяющих общую оперативную память с единым адресным пространством и объединенных коммуникационной средой. Степень масштаби-

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

МРР-системы характеризуются большим числом вычислительных узлов, включающих один или несколько процессоров, модуль локальной оперативной памяти и устройства ввода/вывода. На каждом вычислительном узле работает своя копия ОС. Все узлы объединяются специализированной коммуникационной средой.

Кластер представляет собой набор вычислительных узлов или компьютеров, объединенных единой коммуникационной средой. Кластеры получили широкое распространение благодаря высокому уровню готовности при относительно низких затратах. Этому свидетельствуют тенденции увеличения доли кластеров в списках самых мощных компьютеров, как в мире (см., например, ТОП 500, ), так и в России (см., например, ТОП 50, ). Действительно, для создания вычислительного кластера, зачастую, на компьютеры локальной сети достаточно установить специальное системное программное обеспечение (ПО) для управления заданиями пользователей1. Кроме того, с позиций удобства масштабирования кластерные архитектуры допускают неограниченное наращивание узлов. Широкими потенциальными возможностями для организации кластеров обладают вузы, имеющие, как правило, значительное число единиц вычислительной техники в рамках компьютерных классов.

В последнее время для решения ресурсоемких фундаментальных и прикладных задач2 создаются различные распределенные и параллельные вычислительные системы и среды, традиционно рассматриваемые (см., например,

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

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

[18]) как совокупность вычислительных узлов, объединенных локальной или глобальной коммуникационной сетью. В частности, активно применяется технология создания специальной вычислительной сети, получившей название Grid [62]. Эта технология базируется на интеграции географически распределенных информационно-вычислительных и коммуникационных ресурсов и их совместном использовании в процессе вычислений. Инфраструктура Grid включает [20] объединенные телекоммуникационной средой средства вычислений и обработки информации (суперкомпьютеры, вычислительные кластеры, отдельные персональные компьютеры, системы хранения данных и др.) и системное ПО, предназначенное для управления процессом выполнения заданий пользователей в этой среде.

Grid, организованная на базе кластеров, в большинстве случаев ее использования обеспечивает возможность удаленного доступа к ресурсам (узлам) вычислительной сети и позволяет: определить вычислительные возможности конкретного узла (число процессоров, объем оперативной памяти и т.п.) и степень его работоспособности; выполнить на этом узле некоторое независимое задание или обработать один из блоков данных при решении «большой» задачи, допускающей распараллеливание по данным (см., например, [5, 12]).

Однако существуют типы научно-исследовательских задач, требующих более широких возможностей [31, 40]:

— обеспечения вычислительных услуг нетиражируемых программных ком
плексов, размещенных в узлах Grid;

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

Анализ существующих систем управления заданиями (СУПЗ) для кластеров [39] показывает, что как правило в этих системах реализовано централизованное управление автономными заданиями. Между тем решение задач с боль-

шим числом подзадач и информационно-логических связей между ними в значительной степени увеличивает нагрузку на управляющий компьютер кластера и может привести к снижению работоспособности всей вычислительной системы в целом [16]. Кроме того, формы ведения вычислительных работ в Grid, обусловленные используемым для ее организации сложным системным ПО, во многом ориентированы на специалистов с достаточно высоким уровнем квалификации в области системного программирования. Эти обстоятельства сдерживают широкое применение Grid специалистами-прикладниками и актуализируют вопросы создания «дружественных» средств доступа к ресурсам Grid и децентрализованных способов управления вычислительным процессом [59].

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

Цель работы состоит в разработке способа создания гетерогенных РВС, предоставляющих широкий выбор средств для решения ресурсоемких научно-исследовательских задач различных типов и обеспечивающих возможность интеграции с другими РВС. Достижение указанной цели осуществляется путем реализации программного комплекса, предназначенного для инструментальной поддержки основных этапов построения и применения РВС.

Объектом исследования является организация вычислительного процесса решения ресурсоеких фундаментальных и прикладных научных задач в РВС.

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

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

На защиту выносятся следующие основные результаты:

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

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

  2. Системная архитектура и алгоритмы функционирования инструментального комплекса, обеспечивающего поддержку основных этапов построения и применения гетерогенных распределенных вычислительных сред для решения ресурсоемких научно-исследовательских задач.

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

Практическая значимость. Разработанное ПО предоставляет пользователям возможность самостоятельно (без участия высококвалифицированных системных программистов) описывать исследуемую предметную область и программно-аппаратную часть РВС, а также формировать задания для решения

своих задач и проводить вычислительные эксперименты в РВС. Тем самым сокращаются сроки и повышается эффективность проведения научно-исследовательских работ в целом.

Разработанные в рамках выполнения диссертационной работы инструментальные средства использованы при создании Grid ИДСТУ СО РАН. Эти программные средства зарегистрированы в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам и применяются для проведения экспериментальных расчетов по плановым НИР в ИДСТУ СО РАН, а также в учебном процессе в Иркутском государственном университете: Институте математики, экономики и информатики и Международном институте экономики и лингвистики.

Исследование, разработка и применение программных средств, представленных в диссертации, выполнялись в рамках проекта СО РАН № 6 «Планирование и оптимизация схем решения задач в распределенной мультиагентной вычислительной среде» программы фундаментальных исследований Президиума РАН № 21 «Разработка фундаментальных основ создания научной распределенной информационно-вычислительной среды на основе технологий GRID» (2004 г.); интеграционного проекта №3 СО РАН «Методы, технологии и инструментальные средства создания вычислительной инфраструктуры в Internet» (2003-2005 гг.); проекта СО РАН 3.2.6 «Интегрированные информационно-вычислительные и коммуникационные ресурсы: интеллектные методы организации, автоматизации разработки и применения» (2004-2006 гг., блок 1 «Распределенная вычислительная САТУРН-среда»); проекта СО РАН «Разработка научных основ распределенной информационно-аналитической системы на основе ГИС и Веб-технологий для междисциплинарных исследований» междисциплинарной программы 4.5.2 (2007—2009 гг., блок 2 «Интеллектные методы и инструментальные средства разработки и комплексирования распределенных информационно-вычислительных ресурсов»); проекта РФФИ № 08-07-00163 «Технологии интеллектуального анализа данных и высокопроизводительных

информационно-вычислительных ресурсов для поддержки междисциплинарных фундаментальных исследований в области геоэкологии и природопользования» (2008-2010 гг.).

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

Апробация работы. Основные результаты работы представлены на III Всероссийской молодежной конференции «Под знаком Е» (Омск, 2005 г.), на IV Всероссийской конференции «Математика, информатика, управление» (Иркутск, 2005 г.), на VI-VIII Школах-семинарах молодых ученых «Математическое моделирование, управление и информационные технологии» (Иркутск,

  1. г., 2005 г., 2006 г.), на VI Международной научно-практической конференции «Компьютерные технологии в науке, производстве, социальных и экономических процессах» (Новочеркасск, 2005 г.), на Всероссийской конференции «Инфокоммуникационные и вычислительные технологии и системы» (Эн-халук, 2006 г.), на XI Байкальской Международной конференции «Информационные и математические технологии в научных исследованиях» (Иркутск,

  2. г.), на II Международной конференции «Параллельные вычисления и задачи управления» (Москва, 2006 г.), на V Школе-семинаре «Распределенные и кластерные вычисления» (Красноярск, 2006 г.), на Международной научной конференции PAVT2007 «Параллельные вычислительные технологии» (Челябинск, 2007 г.), на XII Байкальской Всероссийской конференции с международным участием «Информационные и математические технологии в науке и управлении» (Иркутск, 2007 г.), на VI Сибирской научной школе-семинаре с международным участием «Компьютерная безопасность и криптография» (Горно-Алтайск, 2007 г.), на Международной научно-практической конференции «Информационные технологии в образовании» (Иркутск, 2007 г.), на Меж-

дународной конференции «Геоинформатика: технологии, научные проекты» (Иркутск, 2008 г.), на Школе-семинаре молодых ученых «Информационные технологии и моделирование социальных эколого-экономических систем» (Иркутск, 2008 г.), а также неоднократно на семинарах ИДСТУ СО РАН.

Публикации и личный вклад автора. Результаты диссертации отражены в 15 научных работах [15, 22-27, 37, 44-50] (в том числе 1 статья [46] в журнале, рекомендованном ВАК для опубликования научных результатов диссертации на соискание ученой степени доктора или кандидата наук). В перечисленных публикациях все результаты, связанные с алгоритмизацией, программной реализацией и вычислительным экспериментом на ЭВМ, получены автором лично. Результаты, связанные с разработкой моделей и методов организации распределенных вычислений, получены совместно с А.Г. Феоктистовым и являются неделимыми. Из совместных работ с А.А. Александровым, В.И. Дмитриевым и А.В. Лариной в диссертацию включены только те результаты, которые принадлежат лично автору.

Структура работы. Диссертация состоит из введения, трех глав, заключения, библиографии из 79 наименований, списка сокращений и 6 приложений. Общий объем работы — 147 страниц, из которых 120 страниц основного текста, включающего 28 рисунков и 12 таблиц.

Системы управления заданиями

Для использования вычислительных узлов кластера как единого ресурса при решении общей задачи требуется их локальная интеграция в многопроцессорный комплекс, используемый в режиме пакетной обработки заданий. Для этой цели служит различного рода системное ПО, в том числе менеджеры ресурсов (Resource Manager), кластерные системы управления (Cluster Management System), системы пакетной обработки, СУПЗ. В целом перечисленные выше виды систем управления вычислительными ресурсами обладают достаточно схожими между собой назначением, областью применения, функциями и способами организации. Поэтому далее в диссертации под системой управления вычислительными ресурсами будем понимать СУПЗ.

На сегодняшний день известно достаточно много СУПЗ как свободно распространяемых систем, так и коммерческих (см. табл. 1 и 2). Рассмотрим их более подробно. SGE [63] имеет две версии: свободно распространяемую (SGE) и коммерческую (SGEEE [79]). Система служит для управления ресурсами в рамках одного проекта и основана на полной централизации обслуживания ресурсов и пользователей. СУПЗ SGE поддерживается открытым сообществом разработчиков и спонсируется Sun Microsystems. SGEEE предназначена для управления вычислительными ресурсами предприятий и способна обслуживать несколько независимых проектов и групп пользователей. СУПЗ включает средства, позволяющие устанавливать квоты на использование вычислительных ресурсов, на основании которых происходит разделение ресурсов между независимо работающими пользователями. LoadLeveler [76] применяется для пакетной обработки последовательных и параллельных заданий, обеспечивая средства для подготовки, запуска и слежения за такими заданиями в гетерогенной сети компьютеров. Open PBS обеспечивает управление заданиями в среде компьютеров под управлением ОС семейства Linux. Сегодня предлагается новая версия PBS Torque, обладающая рядом дополнительных усовершенствований: улучшенной масштабируемостью, повышенной устойчивостью к сбоям, усовершенствованным интерфейсом планировщика и др.

PBS Pro [72] представляет собой расширенную версию Open PBS, в которой используются новые технологии обработки очередей, управления и запуска множества задач как единого целого. Помимо этого, СУПЗ обладает единым интерфейсом управления заданиями для всех поддерживаемых платформ и ОС, включая Windows. Стоит отметить, что в системе имеется планировщик заданий, позволяющий производить выделение ресурсов, оптимально их использовать и быстро запускать на кластере задания с наивысшим приоритетом. PBS Pro может не только быстро реагировать на сбои вычислительных узлов, но и автоматически определять системные сбои, что повышает уровень надежности системы. LSF [68] является коммерческой полномасштабной системой, выполняющей все основные функции СУПЗ, включая поддержку очередей заданий, сбор информации о наличии и занятости ресурсов кластера, нахождение компьютеров с подходящими ресурсами для выполнения заданий, поддержку режима контрольных точек, миграцию заданий и др.

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

СУППЗ входит в стандартный комплект ПО кластеров семейства МВС и является разработкой ИПМ им. Келдыша. В основном рассматриваемая система служит для решения параллельных заданий пользователя на вычислительных узлах МВС.

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

На основе проведенного исследования были определены основные характеристики этих систем (см. приложение 1, табл. 1). Все рассмотренные СУПЗ поддерживают большую часть популярных платформ и ОС (см. приложение 1, табл. 2).

Исходя из анализа наиболее известных СУПЗ [39, 56], можно выделить следующие основные требования к СУПЗ: наличие простого и удобного пользовательского интерфейса; средств регистрации вычислительных ресурсов и пользователей; средств администрирования прав доступа пользователей к ресурсам и назначения приоритетов выполнения заданий; обеспечение безопасности и отказоустойчивости системы; организация работы с файлами; планирование загрузки вычислительных ресурсов; интеграция с программными средствами поддержки параллельных вычислений.

Построение модели распределенной вычислительной среды

Язык заданий определяет взаимодействие пользовательских задач с системой WIM и предназначен для формирования паспортов заданий. Паспорт задания включает три основных группы параметров (см. приложение 3): 1) Параметры описания задания являются обязательными для указания в паспорте задания. К данной группе относятся такие параметры как уникальное имя задания, тип решаемой задачи, исполняемые программы, исходные данные, файлы с результатами счета. 2) Параметры, задающие требуемые характеристики (например, объем оперативной памяти, память на жестком диске, аппаратная архитектура, ОС) вычислительного узла для выполнения на нем задания пользователя. Если требуемые характеристики не соответствуют вычислительным узлам, задание не будет выполнено. 3) Параметры, определяющие желаемые характеристики вычислительного узла. Данная группа параметров позволяет составить приоритеты вычислительных узлов, и передать узлу задание на выполнение с наивысшим приоритетом. Указание таких параметров не является обязательным.

На основе рассматриваемого языка был создан его графический конструктор, позволяющий создавать шаблоны паспортов заданий, понятных различным СУПЗ. Использование этих шаблонов позволяет системе WIM общаться с различными СУПЗ для того, чтобы осуществить запуск задания пользователя в узлах РВС. Составление шаблонов возможно благодаря однотипному представлению паспортов заданий различных СУПЗ.

Конструктор языка заданий используется для создания новых и редактирования старых шаблонов паспортов заданий. Такие шаблоны включают набор графических элементов языка HTML, с каждым из которых сопоставляется определенная переменная, используемая для составления паспорта задания. Каждый графический элемент HTML играет свою определенную роль в составлении паспорта задания (например, текстовые поля служат для ввода параметров задания, а выпадающий список удобно использовать для предоставления пользователю определенного количества значений для конкретного параметра задания и т.д.). Составление имен переменных паспорта заданий и привязка каждой такой переменной к отдельному графическом элементу HTML на веб-форме -все это осуществляется с помощью конструктора языка заданий. Различные СУПЗ используют свои собственные форматы паспортов заданий, поэтому создание новых шаблонов таких паспортов с учетом специфики каждой СУПЗ позволяет системе WIM работать практически с любой СУПЗ, используемой в РВС.

Данный язык представляет собой совокупность команд, предназначенных для управления пользовательскими заданиями в узлах РВС. С помощью командного языка система WIM может быть легко и гибко настроена для взаимодействия с используемой СУПЗ за счет применения унифицированных шаблонов описания команд СУПЗ. Этот подход основан на схожести форматов вызовов основных команд различных СУПЗ и их опций (параметров). Основными функциями командного языка являются: перехват и трансляция сообщений СУПЗ, вывод различного рода статистики (информации о свободных и занятых вычислительных узлах, количестве выполняющихся, ожидающих выполнения и выполненных заданий и т.д.). Командный язык также позволяет управлять учетными записями пользователей.

Командный язык включает три типа команд (см. приложение 4): 1) Команды управления заданиями. Основное назначение рассматриваемой группы команд - это обеспечение запуска пользовательских приложений на узлах, приостановка выполнения заданий, продолжение выполнения временно приостановленных заданий и отмена выполнения задания на (удаление пользовательского задания). 2) Команды для просмотра статистики процесса выполнения заданий. Данная группа команд служит для контроля пользователями процесса выполнения заданий в РВС. Эти команды позволяют просматривать различного рода информацию о ходе выполнения задания, статистику по заданиям определенного пользователя и по всем пользовательским заданиям, выполнявшимся на вычислительных узлах РВС за выбранный промежуток времени. 3) Команды для управления учетными записями пользователей. Данная группа команд ориентирована в большей степени на использование администратором РВС, т.к. основным назначением этих команд является редактирование, удаление, блокировка или разблокирование уже созданных учетных записей пользователей, а также регистрация новых.

На базе командного языка был создан специальный конструктор, предназначенный для создания шаблонов команд для управления различными СУПЗ.

Конструктор командного языка служит для внесения новых, редактирования или удаления старых шаблонов команд в базе данных. Команды, используемые каждой СУПЗ, отличаются друг от друга именем и названием опций, поэтому необходимо, чтобы операции, которые совершаются пользователем с помощью веб-формы (например, запуск, приостановка или удаление задания) могли быть преобразованы в понятные для СУПЗ команды. Сопоставление операций пользователя с определенными командами СУПЗ производится с помощью конструктора командного языка, что дает возможность ИК DISCENT управлять как новыми, так и используемыми в РВС СУПЗ. Более того, конструктор позволяет производить редактирование шаблонов команд в том случае, когда у обновленной версии СУПЗ изменилось имя команды или ее опции.

Децентрализованное управление потоками заданий в Grid

Поступающие в Grid задания разделены на два потока (рис. 3.3). Первый поток формируется из заданий типа (a = l/b L/c/d = R), поступивших из других Grid. Поступившее на Grid-шлюз задание ставится в очередь и ждет назначения на один из свободных вычислительных ресурсов средствами пакета Globus Toolkit. При наличии свободных ресурсов утилита GridWay направляет находящееся на данный момент в голове очереди задание на выполнение СУПЗ освободившегося кластера. СУПЗ формирует локальную очередь заданий на кластере и передает задание на выполнение вычислительным узлам. Во второй поток поступают задания, отправленные через веб-интерфейс. Подход к планированию работ WIM основан на следующих принципах. Во-первых, планировщики системы WIM используют модель Grid, что обеспечивает быстрый поиск информации о характеристиках и состоянии ресурсов. Во-вторых, для управления кластерами используются СУПЗ, совместимые с инструментарием пакета Globus Toolkit и обладающие возможностью резервирования вычислительных ресурсов. В-третьих, в WIM реализована смешанная стратегия планирования, включающая как способ мониторинга состояния ресурсов, так и способ их резервирования. С помощью системы WIM, помимо заданий типа (а = 1 / Ъ Ф L / с / d = R), которые распределяются по узлам Grid с помощью планировщика MST, можно запускать также следующие типы заданий: (a/b/c/d = G)n(a=K/b-L/c/d). Как правило, резервирование ресурсов увеличивает время ожидания заданий в очереди [39]. Однако без применения такого способа время ожидания возрастает в значительно большей степени для заданий типов (a/b/c/d = G)n(a = K/b = L/c/d).

Таким образом, децентрализованный способ управления потоками заданий заключается, во-первых, в распределении заданий пользователей по различным направлениям их обработки с различными приоритетами обслуживания в очереди и, во-вторых, в применении ряда планировщиков, предназначенных для работы со специальными типами заданий. Grid представляет собой стохастическую динамическую вычислительную сеть, состояние которой в некоторый момент времени определяется распределением в ней потоков заданий [33]. Для получения оценки эффективности различных способов распределения потоков заданий (Е, %) генерируется поток заданий, осуществляется их распределение и выполнение в Grid двумя способами (с помощью GridWay и GridWay + WIM) и сравниваются следующие показатели эффективности функционирования вычислительных ресурсов Grid: - число заданий с нулевым временем ожидания (Т0, сек.); - среднее время ожидания задания в очереди (7 , сек.); - среднее число заданий в очереди (Сд, ед.); - среднее время пребывания задания в Grid (Tg, сек.); - коэффициент полезного использования ресурсов Grid (Kg, %); - количество заданий в потоке (Cj, ед.); - общее время решения заданий потока (Ts, сек.).

Поток заданий в Grid характеризуется следующими свойствами: - неоднородностью (задания соответствуют разным типам задач и отличаются друг от друга по своей специфике); - отсутствием обратной связи (число заданий, поступивших за один промежуток времени, не зависит от числа заданий, поступивших за другой промежуток времени); - неординарностью (возможно поступление двух и более заданий в один и тот же момент времени); - стационарностью (число событий, поступивших за определенный промежуток времени, зависит от длины этого промежутка и не зависит от момента его начала).

Организация вычислительного кластера вуза

Вычислительный кластер Международного института экономики и лингвистики (МИЭЛ) ИГУ (см. рис. 3.4) организован на базе учебного компьютерного класса — 16 однородных компьютеров класса AMD Athlon ХР 2100 (1754 Mhz) с локальной вычислительной сетью Fast Ethernet. Таким образом, кластер включает 1 управляющий узел и 15 вычислительных узлов. Однородность вычислительных узлов является важным критерием эффективности работы кластера. На кластере установлена система Condor, версия 6.9.2. Кластер использован в учебном процессе для проведения многовариантных расчетов при

Модель безопасности кластера вуза включает две основных особенности. Во-первых, с точки зрения реализации кластера вуза под управлением ОС Windows и политики администрирования работы пользователей в локальной сети вуза более целесообразным является выбор ролевой модели безопасности [75]. Во-вторых, система безопасности среды Condor, используемая в качестве системы управления заданиями на кластере, ориентирована на доменную модель безопасности [55]. В целом необходимо реализовать систему безопасности, оперирующую понятиями пользователь, ресурс, полномочия доступа и т.д. Система Condor весь процесс работы рассматривает с точки зрения взаимодействия субъектов и объектов - управляющих, запускающих и выполняющих машин, локальных пользователей и их ресурсов.

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

При реализации системы безопасности кластера субъектам СУПЗ Condor (программным агентам - службам) заводятся учетные записи в ОС Windows, соответствующие полномочиям неких виртуальных пользователей.

Модель системы безопасности кластера основывается на модели РВС, описанной во второй главе. Для кластера вуза множество V включает следующие виды пользователей: va (администраторы), vp (виртуальные пользователи -программные агенты), vt (преподаватели), vs (студенты), vc (сторонние пользователи), vl (локальные пользователи).

Множество Vимеет иерархическую структуру (рис. 3.5), которая определяется полномочиями каждого вида пользователей. Например, va имеют мак симальные права и занимают корневое место в этой структуре. Множество VH с V х V задает отношение частичного порядка на V: va {{vl {vt,vs}},{vp {vt,vs,vc}}}. Подмножества, заключенные в фигурные скобки, не сравнимы между собой по полномочиям.

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

Доступ пользователя к ресурсам кластера вуза в течение конкретного сеанса его работы определяется совокупностью отношений VP, UV, PR, SU. Указанные отношения определяют роль пользователя в данном сеансе работы и соответствующие этой роли полномочия на использование ресурсов кластера.

Пересылка данных на главный узел кластера осуществляется с помощью специальных веб-форм. Переданные на сервер файлы (программа на выполнение, ее исходные данные и др.) помещаются во временную папку РНР.

Антивирусная защита во время загрузки файлов во временную папку выполняется совместно со специальными функциями, встроенными в РНР-скрипт веб-интерфейса, и антивирусными программами, установленными на главном узле кластера (в частности, специализированным монитором Kaspersky Monitor).

Защита данных от несанкционированного использования обеспечивается с помощью выделения прав на использование этих временных файлов только процессам РНР и программе Kaspersky Monitor. На этой же стадии полномочия пользователей делегируются системой WIM главному менеджеру СУПЗ Condor, который в дальнейшем может распределять задания на различные вычислительные узлы кластера в соответствии с полученными полномочиями.

Защита всех файлов заданий пользователей vp (исполняемые программы, исходные данные и файлы результатов счета) на кластере от их несанкционированного удаления, копирования или чтения обеспечивается путем ограничения прав доступа. Ограничение прав в процессе распределения заданий по вычислительным узлам и выполнения этих заданий обеспечивается механизмом защиты задания Security Negotiation [53], встроенным в СУПЗ Condor. Данный механизм обеспечивает авторизацию пользователя, шифрование задания (поддерживаются два метода шифрования данных - 3DES и BLOWFISH [14]), проверку целостности сообщений, передаваемых между клиентскими частями Condor (установленными на вычислительных узлах кластера) и специальными службами системы Condor, размещенными на главном узле кластера.

Защита ресурсов пользователей v/ на вычислительных узлах кластера от их несанкционированного удаления, копирования или чтения обеспечивается средствами администрирования ОС Windows и ограничением прав исполняемых программ пользователей vp службами системы Condor. На кластере приложения пользователей vp выполняются в узлах в фоновом режиме.

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

Отказоустойчивость кластера вуза в этих случаях базируется на технологии рестарта прерванных вычислительных процессов. Однако для эффективного использования вычислительных ресурсов в пользовательские приложения следует встраивать механизмы создания контрольных точек либо использовать технологии избыточных вычислений [21]. Кластер использован в учебном процессе для проведения многовариантных расчетов при моделировании систем массового обслуживания.

Похожие диссертации на Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред