научная статья по теме МУЛЬТИАГЕНТНЫЙ ПОДХОД К УПРАВЛЕНИЮ РАСПРЕДЕЛЕННЫМИ ВЫЧИСЛЕНИЯМИ В КЛАСТЕРНОЙ GRID-СИСТЕМЕ Кибернетика

Текст научной статьи на тему «МУЛЬТИАГЕНТНЫЙ ПОДХОД К УПРАВЛЕНИЮ РАСПРЕДЕЛЕННЫМИ ВЫЧИСЛЕНИЯМИ В КЛАСТЕРНОЙ GRID-СИСТЕМЕ»

ИЗВЕСТИЯ РАН. ТЕОРИЯ И СИСТЕМЫ УПРАВЛЕНИЯ, 2014, № 5, с. 95-105

КОМПЬЮТЕРНЫЕ ^^^^^^^^^^^^^^ МЕТОДЫ

УДК 681.3.06

МУЛЬТИАГЕНТНЫЙ ПОДХОД К УПРАВЛЕНИЮ РАСПРЕДЕЛЕННЫМИ ВЫЧИСЛЕНИЯМИ В КЛАСТЕРНОЙ GRID-СИСТЕМЕ © 2014 г. В. Г. Богданова, И. В. Бычков, А. С. Корсуков, Г. А. Опарин, А. Г. Феоктистов

Иркутск, Институт динамики систем и теории управления СО РАН Поступила в редакцию 13.12.13 г., после доработки 17.02.14 г.

Как правило, распределенные вычислительные среды обладают рядом свойств, существенно усложняющих унификацию процессов управления вычислениями, таких, как их планирование и распределение ресурсов. К свойствам такого рода, например, относятся: организационно-функциональная разнородность, динамичность и неполнота описания интегрируемых ресурсов; разнообразие спектра задач, решаемых с помощью этих ресурсов; наличие различных категорий пользователей, преследующих свои цели и задачи эксплуатации вычислительной системы. Анализ мировых тенденций в этой области исследований позволяет утверждать, что решение этих проблем непосредственно связано с интеллектуализацией промежуточного программного обеспечения распределенных вычислительных сред с децентрализованным управлением. В статье представлен мультиагентный подход к управлению распределенными вычислениями в кластерной Grid-системе — виртуальной программно-аппаратной инфраструктуре, узлами которой являются вычислительные кластеры. Рассмотрены характеристики такой системы. Приведена архитектура и принципы функционирования мультиагентной системы. Выделен ряд важных технологических особенностей предлагаемого подхода. Муль-тиагентная система разрабатывается с помощью инструментария JADE (Java Agent DEvelopment framework). Приведены результаты имитационного моделирования процессов функционирования разрабатываемой системы агентов.

DOI: 10.7868/S0002338814040039

Введение. Сегодня высокопроизводительные вычисления являются интенсивно развивающейся областью исследований, связанных с организацией распределенного процесса решения ресурсоемких фундаментальных и прикладных задач. Создаваемые с этой целью распределенные вычислительные среды, в том числе Grid-системы различного назначения [1], как правило, существенно различаются по используемым в них ресурсам (вычислительным установкам, коммуникационным инфраструктурам, базам данных, системному и прикладному программному обеспечению), а также с точки зрения специфики решаемых в этих средах задач. К настоящему времени разработаны различные модели, алгоритмы и программные средства для решения различных задач управления распределенными вычислениями, таких, например, как задачи планирования вычислений, распределения ресурсов и балансировки их нагрузки [2—5]. Однако приведенные выше различия распределенных вычислительных сред зачастую обусловливают необходимость разработки специальных средств управления вычислениями в этих средах.

В общем виде задачи управления распределенными вычислениями являются многокритериальными и NP (Non-deterministic Polynomial)-трудными [6]. Как правило, данное обстоятельство делает непригодным использование на практике точных методов их решения. Анализ мировых тенденций в этой области исследований позволяет утверждать, что решение этих проблем непосредственно связано с интеллектуализацией промежуточного программного обеспечения распределенных вычислительных сред с децентрализованным управлением.

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

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

ры современных кластеров выделенных вычислительных машин вероятность сбоев в процессе решения вычислительных задач существенно повышается.

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

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

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

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

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

1. Постановка задачи мультиагентного управления заданиями. Пусть имеется приложение, состоящее из набора программных модулей, и в базе знаний (БЗ) заданы информационно-логические связи между модулями по их входным и выходным параметрам. Поступает запрос пользователя к приложению в непроцедурной форме: "вычислить уъy2,..., yn по хъx2,..., xm" и критерий эффективности решения задачи. Требуется построить план решения этой задачи, т.е. определить, какие модули и в каком порядке должны быть выполнены, и выбрать ресурсы, с помощью которых эти модули будут выполняться. Процесс вычислений должен удовлетворять заданному критерию эффективности решения задачи.

В рамках предлагаемого в статье подхода управление вычислениями реализуется системой агентов, представленной на рис. 1. Мультиагентная система (МАС) включает агентов планирования вычислений, распределения ресурсов и конкретизации заданий.

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

1 На сегодняшний день стандартом де-факто промежуточного программного обеспечения для организации Grid-вы-числений является пакет Globus Toolkit. Поэтому будем называть средство управления заданиями стандартизированным, если оно входит в этот пакет или обеспечивает возможность взаимодействия с ним.

Администратор

Пользователи

Агенты планирования вычислений

£

Агенты распределения ресурсов

О

Задание

Запрос

О

БЗ

План решения задачи

Виртуально сообщество Менеджеры ресурсов

Ресурсы

О

Запрос

Агент

конкретизации заданий

Конкретизированное задание

Рис. 1. Схема управления потоками заданий

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

2. Планирование вычислений. Агент планирования вычислений в соответствии с полученным от пользователя запросом на выполнение приложения строит множество планов выполнения этого запроса (планов решения задачи)2, используя знания о модели предметной области приложения и модели кластерной Ои'^-системы [8], организует виртуальное сообщество из агентов распределения ресурсов, обладающих потенциальными возможностями для реализации полученных планов, и формирует топологию их коммуникационной среды. Вместе с запросом на выполнение пользователь указывает критерий эффективности решения задачи (максимизация надежности вычислений, минимизация времени или стоимости решения задачи).

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

Для дальнейшего прочтения статьи необходимо приобрести полный текст. Статьи высылаются в формате PDF на указанную при оплате почту. Время доставки составляет менее 10 минут. Стоимость одной статьи — 150 рублей.

Показать целиком