Универсальные моделирующие среды (сокращенный вариант)

Аноприенко А.Я., Святный В.А.
Донецкий национальный технический университет


Источник: http://simulation.org.ua/show.php?mode=art&file=art002.html&id=2



1. Концепция универсальной моделирующей среды

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

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

1.1. Обеспечение универсальности моделирующей среды

Существует два принципиально различных пути обеспечения универсальности, каждый из которых обладает весьма существенными недостатками.
Первый путь заключается в выявлении и реализации только базовых, наиболее элементарных и общих для всех приложений функций, что перекладывает основную часть работы на пользователя. Такой подход обеспечивает в большинстве случаев максимальную эффективность использования функциональных возможностей системы, но предполагает  высокую трудоемкость создания и модификации сложных моделей.
Второй путь заключается в реализации максимального количества различных  функций, покрывающего весь диапазон возможных применений. В этом случае, как правило, действует следующая закономерность: чем выше функциональность системы, тем сложнее она в освоении и тем менее эффективно используются её возможности. В работе [15] приводится пример Лисп-машины, содержащей около 30 000 функций и 3000 объектно-ориентированных классов, документированных на 4500 страницах руководства. При этом отмечается, что такого рода системы своей сложностью не только создают проблемы для разработчиков и пользователей, но и практически исключают эффективное использование всех их возможностей даже экспертами, специализирующимися на их применении.

Применительно к моделированию можно утверждать, что на одном полюсе универсальности находятся языки программирования типа Фортран, позволяющие при достаточной квалификации в программировании, создавать модели практически любого назначения и различной сложности, но ценой, как правило, значительных затрат времени и труда.  А на другом — современные интегрированные системы широкого назначения. Причем в качестве практически общедоступных средств моделирования, обладающих довольно высокой степенью универсальности, могут рассматриваться как современные электронные таблицы, вполне пригодные для быстрого создания и исследования относительно несложных числовых моделей, так и системы общематематического назначения типа  “Mathematica”, при условии интерпретации всей современной математики как символьно-численного моделирования реального мира [13]. Ещё одним характерным примером является система матричных вычислений MATLAB, имеющая на конец 1995 года более 140 тысяч официально зарегистрированных пользователей и включающая в свой состав мощную подсистему моделирования нелинейных динамических систем SIMULINK.

Однако имеющиеся универсальные средства далеко не всегда отвечают всем требованиям конкретных задач. Наиболее критичным параметром при этом чаще всего является производительность. При необходимости проведения большого объема исследований наличие соответствующей специализированной системы или языка моделирования может многократно, а иногда и на несколько порядков [18], ускорить процесс исследования и существенно улучшить его качественные характеристики. Последнее обстоятельство привело к появлению чрезвычайно большого разнообразия различных моделирующих средств и языков, ориентированных на конкретные области применения. В ежегодном обзоре, приводимом в журнале “Simulation”, уже десять лет назад перечислялось около ста языков и систем, предлагаемых различными фирмами и организациями. К настоящему времени  размер списка увеличился в несколько раз и имеет устойчивую тенденцию к дальнейшему росту [12].

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

1.2. Критерии качества системы моделирования

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

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

В качестве основных минимизируемых критериев качества могут рассматриваться следующие:

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

2. Основные компоненты универсальной моделирующей среды

2.1. Аппаратные средства

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

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

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

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

Анализ двух названных групп позволил достаточно чётко выявить три следующих закономерности:

В таблицах 1 и 2 для каждой группы приведены примеры характерных для каждого десятилетия вычислительных систем с краткой их характеристикой.
 

Год
Производительность
Типичная система
Описание
1955 0,01 MFLOPS IBM-704, БЭСМ ЭВМ с аппаратной реализацией ПЗ
1965 1 MFLOPS CDC-6600 Многопроцессорная ЭВМ
1975 100 MFLOPS Cray-1 Конвеерно-векторная суперЭВМ
1985 0,01 TFLOPS ETA-10 Многопроцессорная суперЭВМ
1995 1 TFLOPS Paragon Массивно-параллельная MIMD-система
2005  100 TFLOPS Проект ASCI Массивно-параллельная MIMD-система

Таблица 1: Эволюция рекордных вычислительных систем

Год
Производительность
Типичная система
Описание / Объем инсталляции
1985
0,01 MFLOPS
IBM PC XT / AT
16-разр. ПЭВМ / 10 млн.
1995
1 MFLOPS
PC 386 / 486 
32-разр. ПЭВМ / 100 млн.
2005 
100 MFLOPS
“Super Pentium”
64-разр. ПЭВМ / 1 млрд.

Таблица 2: Эволюция массовых вычислительных систем

Значения производительно при этом существенно округлены, так как в данном случае нас интересует, прежде всего, тенденция, а не точное значение конкретных цифр. Так, например, рекордная производительность, достигнутая в 1995 году на системе Intel Paragon XP/S с 6768 процессорами, составила 338 Гфлопс (миллиардов операций с плавающей запятой в секунду). Но в то же время отмечается [4], что реализация данной системы на 9-ти тысячах уже имеющихся процессоров Pentium Pro позволит получить производительность порядка 1,8 Тфлопс (триллионов операций с плавающей запятой в секунду). В строке 2005 года обозначен проект министерства энергетики США ASCI (Accelerated Strategic Computing  Initiative, бюджет на 1996-2002 гг. составляет около 1 млрд. долларов), направленный на стимулирование гонки суперкомпьютеров с целью увеличения в предстоящем десятилетии их производительности примерно на два порядка. В аналогичной строке для массовых вычислительных систем стоит обозначение “Super Pentium”, что предполагает будущие усовершенствованные варианты нынешнего семейства Pentium фирмы Интел (в соответствии с существующей традицией нумерации микропроцессорных поколений их можно также обозначить как Р7, Р8, Р9...). Миллиардный объём исталляции предполагает также, что в распоряжении активно работающих пользователей будет одновременно более одной вычислительной системы, т. е. по меньшей мере, две: стационарная с полным набором функциональных возможностей и мобильная с развитыми средствами связи.

Особо следует сказать о коммуникационных средствах, которые играют важнейшую роль в формировании единой информационно-вычислительной среды. Основные параметры их эволюции (по материалам работы [14] ) приведены в таблице 3.
 

Вид сети
Диаметр
1985
1995
2005
Кластер, вычислительный центр (ВЦ) 100 м 10 Мбит/с 100 Мбит/с 1 Гбит/с
Локальная сеть (ЛС) 1 км 1 Мбит/с 10 Мбит/с 1 Гбит/с
Региональная сеть (РС) 100 км 50 Кбит/с 1 Мбит/с 100 Мбит/с
Глобальная сеть (ГС) 10 000 км 1 Кбит/с 50 Кбит/с 100 Мбит/с

Таблица 3: Эволюция пропускной способности основных видов сетей

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

Сетевой кластер позволяет увеличить суммарную производительность используемых при моделировании вычислительных ресурсов в несколько раз за счёт объединения возможностей нескольких объединённых локальной сетью компьютеров. Такое объединение обеспечивается специальными программными средствами типа системы PVM (Parallel Virtual Machine - параллельная виртуальная машина) в операционной среде UNIX. Достигаемый при этом рост производительности существенно ограничен пропускной способностью локальной сети.

Системы с общей памятью позволяют с большей эффективностью, чем в предыдущем случае, объединить ресурсы десятков процессоров, и, соответственно, получить больший рост производительности [7]. В новейших модификациях массовых микропроцессоров (Р6 и др.) предусмотрены развитые средства для построения на их базе такого рода систем.

Аналогово-цифровой процессор ещё в недавнем прошлом признавался основным средством высокопроизводительного моделирования динамических объектов, описываемых сложными системами дифференциальных уравнений. В работах [3] и [6] показано, что достигаемое при этом эквивалентное быстродействие примерно на два порядка может превышать показатели массовых цифровых ЭВМ. И ещё в начале 90-х годов велись разработки новых систем такого рода [2]. Однако резко возросшие показатели производительности при выполнении операций с плавающей запятой в последних модификациях массовых микропроцессоров и стремительно расширяющиеся возможности сетевого доступа к ресурсам суперЭВМ сводят в перспективе практически на нет использование аналого-цифровой техники для высокопроизводительного моделирования.

Системы с массовым параллелелизмом типа SIMD (“одиночный поток команд при множественном потоке данных”) явились исторически первыми вычислительными системами с массовым параллелелизмом (сотни и тысячи процессоров), которые позволили на широком классе задач получить рост производительности на два порядка и более. Однако, при использовании их в качестве компонентов универсальной моделирующей среды  усредненный рост производительности на широком классе задач будет существенно меньшим. В перспективе предполагается, что SIMD-системы постепенно эволюционируют в системы SPMD (“одиночный поток программ при множественном потоке данных”).

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

2.2. Программное обеспечение

Системное программное обеспечение является наиболее консервативным элементом программной части моделирующей среды. Причём, если для широкого спектра высокопроизводительных средств, начиная от рабочих станций и заканчивая системами рекордной производительности, в качестве стандартной операционной среды принята фактически UNIX / Xwindows, что существенно облегчает интеграцию разнородных систем в единую среду, то для массовых компьютеров основной является своя специфическая операционная среда, которая  обозначена как MS Windows. Причём, это обозначение в данном контексте следует понимать скорее как Massive System Windows (т. е. многооконная среда массовых систем), чем просто как Microsoft Windows. Указанное обстоятельство требует от программного продукта, претендующего на универсальность, поддержки работы как минимум в двух указанных операционных средах. Правда, дистанция между ними постоянно сокращается, а появление Linux, свободно распространяемого варианта UNIX / Xwindows для ПЭВМ, можно считать первым шагом к будущей полной интеграции операционных сред.

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

Особой проблемой является эффективная реализация алгоритмов моделирования на высокопроизводительных параллельных системах с различной архитектурой. Наиболее эффективным средством решения этой проблемы является использование машинно-независимого языка параллельного программирования, весьма удачным примером которого является язык  Parallaxis, разработанный в Штутгартском университете (Германия) [11].

2.3. Универсальная система моделирования (УСМ)

В работе [17] эволюция программных средств моделирования представлена в виде последовательной смены пяти поколений:
первое поколение (50-е годы, FORTRAN, ALGOL...) — программирование моделей на языках высокого уровня без какой-либо специальной поддержки;
второе поколение (60-е годы, GPSS, SIMULA, SIMSCRIPT...) — специальная поддержка моделирования в виде соответствующих выражений языка, генераторов случайных чисел, средств представления результатов;
третье поколение (70-е годы, ACSL...) — возможность комбинированного непрерывно-дискретного моделирования;
четвёртое поколение (80-е годы, SIMFACTORY, XCELL...) — ориентация на конкретные области приложения, возможность анимации;
пятое поколение (90-е годы, SIMPLEX II, SIMPLE++...) — графический интерфейс, интегрированная среда для создания и редактирования моделей, планирования экспериментов, управления моделированием и анализа результатов.

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

3. Принципы построения УСМ

В качестве основных принципов построения УСМ могут быть названы следующие:

Далее кратко поясняются содержание и значение каждого из перечисленных принципов.

3.1. Модульная структура

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

3.2. Масштабируемость

Данный принцип предполагает реализацию на основе модульности различных вариантов УСМ, отличающихся как сложностью и объёмом, так и требованиями к аппаратным средствам. При этом обеспечивается:

3.3. Открытая  архитектура

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

3.4. Иерархия моделей

Поддержка создания и редактирования иерархически специфицированных моделей обеспечивает:

3.5. Графический интерфейс

Развитый графический интерфейс должен гарантировать:

4. Заключение

Разработка концепции универсальной моделирующей среды ведётся в рамках сотрудничества факультета вычислительной техники и информатики ДонГТУ с институтом параллельных и распределённых суперЭВМ Штутгартского университета (Германия), а также — институтом системной динамики и управляющей техники Штутгартского университета.  К настоящему времени выполнена разработка ряда прототипов и компонентов моделирующей среды, в том числе с использованием параллельной системы с общей памятью Sequent [7] и массивно параллельной SIMD-системы MasPar [8, 9]. Ближайшей целью сотрудничества является разработка массивно-параллельной моделирующей среды  для исследования динамических систем с сосредоточенными и распределёнными параметрами, описываемых, соответственно, системами обыкновенных дифференциальных уравнений и системами дифференциальных уравнений в частных производных. В перспективе планируется практическая реализация концепции универсальной моделирующей среды в полном объёме.

Литература:

1. Башков Е.А., Аноприенко А.Я., Коба Ю.А., Кухтин А.А., Мальчева Р.В., Система синтеза изображений в реальном времени для испытательных стендов. “Гибридные вычислительные машины и комплексы”, вып.15, Киев, “Наукова думка”, 1992, с. 72 - 76.
2. Беляков В. Г., Володина Г. Г., Панафидин В. В. Основные направления разработки АЦВС-“Вопросы радиоэлектроники”, серия “ЭВТ”, вып. 2, 1991, с. 10 - 18.
3. Беляков В.Г., Вороной С.М., Фельдман Л.П. Оценка эффективности аналого-цифровой реализации метода прямых на последовательности сгущающихся сеток. “Вопросы радиоэлектроники”, серия “ЭВТ”, вып.2, 1991, с. 48 - 56.
4. “В США создаются суперкомпьютеры с быстродействием класса Тфлопс”, Computer Week, № 40, Ноябрь 1995 г.
5. Высокоскоростные вычисления. Архитектура, производительность, прикладные алгоритмы и программы суперЭВМ. М., “Радио и связь”, 1988, 431 с.
6. Святный В. А. Гибридные вычислительные системы. Киев, “Вища школа”, 1980, 247 с.
7. Святный  В.А., Цайтц М., Аноприенко А.Я.. Реализация системы моделирования динамических процессов на параллельной ЭВМ в среде сетевого графического интерфейса. “Вопросы радиоэлектроники”, серия ”ЭВТ”, вып. 2, 1991, с. 85 - 94.
8. Anoprienko, L. Feldman, V. Lapko, V. Svyatnyj, T. Brдunl, A. Reuter, M. Zeitz. Massive parallel models of net dynamic objects. Proceedings of the 1995 EUROSIM Conference, EUROSIM-95, Vienna, Austria, 11-15  September 1995, ELSEVIER, 1995, 237 - 242.
9. Anoprienko, V. Svjatnyi, T. Brдunl, A. Reuter, M. Zeitz. Massiv parallele Simulationsumgebung fьr dynamische Systeme mit konzentrierten und verteilten Parametern. Simulationstechnik. 9 Simposium in Stuttgart, Oktober 1994, Vieweg, 1994, S. 183-188.
10. Apsel T. Funktionale Dekomposition eines universell einsetzbaren Simulationssystems. “Simulation in Passau”, Heft 2, 1995, 18 - 20.
11. Broeunl. Parallaxis-III: A Language for Structured Data-Parallel Programming, User Manual. Computer Science Report. IPVR Univ. Stuttgart, Oktober 1994.
12. Breitenecker. Simulation und Animation mit GPSS/H und Proof in der Lehre.  Mitteilungen aus den Arbeitskreisen “Visualisierung und Prдsentation von Modellen und  Resultaten der Simulation”.  Fachtagung 18 - 19. Maerz 1992 in Magdeburg. Heft  Nr.31, Z. 179 - 190.
13. Buchberger. Symbolic Computation Software Systems: The Current State of Technology. EUROSIM-95, Vienna, Austria, 11-15  September 1995, ELSEVIER, 1995, p. 85 - 94.
14. Gray, A. Reuter. Transaction processing: concepts and techniques. Morgan Kaufmann Publishers, San Francisco, 1993, 1070 p.
15. Fischer. Beyond Human-Computer Interaction. Mensch-Computer-Kommunikation. Springer-Verlag, 1993, Z. 274 - 287.
16. Raumschussel, A. Gerstlauer, E. D. Gilles, M. Zeitz. Ein Prдprozessor fьr den verfahrenstechnischen Simulator DIVA. Simulationstechnik. 9 Simposium in Stuttgart, Oktober 1994, Vieweg, 1994, 177 - 182.
17. Schmidt B. Simulationssysteme der 5. Generation. “Simulation in Passau”, Heft 1, 1994, 5 - 6.
18.  Watzdorf, F. Allgower, A. Helget, W. Marquardt, E. D.Gilles. Dynamische Simulation verfahrenstechnischer Prozesse und Anlagen: Ein Vergleich von Werkzeugen. Simulationstechnik. 9 Simposium in Stuttgart, Oktober 1994, Vieweg, 1994, S. 171 - 176.