автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред
Автореферат диссертации по теме "Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред"
На правах рукописи 0
КОРСУКОВ АЛЕКСАНДР СЕРГЕЕВИЧ
Инструментальный комплекс для разработки и примсиенш; гетерогенных распределенных вычислительных сред
05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук
Иркутск - 2009
1 2 Ф23 2209
003461135
Работа выполнена в Учреждении Российской академии наук Институте динамики систем и теории управления Сибирского отделения Российской академии наук (ИДСТУ СО РАН).
Научный руководитель:
кандидат технических наук, доцент Феоктистов Александр Геннадьевич
Официальные оппоненты: доктор физико-математических наук,
профессор
Корольков Юрий Дмитриевич
кандидат технических наук, доцент Абасов Николай Викторович
Ведущая организация:
Институт вычислительного моделирования СО РАН
(г. Красноярск)
Защита состоится 26 февраля 2009 г. в 14 часов на заседании диссертационного совета Д 003.021.01 при Институте динамики систем и теории управления СО РАН пи адресу: 664033, г. Иркутск, ул. Лермонтова, 134.
С диссертацией можно ознакомиться в библиотеке ИДСТУ СО РАН.
Автореферат разослан 24 января 2009 г.
Ученый секретарь диссертационного совета д.ф.-м.н.
А.А. Щеглова
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность темы. В последнее время для решения ресурсоемких фундаментальных и прикладных задач создаются различные распределенные и параллельные вычислительные системы и среды (см., например, работы B.C. Бурцева, В.В. Воеводина, В.Н. Коваленко, В.В. Корнеева, Д.А. Корягина, Л.О. Лациса, В.В. Топоркова и др.). В частности, активно применяется технология создания специальной вычислительной сети, получившей название Grid1. Эта технология базируется на интеграции географически распределенных информационно-вычислительных и коммуникационных ресурсов и их совместном использовании в процессе вычислений. Инфраструктура Grid включает объединенные телекоммуникационной средой средства вычислений и обработки информации (суперкомпьютеры, вычислительные кластеры, отдельные персональные компьютеры, системы хранения данных и др.) и системное программное обеспечение (ПО), предназначенное для управления процессом выполнения заданий пользователей в этой среде.
Grid, организованная на базе кластеров, в большинстве случаев сс использования обеспечивает возможность удаленного доступа к ресурсам (узлам) вычислительной сети и позволяет определить вычислительные возможности конкретного узла (число процессоров, объем оперативной памяти и т.п.) и степень его работоспособности, а также выполнить на этом узле некоторое незави-» симое задание или обработать один из блоков данных при решении «большой» задачи, допускающей распараллеливание по данным2.
Однако существуют типы научно-исследовательских задач, для решения которых необходимы дополнительные возможности:
- обеспечение вычислительных услуг нетиражируемых программных комплексов, размещенных в узлах Grid;
- выполнение ряда взаимозависимых заданий, составляющих процесс решения одной общей задачи и требующих интеграции распределенных вычислительных ресурсов на основе автоматического планирования последовательности их использования.
Анализ систем управления заданиями (СУПЗ) для кластеров показывает, что как правило в этих системах реализовано централизованное управление автономными заданиями. Между тем, решение задач с большим числом подзадач и информационно-логических связей между ними в значительной степени увеличивает нагрузку на управляющий компьютер кластера и может привести к снижению работоспособности всей вычислительной системы в целом3. Кроме того, формы ведения вычислительных работ в Grid, обусловленные используемым для ее организации сложным системным ПО, во многом ориентированы на
1 Foster I. The Anatomy of the Grid: Enabling Scalable Virtual Organizations / I. Foster, C. Kesselman, S. Tuecke // Intern. J. of High Performance Computing Applications. -2001. - Vol. 15, № 3, - P. 200-222.
2 См., например, работу: Воеводин В В. Решение больших задач в распределенных вычислительных средах / В.В, Воеводин // Автоматика и телемеханика. - 2007. - № 5. - С. 32-45.
3 Каляев И. А. Распределенные системы планировании действий коллективов роботов / И.А. Каляев, А.Р. Гайдук, С.П Капустян. - М.: Янус-К, 2002. - 292 с.
специалистов с достаточно высоким уровнем квалификации в области системного программирования. Эти обстоятельства сдерживают широкое применение Grid специалистами-прикладниками и актуализируют вопросы создания «дружественных» средств доступа к ресурсам Grid и децентрализованных способов управления вычислительным процессом4.
Цель работы состоит в разработке способа создания гетерогенных распределенных вычислительных сред5 (РВС), предоставляющих широкий выбор средств для решения ресурсоемких научно-исследовательских задач различных типов и обеспечивающих возможность интеграции с другими РВС. Достижение указанной цели осуществляется путем реализации программного комплекса, предназначенного для инструментальной поддержки основных этапов построения и применения РВС.
Объектом исследования является организация вычислительного процесса решения ресурсоемких фундаментальных и прикладных научных задач в РВС.
Предмет исследования - построение Grid на базе вычислительных кластеров. Важным требованием к такой Grid является обеспечение возможности включения в ее вычислительную инфраструктуру кластеров, организованных на разных программно-аппаратных платформах.
Методы исследования. При решении поставленных задач использовались методы системного программирования и искусственного интеллекта для организации, планирования и применения распределенных вычислительных ресурсов, а также методы разработки веб-приложений.
На защиту выносятся следующие основные результаты:
1. Способ децентрализованного управления потоками заданий, позволяющий (в отличие от известных) распределять задания в вычислительной среде в зависимости от типов решаемых задач. Для каждого типа задач разработан специализированный планировщик заданий.
2. Средства организации унифицированного веб-ориентированного доступа к распределенным вычислительным ресурсам. В том числе язык заданий и командный язык, обеспечивающие их настройку на особенности функционирования различных систем управления заданиями, используемых л узлах распределенной вычислительной среды.
3. Системная архитектура и алгоритмы функционирования инструментального комплекса, обеспечивающего поддержку основных этапов построения и применения гетерогенных распределенных вычислительных сред для решения ресурсоемких научно-исследовательских задач.
Научная новизна. Разработан способ организации распределенных вычислений, отличающийся от известных обеспечением таких дополнительных возможностей, как формирование потоков заданий в зависимости от типов решаемых задач и децентрализованное управление этими потоками в процессе
4 См., например, работу: Durfcc E.H. Distributed problem solving and planning / E.H. Durfce // Multiagent Systems: A Modem Approach to Distributed Artificial Intelligence / Ed. by G. Weiss. - Cambridge: MIT Press, 1999. -P. 121-164.
s Под РВС следует понимать как отдельные вычислительные кластеры, так и Grid.
4
выполнения заданий. В основе этого способа лежат специализированные языковые и инструментальные средства, предназначенные для быстрой и гибкой настройки веб-ориентированного доступа к ресурсам гетерогенной РВС.
Практическая значимость. Разработанное ПО предоставляет пользователям возможность самостоятельно (без участия высококвалифицированных системных программистов) описывать исследуемую предметную область и программно-аппаратную часть РВС, а также формировать задания для решения своих задач и проводить вычислительные эксперименты в РВС. Тем самым сокращаются сроки и повышается эффективность проведения научно-исследовательских работ в целом.
Разработанные в рамках выполнения диссертационной работы инструментальные средства использованы при создании Grid ИДСТУ СО РАН. Эти программные средства зарегистрированы в Федеральной службе но интеллектуальной собственности, патентам и товарным знакам [3, 4] и применяются для проведения экспериментальных расчетов по плановым НИР в ИДСТУ СО РАН, а также в учебном процессе в Иркутском государственном университете: Институте математики, экономики и информатики и Международном институте экономики и лингвистики.
Исследование, разработка и применение программных средств, представленных в диссертации, выполнялись в рамках проекта СО РАН № 6 «Планирование и оптимизация схем решения задач в распределенной мультиагентной вычислительной среде» программы фундаментальных исследований Президиума РАН № 21 «Разработка фундаментальных основ создания научной распределенной информационно-вычислительной среды на основе технологий GRID» (2004 г.); интеграционного проекта №3 СО РАН «Методы, технологии и инструментальные средства создания вычислительной инфраструктуры в Internet» (2003-2005 гг.); проекта СО РАН 3.2.6 «Интегрированные информационно-вычислительные и коммуникационные ресурсы: интеллектные методы организации, автоматизации разработки и применения» (2004-2006 гг., блок 1 «Распределенная вычислительная САТУРН-среда»); проекта СО РАН «Разработка научных основ распределенной информационно-аналитической системы на основе ГИС и Веб-технологий для междисциплинарных исследований» междисциплинарной программы 4.5.2 (2007-2009 гг., блок 2 «Интеллектные методы и инструментальные средства разработки и комплексирования распределенных информационно-вычислительных ресурсов»); проекта РФФИ № 0807-00163 «Технологии интеллектуального ан&чиза данных и высокопроизводительных информационно-вычислительных ресурсов для поддержки междисциплинарных фундаментальных исследований в области геоэкологии и природопользования» (2008-2010 гг.).
Достоверность результатов диссертации. Основные результаты диссертации базируются на исследованиях отечественных и зарубежных ученых и подтверждаются корректным использованием современных теоретических и экспериментальных методов их обоснования, а также успешным применением программного комплекса для решения практических задач.
Апробация работы. Основные результаты работы представлены на III Всероссийской молодежной конференции «Под знаком £» (Омск, 2005 г.), на IV Всероссийской конференции «Математика, информатика, управление» (Иркутск, 2005 г.), на У1-УШ Школах-семинарах молодых ученых «Математическое моделирование, управление и информационные технологии» (Иркутск,
2005 г., 2005 г., 2006 г.), на VI Международной научно-практической конференции «Компьютерные технологии в науке, производстве, социальных и экономических процессах» (Новочеркасск, 2005 г.), на Всероссийской конференции «Инфокоммуникационные и вычислительные технологии и системы» (Эн-халук, 2006 г.), на XI Байкальской Международной конференции «Информационные и математические технологии в научных исследованиях» (Иркутск,
2006 г.), на II Международной конференции «Параллельные вычисления и задачи управления» (Москва, 2006 г.), на V Школе-семинаре «Распределенные и кластерные вычисления» (Красноярск, 2006 г.), на Международной научной конференции РАVI'2007 «Параллельные вычислительные технологии» (Челябинск, 2007 г.), на XII Байкальской Всероссийской конференции с международным участием «Информационные и математические технологии в науке и управлении» (Иркутск, 2007 г.), на VI Сибирской научной школе-семинаре с международным участием «Компьютерная безопасность и криптография» (Горно-Алтайск, 2007 г.), на Международной научно-практической конференции «Информационные технологии в образовании» (Иркутск, 2007 г.), на Международной конференции «Геоинформатика: технологии, научные проекты» (Иркутск, 2008 г.), на Школе-семинаре молодых ученых «Информационные технологии и моделирование социальных эколого-экономических систем» (Иркутск, 2008 г.), а также неоднократно на семинарах ИДСТУ СО РАН.
Публикации и личный вклад автора. Результаты диссертации отражены в 15 научных работах (в том числе 1 статья [1] в журнале, рекомендованном ВАК для опубликования научных результатов диссертации па соискание ученой степени доктора или кандидата наук). В публикациях все результаты, связанные с алгоритмизацией, программной реализацией и вычислительным экспериментом на ЭВМ, получены автором лично. Результаты, относящиеся к разработке моделей и методов организации распределенных вычислений, получены совместно с А.Г. Феоктистовым и являются неделимыми. Из совместных работ с А.А. Александровым, В.И. Дмитриевым и А.В. Лариной в диссертацию включены результаты, принадлежащие лично автору.
Структура работы. Диссертация состоит из введения, трех глав, заключения, библиографии из 79 наименований, списка сокращений и 6 приложений. Общий объем работы - 147 страниц, из которых 120 страниц основного текста, включающего 28 рисунков и 12 таблиц.
ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ
Во введении обоснована актуальность темы диссертации, сформулировала цель исследования, показана научная новизна и практическая значимость полученных результатов, приведена структура работы. 6
Первая глава диссертации посвящена анализу современных способов и программных средств организации и применения распределенных вычислений.
В первом разделе главы приведены основные понятия, разъяснены назначение и сущность таких вычислительных структур, как кластер, Grid и РВС. В общем случае эти структуры предназначены для интеграции и использования распределенных вычислительных ресурсов.
Во втором разделе главы рассмотрены технические аспекты создания кластеров и основные вопросы, связанные с реализацией пользовательского веб-интерфсйса к ним. В большинстве случаев использование вычислительных ресурсов кластеров не рассчитано на рядовых пользователей и требует привлечения системных программистов с высоким уровнем квалификации. Таким образом, создание простого и гибкого веб-интерфсйса существенно облегчает процесс запуска и управления заданиями на вычислительных ресурсах кластера и значительно сокращает время, затрачиваемое неопытными пользователями на освоение кластерных систем.
Третий раздел главы посвящен анализу существующих СУГО и формулировке основных требований к их функционированию.
В четвертом разделе представлена архитектура СУПЗ Condor и обоснован выбор этой системы для организации кластеров невыделенных рабочих станций, вычислительные узлы которых представляются обычными персональными компьютерами.
В пятом разделе главы исследованы вопросы организации Grid, проведен анализ существующего ПО Grid и выполнен обзор ряда Grid-проектов. На основе проведенного анализа конкретизирован способ построения Grid, сформулированы возникающие при этом проблемы и определены пути их решения (см. рис. 1).
I Проблемы: разнородность узлов Grid: сложность организации взаимодействия узлов* >. ■ Grid, необходимость наличия гибкого и удобного интерфейса для пользователей: -л сложность изучения, настройки, поддержки и модификации ПО Grid. е
i Пути решения проблем: использование стандартизированного ПО Grid и разработка: дополнительного ПО, реализующего специальные функциональные возможности. а
" Д .............
Аспекты разработки и реализации с
ь. Выбор в качестве базо- j Обеспечите запуска и вы-; Обеспечение возможности :i i-вого ПО Grid пакета Globus! полнения в Grid фувдамеп-^включеши в Grid класге-Toolkit ! тальных и прикладных на- ;ров, организованных на ; ■
! учных задач различных ¿разных программно-аппа-¡типов. ратных платформах. «
Рис. 1. Способ построения Grid
В последнем разделе главы проведен анализ технологий создания веб-приложений и обоснован выбор средств для реализации веб-ориентированного
доступа к ресурсам РВС.
Во второй главе представлены разработанные автором способы и средства построения гетерогенных РВС.
В первом разделе главы предложена модель РВС, обеспечивающая накопление знаний о вычислительных ресурсах, а также администрирование, планирование и применение этих ресурсов при решении пользовательских задач. В рассматриваемой модели выделены следующие основные уровни:
- пользовательский уровень (£/£), включающий в себя: способы и средства доступа к вычислительным узлам РВС; множество пользователей РВС, их классификацию по категориям и правам доступа к РВС; множество заданий, запускаемых пользователями в РВС;
- уровень ПО (8ШЬ), отражающий свойства и характеристики программных приложений, запуск которых требуется при выполнении заданий;
- аппаратный уровень (ШГ£), определяющий характеристики и комплектующие вычислительных узлов и коммутирующих устройств РВС;
- уровень планирования вычислений и загрузки ресурсов (Р1Ь), обеспечивающий выбор необходимых ресурсов РВС для запуска заданий;
- вычислительный уровень (СЬ), отображающий процесс выполнения заданий на конкретных вычислительных узлах РВС.
Таким образом, модель РВС можно представить в виде структуры М = <1Л, НП'Ь, РЫ, СЬ>. Разные уровни модели РВС содержат свои наборы объектов. Для каждого объекта определены его атрибуты.
Для обозначения характеристик задач, важных в плане формирования и выполнения заданий в РВС, будем использовать следующую структуру: (а / Ь / с / с[), где символы а, Ь, си с1 имеют следующее назначения: о а - характеристика алгоритма решения задачи с точки зрения наличия подзадач; фиксированными значениями для а являются 1 (отсутствие подзадач) и К (наличие подзадач); о Ь - характеристика алгоритма решения задач с точки зрения наличия в нем параллелизма; фиксированными значениями для Ь являются I (крупноблочный параллелизм алгоритма), Р (мелкозернистый параллелизм алгоритма) и 5 (последовательный алгоритм); недопустимыми комбинациями значений а и Ь являются (а = 1 /Ь =Ь/...) и (а = К/Ь = F/...); о с- характеристика процесса решеиия задачи с точки зрения необходимости выполнения многовариантных расчетов; фиксированными значениями для с являются 1 (один единственный вариант данных) и N (наличие множества вариантов данных); о (1- характеристика процесса решения задачи с точки зрения места размещения выполняемого программного приложения; фиксированными значениями для с? являются б (выполнение приложения, размещенного в узлах РВС) и Я (выполнение удаленного приложения). Определим основные типы задач для РВС: о {а = \/ ЪфЫс/6 = Е)~ стандартные задачи (скомпилированные программы пользователей), для выполнения которых используется штатный
набор функций СУПЗ; о (а / b / с = N / d) - многовариантные задачи, для решения которых необходимо выполнение программы с различными наборами данных; о (a/b/c/d = G) — задачи, в которых требуется выполнение приложений,
размещенных в узлах РВС; о (a = K/b=L/c/d)~ взаимосвязанные задачи, требующие выполнения набора взаимозависимых заданий, включенных в процесс решения одной общей задачи.
Тип решаемой задачи определяет соответственно тип задания, т.е. задает формат паспорта этого задания и способ его обработки (режим запуска) в РВС.
Во втором разделе приведена схема взаимодействия пользователя с узлами РВС, представленными вычислительными кластерами (рис. 2). В рамках приведенной схемы в качестве интеллектуальной управляющей надстройки к СУПЗ, установленных в узлах РВС, используется разработанная автором диссертационной работы программная система Web-Interface Manager (WIM).
: Машина пользователя ;
:
Веб-и«терфейе HTML, JavaScript
Передача программы,, файлов с ее исходными дашшмп, имен файлов для размещена* результатов счета, требований к среде вьтошчення программы (HTTP запрос / ответ)
Вео-сервер Apache
I - Ä
WM (Web-Interface Manager)
Библиотека обработчиков веб-форм
.f..-,- t
пертпигитран- упрааяеияе :
шмиа. сооёоде- :!зданпсм _
наГпСУ U3 / ^—---
i "■■ Управляющаяслужба ^ „Служба СУПЗ,
СУПЗ : щал даяиые о
Подсистема планщюйания t .
программа, факты данных, паспорт задания в •—--^^форьгате СУШ
¿обираю-^ Запускающая служба кластере Щ СУПЗ
I
ВьшисЬйтелькый у.гел
Выполняющая служба СУ 113
Вычислительный кластер
Вычислительный >оел f
Выполняющая служба СУПЗ
Рис. 2. Схема взаимодействия пользователя с ресурсами РВС на примере кластера
В третьем разделе второй главы представлен инструментальный комплекс (ИК) Distributed Computing Environment Toolkit (DISCENT), предназначенный для организации и применения РВС. ИК DISCENT состоит из трех основных компонентов (рис. 3): конструктора, базы данных и системы WIM.
Машина лдмииис топора :;. , Машина шлйоватсля
Звания разработчика FBC Запросы пользователя
Конструктор командного языка
Конструктор языка заданий Конструктор веб-форм
Конструктор модели РВС
.База данных
Набор шаблонов
команд Набор шаблонов
■'■■'■ WiM (Web-IntiTiacö Mairagcrr)
Библиотека обработчиков see-форм
к;::-":-:- -и:/ /, ' ■
Набор графических / элементов HTML j I Набор веб-форм Щ Спецификация ^ ^ Подсистема ресурсов РВС f , планирования
Рис. 3. Архитектура ИК DISCENT
В четвертом разделе главы рассмотрены основные функции конструктора ИК DISCENT, назначение языка заданий и командного языка. Конструктор включает четыре подсистемы.
1. Конструктор командного языка служит для создания, редактирования или удаления шаблонов команд для различных СУПЗ.
2. Конструктор языка заданий используется для построения и модификации шаблонов паспортов заданий для различных СУПЗ.
3. Конструктор веб-форм предназначен для создания шаблонов веб-форм, используемых для заполнения паспортов заданий. Создание веб-формы паспорта задания выполняется путем размещения на форме и задания свойств графических элементов HTML, соответствующих параметрам формируемого паспорта задания.
4. Конструктор модели РВС применяется для описания и модификации данных о вычислительных ресурсах РВС. Такая информация необходима подсистеме планирования для эффективного распределения различных типов задач по вычислительным узлам РВС.
Язык заданий определяет взаимодействие пользовательских задач с системой WIM и предназначен для формирования паспорта задания, включающего в себя уникальное имя задания, тип решаемой задачи, исполняемые программы, исходные данные, минимальные и/или желаемые требования к вычислительным ресурсам РВС и др.
Командный язык представляет собой совокупность команд, нредназна-
чениых для управления пользовательскими заданиями в узлах РВС. С помощью командного языка система WIM может быть легко и гибко настроена для взаимодействия с используемой СУПЗ за счет применения унифицированных шаблонов описания команд СУПЗ.
В пятом разделе описана база данных и особенности ее реализации. Основным назначением такой базы является накопление информации о вычислительных ресурсах РВС, средствах создания и обработки паспортов заданий. Эта информация используется планировщиками системы WIM при формировании потоков заданий. Содержимое базы данных включает наборы шаблонов для командного языка и языка заданий, наборы графических элементов HTML и веб-форм, спецификацию ресурсов РВС.
Последний раздел главы посвящен описанию WIM. Данная система обеспечивает выполнение заданий пользователя путем распределения указанных в заданиях приложений на узлы РВС. подходящие для их запуска. Основными составляющими системы являются библиотека обработчиков веб-форм и подсистема планирования.
Библиотека обработчиков веб-форм предназначена для выполнения следующих функций: вывода пользователям требуемых веб-форм; обработки поступивших из этих форм данных; формирования паспортов заданий; предоставления пользователю информации о состоянии заданий и результатах счета; добавления, удаления и приостановления заданий пользователей. Данная библиотека состоит из набора скриптов языка PHP (обработчиков веб-форм), каждый из которых реализует алгоритмы для работы с одной или несколькими веб-формами на стороне веб-сервера. Имя обработчика веб-формы содержится на ней в специальном скрытом поле. Обработчики веб-форм имеют доступ к шаблонам команд, хранящимся в базе данных. В шаблонах команд для каждой операции управления заданием, размещенной на веб-форме, определяется команда СУПЗ, с помощью которой данная операция будет выполнена в РВС.
Подсистема планирования служит для обработки, постановки в очередь и распределения заданий, соответствующих различным типам задач. Данная подсистема включает следующие планировщики:
1. Планировщик стандартных заданий MST (Manager of Standard Tasks) используется для распределения заданий типа (а = 1 /ЬфЬ/ с/ d- R).
2. Планировщик распределенных приложений MDA (Manager of Distributed Applications) предназначен для отправки заданий на вычислительные узлы РВС, на которых установлены приложения, необходимые для выполнения заданий типа (а / b / с / d = G). Планировщик MDA взаимодействует с планировщиком MST с целью закрепления за заданием выбранных ресурсов перед передачей этого задания обработчику веб-форм для запуска задания.
3. Планировщик взаимосвязанных заданий MIT (Manager of Interrelated Tasks) ориентирован на распределение заданий типа (a = K/b=L/c/d) и контроль процесса их выполнения. Планировщик MIT, используя информационно-логические связи между объектами модели РВС, выполняет
частичное упорядочение подзадач общего задания, находит необходимые для выполнения задания вычислительные ресурсы, взаимодействует с планировщиком MST с целью закрепления за заданием выбранных ресурсов, передает задание обработчику веб-форм для его запуска и осуществляет дальнейший контроль выполнения этого задания. При распределении заданий по узлам РВС планировщики системы WIM используют спецификацию ресурсов РВС из базы данных. Затем приводятся разработанные алгоритмы планирования ресурсов в системе WIM. Алгоритм АО осуществляет распределение заданий по планировщикам WIM. Алгоритмы Al, А2 и A3 представляют схему работы планировщиков MST, MDA и MIT. В рамках алгоритма A3 реализованы вспомогательные алгоритмы A4, А5, Л6 и AI. Алгоритмы A4 и А5 служат для построения плана решения задачи, относящейся к типу (а = К/ b = L / с / d), и базируются на использовании принципов «прямой и обратной волны». Алгоритмы А6 и AI производят соответственно резервирование свободных вычислительных ресурсов для решения на них подзадач и распределение этих подзадач по зарезервированным ресурсам.
В третьей главе рассматриваются вопросы, связанные с построением гетерогенных РВС.
В первом разделе главы приведена общая схема организации и применения РВС. Данная схема включает следующие основные этапы:
- формирование программно-аппаратной части РВС:
о определение вычислительных узлов РВС;
о установка и настройка ИК DISCENT и системного ПО;
- настройка веб-интерфейса:
о построение модели РВС;
о параметризация и настройка шаблонов паспортов заданий и шаблонов команд для каждой СУПЗ, используемой в РВС;
о создание веб-форм в графическом интерфейсе конструктора ИК DISCENT, которые будут выполнять запуск определенных типов заданий;
о отладка и тестирование режимов запуска заданий;
- реализация процесса решения пользовательских задач:
о регистрация пользователей в системе WIM;
о формирование паспортов и запуск заданий;
о мониторинг узлов РВС и распределение заданий в узлах РВС планировщиками системы WIM;
о обмен данными между пользователями и СУПЗ. Второй раздел главы посвящен созданию Grid. Архитектура экспериментальной Grid (организованной автором диссертации) состоит из трех основных частей: серверной, клиентской и исполнительной. Grid построена на базе кластеров с различными ОС и СУПЗ (рис. 4).
Клиентская часть предоставляет средства доступа пользователей к Grid. Сформировать и запустить задание в Grid можно одним из двух способов: либо путем запуска заданий (оформленных в специальном формате языка RSL -
Resource Specification Language) из другой Grid или с отдельной рабочей станции (машины с выделенным IP-адресом в Интернет), на которой установлен пакет Globus Toolkit, либо через веб-интерфейс с помощью языка заданий.
Серверная часть предназначена для организации соединения пользователей с ресурсами Grid. Структура серверной части является распределенной и включает Grid-шлюз и веб-сервер.
Клиентская часть
Серверная часть
Удаленна* Grid Globus Toolkit
Mamma пользователя Веб-интерфейс
Исполнительная часть
£
(rrid-шлю'!:! IK. ОС Linux, СУШ tftador и PBS Globus Toolkit GridWav
Запускающая служба PBS
■ Запускающая служба Condor
:: Веб-сервер: ОС I.irns ;'Wjiig6«s\
WIM (Web-Interiace Manager) f
Подсистема планирования '
Запускающая Запускающая служба PBS j, служба Condor
^.....-Л.....- -
Кластер: ОС Linux, СУШ PBS Управляющий узел Globus Toolkit ;' Глазная служба PBS
¡Выполняющая Выполняющая службаPBS службаРВв Вычисяжсельпые вы
Кластер: ОС Linux, СУНЗ Condor i: Упраотяющш узел
Globus Toolkit Главная служба Condor
' Выполняющая Выполняющая ' служба Condor служба Condor ; Вычйедятегуьвдй« узлы
Кластер: ОС Windows, СУПЗ Condor iУправляющий ужа
Globus Toolkit Главная служба Condor
flock
- Выполняющая служба Condor
Выполняющая служба Condor Н
Grid
Вычислительные узлы
Рис. 4. Схема функционирования Grid
Grid-шлюз представляет собой рабочую станцию с установленными на ней пакетами Globus Toolkit (включающим утилиту GridWay) и СУПЗ, используемыми для управления кластерами Grid. Grid-шлюз является точкой входа пользователей из другой Grid или с рабочей станции. Grid-шлюз обеспечивает
следующие стандартные для Grid функции6: подключение пользователей, их сертификацию и авторизацию, получение заданий пользователей, выбор необходимых ресурсов для выполнения этих заданий и получение результатов вычислений. Планирование ресурсов для выполнения поступившего задания осуществляется с помощью утилиты GridWay. Остальные функции реализуются средствами Globus Toolkit.
На веб-сервере Grid размещается система WIM, позволяющая пользователю отправлять его задание в Grid и передавать это задание на тот или иной кластер в зависимости от заданных пользователем системных требований. Спецификация и запуск задания производится с помощью командного языка.
Исполнительная часть обеспечивает выполнение заданий в Grid на вычислительных узлах, которые представляют собой кластеры под управлением ОС Windows или Linux и СУПЗ PBS или Condor. В качестве СУПЗ кластера в Grid можно использовать и другие СУПЗ, совместимые с пакетом Globus Toolkit (например, Load Shared Facility).
При выборе механизма обслуживания очереди заданий на выполнение в Grid учитываются следующие факторы: выполнение задания в пакетном режиме; отсутствие априорной информации о времени выполнения задания; степень важности заданий в зависимости от их приоритетов; типы задач, к которым относятся задания с точки зрения планирования процесса их выполнения. В Grid дисциплина обслуживания очереди заданий базируется на комбинированном применении следующих принципов: FIFO (первый пришедший обслуживается первым); переключения выполнения; учета приоритетов заданий. Приоритеты для заданий разных типов устанавливаются администратором Grid.
Поступающие в Grid задания разделены на два потока (рис. 5). Первый поток формируется из заданий типа (а = 1 / Ь / с / d = R), поступивших из других Grid. Поступившее на Grid-шлюз задание ставится в очередь и ждет назначения на один из свободных вычислительных ресурсов средствами пакета Globus Toolkit. При наличии свободных ресурсов утилита GridWay направляет находящееся на данный момент в голове очереди задание на выполнение СУПЗ освободившегося кластера. СУПЗ формирует локальную очередь заданий на кластере и передает задание на выполнение его вычислительным узлам. Во второй поток поступают задания, отправленные через веб-интерфейс. Подход к планированию работ WIM основан на следующих принципах. Во-первых, планировщики системы WIM используют модель Grid, что обеспечивает быстрый поиск информации о характеристиках и состоянии ресурсов. Во-вторых, для управления кластерами использованы СУПЗ, совместимые с инструментарием пакета Globus Toolkit и обладающие возможностью резервирования вычислительных ресурсов. В-третьих, в WIM реализована смешанная стратегия планирования, включающая как способ мониторинга состояния ресурсов, так и способ их резервирования. С помощью системы WTM, помимо заданий типа (а \ / b / L / с / d = К), которые распределяются по узлам Grid с помощью планировщика MST, можно запускать так же следующие типы заданий:
6 С точки зрения пакета Globus Toolkit.
14
(.а/Ь/с/й ~ С) и (а = К/Ь = I /с/с[). Как правило, резервирование ресурсов увеличивает время ожидаиия заданий в очереди7. Однако без применения такого способа время ожидания возрастает в значительно большей степени для заданий типов (а/Ь/с/с1 = С)н(а=К/Ь=1Ь/с/(1).
Рис. 5. Управление потоками заданий
В третьем разделе главы описан проведенный вычислительный эксперимент по моделированию процессов формирования и обработки заданий в Grid. Grid представляет собой стохастическую динамическую вычислительную сеть, состояние которой в некоторый момент времени определяется распределением в ней потоков заданий8. Для получения оценки эффективности различных способов распределения потоков заданий (Е, %) генерируется поток заданий, осуществляется их распределение и выполнение в Grid двумя способами (с помощью GridWay и GridWay + WIM) и сравниваются следующие показатели эффективности функционирования вычислительных, ресурсов Grid: число заданий с нулевым временем ожидания (То, сек.), среднее время ожидания задания в очереди (Тф сек.), среднее число заданий в очереди (Сд, ед.), среднее время пребывания задания в Grid (Tg, сек.), коэффициент полезного использования ресурсов Grid (Kg, %), количество заданий в потоке (Ср ед.), общее время решения заданий потока (Ts, сек.).
7 Топорков В.В. Модели распределенных вычислений / В.В. Топорков. - М.: ФИЗМАТЛИТ, 2004. -320 с.
8 Попков Ю.С. Макросистемы и ОЙЮ-технологии: моделирование динамических стохастических сетей / Ю.С. Попков // Проблемы управления. - 2003. - № 8. - С. 10-20.
Поток заданий в Grid характеризуется следующими свойствами: неоднородностью (задания соответствуют разным типам задач и отличаются друг от друга по своей специфике); отсутствием обратной связи (число заданий, поступивших за один промежуток времени, не зависит от числа заданий, поступивших за другой промежуток времени); неординарностью (возможно поступление двух и более заданий в один и тот же момент времени); стационарностью (число событий, поступивших за определешшй промежуток времени, зависит от длины этого промежутка и не зависит от момента его начала).
Для формирования потока заданий и отправки их на выполнение в Grid ИДСТУ СО РАН разработан специальный генератор. В качестве приложений в заданиях используются программы-имитаторы, выполняющие в Grid реальную загрузку вычислительных ресурсов и обмен заданными объемами данных. Генератор заданий был запущен на удаленной машине в Институте вычислительного моделирования СО РАН, которая играла роль сторонней Grid, а также на независимых рабочих станциях в Интернет, представляющих машины пользователей веб-интерфейса к Grid ИДСТУ СО РАН. Результаты вычислительных экспериментов (см. таб. 1) показывают устойчивое преимущество второго способа распределения заданий (GridWay+WIM) по всем показателям эффективности функционирования ресурсов Grid.
Таблица 1. Результаты вычислительных экспериментов
Grid 2 кластера с ОС Linux (168 выч. ядер) 2 кластера с ОС Linux, кластер с ОС Windows (184 выч. ядер) 2 кластера с ОС Linux, кластер с ОС Windows (184 выч. ядер)
Типы Задач Все типы Все типы (a=\/btL/c-N/d=R)H (а - K/b -L/c/d = R)
GridWay GridWay+ WIM Е (%) GridWay GridWay+ WIM Е (%) GridWay GridWay+ WIM E (%)
п 49060 52620 7,26% 24340 26680 9,61% 17980 19920 10,79%
т. 87260 80100 -8,21% 44020 39740 -9,72% 28240 25540 -9,56%
с, 7360 7260 -1,36% 3760 3620 -3,72% 2380 2280 -4,20%
Т, 123920 118440 -4,42% 62580 58460 -6,58% 39220 35420 -9,69%
К, 93,34% 94,13% 0,85% 92,41% 95,12% 2,93% 93,74% 94,97% 1,31%
с. 18688 18688 - 9344 9344 _ 157 157 -
т, 4917080 4716820 -4,07% 2486420 2336520 -6,03% 1585160 1459720 -7,91%
В четвертом разделе главы рассматриваются примеры решения практических задач в Grid ИДСТУ СО РАН. В частности, в Grid был решен ряд задач складской логистики, представляющих все основные типы задач. Проведенные расчеты подтвердили эффективность децентрализованного управления потоками заданий в Grid.
В последнем разделе данной главы приводится пример применения ИК DISCENT для организации вычислительного кластера на базе компьютерного класса вуза. Кластер использован в учебном процессе для проведения многовариантных расчетов при моделировании систем массового обслуживания.
В заключении перечисляются основные результаты, полученные в рамках диссертационной работы.
Приложения включают описание характеристик СУПЗ, графических элементов HTML, языка заданий, командного языка и объектов базы данных, а также другие дополнительные материалы.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ
1. Разработай способ децентрализованного управления потоками заданий, позволяющий (в отличие от известных) распределять задания в вычислительной среде в зависимости от типов решаемых задач. Для каждого типа задач разработан специализированный планировщик заданий.
2. Разработаны средства организации унифицированного веб-ориентированного доступа к распределенным вычислительным ресурсам. В том числе язык заданий и командный язык, обеспечивающие их настройку на особенности функционирования различных систем управления заданиями, используемых в узлах распределенной вычислительной среды.
3. Выполнена программная реализация системной архитектуры и алгоритмов функционирования инструментального комплекса DISCENT, обеспечивающего поддержку основных этапов построения и применения гетерогенных распределенных вычислительных сред для решения ресурсоемких научно-исследовательских задач.
СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ
1. Феоктистов А.Г. Разработка Grid-системы с децентрализированным управлением потоками заданий / А.Г. Феоктистов, A.C. Корсуков // Вестник НГУ. Серия: Информационные технологии. - 2008. - Т. 6, вып. 3. - С. 147-154.
2. Информационно-вычислительная среда для моделирования сложных систем в учебном процессе / А.Г. Феоктистов, В.И. Дмитриев, A.C. Корсуков, A.B. Ларина// Вестник ТГУ. Приложение. -2007. -№ 23. - С. 348-353.
3. Корсуков A.C., Феоктистов. А.Г. Система управления заданиями для вычислительного кластера: Свидетельство об официальной регистрации программы для ЭВМ № 2007611624. - М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2007.
4. Корсуков A.C., Феоктистов А.Г., Дмитриев В.И. Инструментальный комплекс для организации Web-интерфейсов к вычислительным кластерам (WIDT): Свидетельство об официальной регистрации программы для ЭВМ № 2007613651. - М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2007.
5. Средства и методы организации учебной информационно-вычислительной среды / А.Г. Феоктистов, В.И. Дмитриев, A.C. Корсуков, A.B. Ларина // Вестиик Московского городского педагогического университета. Серия: Информатика и информатизация образования. - 2007. - № 2(9). - С. 37-41.
6. Феоктистов А.Г. Ролевая модель системы безопасности распределенной вычислительной среды / А.Г. Феоктистов, A.C. Корсуков // Информационные и математические технологии в науке и управлении: Тр. XII Байкальской
Всерос. конф.: в 2-х ч. - Иркутск: Изд-во ИСЭМ СО РАН, 2007. - Ч. 2. -С. 33-38.
7. Феоктистов А.Г. Организация распределенного имитационного моделирования в grid-систсме / А.Г. Феоктистов, A.A. Александров, A.C. Корсуков // Параллельные вычислительные технологии: Тр. Междунар. науч. конф.
- Челябинск: Изд-во ЮУрГУ, 2007. - Т. 2. - С. 28-36.
8. Феоктистов А.Г. Средства выполнения распределенной GPSS-модели на вычислительном кластере / А.Г. Феоктистов, A.A. Александров, A.C. Корсуков // Инфокоммуникационные и вычислительные технологии и системы: Материалы II Всерос. конф. с междунар. участием. - Улан-Удэ: Изд-во Бурятского ун-а, 2006.-Т. 2.-С. 166-173.
9. Феоктистов А.Г. Архитектура системы управления вычислительным кластером невыделенных рабочих станций / А.Г. Феоктистов, A.C. Корсуков // Параллельные вычисления и задачи управления: Тр. III Междунар. конф. -М.: ИПУ РАН, 2006. - С. 492-497.
10. Феоктистов А.Г. Средства организации запуска прикладных задач на вычислительном кластере / А.Г. Феоктистов, A.C. Корсуков // Информационные и математические технологии в научных исследованиях: Тр. XI Байкальской междунар. конф.: в 2-х ч. - Иркутск: Изд-во ИСЭМ СО РАН, 2006. -Ч. 2.-С. 32-38.
11. Корсуков A.C. Подсистема запуска задач на вычислительном кластере / A.C. Корсуков // Математическое моделирование и информационные технологии: Материалы VIII Школы-семинара молодых ученых. - Иркутск: ИДСТУ СО РАН, 2006. - С. 80-82.
12. Корсуков A.C. Методы и средства организации вычислений на кластерах для класса многократно используемых программ / A.C. Корсуков, А.Г. Феоктистов // Компьютерные технологии в науке, производстве, социальных и экономических процессах: Материалы VI Междунар. науч.-практ. конф.
- Новочеркасск: ЮРГТУ, 2005. - Ч. 1. - С. 46-50.
13. Феоктистов А.Г. Удаленный доступ к кластерным системам / А.Г. Феоктистов, A.C. Корсуков // Математическое моделирование и информационные технологии: Материалы VI Школы-семинара молодых ученых. - Иркутск: ИДСТУ СО РАН, 2005. - С. 39-40.
14. Корсуков A.C. Вопросы организации дистанционного доступа к кластерным системам / A.C. Корсуков // Под знаком I: Тез. докл. III Всерос. молодежной конф. - Омск: ОНЦ СО РАН, 2005. - С. 238.
15. Корсуков A.C. Реализация удаленного доступа к кластеру лаборатории методов автоматизации исследований управляемых систем ИДСТУ СО РАН / A.C. Корсуков // Математическое моделирование и информационные технологии: Материалы VII Школы-семинара молодых ученых. - Иркутск: ИДСТУ СО РАН, 2005. - С. 17-18.
Редакционно-издательский отдел Института динамики систем и теории управления СО РАН 664033, Иркутск, Лермонтова, 134 Подписано к печати 21.01.2009 г. Формат бумаги 60x84 1/16, объем 1 п.л. Заказ №12. Тираж 100 экз.
Отпечатано в ИДСТУ СО РАН
Оглавление автор диссертации — кандидата технических наук Корсуков, Александр Сергеевич
Введение.
Глава 1. Распределенные вычисления.
1.1. Основные понятия.
1.2. Вычислительные кластеры.
1.3. Системы управления заданиями.
1.4. Кластерная система Condor.
1.5. Технология Grid.
1.5.1. Программное обеспечение Grid.
1.5.2. Проекты Grid.'.
1.6. Обзор веб-технологий.
Глава 2. Способы и средства построения распределенной вычислительной среды.
2.1. Модель распределенной вычислительной среды.
2.2. Пользовательский интерфейс.
2.3. Инструментальный комплекс DISCENT.
2.4. Конструктор.
2.4.1. Построение модели распределенной вычислительной среды.
2.4.2. Язык заданий.
2.4.3. Командный язык.
2.4.4. Создание веб-форм.
2.5. База данных.
2.6. Система WIM.
Глава 3. Построение распределенных вычислительных сред.
3.1. Этапы организации и применения распределенных вычислительных сред.
3.2. Создание Grid.
3.2.1. Архитектура Grid.
3.2.2. Децентрализованное управление потоками заданий в Grid.
3.3. Моделирование потоков заданий в Grid.
3.3.1. Генератор потоков заданий.
3.3.2. Результаты вычислительного эксперимента.
3.4. Решение практических задач в Grid.
3.5. Организация вычислительного кластера вуза.
Введение 2009 год, диссертация по информатике, вычислительной технике и управлению, Корсуков, Александр Сергеевич
Актуальность темы. Применение методов математического моделирования при решении фундаментальных и прикладных задач на ЭВМ зачастую требует больших затрат машинного времени, а также значительных объемов оперативной памяти и дискового пространства [30]. Одним из путей решения данной проблемы является использование суперкомпьютерной вычислительной техники. Последнее обстоятельство является решающим для самого широкого внедрения технологий суперкомпьютинга в научно-исследовательскую деятельность и формирования на их основе важного сегмента наукоемких технологий.
На сегодняшний день существует большое число различных видов параллельных и распределенных вычислительных систем. По этим системам имеется обширная библиография [1, 3, 6, 11, 20, 21, 29, 32, 38, 39, 65]. Основываясь на анализе этих и других работ и принимая по внимание функциональные возможности высокопроизводительной вычислительной техники, можно выделить следующие основные ее классы: мультикомпьютеры, симметричные мультипроцессоры с общей памятью (SMP - Symmetric Multi Processing), массово-параллельные системы (МРР - Massively Parallel Processing) и вычислительные кластеры.
Мультикомпьютеры представляют собой совокупность отдельных вычислительных установок, каждая из которых управляется своей операционной системой (ОС). Вычислительные установки мультикомпьютера, как правило, не имеют общих структур (кроме сети), обладают высокой степенью автономности. Они могут состоять из отдельных компьютеров или представлять собой различные комбинации кластеров, SMP- или МРР-систем.
SMP-системы состоят из совокупности процессоров (до нескольких десятков), разделяющих общую оперативную память с единым адресным пространством и объединенных коммуникационной средой. Степень масштабируемости таких систем ограничена техническими возможностями реализации одинакового для всех процессоров доступа к оперативной памяти.
МРР-системы характеризуются большим числом вычислительных узлов, включающих один или несколько процессоров, модуль локальной оперативной памяти и устройства ввода/вывода. На каждом вычислительном узле работает своя копия ОС. Все узлы объединяются специализированной коммуникационной средой.
Кластер представляет собой набор вычислительных узлов или компьютеров, объединенных единой коммуникационной средой. Кластеры получили широкое распространение благодаря высокому уровню готовности при относительно низких затратах. Этому свидетельствуют тенденции увеличения доли кластеров в списках самых мощных компьютеров, как в мире (см., например, ТОП 500, http://www.top500.org), так и в России (см., например, ТОП 50, http://www.supercomputers.ru). Действительно, для создания вычислительного кластера, зачастую, на компьютеры локальной сети достаточно установить специальное системное программное обеспечение (ПО) для управления заданиями пользователей1. Кроме того, с позиций удобства масштабирования кластерные архитектуры допускают неограниченное наращивание узлов. Широкими потенциальными возможностями для организации кластеров обладают вузы, имеющие, как правило, значительное число единиц вычислительной техники в рамках компьютерных классов.
В последнее время для решения ресурсоемких фундаментальных и прикладных задач2 создаются различные распределенные и параллельные вычислительные системы и среды, традиционно рассматриваемые (см., например,
1 Задание пользователя — это задача, сформулированная в терминах используемого системного ПО и готовая к запуску на выполнение. Задание пользователя содержит информацию о необходимых вычислительных ресурсах, исполняемой прикладной программе, ее входных и выходных данных.
2 Под ресурсоемкой задачей в диссертации понимается задача вычислительного характера, решение которой требует выполнения прикладного ПО и использования больших объемов процессорного времени, оперативной памяти и дискового пространства.
18]) как совокупность вычислительных узлов, объединенных локальной или глобальной коммуникационной сетью. В частности, активно применяется технология создания специальной вычислительной сети, получившей название Grid [62]. Эта технология базируется на интеграции географически распределенных информационно-вычислительных и коммуникационных ресурсов и их совместном использовании в процессе вычислений. Инфраструктура Grid включает [20] объединенные телекоммуникационной средой средства вычислений и обработки информации (суперкомпьютеры, вычислительные кластеры, отдельные персональные компьютеры, системы хранения данных и др.) и системное ПО, предназначенное для управления процессом выполнения заданий пользователей в этой среде.
Grid, организованная на базе кластеров, в большинстве случаев ее использования обеспечивает возможность удаленного доступа к ресурсам (узлам) вычислительной сети и позволяет: определить вычислительные возможности конкретного узла (число процессоров, объем оперативной памяти и т.п.) и степень его работоспособности; выполнить на этом узле некоторое независимое задание или обработать один из блоков данных при решении «большой» задачи, допускающей распараллеливание по данным (см., например, [5, 12]).
Однако существуют типы научно-исследовательских задач, требующих более широких возможностей [31, 40]: обеспечения вычислительных услуг нетиражируемых программных комплексов, размещенных в узлах Grid;
- выполнения ряда взаимозависимых заданий [9], составляющих процесс решения одной общей задачи и требующих интеграции распределенных вычислительных ресурсов на основе автоматического планирования последовательности их использования.
Анализ существующих систем управления заданиями (СУПЗ) для кластеров [39] показывает, что как правило в этих системах реализовано централизованное управление автономными заданиями. Между тем решение задач с боль6 шим числом подзадач и информационно-логических связей между ними в значительной степени увеличивает нагрузку на управляющий компьютер кластера и может привести к снижению работоспособности всей вычислительной системы в целом [16]. Кроме того, формы ведения вычислительных работ в Grid, обусловленные используемым для ее организации сложным системным ПО, во многом ориентированы на специалистов с достаточно высоким уровнем квалификации в области системного программирования. Эти обстоятельства сдерживают широкое применение Grid специалистами-прикладниками и актуализируют вопросы создания «дружественных» средств доступа к ресурсам Grid и децентрализованных способов управления вычислительным процессом [59].
Таким образом, решение перечисленных выше проблем в рамках распределенной вычислительной среды (РВС) требует применения специализированных способов организации доступа пользователей к ее ресурсам и средств формулировки соответствующих постановок задач и спецификации заданий по их решению, а также методов последующего управления потоком заданий в этой среде. В качестве РВС может выступать как отдельный вычислительный кластер, так и Grid в целом.
Цель работы состоит в разработке способа создания гетерогенных РВС, предоставляющих широкий выбор средств для решения ресурсоемких научно-исследовательских задач различных типов и обеспечивающих возможность интеграции с другими РВС. Достижение указанной цели осуществляется путем реализации программного комплекса, предназначенного для инструментальной поддержки основных этапов построения и применения РВС.
Объектом исследования является организация вычислительного процесса решения ресурсоеких фундаментальных и прикладных научных задач в РВС.
Предмет исследования - построение Grid на базе вычислительных кластеров. Важным требованием к такой Grid является обеспечение возможности включения в ее вычислительную инфраструктуру кластеров, организованных на разных программно-аппаратных платформах. 7
Методы исследования. При решении поставленных задач использовались методы системного программирования и искусственного интеллекта для организации, планирования и применения распределенных вычислительных ресурсов, а также методы разработки веб-приложений.
На защиту выносятся следующие основные результаты:
1. Способ децентрализованного управления потоками заданий, позволяющий (в отличие от известных) распределять задания в вычислительной среде в зависимости от типов решаемых задач. Для каждого типа задач разработан специализированный планировщик заданий.
2. Средства организации унифицированного веб-ориентированного доступа к распределенным вычислительным ресурсам. В том числе язык заданий и командный язык, обеспечивающие их настройку на особенности функционирования различных систем управления заданиями, используемых в узлах распределенной вычислительной среды.
3. Системная архитектура и алгоритмы функционирования инструментального комплекса, обеспечивающего поддержку основных этапов построения и применения гетерогенных распределенных вычислительных сред для решения ресурсоемких научно-исследовательских задач.
Научная новизна. Разработан способ организации распределенных вычислений, отличающийся от известных обеспечением таких дополнительных возможностей, как формирование потоков заданий в зависимости от типов решаемых задач и децентрализованное управление этими потоками в процессе выполнения заданий. В основе этого способа лежат специализированные языковые и инструментальные средства, предназначенные для быстрой и гибкой настройки веб-ориентированного доступа к ресурсам гетерогенной РВС.
Практическая значимость. Разработанное ПО предоставляет пользователям возможность самостоятельно (без участия высококвалифицированных системных программистов) описывать исследуемую предметную область и программно-аппаратную часть РВС, а также формировать задания для решения своих задач и проводить вычислительные эксперименты в РВС. Тем самым сокращаются сроки и повышается эффективность проведения научно-исследовательских работ в целом.
Разработанные в рамках выполнения диссертационной работы инструментальные средства использованы при создании 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 Школах-семинарах молодых ученых «Математическое моделирование, управление и информационные технологии» (Иркутск,
2005 г., 2005 г., 2006 г.), на VI Международной научно-практической конференции «Компьютерные технологии в науке, производстве, социальных и экономических процессах» (Новочеркасск, 2005 г.), на Всероссийской конференции «Инфокоммуникационные и вычислительные технологии и системы» (Эн-халук, 2006 г.), на XI Байкальской Международной конференции «Информационные и математические технологии в научных исследованиях» (Иркутск,
2006 г.), на II Международной конференции «Параллельные вычисления и задачи управления» (Москва, 2006 г.), на V Школе-семинаре «Распределенные и кластерные вычисления» (Красноярск, 2006 г.), на Международной научной конференции PAVT'2007 «Параллельные вычислительные технологии» (Челябинск, 2007 г.), на XII Байкальской Всероссийской конференции с международным участием «Информационные и математические технологии в науке и управлении» (Иркутск, 2007 г.), на VI Сибирской научной школе-семинаре с международным участием «Компьютерная безопасность и криптография» (Горно-Алтайск, 2007 г.), на Международной научно-практической конференции «Информационные технологии в образовании» (Иркутск, 2007 г.), на Меж
10 дународной конференции «Геоинформатика: технологии, научные проекты» (Иркутск, 2008 г.), на Школе-семинаре молодых ученых «Информационные технологии и моделирование социальных эколого-экономических систем» (Иркутск, 2008 г.), а также неоднократно на семинарах ИДСТУ СО РАН.
Публикации и личный вклад автора. Результаты диссертации отражены в 15 научных работах [15, 22-27, 37, 44-50] (в том числе 1 статья [46] в журнале, рекомендованном ВАК для опубликования научных результатов диссертации на соискание ученой степени доктора или кандидата наук). В перечисленных публикациях все результаты, связанные с алгоритмизацией, программной реализацией и вычислительным экспериментом на ЭВМ, получены автором лично. Результаты, связанные с разработкой моделей и методов организации распределенных вычислений, получены совместно с А.Г. Феоктистовым и являются неделимыми. Из совместных работ с А.А. Александровым, В.И. Дмитриевым и А.В. Лариной в диссертацию включены только те результаты, которые принадлежат лично автору.
Структура работы. Диссертация состоит из введения, трех глав, заключения, библиографии из 79 наименований, списка сокращений и 6 приложений. Общий объем работы — 147 страниц, из которых 120 страниц основного текста, включающего 28 рисунков и 12 таблиц.
Заключение диссертация на тему "Инструментальный комплекс для разработки и применения гетерогенных распределенных вычислительных сред"
Основные результаты диссертационной работы:
1. Разработан способ децентрализованного управления потоками заданий, позволяющий (в отличие от известных) распределять задания в вычислительной среде в зависимости от типов решаемых задач. Для каждого типа задач разработан специализированный планировщик заданий.
2. Разработаны средства организации унифицированного веб-ориентированного доступа к распределенным вычислительным ресурсам. В том числе язык заданий и командный язык, обеспечивающие их настройку на особенности функционирования различных систем управления заданиями, используемых в узлах распределенной вычислительной среды.
3. Выполнена программная реализация системной архитектуры и алгоритмов функционирования инструментального комплекса DISCENT, обеспечивающего поддержку основных этапов построения и применения гетерогенных распределенных вычислительных сред для решения ресурсоемких научно-исследовательских задач.
Правильность и эффективность принятых в работе решений подтверждена опытом успешной практической эксплуатации разработанных инструментальных средств.
Заключение
В диссертации предложены модели и инструментальные средства, которые могут быть использованы при создании гетерогенных распределенных вычислительных сред для решения ресурсоемких фундаментальных и прикладных задач.
Библиография Корсуков, Александр Сергеевич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. Агафонов В.Н. Спецификация программ: понятийные средства и их организация / В.Н. Агафонов. Новосибирск: Наука, 1987. — 240 с.
2. Бурцев В. Параллелизм вычислительных процессов и развитие архитектуры суперЭВМ / В. Бурцев. М.: ИВВС РАН, 1997. - 152 с.
3. Владимиров Д. Кластерная система Condor / Д. Владимиров // Открытые системы. 2000. - № 7-8. - С. 20-26.
4. Воеводин В. Решение больших задач в распределенных вычислительных средах / В. Воеводин // Автоматика и телемеханика. — 2007. — № 5. — С. 32-45.
5. Воеводин В. Параллельные вычисления / В. Воеводин, Вл. Воеводин. СПб.: БХВ-Петербург, 2002. - 608 с.
6. Воеводин Вл. Х-Сот — проект организации распределенных вычислений / Вл. Воеводин, М. Филамофитский // Научный сервис в сети Интернет: Тр. Всерос. науч. конф. -М.: МГУ, 2001. С. 11-13.
7. Воеводин Вл. Вычислительное дело и кластерные системы / В. Воеводин, С. Жуматий. М.: МГУ, 2007. - 150 с.
8. Гершуни Д.С. Планирование вычислений в системах жесткого реального времени (обзор и перспективы) / Д.С. Гершуни // Вычислительная техника. Системы управления. 1991. - Вып. 6. - С. 4-51.
9. Ю.Горбунов-Посадов М.М. Системное обеспечение пакетов прикладных программ / М.М. Горбунов-Посадов, Д.А. Корягин, В.В. Мартынюк. М.: Наука, 1990.-208 с.
10. Дейтел Х.М. Операционные системы. Распределенные системы, сети, безопасность / Х.М. Дейтел, П.Дж. Дейтел, Д.Р. Чофнес. — М.: ООО Бином-Пресс, 2006. 704 с.
11. Демичев А. Введение в грид-технологии / А. Демичев, В. Ильин, А. Крюков. М., 2007. - 87 с. - (Препринт / НИИЯФ МГУ; №11/832).
12. Жуматий С. Система РагСоп — ассистент в работе пользователя и администратора вычислительного кластера / С. Жуматий // Методы и средства обработки информации: Тр. Всерос. науч. конф. М.: МГУ им. М.В. Ломоносова, 2005.-С. 252-255.
13. Зегжда Д. Основы безопасности информационных систем / Д. Зегжда, А. Ивашко. М.: Горячая линия - Телеком, 2000. - 452 с.
14. Информационно-вычислительная среда для моделирования сложных систем в учебном процессе / А.Г. Феоктистов, В.И. Дмитриев, А.С. Корсуков, А.В. Ларина // Вестник ТГУ. Приложение. 2007. - № 23. - С. 348-353.
15. Каляев И. Распределенные системы планирования действий коллективов роботов / И. Каляев, А. Гайдук, С. Капустян. М.:Янус-К, 2002. - 292 с.
16. Кирьянов А. Введение в технологию Грид: Учебное пособие / А. Кирьянов, Ю. Рябов. ПИЯФ РАН, 2006. - 40 с.
17. Коваленко В.Н. Вычислительная инфраструктура будущего / В.Н. Коваленко, Д.А. Корягин // Открытые системы. 1999. - № 11-12. - С. 45-53.
18. Коваленко В.Н. Комплексное программное обеспечение грида вычислительного типа / В.Н. Коваленко. М., 2007. - 39 с. - (Препринт / ИПМ им. Келдыша РАН; №10).
19. Коваленко В.Н. Организация ресурсов ГРИД / В.Н. Коваленко, Д.А. Корягин. М., 2004. - 25 с. - (Препринт / ИПМ им. Келдыша РАН; № 63).
20. Корнеев В. Параллельные вычислительные системы / В. Корнеев. М.: Но-лидж, 1999.-320 с.
21. Корсуков А.С. Вопросы организации дистанционного доступа к кластерным системам / А.С. Корсуков // Под знаком Е: Тез. докл. III Всерос. молодежной конф. Омск: ОНЦ СО РАН, 2005. - С. 238.114
22. Корсуков А.С. Подсистема запуска задач на вычислительном кластере / А.С. Корсуков // Математическое моделирование и информационные технологии: Материалы VIII Школы-семинара молодых ученых. Иркутск: ИДСТУ СО РАН, 2006. - С. 80-82.
23. Котеров Д. РНР 5. Наиболее полное руководство / Д. Котеров, А. Костарев. СПб.: БХВ-Петербург, 2005. - 1120 с.
24. Лацис А.О. Как построить и использовать суперкомпьютер / А.О. Лацис. -М.: Бестселлер, 2003. 274 с.
25. Нейлор Т. Машинные имитационные эксперименты с моделями экономических систем / Т. Нейлор. М.: Мир, 1975. - 500 с.
26. Опарин Г.А. Булево моделирование планирования действий в распределенных вычислительных системах / Г.А. Опарин, А.П. Новопашин // Теория и системы управления. 2004. -№ 5. - С. 105-108.
27. Опарин Г.А. Инструментальная распределенная вычислительная САТУРН-среда / Г.А. Опарин, А.Г. Феоктистов // Программные продукты и системы. 2002. - №2. - С. 27-30.
28. Попков Ю.С. Макросистемы и GRID-технологии: моделирование динамических стохастических сетей / Ю.С. Попков // Проблемы управления. 2003. - № 8. - С. 10-20.
29. Россум Г. Язык программирования Python / Г. Россум. ДиаСофт, 2000. - 454 с.
30. Руководство администратора системы управления прохождением задач МВС-1000/16 / А.В. Баранов, А.О. Лацис, С.В. Сажин, М.Ю. Храмцов // Документация по МВС-1000/16. М.: ИПМ им. Келдыша РАН, 2007. - 25 с.
31. Советов Б.Я. Моделирование систем / Б.Я. Советов, С.А. Яковлев. -М.: Высшая Школа, 1985.-271 с.
32. Таненбаум Э. Распределенные системы. Принципы и парадигмы / Э. Танен-баум, В. Стен. СПб.: Питер, 2003. - 877 с.
33. Топорков В.В. Модели распределенных вычислений / В.В. Топорков. М.: ФИЗМАТЛИТ, 2004. - 320 с.
34. Топорков В.В. Управление ресурсами при организации распределенных вычислений на основе опорных планов /В.В. Топорков // Параллельные вычисления и задачи управления: Тр. III Междунар. конф. (РАСО'2006). М.: ИПУ РАН, 2006. - С. 287-306.116
35. Тыугу Э.Х. Концептуальное программирование / Э.Х. Тыугу. М.: Наука, 1984.-256 с.
36. Уайтхэд П. Perl: Наглядный курс программирования / П. Уайтхэд. Диалектика, 2001. - 280 с.
37. Уильяме Э. Active Server Pages в подлиннике. Наиболее полное руководство / Э. Уильяме, К. Барбер, П. Ньюкирк. СПб.: БХВ-Петербург, 2001.-672 с.
38. Феоктистов А.Г. Архитектура системы управления вычислительным кластером невыделенных рабочих станций / А.Г. Феоктистов, А.С. Корсуков // Параллельные вычисления и задачи управления: Тр. III Междунар. конф. М.: ИПУ РАН, 2006. - С. 492-497.
39. Феоктистов А.Г. Разработка Grid-системы с децентрализированным управлением потоками заданий / А.Г. Феоктистов, А.С. Корсуков // Вестник НГУ. Серия: Информационные технологии. — 2008. — Т. 6, Вып. 3. — С. 147-154.
40. Феоктистов А.Г. Удаленный доступ к кластерным системам / А.Г. Феоктистов, А.С. Корсуков // Математическое моделирование и информационные технологии: Материалы VI Школы-семинара молодых ученых. Иркутск: ИДСТУ СО РАН, 2005. - С. 39-40.
41. Шевель А. Визуализация состояний вычислительного кластера / А. Ше-вель // Открытые системы. — 2003. № 1. — С. 10-12.
42. Шилдт Г. Полный справочник по Java / Г. Шилдт. — Вильяме, 2007. — 1040 с.
43. A worldwide flock of Condors: load sharing among workstation clusters / D. Epema, M. Livny, R. van Dantzig, X. Evers, J. Pruyne // Future Generation Computer Systems. 1996. - Vol. 12, № 1. - P. 53-65.
44. Almond J. UNICORE: uniform access to supercomputing as an element of electronic commerce / J. Almond, D. Snelling // Future Generation Computer Systems. NH-Elsevier, 1999.-Vol. 15.-P. 539-548.
45. Badger L. Domain and Type Enforcement UNIX Prototype / L. Badger, D. Sterne, D. Sherman, K. Walker, S. Haghighat // USENIX Security Symp. 1995. - P. 12.
46. Baker M. Cluster Computing Review / M. Baker, C. Geoffrey, F. Yau, W. Yau. Northeast Parallel Architectures Center, 1995. - 89 p.
47. Berlich R. Grid computing in Europe: from research to deployment / R. Berlich, M. Kunze, K. Schwarz // Conf. in Research and Practice in Information Technology Series. Australian Computer Society, 2005. - Vol. 108. - P. 21-27.
48. Berners-Lee T. Hypertext Transfer Protocol HTTP/1.0. RFC 1945 MIT/LCS / T. Berners-Lee, R. Fielding, H. Frystyk. - UC Irvine, 1996.-60 p.
49. Durfee E.H. Distributed problem solving and planning / E.H. Durfee // Multiagent118
50. Systems: A Modern Approach to Distributed Artificial Intelligence / Ed. by G. Weiss. Cambridge: MIT Press, 1999. - P. 121-164.
51. Enabling Grids for E-sciencE. http://www.eu-egee.org/.
52. Foster I. Globus Toolkit Version 4: Software for Service-Oriented Systems / I. Foster // IFIP Intern. Conf. on Network and Parallel Computing. Springer, 2006. - P. 2-13.
53. Foster I. The Anatomy of the Grid: Enabling Scalable Virtual Organizations / I. Foster, C. Kesselman, S. Tuecke // Intern. J. of High Performance Computing Applications. 2001. - Vol. 15, № 3. - P. 200-222.
54. Gentzsch W. Sun Grid Engine: towards creating a compute power grid / W. Gentzsch // Cluster Computing and the Grid: First IEEE/ACM Intern. Symp., 2001. -P. 35-36.
55. Henderson R. Job scheduling under the portable batch system / R. Henderson // Job scheduling strategies for parallel process-sing. Springer, 1995. - P. 279-294.
56. High Performance cluster computing: in 2 vol. / Ed. by R. Buyya. New Jersey: Prentice Hall PTR, 1999. - 1519 p.
57. Holzner S. Ant: The Definitive Guide / S. Holzner. O'Really Media Inc., 2002.-333 p.
58. Huedo E. The GridWay Framework for Adaptive Scheduling and Execution on Grids / E. Huedo, R. Montero, I. Llorente // Scalable Computing: Practice and Experience. Wiley Press, 2005. - Vol. 6, № 3. - P. 1-8.
59. Integrating Local Job Scheduler LSF with Gfarm / W. Xiaohui, W. Li, O. Tatebe, et al. // Parallel and Distributed Processing and Applications. - Springer, 2005. - P. 196-204.
60. Kabir M. Apache Server 2 Bible / M. Kabir. Hungry Minds, 2002. - 793 p.
61. Matthew N. Beginning Databases with PostgreSQL: From Novice to Professional / N. Matthew, S. Richard. Apress, 2005. - 665 p.
62. OMII-Europe Project. http://omii-europe.org/OMII-Europe/.119
63. Portable Batch System: External Reference Specification / J.P. Jones, Электронный ресурс. — Электрон. дан. — Режим доступа: https://ciment.ujfgrenoble.fr/mirage/documentation/pbspro/PBSproERS540.pdf, свободный.
64. Porting of Scientific Applications to Grid Computing on GridWay / J. Herrera, E. Huedo, R. Montero, I. Llorente // Scientific Programming. IOS Press, 2005.-Vol. 13, №4.-P. 317-331.
65. Russian Data Intensive Grid. http://rus.egee-rdig.ru/.
66. Sandhu R. Role-Based Access Control Models / R. Sandhu, E. Coyne, H. Fein-stein, C. Youman // IEEE Computer. 1996. - Vol. 29, № 2. - P. 38-47.
67. The easy — Loadleveler API project / J. Skovira, W. Chan, H. Zhou, D. Lifka // Proc. of the Workshop on Job Scheduling Strategies for Parallel Processing. Springer, 1996. - P. 41-47.
68. The NorduGrid Project. — http://www.nordugrid.org/.
69. Virtual Data Toolkit, -http://vdt.cs.wisc.edu/.
70. White Paper: N1 Grid Engine 6 Features and Capabilities / P. Bulhoes, C. Byun, R. Castrapel, O. Hassaine. Phoenix: SUPerG, 2004. - 11 p.
-
Похожие работы
- Технология интеграции данных в гетерогенных корпоративных программных комплексах
- Математическое обеспечение распределенных вычислений гетерогенных динамических параметров систем в режиме реального времени
- Разработка распределенных гетерогенных вычислительных систем и запуск приложений в распределенной вычислительной среде
- Разработка методов проектирования гетерогенных распределенных информационных систем регионального научного центра
- Разработка системы запуска ресурсоемких приложений в облачной гетерогенной среде
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность