Г.А.Опарин, А.Г.Феоктистов, А.А.Александров
Графическая инструментальная среда для описания модели распределенной вычислительной системы
Введение. Тема доклада связана с развитием представленных в [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, как более гибкая и предоставляющая большие возможности для интеграции приложений, что позволяет заменить большие комплексные системы,