Реферат по теме выпускной работы
Актуальность работы
Несмотря на уже существующие средства создания Грид инфраструктур, существует ряд важных научных задач, без решения которых невозможно полномасштабное использование Грид технологий в науке. Одной из таких является эффективное управление ресурсами в распределённой среде. Отсутствие хорошей системы взаимодействия программных агентов значительно снижает эффективность использования Грид инфраструктуры. И поэтому, сегодня актуальной задачей является создание новой модели взаимодействия программных агентов.
Цель работы
Целью магистерской работы является разработка программных агентов для распределённых вычислений в Грид среде, а именно: программных агентов диспетчеризации и планирования заданий, а также агентов вычислительных ресурсов Грид. Важной частью работы является разработка интерфейсов и протоколов для взаимодействия перечисленных агентов.
Научная новизна
Научной новизной обладают алгоритмы работы, разрабатываемых программных агентов, которые повышают масштабируемость вычислительной Грид и сокращают общее время обработки заданий.
Вычислительный Грид
Грид представляет собой инфраструктуру, построенную на основе Интернет, которая обеспечивает масштабируемые, безопасные, быстродействующие механизмы для обнаружения и доступа к удаленным вычислительным и информационным ресурсам (возможно различной архитектуры). Появлению Грид технологий предшествовало, с одной стороны, создание сверхскоростных компьютерных сетей, которые используют открытые универсальные интерфейсы и протоколы, а с другой стороны, решение задач компьютерной безопасности, таких как аутентификация, авторизация ресурсов и контроль доступа к ресурсам.
В рамках известных типов Грида (семантический Грид, Грид данных, информационный Грид и т.д.) появляются новые формы, но наиболее активно развивается вычислительный Грид. Вычислительный Грид используется как объединение вычислительной мощности множества компьютеров и серверов для решения более сложных задач, повышения и утилизации вычислительных мощностей. Решение таких задач на машине пользователя, представляется крайне не эффективной, по причине их длительного выполнения. На рисунке 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 | Построение архитектуры и программного обеспечения для онтологических Грид систем. Взаимодействие Виртуальных Организаций (ВО) внутри сложных семантических Грид систем. |
Список литературы:
- Березовский П.С., Коваленко В.Н. Состав и функции системы диспетчеризации заданий в гриде с некластеризованными ресурсами, ИПМ им. М.В.Келдыша РАН, Москва, 2007.
http://www.keldysh.ru/papers/2007/prep67/prep2007_67.html - Шелестов Ю.А., Скакун С.В., Куссуль О.М. Агентный подход к реализации модели поведения пользователей GRID-систем, Институт космических исследований НАНУ-НКАУ, Москва, 2004.
http://nbuv.gov.ua/portal/natural/Npdntu/2008/ikot/08saypgs.pdf - Гороховський С.С., Римарчук В.К. Технологiя сiтки (GRID) i використання агентних платформ для задач планування // Наукові записки НаУКМА. Комп'ютерні
науки.- 2005.
http://www.library.ukma.kiev.ua/e-lib/NZ/NZV36_2005/04_gorokhovsky_ss.pdf - Фостер Я., Кессельман К., Тьюке С. Анатомия Грид. Создание Масштабируемых Виртуальных Организаций, перевод с англ.: Карягин Д.А., ИПМ им. М.В.Келдыша РАН, Москва 2004.
http://gridclub.ru/library/publication.2004-11-29.7104738919/publ_file/ - Коваленко В.Н., Корягин Д.А. Организация ресурсов грид, ИПМ им. М.В.Келдыша РАН, Москва 2004.
http://www.keldysh.ru/papers/2004/prep63/prep2004_63.html - Коваленко В.Н., Коваленко Е.И., Шорин О.Н. Разработка диспетчера заданий грид, основанного на опережающем планировании, ИПМ им. М.В.Келдыша РАН, Москва 2005.
http://www.keldysh.ru/papers/2005/prep133/prep2005_133.html - А.Е. Дорошенко, А.П. Розенблат, К.А. Рухлис, Ю.М. Тырчак МОДЕЛИ И СРЕДСТВА ПРОГРАММИРОВАНИЯ Грид-СИСТЕМ, Институт программных систем НАН Украины, Киев, 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 - Аветисян А.И., Гайсарян С.С., Грушин Д.А., Кузюрин Н.Н., Шокуров А.В. Эвристики распределения задач для брокера ресурсов Grid, Институт системного программирования РАН, Москва, 2004.
http://www.citforum.ru/nets/digest/grid/index.shtml - Фостер Я. Разные оттенки ГРИД. Еженедельник "Computerworld", #13, 2005 год // Издательство "Открытые системы".
http://www.osp.ru/cw/2005/13/038_1.htm - 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