О журнале
Рекомендации
Гибкое динамическое объединение ресурсов, или сервисно-ориентированный вычислительный грид
Богданов А.В., Дегтярев А.Б., Мареев В.В, Нечаев Ю.И.
___________________________
А.В. Богданов, А.Б. Дягтерев, В.В. Мареев, Ю.И. Нечаев
Аннотация
Постановка вычислительных задач становится все сложнее, а запросы практики требуют все более высокой точности. Адекватный ответ на это удается дать только в парадигме распределенных вычислений. Наиболее популярная ее версия, однако, недостаточно гибка для решения сложных задач. В статье продемонстрировано, как современные технологии позволяют модифицировать концепцию грид, и описан прототип, который пригоден для решения сложных вычислительных задач.
Ключевые слова:
Гетерогенная система, распределенные вычисления, грид, сервис-ориентированная архитектура, виртуальный полигон.
Развитие вычислительной техники и информационных технологий стимулировало появление за последние 20-30 лет новых математических моделей и численных методов решения сложных задач. Современная математическая постановка многих задач еще в 60-х – 70-х годах прошлого века не имела практического значения, поскольку имеющиеся на тот момент средства вычислений не допускали возможности получения результатов. Возможность решать комплексные задачи во все более полной и приближенной к натурным условиям постановке привела к тому, что используемые математические модели достигли столь высокой степени адекватности, что часто могут использоваться как замена физического эксперимента. Проведение такого эксперимента с использованием исключительно средств вычислительной техники на базе математического моделирования можно рассматривать как виртуальный эксперимент, стоимость которого намного ниже физического эксперимента, а спектр возможных условий его проведения несравненно шире, поскольку допускает исследование экстремальных и потенциально опасных в натурных условиях ситуаций. Однако проведение любого эксперимента (физического или математического) подразумевает организацию некоторой «лаборатории» или «полигона», в которой создаются все необходимые условия для проведения такого эксперимента: внешние воздействия, окружающая среда, условия взаимодействие изучаемых объектов друг с другом, особенности поведения изучаемого объекта и т.д. Таким образом, возникла концепция «виртуального полигона» как проблемно ориентированной среды [1].
Появление этой концепции, в первую очередь, было связано с необходимостью рассмотрения все более сложных моделей для исследования поведения динамических объектов (ДО), требующих применения высокопроизводительной вычислительной техники. В настоящее время применение такого рода вычислительных инструментов требует от исследователя большего знания особенностей современных вычислительных технологий. Во многом этот факт становится препятствием на пути их внедрения, и как следствие, причиной снижения эффективности исследований в различных предметных областях. Сильный разрыв между высоким уровнем технического воплощения («железа») и низким уровнем его применения привел к появлению новой концепции использования информационных технологий. Теперь пользователь ожидает от вычислительной техники не доступа к ресурсам, предоставления процессорного времени, оперативной памяти или средств хранения, а определенной услуги в рамках выполнения его предметного задания. Этот новый взгляд изменил также подход в области разработки программного обеспечения, перенеся упор на создание промежуточного программного обеспечения, отрывающего приложение пользователя от тех ресурсов, на которых оно выполняется. За последние пять лет этот взгляд изменил и направление развития грид-технологий, введя понятие сервис-ориентированного грид.
При рассмотрении элементов виртуального полигона (ВП) для изучения сложных технических объектов требуется применение многих моделей, описывающих различные явления. Некоторые из них являются независимыми, а некоторые зависят друг от друга. Часто сам характер этих приложений исключает возможность их совместного запуска в однородной вычислительной среде. В реальном времени моделирование всех процессов сложных объектов, влияющих на конечный результат сложных объектов поведения, не может быть организован на одном вычислительном узле только потому, что требует адекватного использования различных ресурсов компьютера, например высокопроизводительного вычисления, обработки данных, визуализации и т.д. Таким образом, в определенных ситуациях необходимо взаимодействие разных по сложности и природе вычислительных параллельных приложений, баз данных, ассимиляции информации, визуализации результатов и пр. Если мы будем рассматривать виртуальный полигон как единое целое, то получаем, что оно является комплексом многоуровневых приложений, что требует распределенной вычислительной среды. Поэтому в общем случае использование гетерогенной вычислительной среды оказывается не результатом научных экспериментов, а единственно возможным инструментом для реализации проблемно ориентированной среды.
Реальная проблема разнородных приложений виртуального полигона в условиях грид- среды заключается в том, чтобы сохранить высокий уровень параллельной эффективности [1]. Для обеспечения эффективного использования сетевых ресурсов применяются специальные методы для распределения рабочей нагрузки.
Надлежащие методы оптимизации рабочей нагрузки должны учитывать два аспекта:
- характеристики приложений (например, объем переданных данных между процессами, количество операций с плавающей точкой и памятью);
- характеристики ресурсов (например, потенциальные возможности процессоров, сети, памяти, а также уровень гетерогенности динамически выделенных ресурсов).
Рассматривая концепцию виртуального полигона, необходимо отметить, что функционирование системы осуществляется на основе специального аппаратно-программного обеспечения в соответствии со структурой, представленной на рис. 1.
Рис. 1. Структура виртуального полигона
Примечание: А – блок моделей; В – блок управления и интерпретации; С – блок информационного обеспечения; D – блок информационных технологий; М1 – блок моделей оценки состояния динамических объектов, окружающей и оперативной обстановки; МАi (i=1,…,n) – модели анализа поведения динамических объектов и внешней среды; М2 – блок моделей управления; МФ – модели функционирования управляющего комплекса и бортовых систем; МUj (j=1,…,m) – модели взаимодействия элементов управляющего комплекса; МUk (k=1,…,K) – модели взаимодействия элементов систем ДО; М3 – блок планирования; (MР)h (h=1,…,H) – блок долгосрочного и оперативного планирования элементами виртуального полигона; MP11…MP1V – модели долгосрочного планирования; MPH1…MPHW – модели оперативного планирования; MSl (l=1,…,L) – модели управления структурами компонент виртуального пoлигона; DS – диалоговая система управления виртуальным полигоном; LSр (р=1,…,Р) – локальные системы управления; SA – блок сценариев и адаптации; RB – блок практических рекомендаций; DВr (r=1,…,R) – базы данных о состоянии виртуального полигона, ДО и внешней среды.
При реализации концепции виртуального полигона важная роль принадлежит грид-технологиям, которые определяют создание инфраструктуры, обеспечивающей глобальную интеграцию информационных и вычислительных ресурсов, сервис-ориентированное построение виртуального полигона и виртуализацию вовлекаемых ресурсов. При этом обеспечивается работа конечных пользователей и выполнение приложений как единая компьютерная система, объединяющая не только отдельные системы, но и организации, различные компьютерные архитектуры и программное обеспечение. Стратегия грид–технологий при решении проблемы создания виртуального полигона позволяет обеспечить следующие преимущества:
- повышение эффективности использования всех вычислительных ресурсов внутри каждой организации и всех других организаций, обеспечивающих функционирование системы;
- создание виртуальной организации (полигона), которая работает над едиными проблемами, позволяя совместно использовать приложения и данные и обеспечивает снижение совокупной стоимости вычислений путем раздельного использования и управления вычислительными ресурсами;
- возможность работы над большими задачами, требующими огромных вычислительных мощностей, позволяя объединять компьютерные вычисления, системы хранения данных и другие ресурсы.
В этом случае виртуальный полигон можно рассматривать как интегрированную проблемно ориентированную среду моделирования высокой степени адаптивности. В основу кладется концепция, которая позволяет вовлекать в такую среду дополнительные ресурсы. В их качестве могут выступать как новые вычислительные мощности, так и разнородные элементы среды моделирования (динамические объекты, информационные системы, источники измерительной информации и пр.). Предлагаемый подход предусматривает комплексное решение проблемы, пригодное с одинаковых позиций для мониторинга и управления ДО, а также моделирования их поведения с учетом протекания всех сопутствующих природных и техногенных процессов [2].
Создание проблемно ориентированной среды представляет собой сложный многоэтапный итерационный процесс. Основная особенность этого процесса состоит в необходимости на каждом из этапов исследования проводить согласование (на концептуальном, алгоритмическом, информационном и программном уровнях) разнородных моделей, описывающих различные стороны функционирования исследуемых объектов.
Теория, методы и технологии разработки различных классов моделей, используемых при функционировании виртуального полигона охватывают различные проблемные области. Сложность и взаимосвязь этих областей на первый план выдвигают проблему оценки качества моделей, анализа и упорядочения различных классов, обоснованного синтеза новых моделей и выбора наиболее предпочтительных моделей для решения прикладных задач.
Актуальность проблемы особенно обостряется, если исследуемый объект описывается полимодельным комплексом, в состав которого могут входить разнородные и комбинированные модели, каждая из которых оценивается своей системой показателей. Особую сложность представляют ситуации, связанные с необходимостью учета фактора времени. Прежде всего это относится к тем объектам, которые под действием различных причин (объективных, субъективных, внутренних, внешних и др.) характеризуются существенной структурной динамикой. В таких условиях для сохранения точности и полезности модели необходима адаптация параметров и структуры модели к изменяющимся условиям. Это требует на этапе синтеза модели введения в ее состав дополнительных элементов, параметров и структур, которые на этапе практической реализации позволяют управлять качеством модели, снижают чувствительность модели и соответствующих показателей качества к изменениям состава, структуры и содержания исходных данных.
Концепция определяет организацию моделирующего комплекса виртуального полигона как сложной многоуровневой интеллектуальной системы, состоящей из следующих основных компонент [1,2]:
- иерархии имитационных моделей, отражающих рассматриваемые проблемные области;
- аналитических моделей (иерархии аналитических моделей), дающих упрощенное (агрегированное) описание различных сторон моделируемых явлений;
- информационной подсистемы, включающей базу данных и знаний, основанную на методах и моделях искусственного интеллекта;
- системы управления и сопряжения, обеспечивающей взаимодействие всех компонент системы и работу с пользователем в режиме интерактивного диалога.
Одной из наиболее важных проблем в развитии технологий виртуального полигона является балансировка нагрузки разнородных приложений в гетерогенной вычислительной среде. Задача балансировки нагрузки в гомогенной среде или даже одного приложения в рамках распределенной гетерогенной среды решалась с разной степенью успешности в большом количестве работ за последние 10-15 лет. В то же время отображение произвольного комплекса приложений на гетерогенную архитектуру является до настоящего времени нерешенной стандартными методами проблемой. Перспективным подходом в этом случае является введение еще одного уровня абстракции между приложением и ресурсами в виде виртуализации приложений. В этом случае их можно рассматривать, как однородную структуру комплекса, а неоднородность каждого компонента и его балансировку отнести на уровень их виртуализации.
Другим из направлений развития теоретических и экспериментальных исследований является переход на технологию мультиагентных систем (МАС), в том числе на уровне веб-сервисов [3]. Стратегия решения общей задачи функционирования ВП и множества составляющих ее процедур на основе концепции МАС позволяет осуществить кооперацию пользователей (операторов системы) при коллективном выполнении сложных технических решений. Набор (сообщество) интеллектуальных агентов (ИА) и их функции определяются в соответствии со специально построенными деревьями решений – деревом целей и деревом критериев оценки. С помощью таких деревьев, вершинами которых являются соответствующие макропроцедуры, отображается алгоритм решения задачи. Каждая такая процедура реализуется конкретным ИА. В результате повышается оперативность функционирования комплекса и обоснованность принимаемых решений, обеспечивается высокая достоверность и актуальность предоставляемой пользователю информации.
Логическим продолжением означенных подходов являются облачные вычисления. Их применение для построения виртуального полигона позволит эффективно и экономично использовать ресурсы для моделирования различных процессов, происходящих в виртуальном полигоне. При наличии множества процессов, подлежащих моделированию, ресурсы могут выделяться динамически решая ту или иную задачу. В случае простоя они возвращаются в общий пул, позволяя решать другие задачи. Кроме того, использование такого подхода позволит всем процессам в виртуальном полигоне использовать единую программную и/или виртулизированную аппаратную среду. При использовании подхода, известного как PaaS (платформа как сервис), можно полностью абстрагироваться от аппаратного обеспечения, предоставив агентам для выполнения единую программную среду в виде виртуальной машины, не зависящей от используемого оборудования. Введя дополнительный слой в виде виртуальной машины, мы изолируем агенты от оборудования, на котором они физически выполняются. Возможно, получив незначительный проигрыш в производительности (минимальный при использовании современных процессоров, поддерживающих технологии аппаратной виртуализации, таких как VTx от компании «Интел» или AMD-V™ компании «АМД»), мы получаем чрезвычайную гибкость в выделении ресурсов. Разработчику системы не придется заботиться о правильном отражении компонент системы на аппаратную архитектуру, поскольку его приложения получат ровно столько мощности, сколько им требуется. Это позволит использовать уже имеющиеся разработки без необходимости их подгонки под имеющиеся в распоряжении аппаратные мощности. Единственно важным критерием становится стоимость полученного результата: его точность и достоверность, связанная с использованием алгоритмов различной вычислительной мощности, становится производной от стоимости. Экономически такое решение будет выгодно, поскольку оплачивать придется лишь действительно необходимые для функционирования мощности.
Для организации доступа к облаку в настоящее время имеется возможность использовать как публично доступные центры, предоставляющие доступ к своим ресурсам за определенную плату (Amazon EC2), так и так называемые private cloud, где ресурсы выделяются похожим способом, как и в публичных облаках, но принадлежат владельцу, обычно так или иначе ассоциированному со своими клиентами, а зачастую представляющем со своими клиентами единое институционное целое. И тот и другой подход обладают своими достоинствами и недостатками. Первый позволяет использовать практически любой объем ресурсов, ограниченный лишь имеющимся бюджетом, не требует инвестиций в создание аппаратной вычислительной среды. В то же самое время ресурсы предоставляются с использованием публичных сетей общего доступа, а также их предоставления на конкурентной основе, что в определенных случаях может оказаться недостатком. Второй подход требует инвестиций в аппаратную составляющую, а также точного расчета возможной нагрузки, однако увеличивает доступность ресурсов. В то же время этот подход нивелирует основное преимущество облака: предоставление практически любого количества ресурсов по мере необходимости, оставляя лишь описанные выше преимущества виртуализации.
Рис. 2. Гетерогенная архитектура распределенного компьютерного окружения, использованная для организации виртуального полигона
Возможны разные реализации виртуального полигона. Для решения некоторых прикладных задач на базе вычислительных средств факультета прикладной математики – процессов управления СПбГУ нами была построена следующая аппаратная реализация для организации виртуального полигона (рис. 2).
Для успешной работы виртуального полигона требуется применение соответствующего промежуточного программного обеспечения для объединения консолидации используемых вычислительных компонент и средств хранения данных [4]. Оно должно обеспечивать надежное функционирование всех основных приложений ВП (рис. 3).
Рис. 3 Функциональные возможности промежуточного программного обеспечения виртуального полигона.
При построении данного виртуального полигона нами была решена практическая задача объединения разнородных моделей природной среды WRF (Weather Research Forecasting – модель региональной атмосферной циркуляции) и Wave Watch (модель ветрового волнения). Эти две модели были выбраны для простейшей иллюстрации особенностей реализации виртуального полигона, поскольку каждая из них требует работы с большим объемом входных данных, серьезных вычислительных ресурсов, обработки выходной информации (ассимиляции данных, визуализации и анимации), а выходные данные одной из моделей после определенной обработки являются исходными данными для другой. Это дает возможность проверить информационные и вычислительные решения, предлагаемые для многоуровневых приложений в распределенной среде.
Для успешной работы этих пакетов в условиях виртуального полигона они были соединены посредством промежуточного программного обеспечения с другими вспомогательными модулями (рис. 4). Блок-схема системы моделирования первой большой компоненты виртуального полигона (WRF-ARW) приведена на рис. 5.
Рис. 4. Блок-схема взаимодействия сервисов при управлении данными в распределенном и параллельном вычислительном окружении
Используя такого сорта программное окружение, специалист в определенной предметной области, не являющийся экспертом в области информационных технологий, может успешно решать комплексные задачи, используя средства вычислительной техники исключительно как инструментарий.
Рис. 5. Блок-схема системы моделирования WRF-ARW
Таким образом, нами была предложена методология и разработаны программные продукты для запуска приложений на распределенных гетерогенных вычислительных ресурсах. Применение этой системы показало высокую эффективность Полигона, основанного на облачных технологиях (малые накладные расходы), и возможность относительно простого управления вычислительным процессом. Кроме того, была продемонстрирована эффективность современных поточных процессоров (Ultra SparcТ2+) для решения таких задач. Скомпилированное на гетерогенной распределенной системе приложение – модель WRF – показало себя эффективным синтетическим тестом для оптимизации вычислительных комплексов.
Литература
1. Богданов А.В., Дегтярев А.Б., Нечаев Ю.И. Проблема создания виртуального полигона моделирования сложных динамических процессов // Труды международной научной конференции «Суперкомпьютерные системы и их применения» (SSA’2004)/ Минск, Белорусь, 2004. С. 31-37.
2. Богданов А.В., Дегтярев А.Б. Использование виртуального полигона для отработки сложных задач поведения системы «внешняя среда – динамический объект – летательный аппарат» / /Информационно-измерительные и управляющие системы. 2008. Т. 6. № 8. С. 102-110.
3. Дегтярев А.Б., Логвиненко Ю.В., Нечаев Ю.И. Концепция создания многоагентной системы для сложной самоорганизующейся модели функционирования виртуального полигона // Информационно-измерительные и управляющие системы. 2009. T. 7. № 2. С. 49-59.
4. Bogdanov A.V., Degtyarev A.B., Soe Moe Lwin, Thurein Kyaw Lwin. Problems of Development of Complex Multilayered Applications in Distributed Environment // Proceedings of the 4th Intern. Conf. "Distributed Computing and Grid-Technologies in Science and Education". Dubna, 2010. Pp. 51-56/
____________________________________________________________
Богданов Александр Владимирович
Доктор физико-математических наук, профессор,
действительный член Американского математического общества,
действительный член Международного компьютерного общества,
академик Европейской Академии Euroscience, академик РАЕН
председатель Совета директоров Центра супрекомпьютерных приложений
Дегтярев Александр Борисович
Доктор технических наук,
профессор кафедры компьютерного моделирования и многопроцессорных систем
Санкт-Петербургского государственного университета
Мареев Владимир Владимирович
Кандидат технических наук,
доцент кафедры компьютерного моделирования и многопроцессорных систем
Санкт-Петербургского государственного университета
Нечаев Юрий Иванович
Доктор технических наук,
профессор кафедры вычислительной техники и информационных технологий
Санкт-Петербургского государственного университета,
академик РАЕН, заслуженный деятель науки РФ
© Информационное общество, 2012 вып. 2, с. 61-70.