Архитектура сервиса для решения ресурсоемких задач в распределенной вычислительной среде

Научно-технические ведомости СПбГПУ 4' 2011 Информатика. Телекоммуникации. Управление

УДК 004.75

А.А. Лукашин, А.А. Лукашин, Б.В. Тютин, В.П. Котляров архитектура сервиса для решения ресурсоемких задач

в распределенной вычислительной среде

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

Предпосылки к созданию

вычислительного сервиса

Политехнический университет как научная мультитехническая организация решает задачи из широкого круга проблемных областей, поэтому нуждается в обеспечении вычислительными ресурсами самых разных типов. Можно выделить различные требования к аппаратной конфигурации вычислительных ресурсов (количество вычислительных ядер, размер памяти и жесткого диска), к операционным системам (Windows, Linux, FreeBSD), к прикладному программному обеспечению (Ansys, Adams, ProEngineer, Matlab).

При реализации существующих подходов к использованию информационно-телекоммуникационных технологий для создания систем распре-

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

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

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

Использование сервис-ориентированной архитектуры позволяет создать универсальную систему с точки зрения рассматриваемых задач и коммуникационных возможностей. Со стороны

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

Объединение традиционного и сервис-ориентированного подходов позволяет расширить область применения высокопроизводительных вычислительных систем. За счет возможности параллельного выполнения, задачи, традиционно решаемые на обычном программном обеспечении, такие, как тестирование или генерация кода, могут быть решены за существенно меньшее время.

Архитектура защищенной вычислительной платформы

Базовая платформа для разрабатываемого сервиса - технологии виртуализации и средства управления виртуализированными вычислительными ресурсами, реализующие вычислительную облачную среду «Инфраструктура как сервис» (IaaS). На базе вычислительных ресурсов Санкт-Петербургского государственного политехнического университета создан стенд вычислительной среды уровня IaaS, построенный на основе системы Eucalyptus и гипервизора Xen [1]. Важная особенность разработанной вычислительной среды -возможность запуска гетерогенных систем, в т. ч. под управлением ОС Linux, Windows и FreeBSD. На базе этих операционных систем разработаны образы виртуальных машин с различными наборами

программного обеспечения, включающими в себя инженерные вычислительные пакеты компьютерного инжиниринга Ansys, Adams, ProEngineer.

На рис. 1. представлена обобщенная архитектура распределенной вычислительной среды с внедренными средствами разграничения доступа. Используются следующие сокращения: ПА МЭ - программно-аппаратный межсетевой экран; ВМЭ - виртуальный межсетевой экран; СУ МЭ - система управления межсетевыми экранами; ВМ - виртуальная машина; КО - контроллер облака; КК - контроллер кластера; КХ - контроллер хранилища.

Контроллер узла вычислительной среды -мощный многоядерный узел с установленным ги-первизором. Задача разграничения доступа решена путем интеграции в гипервизор виртуального межсетевого экрана.

Сервисный подход к управлению вычислительными ресурсами

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

Выбор сервис-ориентированной архитекту-

Рис. 1. Архитектура защищенной вычислительной платформы

4

Научно-технические ведомости СПбГПУ 4' 2011 Информатика. Телекоммуникации. Управление

Результат

Веб-портал

SOAP

Веб-сервис ВМ

Распределенная среда

SOAP

Веб-интерфейс Eucalyptus

Рис. 2. Архитектура реализации модели SaaS

ры обосновывается универсальностью системы и унифицированным интерфейсом для различных типов решаемых задач. В качестве технологической платформы для программной реализации используется язык программирования высокого уровня Java 6. В рамках данного проекта используется стек технологий Spring Framework, представляющий собой монолитный набор решений для создания программных компонент разрабатываемого сервиса [2-4].

В структурный состав системы (рис. 2) входят:

1) универсальный интерфейс (Solver), осуществляющий взаимодействие с инженерными пакетами (Ansys, Adams, ProEngineer);

2) веб-сервис, обеспечивающий взаимодействие между интерфейсом Solver и клиентским приложением посредством протокола SOAP;

3) веб-приложение по управлению вычислительными ресурсами и запуском задач в вирту-

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

Система предоставляет простой и универсальный пользовательский интерфейс для конфигурирования и управления выделенными вычислительными ресурсами. Реализация асинхронного протокола взаимодействия между серверной и клиентской частью системы позволяет уменьшить нагрузку на каналы связи. Для повышения эффективности работы комплекса в целом процессы запуска и останова виртуальных машин автоматизированы.

Указанные особенности реализации системы - серьезные преимущества, позволяющие использовать облачную среду для решения задач тестирования. В общем виде схема применения технологии ТАТ представлена на рис. 3.

Изначально формируемый пользователем набор тестовых процедур, а также тестируемая си-

Тестовые процедуры

Тестируемая система

Узел управления тестированием

/

Тестовые наборы

Результаты тестирования

Рис. 3. Архитектура реализации модели SaaS

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

В рамках совместной научно-исследовательской работы студентов и научных коллективов кафедры телематики и кафедры ИУС Политех-

нического университета создается инфраструктура для управления вычислительными ресурсами ИТК СПБГПУ и развертывание на ней программных комплексов, связанных с верификацией и тестированием многокомпонентных систем. Предложенная реализация модели SaaS по организации сервиса наукоемких вычислений позволяет обеспечить потребности научных коллективов Политехнического университета в вычислительных ресурсах без дополнительных затрат на программное обеспечение и аппаратные средства. Система полностью удовлетворяет требованиям информационной безопасности и обеспечивает разграничение доступа, являясь при этом универсальным и масштабируемым вычислительным средством.

СПИСОК J

1. Лукашин, А.А. Методы и средства построения распределенной вычислительной среды для решения наукоемких задач [Текст] / А.А. Лукашин, И.А. Рощуп-кин // XXXIX неделя науки СПбГПУ; Матер. Всерос. межвуз. науч.-техн. конф. студентов и аспирантов, 6-11.12.2010. -Ч. XV, ф-т при ЦНИИ робототехники и технической кибернетики. -СПб.: Изд-во Политехн. ун-та, 2010. -С. 13-15.

2. Заборовский, В.С. Архитектура системы разграничения доступа к ресурсам гетерогенной вычислительной среды на основе контроля виртуальных соединений [Текст] / В.С. Заборовский, А.А. Лукашин, С.В. Купреенко, В.А. Мулюха // Междунар. науч. конф. Параллельные вычислительные технологии. -Челябинск: Изд. центр ЮУрГУ, 2011. -730 с.; [Электронный ре-

сурс]/ Режим доступа: http://omega.sp.susu.ac.ru/books/ conference/PaVT2011

3. Заборовский, В.С. Многоядерная вычислительная платформа для высокопроизводительных межсетевых экранов. Высокопроизводительные вычислительные системы [Текст] / В.С. Заборовский, А.А. Лукашин, С.В. Купреенко // Матер. VII Междунар. науч. молодежной школы. -Таганрог: Изд-во ТТИ ЮФУ, 2010. -336 с.

4. Лукашин, А.А. Система для реализации распределенных вычислений на основе облачной архитектуры [Текст] / А.А. Лукашин, Б.В. Тютин // Технологии Microsoft в теории и практике программирования. -СПб.: Изд-во Политехн. ун-та, 2011. -С. 101-102.

УДК 004.415

А.О. Веселов, А.С. Иванов, Б.В. Тютин, В.П.Котляров автоматическая настройка тестового окружения

телекоммуникационных проектов

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

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