Реферат по теме выпускной работы

Актуальность работы

Несмотря на уже существующие средства создания Грид инфраструктур, существует ряд важных научных задач, без решения которых невозможно полномасштабное использование Грид технологий в науке. Одной из таких является эффективное управление ресурсами в распределённой среде. Отсутствие хорошей системы взаимодействия программных агентов значительно снижает эффективность использования Грид инфраструктуры. И поэтому, сегодня актуальной задачей является создание новой модели взаимодействия программных агентов.

Цель работы

Целью магистерской работы является разработка программных агентов для распределённых вычислений в Грид среде, а именно: программных агентов диспетчеризации и планирования заданий, а также агентов вычислительных ресурсов Грид. Важной частью работы является разработка интерфейсов и протоколов для взаимодействия перечисленных агентов.

Научная новизна

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


Вычислительный Грид

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

В рамках известных типов Грида (семантический Грид, Грид данных, информационный Грид и т.д.) появляются новые формы, но наиболее активно развивается вычислительный Грид. Вычислительный Грид используется как объединение вычислительной мощности множества компьютеров и серверов для решения более сложных задач, повышения и утилизации вычислительных мощностей. Решение таких задач на машине пользователя, представляется крайне не эффективной, по причине их длительного выполнения. На рисунке 1 показан пример вычислительной Грид сети.
Вычислительная Грид сеть
Рисунок 1 - Пример вычислительной Грид сети (5 кадров, 5 повторений, 128 KБ)

Возможные реализации вычислительного Грида различаются по:

  • типу использования ресурсов (отчуждаемые и неотчуждаемые)
  • типу объединения ресурсов (кластеризованные и некластеризованные)
  • классу обрабатываемых заданий (однопроцессорные или параллельные)
В данный момент активно развивается двухуровневая организация ресурсов Грид, т.е. Грид построенный из находящихся в различных точках сети кластерных узлов, в которые объединены большое количество вычислительных ресурсов. При этом вычислительные ресурсы полностью выделяются в Грид и не могут использоваться владельцами (отчуждаемые ресурсы). При такой организации вычислительные ресурсы объединяются в кластеры и находятся под управлением локального менеджера.

Также существует одноуровневая организация ресурсов Грид, которая состоит из некластеризованных вычислительных ресурсов – персональных компьютеров пользователей. Поскольку таких станций огромное количество – они представляют большой интерес для пользователей Грид, которые могли решать на них свои задачи. Но такое решение задач может оказаться весьма проблематичным из–за следующих проблем:

  • владельцы вычислительных ресурсов выполняют на них собственные программы (неотчуждаемые ресурсы)
  • может произойти выключение ресурса в любой непредсказуемый момент
Основное задание Грид вне зависимости от реализации – координирование коллекций ресурсов. Использование агентных систем для планирования задач в Грид даст возможность развязать две основные проблемы – масштабируемости и адаптивности. Агенты предоставляют ресурсы и совершают поиск определенного ресурса. Агент устанавливается на исполнительных компьютерах, владельцы которых хотят предоставить свои ресурсы в Грид [1].


Структура Грид на основе агентного подхода

Анализ существующих средств планирования и балансирования загрузки в Грид системах свидетельствует о том, что эти методы и средства в настоящее время развиты недостаточно. Техника планирования и управления ресурсами, которые существуют сейчас, не удовлетворяют двум основным требованиям одновременно:

  • масштабируемость (работоспособность Грид системы при значительном увеличении или уменьшении ее состава)
  • адаптивность (Грид – динамическая среда, где тип, размещение и продуктивность компонентов постоянно меняется)
Можно выделить один из наиболее эффективных методов построения Грид – использование агентного подхода.

«Агент – это сущность, которая может принимать информацию из внешней среды и реагировать на внешние возмущения» [2]. Агенты благодаря способности обмена информации между собой могут в большой степени улучшить планирование задач в Грид. Каждый агент рассматривается как представитель Грид ресурса на метауровне, т.е. можно рассматривать агента как провайдера сервиса. Каждый агент имеет информацию и может взаимодействовать с одним агентом уровнем выше и несколько агентов уровнем ниже (или не иметь вообще). Информация о локальном ресурсе анонсируется как вверх, так и вниз, т.е. происходит поиск определенного ресурса или более быстродействующего. В файлах конфигурации агентов имеется информация о сервисах соседних агентов, которую агент обрабатывает в процессе поиска в зависимости от источника информации. Информация обновляется при получении анонса от соответствующего агента. При изменениях в локальном ресурсе агент отправляет свой анонс соседним агентам и если информация исчерпана, а агент не найден, то задача посылается к высшему по уровню агенту. Структура агента приведена на рисунке 2 [3]. Агент имеет два уровня:

  • коммуникационный уровень (обеспечивает обмен данными с другими агентами)
  • координационный уровень (происходит процесс планирования, т.е. вычисляется время выполнения задачи и отправление её на выполнение)
Структура агента
Рисунок 2 – Структура агента

На основе агентного подхода можно построить следующую структуру Грид сети (рисунок 3) [2]. При этом Грид сеть состоит из агента диспетчеризации, который устанавливается на сервере Грид сети, агента вычислительного ресурса первого (cluster agent) уровня, который устанавливается на сервере вычислительного кластера и агента вычислительного ресурса второго уровня (user agent). Агент диспетчеризации принимает заказы от пользователей, бронирует вычислительные ресурсы, регистрирует вычислительные ресурсы (входящие в Грид сеть), ведет статистику выполнения всех заданий а также следит за ходом выполнения заданий на вычислительном ресурсе. Агенты вычислительных ресурсов первого и второго уровней устанавливаются на серверах кластеров и на вычислительных ресурсах соответственно. Эти агенты контролируют выполнение задания: они отвечают за запуск задания, следят за ходом выполнения задания, а также за корректным разделением ресурсов, вычисляют время выполнения задания (осуществляется поиск более подходящего ресурса для задания).
Архитектура Грид сети на основе агентного подхода
Рисунок 3 – Архитектура Грид сети на основе агентного подхода


Протоколы взаимодействия агентов

«Протокол – это набор правил, которые применяются в крайних точках телекоммуникационной системы во время обмена данными» [4]. Протоколы в Грид должны обеспечивать надежный транспорт и маршрутизацию сообщений. Несмотря на существующие альтернативы, сейчас протоколы в Грид, а именно обмен сообщениями между агентами уровней, а также между агентами уровней и центральным агентом распределения ресурсов, предполагают использование только стека протоколов TCP/IP, в частности: IP, ICMP, TCP, UDP, HTTP, FTP. Протокол HTTP используется в большинстве Грид сетей для выделения вычислительных ресурсов, а также мониторинга и контроля вычислений на этих ресурсах. А протокол FTP – является протоколом управления доступом к данным, частичного доступа к файлам и управления параллелизмом для высокоскоростных передач информации. Протокол FTP принят в качестве базового протокола передачи данных, поскольку его поддерживают сторонние разработчики, а также потому, что его самостоятельное управление и каналы данных облегчают применение изощрённых услуг. Учитывая бурное развитие сетевых технологий, в будущем взаимодействие, возможно, будет осуществляться по другим протоколам. Протоколы, которые используют агенты, должны выполнять следующие функции:

  • согласование политик безопасности использования ресурса
  • инициацию вычислительного ресурса
  • мониторинг состояния вычислительного ресурса
  • контроль над вычислительным ресурсом
  • учет использования вычислительного ресурса
Различают два основных класса протоколов:
  • информационные протоколы, которые получают информацию о структуре и состоянии вычислительного ресурса
  • протоколы управления, которые используются для согласования доступа к разделяемым ресурсам, определяя требования и допустимые действия по отношению к вычислительному ресурсу
Для обеспечения надежного транспорта сообщений между агентами в Грид системе должны использоваться решения, предусматривающие гибкий подход к безопасности коммуникаций. В настоящее время эти решения основываются как на существующих стандартах безопасности, изначально разработанных для Интернет, так и на новых разработках [1] [4].


Функции Агентов

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

  • запуск задания
  • разделение ресурсов
  • управление на исполнительном компьютере
  • передача данных
  • безопасность передаваемых данных

Когда ресурсы исполнительного компьютера освободились, агент информирует об этом диспетчер (агент сервера Грид) и запрашивает на выполнение новое задание из очереди заданий. Если заданий нет, агент через определённые моменты времени запрашивает задание снова. Если в очереди заданий есть подходящее задание (с наивысшим приоритетом или выбранное с другим критерием), то агент передаёт файлы на исполнительный компьютер и исполняет это задание. После запуска задания на исполнение выполняется разделение ресурсов, т.е. обеспечивается изоляция данных задания Грид от данных пользователя компьютера. Осуществляется контроль над потреблёнными ресурсами и как только задание выходит за границы потребления ресурсов (при инициализации узла сети Грид заполняется файл конфигурации, в котором указывается какое количество ресурсов отводится в Грид инфраструктуру), агент завершает выполнение задания. Также агенты уровней могут завершать задания, если увеличивается загрузка компьютера за счёт локальных процессов владельца или по запросу пользователя.

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

Как только задание Грид выполнилось, агенты уровней отправляют выходные файлы результаты, а все данные, связанные с заданием, удаляют с исполнительного компьютера. В информационной базе данных агенты уровней меняет статус задания на «ВЫПОЛНЕНО», информирует диспетчер об успешном выполнении задания и запрашивает новое задание на выполнение.

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


Применение Грид систем позволяет значительно повысить скорость и качество вычислений, особенно в случае использования слабосвязанных гетерогенных вычислительных комплексов. В данной работе описана архитектура современной Грид системы на основе программных агентов. Рассмотрены такие вопросы, как: общая структура на основе программных агентов, протоколы взаимодействия программных агентов а также структура локальных агентов и агентов диспетчеризации.


При написании данного автореферата магистерская работа еще не завершена. Окончательное завершение: декабрь 2009 г. Полный текст работы и материалы могут быть получены у автора или его руководителя после указанной даты.


Ссылки на Интернет-ресурсы, связанные с Грид технологиями, поддержанные Европейской комиссией.

ASP-BP Разработка единой концепции решения для 6 проектов, использующих ASP технологии.
AVO Виртуальная астрофизическая лаборатория.
BioGRID Интеграция различных программных пакетов по квантовой химии и молекулярной динамике в Грид среду. Разработка интерфейсов к биомолекулярным приложениям и базам данных, использующих инфраструктуру UNICORE. Создание программных средств и пользовательских интерфейсов для симуляции и визуализации биомолекул.
COG Демонстрация применимости Грид технологий в промышленности.
CROSSGRID Европейский исследовательский проект, который охватывает весь спектр традиционных для Грид задач - организация объемных вычислений для конкретных научных областей, создание новый инструментов и сервисов и т.д.
DAMIEN Адаптация и расширение возможности использования некоторых коммерческих программных пакетов, используемых в промышленности, для Грид.
DATAGRID Проект, продолжением которого стал проект EGEE и целью которого было построение тестовой инфраструктуры вычислений и обмена данными для европейского научного сообщества. Одним из достижений EDG стало создание комплекса программного обеспечения грид (платформа EU DataGrid), которое способно управлять огромными объемами распределенных данных и вычислительных ресурсов, обслуживая тысячи одновременно работающих пользователей из многих исследовательских институтов.
DATATAG Создание крупномасштабной межконтинентальной испытательной сети, в которой можно было бы отслеживать различные сетевые проблемы, решать вопросы совместимости межконтинентальных сетевых доменов, расширять их возможности и, таким образом, способствовать реализации всемирной программы развития Грид технологий.
EGSO Европейский проект, работающий в сотрудничестве с NASA, своей целью ставит создание виртуальной солнечной обсерватории, данные в которой будут собираться из наземных и космический наблюдательных пунктов. Собранные данные будут каталогизироваться и визуализироваться для удобного просмотра.
EUROGRID Европейская исследовательская сеть по тестированию использования Грид в различных областях. Отрабатывались технологии организации распределенных вычислений, решались задачи молекулярного моделирования, прогнозирования погоды, аэродинамики.
FLOWGRID Flow Simulations On-demand Using Grid Computing. Симуляция и визуализация «по-запросу» задач численного моделирования газодинамики и гидродинамики с использованием Грид компьютинга.
GRACE Разработка распределённой системы поиска и каталогизации ресурсов, используемая для гибкого и оперативного выделения вычислительных ресурсов и ресурсов памяти в Грид среде.
GRIA Разработка промежуточного программного обеспечения Грид для коммерческого использования. Особое внимание уделяется простоте установки, снижению затрат на поддержку и удобству для конечных пользователей.
GRIDLAB Цель проекта - разработка ряда ориентированных на приложения сервисов Грид, а также инструментальных средств, которые будут использоваться для динамического посредничества при разработке ресурсов, мониторинге, управлении данными, обеспечении безопасности, предоставлении адаптивных услуг и т.д. Услугами можно будет воспользоваться с помощью комплекта инструментальных средств для разработки приложений (GAT- Grid Application Toolkit).
GRIDSTART Цель проекта - консолидация усилий ряда Европейских Грид проектов, содействие взаимодействию между аналогичными проектами в Европе и во всём мире, стимулирование внедрения и распространения Грид приложений в различных областях промышленности и научных исследований. Основная его задача - убедить компании в необходимости и взаимной выгоде обмена программным обеспечением и базами данных и создать общеевропейскую систему распространения технологий.
GRIP GRID Interoperability Project. Реализация взаимодействия между Globus и UNICORE - двумя лидирующими программными пакетами GRID middleware.
ASG Вычислительные сети с адаптивными сервисами. Разработка открытой платформы для обнаружения, создания, составления и проигрывания (enactment) адаптивных служб.
eLeGI European Learning Grid Infrastructure. Разработка программного обеспечения и построение инфраструктуры для применения Грид технологий в процессах обучения.
HPC4U Разработка универсального программного обеспечения для повышения отказоустойчивости Грид систем. Целью проекта HPC4U является расширение потенциала использования Грид систем для решения сложных задач путем разработки компонентов программного обеспечения, реализующих надежную и достоверную среду выполнения Грид приложений, и увязки этого с соглашениями сервисного уровня (Service Level Agreements - SLA) и с промышленными кластерами, обеспечивающими качество услуг (Quality of Service).
InteliGrid Построение архитектуры и программного обеспечения для онтологических Грид систем. Взаимодействие Виртуальных Организаций (ВО) внутри сложных семантических Грид систем.

Список литературы:

  1. Березовский П.С., Коваленко В.Н. Состав и функции системы диспетчеризации заданий в гриде с некластеризованными ресурсами, ИПМ им. М.В.Келдыша РАН, Москва, 2007.
    http://www.keldysh.ru/papers/2007/prep67/prep2007_67.html
  2. Шелестов Ю.А., Скакун С.В., Куссуль О.М. Агентный подход к реализации модели поведения пользователей GRID-систем, Институт космических исследований НАНУ-НКАУ, Москва, 2004.
    http://nbuv.gov.ua/portal/natural/Npdntu/2008/ikot/08saypgs.pdf
  3. Гороховський С.С., Римарчук В.К. Технологiя сiтки (GRID) i використання агентних платформ для задач планування // Наукові записки НаУКМА. Комп'ютерні науки.- 2005.
    http://www.library.ukma.kiev.ua/e-lib/NZ/NZV36_2005/04_gorokhovsky_ss.pdf
  4. Фостер Я., Кессельман К., Тьюке С. Анатомия Грид. Создание Масштабируемых Виртуальных Организаций, перевод с англ.: Карягин Д.А., ИПМ им. М.В.Келдыша РАН, Москва 2004.
    http://gridclub.ru/library/publication.2004-11-29.7104738919/publ_file/
  5. Коваленко В.Н., Корягин Д.А. Организация ресурсов грид, ИПМ им. М.В.Келдыша РАН, Москва 2004.
    http://www.keldysh.ru/papers/2004/prep63/prep2004_63.html
  6. Коваленко В.Н., Коваленко Е.И., Шорин О.Н. Разработка диспетчера заданий грид, основанного на опережающем планировании, ИПМ им. М.В.Келдыша РАН, Москва 2005.
    http://www.keldysh.ru/papers/2005/prep133/prep2005_133.html
  7. А.Е. Дорошенко, А.П. Розенблат, К.А. Рухлис, Ю.М. Тырчак МОДЕЛИ И СРЕДСТВА ПРОГРАММИРОВАНИЯ Грид-СИСТЕМ, Институт программных систем НАН Украины, Киев, 2005.
    http://eprints.isofts.kiev.ua/230/1/%D0%94%D0%BE%D1%80%D0%BE%D1%88%D0%B5%D0%BD%D0%BA%D0%BE_1.doc
  8. Аветисян А.И., Гайсарян С.С., Грушин Д.А., Кузюрин Н.Н., Шокуров А.В. Эвристики распределения задач для брокера ресурсов Grid, Институт системного программирования РАН, Москва, 2004.
    http://www.citforum.ru/nets/digest/grid/index.shtml
  9. Фостер Я. Разные оттенки ГРИД. Еженедельник "Computerworld", #13, 2005 год // Издательство "Открытые системы".
    http://www.osp.ru/cw/2005/13/038_1.htm
  10. David W. Emerging Distributed Computing Technologies, Department of Computer Science, Cardiff University, Cardiff, 2004.
    http://www.cs.cf.ac.uk/User/David.W.Walker/IGDS/GridCourse.doc