Графическая инструментальная среда для описания модели распределенной вычислительной системы

Г.А.Опарин, А.Г.Феоктистов, А.А.Александров

Графическая инструментальная среда для описания модели распределенной вычислительной системы

Введение. Тема доклада связана с развитием представленных в [1-2] исследований. В докладе рассматриваются инструментальные средства описания модели распределенной вычислительной системы модульного программирования.

Такие системы [3] интегрируют, как правило, распределенные в сети прикладные вычислительные модули, пакеты прикладных программ, библиотеки программ, расчетные базы данных и др. Совокупность территориально распределенных рабочих станций (узлов), коммуникационной сети, промежуточного программного обеспечения (middleware) и вычислительных систем образует распределенную вычислительную среду (РВС). Middleware предназначено для управления процессом решения задач в узлах РВС. Суммарные характеристики узлов РВС рассматриваются как вычислительные ресурсы (BP). Данные характеристики включает спецификацию обычных компьютерных ресурсов (процессоров, оперативной памяти, внешней памяти, и др.), а так же установленного на этом оборудовании системного и прикладного программного обеспечения,

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

Исследования в области перспективных технологий программирования показывают, что визуальные методы и графический стиль программирования (Д.А.Калужнин, А.П.Ершов, М.С.Бургин, И.В.Вельбицкий, В.В.Иванищев, Э.Х.Тыугу, GARaeder, Chang Shi-Kuo и др.) предлагают более естественную форму для выражения алгоритмов и структур данных по сравнению с текстовыми линейными языками (см. например, обзор [4]).

Представленная в данном докладе графическая инструментальная среда ориентирована на применение в рамках инструментальной системы САТУРН [5], предназначенной для проектирования распределенных пакетов знаний (РПЗ) [6] - интегрированных программных комплексов, объединяющих возможности прикладных пакетов программ и РВС.

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

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

Возможности применения рассматриваемой графической инструментальной среды иллюстрируются на примерах описаний вычислительной модели и программно-аппаратной архитектуры РПЗ для решения больших разреженных систем булевых уравнений (БРСБУ) [7].

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

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

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

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

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

метной области осуществляется «вручную» и ориентировано на предметные области с небольшим числом объектов, На рис.1 приведена структурная схема предметной области РПЗ для решения БРСБУ. Параметры и операции предметной области представлены соответственно кружками и прямоугольниками.

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

Конструктор программно-аппаратной архитектуры РПЗ. Существует ряд специализированных систем моделирования сетей передачи данных, например, OPNET [8], QualNet [9], Vantage Predictor [10] и др., предназначенных в первую очередь для проектирования и оптимизации топологической структуры компьютерной сети и обладающих развитыми графическими средствами ее конструирования. Основными типовыми задачами, решаемыми в подобных системах, являются [11]: оптимизация пропускной способности каналов связи, выбор маршрутов, оптимизация топологической структуры, выбор методов управления потоками и определение параметров управления, анализ объемов буферной памяти узлов коммутации и маршрутизации и выбор стратегии буферизации при пе-

регрузках и т.п. Однако, при моделировании распределенной вычислительной системы модульного программирования, помимо представления сети передачи данных, требуется так же определение множества функциональных отношений между объектами исследуемой предметной области и построения соответствующей вычислительной модели. Функциональные отношения вычислительной модели, реализуемые в реальных системах модулями какого-либо языка программирования, требуются для анализа ее внутреннего параллелизма, моделирования процессов формирования постановок исследовательских задач, построения и исполнения планов решения задач. Перечисленные выше системы моделирования не обладают необходимыми средствами для решения подобной задачи. Модифицировать же их с целью расширения круга решаемых в них задач достаточно непросто. Таким образом, использование в САТУРН-среде графических средств этих систем для описания топологической структуры компьютерной сети, с нашей точки зрения, не представляется целесообразным.

Конструктор программно-аппаратной архитектуры РПЗ позволяет отобразить на ее схеме следующие виды объектов и их характеристики:

вычислительные узлы РПЗ;

коммуникационные элементы - концентраторы, коммутаторы и маршрутизаторы коммуникационной сети РПЗ;

вычислительные модули РПЗ;

соединительные кабели коммуникационной сети

РПЗ.

Рис. 1. Схема предметной области РПЗ мя решения БРСБУ

S Conceptual Schema Constructor

Name

Comment

MoaulelD

[Compact

Спецификация булевых ограничений на языке ЯСФОР

Построить булеву модель в Формате DNF

Булева! модель е/ä Формате

DNF I Расщепить! булеву модель в рмзте

Количество узлов

Расщепленная ¡У)булева модель Yb Формате DNF

Решатель

Построить

..... булеву модель

в Формате Порядок 1"' и''11" расщепления !Булева модель ^ЪФормаге

! Расщепить

""^булеву

-зр модель в Расщепленная [Формате [Ж булева модель, ч в Формате

Решатель у*

52IV

Решение .1 БРСБУ е@

формате""''

si !

Jb

Преобразовать решение из Формата S1 в Формат DI MACS

Решение БРСБУ ч в Формате S 2 %)

\Решатель

а53

Решение I БРСБУ БЛ ФорматеЧ' I 53!

П реобразовзтЫ решение из формата : , 52 в .,.4

ФормарИЙ ОI МАСЗ^-'-'Ш

у7 ______Преобразовать

п решение из

Результаты ч^Г решения формата 5 3 в БРСБУ в Формате 01МАС5 ф0рМЭТ 01МАС5

Щ Слияние результатов

--------ИЯ ~ ---------

5

-грешения в Формате ! б IMAC"

Решение БРСБУ

* Conceptual Schema Constructor

Name

Comment

ModulelD

I Compact

Решение,I Б PCE У Формате'!"

Преобразовать решение из Формата S1 в Формат DI MACS

Решение БРСБУ

Рис.2. Визуализация непроцедурной постановки задачи

* Conceptual Schema Constructor

File Edit View

га Схема ПО S Решить БРСБУ

Пячн решениязадачй 1

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

.............

mmmm m lliliit 41IIIS1111

жяшшяшнш

ШШШШШШШШШш

ИНН

шшшвш

ШШИЁШШЯЁт

Спецификация булевых ограничений на языке ЯСФОР

Построить булеву модель в Формате Ф СМ Б

¡Б'

Количество Порядок

узлов расщепления ¡Булева модель Ш (Ш >-:'А б формате

9 & СЫР

..-••" \ _

""•>......\ I Расщепить

^булеву Ч~ модель в Расщеп ленная | Формате СИР ~ булева модель,

в Формате Г'"

Решатель у

Решение БРСБУ Ч в Формате S 21Ю

Фщ

П реобразовать| решение из Формата S2 в Формат.Ш! DI MACS

1

Результаты У/ решения Б РСБ У в Формате DI MACS

OpMa'i

,' Слияние результатов тJ решения в формате I DI MACS

Решение БРСБУ

ШШ

ШЁШЁЁкШ

WÊÊÊÊÊËmmmim

ш

Рис.3. Визуализация плана решения задачи 1

Newark Visualization Tool Program

File Help

i Field ¡Value

J id 1

Name Module* I Comm Cammer

х ''  :

I гШ шш

lili

Рис. 4. Программно-аппаратная архитектура РПЗ для решения БРСБУ

На рис.4 приведен пример описания программно-аппаратной архитектуры РПЗ для решения БРСБУ.

В качестве вычислительной установки в нем используется кластер невыделенных рабочих станций лаборатории «Методов автоматизации исследований управляемых систем» ИДСТУ СО РАН. Основу вычислительной мощности кластера на сегодняшний день составляют 7 однородных рабочих станций (одна из которых является управляющим, а остальные вычислительным узлами) следующей конфигурации: процессор Pentium IV 2,8 GHz, оперативная память 512 MB, жесткий диск IDE 80 GB, сетевая плата Gigabit Ethernet. Коммуникационная среда кластера организована из двух подсетей: Fast Ethernet и Gigabit Ethernet, развернутых посредством использования 2 коммутаторов.

В каждом вычислительном узле кластера размещены копии вычислительных модулей М5, Мб и М7, являющихся различными решателями БРСБУ, В управляющем узле размещены: модули Ml и М2 построения булевой модели соответственно в форматах DNF и CNF; модули МЗ и М4 расщепления (распараллеливания) булевой модели соответственно в форматах DNF и CNF; модули М8, М9 и М10 преобразования результатов решения в формате модулей М5, Мб и М7 в формат DIMACS; модуль Мб слияния результатов решения в формате DIMACS.

Конструктор имитационной модели. В качестве среды моделирования процесса вычислений в рамках РПЗ выбрана система GPSS World [12), предоставляющая как специальные средства для описания динамического поведений распределенных вычислительных ресурсоз, состояние которых изменяется в дискретные

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

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

Более детально вопросы, связанные с имитационным моделированием РПЗ, представлены в [13].

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

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

Библиографический список

1. Опарин ГА, Феоктистов А.Г, Основанная на знаниях визуальная технология решения вычислительных задач II Оптимизация, управление, интеллект. - Иркутск: ИДСТУ СО РАН, 2000, - №5(1). - С. 157-166.

2, Опарин Г.А., Феоктистов А.Г, Графическая модель проблемной области в инструментальной САТУРН-среде II Интеллектуальные системы: Трудов IV межд, симпозиума (ИНТЕЛС'2000) / Под ред, К.А.Пупкова, - М.: РУСАКИ, 2000. -С. 179-181.

3. Васильев С.Н., Опарин ГА, Феоктистов А,Г., Сидоров И.А. Интеллектуализация инструментальных средств организации распределенных систем модульного программирования II Оптимизация, управление, интеллект. - Иркутск: ИДСТУ СО РАН, 2005. - №10 (1),

4, Хлебцевич Г.Е., Цыганкова С.В, Визуальный стиль программирования: понятия и возможности, - //' Программирование,- 1990,- №4, - С,68-79.

5. Опарин Г.А,, Феоктистов А,Г. Инструментальная распределенная вычислительная САТУРН-среда // Программные продукты и системы, - 2002. - №2. - С, 27-30.

6, Опарин Г.А., Феоктистов А.Г. Технология разработки распределенных пакетов знаний II Проблемы управления и

моделирования в сложных системах: Труды III межд, конф, -Самара: Самарский научный центр РАН, 2001, - С. 496-502.

7, Опарин ГА, Феоктистов А.Г,, Новопашин А.П., Богданова В,Г, Распределенный решатель булевых уравнений большой размерности: методы и средства управления вычислениями /I Проблемы управления и моделирования в сложных системах: Труды VII межд. конф, (июнь-июль 2005 г., Самара) - Самара: Самарский научный центр РАН, 2005. - С, 113-116,

8, OPNET Modeler, Network Modeling and Simulation Environmení - OPNET Technologies, inc. http://www, opnet.com/products/modeler/home.htmi

9, QualNet Parallel Developer - Scalable Network Technologies Inc., http://www.scalable-networks.com/products/parallel_simulator.php

10, Vantage Predictor, Complete WAN provisioning and growth management - Compuware Corp,, http://www.compuware.com/products/vantage/predictor.htm

11, Вишневский B.M. Теоретические основы проектирования компьютерных сетей, - М.: Техносфера, 2003. - 512с,

12, Minuteman Software GPSS World for Windows, -http://www.minutemansoftware.com.

13, Опарин Г.А., Феоктистов А,Г, Имитационное моделирование процессов функционирования распределенных пакетов знаний II Идентификация систем и задачи управления: Труды IV Межд, конф, (SICPRO'2005). - М,: ИПУ РАН, 2005. -С.1139-1144. - Электрон. Опт. диск (CD ROM), - ISBN 5-201-14975-8,

Е.С.Черноусова, Л.В.Массель

Обеспечение информационной безопасности Интернет-ориентированных программных продуктов

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

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

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

В настоящее время для организации научных исследований используются Grid или системы с поддержкой технологии Grid [3], также в сети существует ряд проектов, которые посвящены продвижению, стандартизации и развитию технологии [2]. В большинстве случаев технология Grid не применима в коммерческих приложениях в связи с отсутствием технологий контроля удаленного использования ресурсов с точки зрения информационной безопасности, Для реализации коммерческих проектов, как правило, более выгодна технология SOA, как более гибкая и предоставляющая большие возможности для интеграции приложений, что позволяет заменить большие комплексные системы,