автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Инструментальный комплекс распределенного имитационного моделирования кластерных систем модульного программирования

кандидата технических наук
Александров, Андрей Александрович
город
Иркутск
год
2009
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Инструментальный комплекс распределенного имитационного моделирования кластерных систем модульного программирования»

Автореферат диссертации по теме "Инструментальный комплекс распределенного имитационного моделирования кластерных систем модульного программирования"

АЛЕКСАНДРОВ АНДРЕЙ АЛЕКСАНДРОВИЧ

2 7АВГ

Инструментальный комплекс распределенного имитационного моделирования кластерных систем модульного программирования

05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

05.13.18 - Математическое моделирование, численные методы и комплексы программ

АВТОРЕФЕРАТ диссертации на соискание ученой степени кандидата технических наук

Иркутск-2009

003475712

Работа выполнена в Учреждении Российской академии наук Институте динамики систем и теории управления Сибирского отделения Российской академии наук (ИДСТУ СО РАН).

Научный руководитель: кандидат технических наук, доцент

Феоктистов Александр Геннадьевич

Официальные оппоненты: доктор технических наук, профессор

Краковский Юрий Мечеславович

доктор технических наук Околышшников Виктор Васильевич

Ведущая организация: Новосибирский государственный

университет

Защита состоится 17 сентября 2009 г. в 13.30 на заседании диссертационного совета Д 003.021.01 при Институте динамики систем и теории управления СО РАН по адресу: 664033, г. Иркутск, ул. Лермонтова, 134.

С диссертацией можно ознакомиться в библиотеке ИДСТУ СО РАН.

Автореферат разослан 14 августа 2009 г.

Ученый секретарь диссертационного совета д.ф.-м.н.

А.А. Щеглова

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Развитие компьютерных технологий, увеличение пропускной способности сетей передачи данных и постоянный рост требований к вычислительным ресурсам, диктуемых научно-исследовательскими приложениями, обусловили создание вычислительных кластеров, метакомпьютеров, сетей GRID и других распределенных вычислительных сред (РВС). Такие среды предназначены для решения целого класса задач, как правило не предполагающих тесного взаимодействия между параллельными процессами. Интеграция РВС и пакета прикладных программ, функциональные модули которого размещены в узлах этой среды, привела к появлению нового вида предметно-ориентированных вычислительных комплексов - кластерных систем модульного программирования (КСМП).

Проектирование КСМП сопряжено с решением ряда технических проблем, связанных с необходимостью выбора:

- программно-аппаратной архитектуры для функционирования КСМП;

- прикладного программного обеспечения, которое следует применить для решения задач в КСМП;

- критериев оценки производительности и надежности разрабатываемой КСМП;

- методов и средств организации распределенного имитационного моделирования для изучения работы КСМП.

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

Для организации распределенных вычислений разработаны различные технологии, такие как COM/DCOM, CORBA, Java/RMI, PVM, MPI и др. Однако использование этих технологий в сфере распределенного моделирования сдерживается отсутствием в них средств синхронизации модельного времени между удаленными сегментами модели. Другим подходом к организации распределенного имитационного моделирования является использование архитектуры HLA. Но, исходя из анализа работ некоторых исследователей1, можно выделить ряд существенных недостатков этой архитектуры: сложный с точки зрения реализации стандарт, необходимость адаптации готовых моделей к HLA, проблемы с масштабируемостью и отказоустойчивостью распределенных моделей, отсутствие иерархического взаимодействия двух реализаций HLA.

1 См., например, работы S. Strassburger, В. Liu, D. Chen, J. Lamberts, A. Kapolka и др.

На сегодняшний день разработаны разные модели, методы и средства распределенного имитационного моделирования2, в том числе такие известные системы, как Недис-Р, Мера, Диана, БЬХ и др. Однако применение этих систем для моделирования КСМП осложнено необходимостью представления и анализа дополнительного уровня описания модели - концептуальной схемы предметной области КСМП. Таким образом, необходима разработка коммуникационной библиотеки, являющейся средством поддержки высокоуровневой системы имитационного моделирования и обеспечивающей синхронное взаимодействие сегментов распределенной модели КСМП.

Запись моделирующего алгоритма на этапе проектирования при помощи элементарных операторов языка моделирования представляет значительные трудности и усложняет ориентировку в его структуре. Представление алгоритма в таком виде, который бы отражал особенности его структуры без излишних йторостепенных деталей, выглядит предпочтительнее и требует использования средств автоматизации3 построения модели по ее концептуальному описанию. Исследования в области технологий программирования4 показывают преимущества графических сред перед текстовыми языками программирования. Обзор в области средств визуализации процессов предметно-ориентированных данных, планирования и выполнения вычислений показал, что существующие системы моделирования не обладают всеми необходимыми средствами для описания модели КСМП. Следовательно, необходима разработка и реализация графической инструментальной среды, предназначенной для решения следующих задач: определения множества функциональных отношений между объектами исследуемой предметной области; описания программно-аппаратной архитектуры создаваемой системы, включая коммуникационную среду; моделирования процессов формирования постановок исследовательских задач, построения и исполнения их планов решения.

Получение адекватных оценок времени решения задач при моделировании КСМП требует прогнозирования времени выполнения каждого из модулей, включенных в план решения задачи. Зачастую КСМП включает так называемые вторичные модули (скомпилированные программы), для которых отсутствуют исходные коды. Это актуализирует применение динамического анализа времени выполнения таких модулей путем определения статистики событий в их реальных прогонах.

Все вышесказанное обуславливает актуальность исследований, выполненных в рамках диссертационной работы.

Цель работы состоит в создании графического инструментального комплекса (ИК) СИРИУС для исследования КСМП с использованием методов ав-

2 См., например, работы В.В. Окольшшщикова, Р.Л. Смелянского, КМ. Риртиго, $ и др.

3 Бусленко Н.П. Моделирование сложных систем / Н.П. Бусленко. -М.: Наука, 1968.-355 с.

4 См., например, работы И.В. Вельбицкого, А.П. Ершова, Л.А. Капужнина, Э.Х. Тыугу, О А Клсёсг и др.

томатизации построения GPSS-моделей, распределенного имитационного моделирования и динамического анализа программ.

Объектом исследования являются технологии анализа распределенных вычислительных систем.

Предмет исследования составляют методы и инструментальные средства распределенного имитационного моделирования.

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

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

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

Разработанные средства зарегистрированы в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам [3, 4] и применяются для проведения экспериментальных расчетов по плановым научно-исследовательским работам в ИДСТУ СО РАН, а также в учебном процессе в Международном институте экономики и лингвистики Иркутского государственного университета.

Разработка и применение представленных в диссертации программных средств выполнялись в рамках шгшрационного проекта № 3 СО РАН «Методы, технологии и инструментальные средства создания вычислительной инфраструктуры в Internet» (2003-2005 гг.); проекта СО РАН 3.2.6 «Интегрированные информационно-вычислительные и коммуникационные ресурсы: интеллектные методы организации, автоматизации разработки и применения» (2004-2006 гг.); проекта СО РАН «Разработка научных основ распределенной информационно-аналитической системы на основе ГИС и Веб-технологий для междисциплинарных исследований» междисциплинарной программы 4.5.2 (2007-2009 гг.) и проекта РФФИ № 04-07-90358 «Разработка и реализация распределенной вычислительной системы решения булевых уравнений большой размерности».

Достоверность результатов диссертации подтверждается успешным опытом практического применения ИК СИРИУС для моделирования процесса функционирования ряда КСМП, а также для проектирования архитектуры вычислительного кластера вуза.

Апробация работы. Основные результаты работы представлены на научно-практических конференциях «Ляпуновские чтения» (Иркутск, 2004 г., 2007 г.), на IV Всероссийской конференции «Математика, информатика, управление» (Иркутск, 2005 г.), на VI-VIII Школах-семинарах молодых ученых «Математическое моделирование, управление и информационные технологии» (Иркутск, весна 2005 г., осень 2005 г., 2006 г.), на V и VI Международных научно-практических конференциях «Моделирование. Теория, методы и средства» (Новочеркасск, 2005 г., 2006 г.), на V Школе-семинаре «Распределенные и кластерные вычисления» (Красноярск, 2006 г.), на Всероссийской конференции «Инфокоммуникационные и вычислительные технологии и системы» (Энхалук, 2006 г.), на XII Байкальской всероссийской конференции с международным участием «Информационные и математические технологии в науке и управлении» (Иркутск, 2007 г.), на Международной научной конференции «Параллельные вычислительные технологии (HABT)» (Челябинск, 2007 г.), на VI Международной конференции «Идентификация систем и задачи управления (SICPRO)» (Москва, 2007 г.), на Международной конференции «Геоинформатика: технологии, научные проекты» (Иркутск, 2008 г.), на Всероссийской конференции «Математическое моделирование и вычислительно-информационные технологии в междисциплинарных научных исследованиях» (Иркутск, 2009 г.), а также на семинарах ИДСТУ СО РАН.

Публикации и личный вклад автора. По теме диссертации опубликовано 15 печатных работ, включая 2 статьи [1, 2] в журналах, рекомендованных ВАК для опубликования результатов диссертации, 11 публикаций [5-15] в трудах региональных, всероссийских и международных конференций, 2 свидетельства [3, 4] об официальной регистрации программ в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам.

В перечисленных работах все результаты, связанные с алгоритмизацией, программной реализацией и вычислительными экспериментами на ЭВМ, получены автором лично. Результаты по разработке моделей и методов организации распределенного имитационного моделирования вычислительных систем получены совместно с А.Г. Феоктистовым и являются неделимыми. Из совместных работ с В.И. Дмитриевым, A.C. Корсуковым, A.B. Лариной и Г.А. Опариным в диссертацию включены только те результаты, которые принадлежат лично автору.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы, включающего 102 наименования, списка сокращений, глоссария и 5 приложений. Общий объем работы 171 страница, из них 139 страниц основного текста, включающего 27 рисунков и 13 таблиц.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

Во введении выполнен обзор основных теоретических подходов, существующих архитектур и инструментальных средств, предназначенных для построения и анализа КСМП. Обоснована актуальность темы диссертации, сформулирована цель исследования, показана научная новизна и практическая значимость полученных результатов, приведена структура работы.

В первой главе показана актуальность задачи моделирования КСМП, обоснована необходимость применения суперкомпьютерной вычислительной техники при моделировании сложных систем и использования распределешюго имитационного моделирования как метода исследования сложных систем. Приведено понятие системы массового обслуживания (СМО) как разновидности сложной системы. Описаны базовые характеристики функционирования СМО. Задача исследования КСМП сведена к задаче моделирования СМО. Описаны преимущества специализированных языков моделирования с точки зрения реализации модели СМО по сравнению с языками общего назначения. Обоснована актуальность использования высокоуровневых систем имитационного моделирования СМО, таких как GPSS World и GPSS/H. Осуществлен анализ параллельных и распределенных технологий, таких как PVM, MPI, CORBA, RMI и др. Эти технологии обладают общим характерным недостатком: отсутствием методов синхронизации времени, что делает их применение для организации распределенного моделирования достаточно сложным. Рассмотрена архитектура HLA, предназначенная для распределенного моделирования. Анализ недостатков HLA с точки зрения решения поставленных в диссертации задач обуславливает необходимость разработки собственных программных средств для обеспечения взаимодействия удаленных сегментов модели. Представлены различные методы синхронизации времени в распределенных моделях, проанализированы их особенности, обоснован выбор консервативного алгоритма синхронизации для задачи моделирования КСМП. Приведены характеристики КСМП как объекта имитационного моделирования.

Во второй главе рассмотрены особенности организации распределенного имитационного моделирования и анализа КСМП.

В первом разделе главы приведена технология анализа КСМГ1, включающая следующую совокупность компонентов: методы автоматизации построения моделей, имитационного моделирования и распределенных вычислений; моделируемые вычислительные процессы научно-технического характера (процессов решения прикладных и фундаментальных исследовательских задач); инструментальные программные средства проектирования КСМП; программно-аппаратные средства, в рамках которых осуществляется моделирование КСМП. Перечисленные компоненты объединяются в единую технологическую цепочку для определения параметров проектируемой КСМП. Одним из средств исследования КСМП является использование методов динамического анализа программ с целью прогнозирования времени работы модулей на иссле-

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

На основе обзора средств, используемых для оценки производительности вычислительных узлов6, предложено проведение анализа следующих характеристик компонентов узла КСМП: времени выполнения центральным процессором операций с целыми и вещественными числами, латентности и пропускной способности кэшей (уровни LI, L2) и оперативной памяти, времени доступа и скоростей передачи данных жесткого диска и сети передачи данных. Проведение динамического анализа работы модулей КСМП предложено выполнять с помощью таких программ, как oProfile, pfmon, valgrind, cachegrind, lperfex, Intel vTune и Windows Performance Monitor. Разработаны спецификации модулей КСМП по следующим параметрам: количеству тактов процессора, интенсивности использования процессорных кэшей и оперативной памяти, количеству сессий чтения с жесткого диска и среднему количеству записанных/считанных байт за сессию, общему количеству выполненных процессором инструкций, количеству операций с целыми числами, количеству операций с вещественными числами, количеству переданных и принятых по сети данных, количеству установленных сетевых соединений, количеству сессий приема/передачи данных и времени, необходимого для установки сетевого соединения.

Разработан алгоритм прогнозирования производительности модулей КСМП. Общее время работы модуля mt на узле nt выражается как сумма времени работы компонентов узла:

Т(т„п¡) = ТР(п%п) + TM(mhnß + TN(mitnß + TD(mhnj),

где Tp(mi,rij), TM(m,,nj), T^rn^n), TD(m,,nj) — время работы процессора, памяти, сети передачи данных и жесткого диска, соответственно. Время работы модуля ntj на узлах КСМП прогнозируется с учетом вклада каждого компонента в общее время работы этого модуля на эталонном узле.

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

5 Французов Д. Оценка производительности вычислительных систем / Д. Французов // Открытые системы, 1996. -J6 2.-C. 58-66.

6 Таких как SPEC, UNPACK, Dhrystone, Whetstone, MIPS, Ливерморские цикли (LFK), SYSmark, CPUmaik32 и др. 8

Определены основные выходные показатели надежности и эффективности работы КСМП: К, = Te/Tq- коэффициент эффективности решения задачи, где Те~ время решения задачи, Tq - время ожидания задачи в очереди; Кр~(г - zcr)/z - коэффициент решаемости задач, где z - число поступивших на решение задач, zcr-число снятых с решения задач и Ке -га)/гу - коэффициент восстанавливаемости процесса решения задачи после отказа вычислительного ресурса, где z„ - число снятых с решения задач, zq - число задач с отказами вычислительных ресурсов.

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

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

В третьем разделе описана схема функционирования разработанной коммуникационной библиотеки, обеспечивающей взаимодействие между удаленными сегментами. Библиотека представляет собой клиент-серверное приложение, состоящее из набора компонентов, связанных в модули по функциональному назначению. Клиентская часть состоит из набора GPSS-сегментов, модулей создания контрольных точек (КТ), dll-библиотек и ActiveX сервера. Для обмена данными между собой GPSS-сегменты подключаются к ActiveX серверу, используя вызовы dll-библиотек. ActiveX сервер устанавливает единственное Socket-соединение с серверной частью коммуникационной библиотеки и обеспечивает асинхронный обмен данными между сегментами. ActiveX сервер имеет собственный буфер для хранения передаваемых данных и динамически формирует перечень сегментов модели, находящихся под его управлением. Такой подход позволяет избежать отправки данных на сервер в случае, если происходит обмен между сегментами, находящимися на одном вычислительном узле.

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

В пятом разделе исследован вопрос повышения степени надежности процесса моделирования КСМП. Реализован модуль автоматического создания КТ.

В последнем разделе представлен алгоритм работы этого модуля.

В третьей главе разработана системная архитектура и алгоритмы функционирования ИК СИРИУС. Рассмотрены основные аспекты программной реализации.

В первом разделе главы приведена архитектура ИК СИРИУС, включающая (рис. 1) три основные подсистемы: графическую инструментальную среду, генератор распределенной модели и исполнительную подсистему.

ГРАФИЧЕСКАЯ ИНСТРУМЕНТАЛЬНАЯ СРЕДА

Конструктор описаний предметной области Конструктор описания программно-аппаратной архитектуры

ш

Схема предметной облает КСМП

2

Набор специализированных программ динамического анализа работы модулей КСМП

Схема программно-

аппаратной архитектуры КСМП

-ект|ры

Наборы сегментов 6Р55-модели

Вероятностно-временные характеристики исследуемой КСМП

±

ГЕНЕРАТОР РАСПРЕДЕЛЕННОЙ МОДЕЛИ

Генератор СР5Э модели

Генератор задании

Имитационная модель КСМП

Задание на выполнение СР55-модели

ИСПОЛНИТЕЛЬНАЯ ПОДСИСТЕМА

Коммуникационная библиотека Распределенная среда "" моделирования 4 Модуль автоматического создания контрольных точек

Система хранения расчетных данных _

3

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

Рис. 1. Инструментальный комплекс СИРИУС

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

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

7 Распределенный решатель булевых уравнений большой размерности: методы и средства управления вычисле-

ниями / Опарин ГЛ., Феоктистов А.Г., Новопашин А.Н., Богданова В.Г. Н Проблемы управления и моделиро-

вания в сложных системах: Тр. VII межд. конф.-Самара: Самарский научный центр РАН, 2005. - С. 113-116.

10

непроцедурной постановки задачи, визуализацию процесса планирования вычислений и т.п.

"• Г Стецификаимя ¿¿левых отражений ка языке ЯСФО'Р

ШШ Построить булеву Построить

;мадель в Фэрмате^.— —--^^б^пееу модель

-—г ш ?]3?рмотс

' Т Количество Порток ]'

Бале «и рэсшеплення ¡Булева медег

.."• .'-Ш**6 ¿Расщепленная бад^маде^Ч

Решатель / \Рсшагс;

ЁШ! Й^^А Решете СБУ X СБуТТк

ЩШ ■ СБУв 0 вФормате$2ф^теФ

ГеИ Уа1

;ю 10

;Мате 0р< :СоттегЧ

5.

X ?40

V 945

11Сотрас( 1

гь1 решение

¿Преобразим: ь реилше из ФОРМ«1«51 в Формат ШМАСБ

Пвеобр<коеягь решение из Формата ЭЗ в -Формат 01М^С2

влияние результатов ■мнение в Формате НМАСЗ

Рис. 2. Структурная схема предметной области КСМП для решения СБУ

Описание конструктора программно-аппаратной архитектуры КСМП приведено в третьем разделе. Элементы схемы программно-аппаратной архитектуры КСМП содержат следующие виды объектов КСМП: вычислительные узлы, коммуникационные элементы (концентраторы и маршрутизаторы коммуникационной сети), вычислительные модули и соединительные кабели коммуникационной сети. На рис. 3 приведен пример описания программно-аппаратной архитектуры КСМП для решения СБУ.

Щ -

ШШШЯЁШ

¡ЯЕИ

ы 31

н0!е ■

Ы 7920 ;

6"| 30 ;

(НАМ 256

0

: [иЗсзрасе зоаоо

|рв[Юр1 0

РегШопОр! о

\PeilL2 0

;Ря№0 0

| РяПгШ о ;

Ре1Нп132 0

;РегМ64 0.

Рис. 3. Структурная схема программно-аппаратной архитектуры КСМП для решения СБУ

Описание генератора распределенной имитационной модели и генератора заданий приведено в четвертом разделе. Компоновка модели происходит на

11

языке имитационного моделирования системы GPSS World. Имитационная модель строится на основе наборов базовых и дополнительных сегментов GPSS-модели. Входные данные модели автоматически генерируются на основе описания предметной области, топологии сети передачи данных, базового набора сегментов GPSS-модели (моделирующих процессы возникновения, развития и взаимодействия различных событий в РВС) и вероятностно-временных характеристик моделируемых событий. Загрузчик входных данных в имитационную модель реализован на языке Plus системы GPSS.

Генератор заданий формирует файл задания, включающий перечень входных файлов распределенной модели и количество сегментов GPSS-модели, сведения о количестве требуемых вычислительных узлов, перечень сегментов модели, которые требуется совместить для запуска на одном вычислительном узле, информацию о необходимости запуска модуля создания КТ и входные параметры модуля КТ. Сформированное задание (запрос на выполнение распределенной GPSS-модели) передается системе управления узлами КСМП.

Описание исполнительной подсистемы и принципов ее работы изложено в пятом разделе.. Подсистема включает механизмы передачи данных и синхронизации времени, реализованные с помощью разработанной коммуникационной библиотеки. Общая схема процесса выполнения имитационной модели (состоящей из М сегментов) на вычислительном кластере (включающем Л'узлов) представлена на рис. 4. Обмен и коммуникации между сегментами происходят через Sockct-сервср, связывающий распределенные сегменты. Сервер представляет собой многопоточное асинхронное приложение, разработанное на языке Microsoft С#.

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

Клиентская сторона включает три компонента: ActiveX сервер, который принимает данные от локальных моделей; DLL-библиотеки, обеспечивающие связь GPSS-модели и ActiveX сервера; GPSS-модели. Клиентский ActiveX-сервер реализован в виде windows-приложения, которое запускается в фоновом режиме и ожидает подключения сегментов GPSS-моделей через DLL-библиотеку. Библиотека реализована в виде windows-приложения, использующего соглашение о вызовах внешних функций в формате CDECL. Вызов коммуникационных функций из сегментов GPSS-моделей осуществляется на основе соглашения о вызовах внешних функций для GPSS/H и встроенных средств языка PLUS для GPSS World. Реализация данной архитектуры позволила использовать на каждом узле несколько сегментов GPSS-моделей, которые могут принимать и отправлять данные через ActiveX-cepBep на Socket-

сервер. Для обеспечения отказоустойчивости распределенного процесса моделирования разработан модуль автоматического создания КТ.

УПРАВЛЯЮЩИЙ УЗЕЛ

Генератор заданий

Центральной менеджер iLLK

. запуск

системы управления заданиямиrrtiy

Коммуникационны» Socket-cepBep

_Р§зультаты_

O-vei, 0 сегм. 1

üSeT, КГ сегм. Ч

ВЫЧИСЛИТЕЛЬНЫЕ УЗЛЫ

Модуль КГ

GPSS-Модель, гагменг 1

_МодульКТ

GPSS-Модель^ сегмент m

DLLft

íÍDÍl

а

ActiveX

сервер !ir

Socket- ;bS¿ s

клиент ' T ' 3

......f.......

Система управления заданиями узла

Модуль КТ

GPSS-Модель, сегмент 1

Модуль КТ

GPSS-Модель, сегмент к

V-'DLIV ActiveX сервер

«-[шЬг Socket-клиент

15 !5Z

!5Й

Рис. 4. Схема работы исполнительной подсистемы

В последнем разделе главы обоснован выбор языковых средств, сред и технологий, использованных при разработке и реализации ИК СИРИУС.

В четвертой главе продемонстрированы примеры применения разработанной архитектуры для решения практических задач.

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

Во втором разделе описан вычислительный эксперимент по прогнозированию времени работы двух основных модулей КСМП для решения СБУ при переносе этих модулей с эталонной архитектуры на исследуемую. Для проведения эксперимента выбраны два решателя СБУ (модули т\ и т2) и 240 булевых моделей, доступных на сайте института Instituto de Engenharia de Sistemas and Computadores в Португалии, г. Лиссабон (http://inesc-id.pt) и ряде других источников. В качестве вычислительной базы использованы два узла со следующими характеристиками: Pentium-4, 2800 MHz, Ll: 16 Kb, L2: 1024 Kb, HDD 250 Gb (эталонный узел); Pentium-4, 2800 MHz, Ll: 8Kb, L2: 512Kb, HDD 80 Gb (исследуемый узел).

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

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

Таблица 1. Производительность компонентов эталонного и исследуемого узла

Характеристики компонентов узла Значения характеристик компонентов эталонного узла (л,) Значения характеристик компонентов исследуемого узла (и2) Коэффициент ускорения

Процессор, опер, с целыми числами 7726 MIPS 7710 MIPS 1

Процессор, опер, с веществ, числами 4471 Mflops 4410 Mflops 0,99

Кэш Ь1, латентность 1,4 не 1,1 IIC 1,27

Кэш Ы, пропускная способность 22300 Mb/s 22106 Mb/s 0,99

Кэш Ь2, латентность 8 нс 5 не 1,6

Кэш Ь2, пропускная способность 12800 Mb/s 11968 Mb/s 0,94

Память, латентность 22 нс 39 не 0,56

Память, пропускная способность 4471 Mb/s 3477 Mb/s 0,78

Жесткий диск, произвольный доступ 22 ms 20 ms 0,91

Жесткий диск, скорость чтения 52 Mb/s 49 Mb/s 0,94

Жесткий диск, скорость записи 32 Mb/s 30 Mb/s 0,94

Сеть, потребность в выч. мощности 20% 20% 1

Сеть, латентность 16 ms 16 ms 1

Сеть, пропускная способность 4471 Kb/s 4471 Kb/s 1

Коэффициент ускорения рассчитывается как отношение значений характеристик компонентов исследуемого узла к значениям характеристик компонентов эталонного узла. Элементы, помеченные знаком «*», рассчитываются в обратном соотношении.

Спецификации модулей т1 и т2, полученные в ходе динамического анализа на эталонном узле, приведены в табл. 2.

Таблица 2. Спецификация модулей mi и т2

Параметр спецификации модуля Модуль m¡ Модуль m2

CPU_CLK_UNHALTED.CORE 3 082 428 099 668 4 005 158 239 725

INST_R£TIRED.ANY 1 072 275 919 359 1 408 859 794 649

L1I_MISSES 40 329 413 833 87 397 645 506

L1D_CACIIE_LD.MESI 320 967 117 799 505 189 980716.

L1 D_CACHE_ST.MESI 231 959 667 895 388 209 800 016

L2_RQSTS.SELF.ANY.MESI 47 480 143 712 50 758 606 661

L2_RQSTS.SELF.ANY.I__STATE 3 676 625 688 4 352 637 443

L2_L1NES__IN.SELF.ANY 6277 805 018 6 276 653 421

L2_IFETCH.SELF.I_STATE 10 022 453 722 11 295 008 315

HDD, общее количество байт 620 000 820 000

HDD, количество байт считано 340 ООО 401 000

HDD, количество байт записано 280 000 220 000

Вычислений с плавающей запятой 0% 0%

Исходное время работы модулей т1 и т2 на узле щ при вычислении одной из булевых моделей:

Т(тьпд = 1062,9 сек, Т(тъгц) - 1292,1 сек.

Определен вклад каждого из элементов узла п\ в общее время работы модулей Ш] и т2:

Тр(т\,П]) =403,44сек, T¡Jmhn¿ =658,40сек, Tf/m^nJ "0,14сек, Т^т^пу) = 0,015сек; Т,{тъп{) =413,44 сек, Тфь^п^) = 878,78 сек, '1\{тъП]) = 0,18 сск, Тф\ъп{) = 0,015 сек.

Размер кэшей L1 и L2 на узле п2 вдвое меньше, чем на узле П\. Поэтому количество промахов увеличится в к =42 раз для обоих кэшей8. Учитывая коэффициент ускорения производительности компонентов исследуемого узла, найдем время работы его компонентов:

Tpfm^n,) = 402,60 сек, Тфщ.П]) = 1024,11 сек, Тфц,п\) = 0,14 сек, TD(mhri\) = 0,015 сек; Тр(тъпi) ~ 412,16 сек, Т^т^П]) = 1370,90 сек, Т,,{тъп{) = 0,18 сек, Ъ/шъП-^ = 0,015 сск.

Вычислим умножающий коэффициент, получаемый при переносе модулей m¡ и т2 с узла «i на узел п2.

А(т\,П1,Пт)^ Т(тьпт)/Т(т\,п\) = 1,34; A(m2,nhn-¡)= T(m2,n¡)/Т(тъП]) = 1,37.

Результаты проведения эксперимента для рсшешм 240 булевых моделей приведены в табл. 3.

Таблш/аЗ. Сравнение результатов прогноза и реального эксперимента

Эксперимент Модуль т i Модуль пь

Исходное время решения задач на узле П\ (суммарное) Прогнозируемое время решения задач на узле щ (суммарное) Реальное время решения задач на узле пг (суммарное) Погрешность 244 60S сск 328 648 сек 300 864 сек 9,2% 291 288 сек 401 952 сек 463 680 сек 13,3%

На рис. 5 изображены показатели погрешностей прогнозов для модулей гп\ и т2, значения которых отображены треугольниками и квадратами, соответственно. Объем выборки для каждого модуля составил 20 прогнозов. Соответствующие графики трендов построены по степенным уравнениям регрессии.

В третьем разделе описан вычислительный эксперимент5 по моделированию работы КСМП для решения СБУ продолжительностью 1 год. Цель экспери-

См., например, работу Haitstein A. Cache miss behavior, is it / A. Hartstein, V. Srimvasan, T.R. Puzak, P.O. Emma // Proceedings of the 3rd conference on Computing frontiers. - USA: ACM, 2006. - P. 313-320.

9 Планирование вычислительного эксперимента основано на методике, представленной в работе: Советов Б.Я. Моделирование систем. Пятое издание / Б.Я. Советов, С.А. Яковлев. - М.: Высшая школа, 2007. - 344 с.

мента - определить выходные характеристики КСМП для решения СБУ. В качестве входных задач выбраны 2000 файлов булевых моделей, поступающих в систему в соответствии с равномерным законом распределения случайной величины в интервалах от 1 до 2 раз в сутки (вариант № 1), от 1 до 2 раз в час (вариант № 2) и от 2 до 5 раз в час (вариант № 3). Время решения каждой модели не более 30 минут. Каждый вариант включает в себя три плана решения задачи. Вероятности выбора планов 1-3 заданы следующим образом: р/ = 0, р2=0,5, р3= 0,5. Тип системы: восстанавливаемая система с рестартом. Максимальное количество последовательных восстановлений на каждый модуль: 2. Интервал между восстановлениями: 12 часов. Общее время моделирования системы: 1 год. Количество экспериментов с моделью: 1000. Результаты показаны в табл. 4.

Таблица 4. Результаты моделирования КСМП для решения СБУ

Показатель Вариант № 1 Вариант № 2 Вариант № 3

Среднее г 538,36 13358,12 26470,00

Среднее 8,41 244,18 488,36

Среднее 2„ 0 0 20,6

Среднее Тс 490 сек 490 сек 490 сек

Среднее Т? 675 сек 790 сек 797 сек

Максимальная длина очереди 3 48 112

К, 0,73 0,62 0,61

К. 1 1 0,96

к„ 1 1 0,99

Среднее количество отказов 6,2 6,2 6,2

Результаты эксперимента показывают, что при увеличении числа поступивших задач 2 число задач с отказами вычислительных ресурсов z,^увеличивается. При высокоинтенсивиом поступлении задач (вариант № 3) исследуемая система не справляется с потоком задач, коэффициент восстанавливаемости процесса решения задачи Кв падает до 0,96 и среднее количество нерешенных задач достигает 20,6.

В четвертом разделе главы выполнен сравнительный анализ локального и распределенного процессов моделирования. Рассмотрена задача моделирования использования основных ресурсов узла вычислительного кластера (процессорного времени CPU и места на жестком диске HDD). Определены интенсивности обмена между сегментами, при которых применение средств и методов распределенного моделирования повышает производительность системы моделирования.

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

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

ОСНОВНЫЕ РЕЗУЛЬТАТЫ ДИССЕРТАЦИИ

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

2. Разработана коммуникационная библиотека распределенного имитационного моделирования для систем семейства GPSS, включающая методы синхронизации времени, обмена данными и создания KT. Реализованная библиотека применяется для разработки распределенных GPSS-моделей, предназначенных как для использования в составе ИК СИРИУС, так и для проведения независимых экспериментов.

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

СПИСОК ПУБЛИКАЦИЙ ПО ТЕМЕ ДИССЕРТАЦИИ

1. Александров A.A. Коммуникационная библиотека для построения распределенной модели системы массового обслуживания / A.A. Александров // Вестник ТГУ. Приложение. - 2006. - № 18. - С. 258-261.

2. Опарин Г.А. Графическая инструментальная среда для описания модели распределешюй вычислительной системы / Г.А. Опарин, А.Г. Феоктистов, A.A. Александров // Вестник ИрГТУ. - 2006. - Т. 3. - № 2 (26). - С. 35-40.

3. Александров A.A., Феоктистов А.Г., Дмитриев В.И. Распределенная имитационная модель вычислительного кластера: Свидетельство об официальной регистрации программы для ЭВМ № 2009610134. - М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2009.

4. Александров A.A., Феоктистов А.Г. Коммуникационная библиотека для распределенного моделирования (КБРМ): Свидетельство об официальной регистрации программы для ЭВМ № 2007611626. - М.: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2007.

5. Александров A.A. Организация распределенного имитационного моделирования / A.A. Александров // Математическое моделирование и информационные технологии: Материалы VII Школы-семинара молодых ученых. -Иркутск: ИДСТУ СО РАН, 2005. - С. 6.

6. Александров A.A. Создание контрольных точек при моделировании в системе GPSS World / A.A. Александров // Математическое моделирование и информационные технологии: Материалы VIII Школы-семинара молодых ученых. - Иркутск: ИДСТУ СО РАН, 2006. - С. 10-13.

7. Инструментальные средства организации распределенных вычислений на кластерах невыделенных рабочих станций / Феоктистов А.Г., Александров

A.A., Корсуков A.C., Ларина A.B. // Ляпуновские чтения: Материалы конф. - Иркутск: ИДСТУ СО РАН, 2007. - С. 37.

8. Феоктистов А.Г. Обеспечение надежности распределенной вычислительной среды имитационного моделирования / А.Г. Феоктистов, A.A. Александров // Моделирование. Теория, методы и средства: Материалы VI Мсвдунар. науч.-практ. конф. - Новочеркасск: Изд-во ЮРГТУ, 2006. -Ч. 5. - С. 25-28.

9. Феоктистов А.Г. Организация распределенного имитационного моделирования в GRID-системе / А.Г. Феоктистов, A.A. Александров, A.C. Корсуков // Параллельные вычислительные технологии: Тр. I Междунар. науч.-практ. конф. - Челябинск: Изд-во ЮУрГУ, 2007. - Т. 2. - С. 28-36.

10. Феоктистов А.Г. Оценка эффективности декомпозиции GPSS-моделей в распределенной вычислительной среде / А.Г. Феоктистов, A.A. Александров, A.B. Ларина // Идентификация систем и задачи управления: Тр. VI Междунар. конф. - М.: Изд-во ИПУ РАН, 2007. - С. 771-775.

11. Феоктистов А.Г. Применение HLA для организации распределенной среды имитационного моделирования / А.Г. Феоктистов, A.A. Александров // Информационные и математические технологии в науке и управлении: Тр. XII Байкальской Всерос. конф. «Информационные и математические технологии в науке и управлении». - Иркутск: Изд-во ИСЭМ СО РАН, 2007. -4.2.-С. 26-33.

12. Феоктистов А.Г. Распределенное имитационное моделирование в САТУРН-среде / А.Г. Феоктистов, A.A. Александров // Ляпуновские чтения: Материалы конф. - Иркутск: ИДСТУ СО РАН, 2004. - С. 42.

13. Феоктистов А.Г. Распределенное имитационное моделирование вычислений в САТУРН-среде на основе системы взаимодействующих агентов / А.Г. Феоктистов, A.A. Александров // Моделирование. Теория, методы и средства: Материалы V Междунар. науч.-практ. конф. - Новочеркасск: Изд-во ЮРГТУ, 2005. - Ч. 3. - С. 28-32.

14. Феоктистов А.Г. Распределенное имитационное моделирование систем модульного программирования / А.Г. Феоктистов, A.A. Александров // Математическое моделирование и информационные технологии: Материалы VI Школы-семинара молодых ученых. - Иркутск: ИДСТУ СО РАН, 2005.-С. 38-39.

15. Феоктистов А.Г. Средства выполнения распределенной GPSS - модели на вычислительном кластере / А.Г. Феоктистов, A.A. Александров, A.C. Корсуков // Инфокоммуникационные и вычислительные технологии и системы: Материалы II Всерос. конф. с междунар. участием. - Улан-Удэ: Изд-во Бурятского университета, 2006. - Т. 2. - С. 166-173.

Редакционно-издательский отдел Института динамики систем и теории управления СО РАН 664033, Иркутск, Лермонтова, 134 Подписано к печати 10.08.2009 г. Формат бумаги 60x84 1/16, объем 1 п.л. Заказ № 2. Тираж 100 экз.

Отпечатано в ИДСТУ СО РАН

Оглавление автор диссертации — кандидата технических наук Александров, Андрей Александрович

ВВЕДЕНИЕ.

ГЛАВА 1. ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ.

1.1. Задача моделирования распределенных вычислительных систем

1.2. Средства и методы имитационного моделирования.

1.3. Системы имитационного моделирования.

1.4. Технологии распределенных вычислений.

1.5. Технология HL А.

1.6. Синхронизация времени.

1.6.1. Консервативный алгоритм синхронизации времени.

1.6.2. Оптимистический алгоритм синхронизации времени.

1.7. Кластерные системы модульного программирования.

ГЛАВА 2. СРЕДСТВА И МЕТОДЫ ОРГАНИЗАЦИИ РАСПРЕДЕЛЕННОГО ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ КСМП.

2.1. Технология распределенного имитационного моделирования кластерных систем модульного программирования.

2.2. Распределенная имитационная модель.

2.3. Коммуникационная библиотека.

2.4. Алгоритм синхронизации времени.

2.5. Обеспечение надежности.

2.6. Аппарат контрольных точек.

ГЛАВА 3. ИНСТРУМЕНТАЛЬНЫЙ КОМПЛЕКС СИРИУС ДЛЯ ОРГАНИЗАЦИИ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ.

3.1. Архитектура.

3.2. Конструктор описания предметной области.

3.3. Конструктор описания программно-аппаратной архитектуры.

3.4. Генератор распределенной имита! донной модели.

3.5. Исполнительная подсистема.

3.6. Программные аспекты реализации.

ГЛАВА 4. ПРИМЕНЕНИЯ ИНСТРУМЕНТАЛЬНОГО КОМПЛЕКСА ПРИ ПРОЕКТИРОВАНИИ КСМП.

4.1. Проверка гипотезы о законе распределения.

4.2. Пример прогнозирования времени работы модулей КСМП для решения СБУ.

4.3. Пример применения ИК СИРИУС при моделировании работы КСМП для решения СБУ.

4.4. Сравнительный анализ эффектовi юс п i локального и распределенного процессов моделирования.

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

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

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

Интеграция некой распределенной вычислительной инфраструктуры и пакета прикладных программ, функциональные модули которого размещены в узлах этой инфраструктуры, привела к появлению нового вида предметно-ориентированных вычислительных комплекс он — кластерных систем модульного программирования (КСМП) [36].

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

При создании КСМП ее модули п клиентские части системного программного обеспечения размещаются в вычислительных узлах, а ядро (серверная часть) системного программного обеспечения — в управляющем узле. Набор системных функций КСМП дополняется (но сравнению с традиционными пакетами программ) коммуникативными функциями по передаче сообщений и дан4 ных между узлами, функциями синхронизации выполнения модулей, функциями мониторинга состояния распределенной системы и др.

На этапе проектирования КСМП, помимо концептуальных вопросов ее функционирования (на какие категории пользователей и классы задач она ориентируется), возникает ряд технических вопросов:

- какую программно-аппаратную архитектуру выбрать для функционирования КСМП;

- какое прикладное программное обеспечение использовать для решения задач в КСМП;

- по каким критериям будут оцениваться производительность и надежность этой КСМП;

- какими методами и средствами проводить моделирование ее работы.

Возрастающая сложность, размер и особенности организации моделей

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

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

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

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

1) Специализированные математические пакеты программ для проведения научных и инженерных расчетов, как. например, Simulink, входящий в пакет Mathlab [12]. Основным назначением подобных систем является проектирование низкоуровневых коммуникационных моделей, моделей обработки сигналов электрических цепей, а также визуализация результатов проводимых в них расчетов. В таких системах построение моделей происходит в интерактивном графическом режиме из набора базовых элементов так называемой библиотеки насфаиваемых шаблонов, когорые в процессе проектирования могут быть упорядочены в виде иерархий.

2) CASE-средства [7] (англ. Computer-Aided Software Engineering - автоматизированная разработка программного обеспечения) — системы для проектирования программных средств, комплектующиеся графическим редактором и зачастую использующие язык UML (англ. Unified Modeling Language - унифицированный язык моделирования). Главной задачей этих систем является автоматизация разработки программного обеспечения па различных этапах, включая анализ, формулировку требований, проектирование программ и баз данных, генерацию кода, создание, тестирование, сопровождение и документирование программ. Хотя такие системы и позволяют в наглядной форме описывать предметную область и анализировать ее модель, они зачастую сложны для применения в моделировании КСМП, поскольку требуют описания предметной области «с нуля» и ее доводки на языках более низкого уровня (по сравнению с языками имитационного моделирования) наподобие С++ или Java.

3) Инструментальные средства разработки пакетов программ с возможностью описания модели предметной области и динамическим планированием вычислительного процесса. Такие системы обладают набором компонентов многоразового использования, таких как решатель, подсистема организации вычислений и функциональные блоки (модули, реализующие конкретные алгоритмы расчетов). Одними из первых разработок можно выделить систему ДИСУПГ1П [40] и ее графический аналог - систему ГРАФ-ПРОЦЕСС [39]. Из систем дальнего зарубежья можно отметить инструментальные средства, акцентирующие внимание на создании моделей путем их сбора из базовых графических примитивов, каждый из которых представляет собой отдельный объект — как, например, в системе G2 [24] или ILOG [76]. Тем не менее применение данных систем требует достаточно высокой программистской квалификации разработчика.

4) Существует также ряд специализированных систем моделирования программно-аппаратного обеспечения сетей передачи данных, например, OPNET [88], QualNet [89], Vantage Predictor [99] и др., предназначенных в первую очередь для проектирования и оптимизации топологической структуры компьютерной сети и обладающих развитыми графическими средствами ее конструирования. Основными типовыми задачами, решаемыми в подобных системах, являются [8]: оптимизация пропускной способности каналов связи, выбор маршрутов, оптимизация топологической структуры, выбор методов управления потоками и определение параметров управления, анализ объемов буферной памяти узлов коммутации, маршрутизации, выбор стратегии буферизации при перегрузках и т. п.

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

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

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

На сегодняшний день разработаны разные модели, методы и средства распределенного имитационного моделирования (см., например, работы В.В. Окольнишиикова, P.JI. Смелянского, R.M. Fujimoto, S.Strassburger и др.), в том числе такие известные системы как Мера [29], Диана [44], SLX [80] и др. Для построения среды имитационного моделирования можно использовать универсальные языки программирования, такие как С, Fortran, Ada, Java, или системы имитационного моделирования GPSS World [68], GPSS/H [73], Arena [84], SLX, SIMPLEX3 [67], AnyLogic [19] и др.

Системы имитационного моделирования по сравнению с универсальными языками программирования [21, 94], обладая средой и специализированными языками, дают ряд значительных преимуществ, таких как существенное сокращение [45] времени разработки имитационных моделей, простота поддержки и их последующей модификации. Более того, такие системы предоставляют высокоуровневые инструменты для работы с параллельными процессами, объектами имитационных моделей, статистические инструменты, обеспечивают более совершенные механизмы обнаружения ошибок и обладают высокоуровневой средой отладки, оперирующей понятиями заявок, устройств обслуживания и объектов.

Поэтому использование готовой системы имитационного моделирования для решения поставленной в диссертации задачи выглядит предпочтительнее. Использование систем в распределенной вычислительной среде (РВС) также налагает ряд требований по выбору систем моделирования, таких как [77]: отказоустойчивость, поддержка механизмов синхронизации времени, организации обмена данными между сегментами распределенной модели, а также наличие самой системы моделирования в свободном доступе. Обеспечение отказоустойчивости распределенного процесса требует дополнительных функциональных возможностей для сохранения/восстановления состояний модели, которые редко встречаются в существующих системах [93]. Базовые возможности для этого имеются в системах GPSS World, GPSS/H и SIMPLEX3, но недостаточно развиты для использования в пакетном режиме, так как требуют разработки управляющих надстроек.

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

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

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

- смешанные подходы, которые комбинируют возможности первых двух подходов.

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

Поэтому возникает необходимость в технологии, которая обеспечивала бы взаимодействие распределенных моделирующих программ. Для этого можно рассматривать существующие технологии и коммуникационные библиотеки, такие как CORBA [97], RMI [79], MPI [86] или PVM [78]. Данные технологии разрабатывались для распределенных вычислений, но не для организации распределенного имитационного моделирования [25], о чем говорит отсутствие поддержки протоколов управления временем и его синхронизации. К тому же, эти технологии порождают весьма сложную реализацию, настройку, эксплуатацию и не могут в полной мере удовлетворить необходимому набору требований, предъявляемых при организации распределенного имитационного моделирования [93].

Отдельным подходом, призванным решить многочисленные проблемы построения распределенных систем имитационного моделирования, является архитектура HLA (англ. High Level Architecture — высокоуровневая архитектура) [81]. HLA обладает открытой спецификацией и предлагает ряд преимуществ по сравнению с приведенными выше технологиями, как, например, возможность синхронизации времени и расширенное понятие коммуникации [93]. Основным компонентом HLA является реализация ее инфраструктуры, называемая RTI (англ. Run Time Infrastructure — инфраструктура времени выполнения). В качестве российских систем, где заявлена поддержка архитектуры HLA, можно привести системы AnyLogic и Мера.

Несмотря на многочисленные преимущества, HLA обладает рядом недостатков. Она является достаточно сложным стандартом [94], который требует разработки протоколов обмена от самого разработчика имитационной системы. Первоначальная реализация ITLA выполнена внутри военного ведомства на таких языках как С++, Java или АДА. которые не являются традиционными в гражданской сфере имитационного моделирования, где используются специализированные системы с высокоуров!ювымтт языками имитационного моделирования. К тому же, системы на базе HLA имеют предел масштабируемости [85]. В HLA отсутствуют средства обеспечения отказоустойчивости, что становится существенным недостатком при организации моделей, включающих большое число сегментов. Отмечается, что разные реализации ITLA не могут взаимодействовать между собой. Разработчики гражданских систем не хотят интегрировать HLA, чтобы их пользователи не имели доступа к системам конкурентов [95], и отказываются от поддержки HLA из-за ее сложности. Бесплатные реализации RTI зачастую перестают поддерживаться производителями и исчезают из свободного доступа, в результате программные разработки, основанные на таких RTI, становятся не работоспособными. Примером тому является система AnyLogic, в которой поддержка HLA базировалась на бесплатных версиях JavaBinding и RTI. С 2002 года производитель прекратил предоставлять про граммное обеспечение для публичных нужд и убрал JavaBinding и RTI со своего официального сайта. Таким образом, на сегодняшний день отсутствие JavaBinding и RTI в свободном доступе не позволяет реализовать распределенные модели в AnyLogic.

Как следует из всего выше сказанного, является очевидной актуальность создания программного инструментария для анализа КСМП с использованием средств и методов имитационного моделирования.

Цель работы состоит в создании графического инструментального комплекса (ИК) для исследования КСМП с использованием методов распределенного имитационного моделирования и динамического анализа программ.

Объектом исследования являются технологии анализа распределенных вычислительных систем.

Предмет исследования составляют методы и инструментальные средства распределенного имитационного моделирования КСМП.

Методы исследования. При решении поставленных задач использовались методы системного программирования, характерные для автоматизации разработки больших программных комплексов, методы имитационного моделирования, организации распределенных вычислений и динамического анализа программ.

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

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

Разработанные средства зарегистрированы в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам [3] и применяются для проведения экспериментальных расчетов по плановым НИР в ИДСТУ СО РАН, а также в учебном процессе в Институте математики, экономики и информатики Иркутского государственного университета.

Исследование, разработка и применение представленных в диссертации программных средств выполнялись в рамках интеграционного проекта № 3 СО РАН «Методы, технологии и инструментальные средства создания вычислительной инфраструктуры в Internet» (2003-2005 гг.); проекга СО РАН 3.2.6 «Интегрированные информационно-вычислительные и коммуникационные ресурсы: интеллектыые методы организации, автоматизации разработки и применения» (2004-2006 гг., блок 1 «Распределенная вычислительная САТУРН-среда»): проекта СО РАН «Разработка научных основ распределенной информационно-аналитической системы на основе ГИС и Веб-технологий для междисциплинарных исследований» междисциплинарной программы 4.5.2 (2007—2009 гг., блок 2 «Интеллектные методы и инструмента.;гьные средства разработки и комплекси-рования распределенных информационно-вычислительных ресурсов») и проекта РФФИ № 04-07-90358 «Разработка и реализация распределенной вычислительной системы решения булевых уравнений большой размерности».

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

На защиту выносятся следующие основные результаты:

1. Технология анализа эффективности функционирования КСМП, базирующаяся на построении распределенной имитационной модели КСМП, которая обеспечивает (в отличие от известных) детальный учет как характеристик предметной области КСМП, так и особенностей программно-аппаратной архитектуры.

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

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

Апробация работы. Основные положения и результаты проделанной работы докладывались на научно-практической конференции «Ляпуновские чтения & Презентация информационных технологий» ( Иркутск, 2004 г.), на IV Всероссийской конференции «Математика, информатика, управление» (Иркутск, 2005 г.), на VI, VII и VIII Школе-семинаре молодых ученых «Математическое моделирование, управление и информационные технологии» (Ангасол-ка, 2005 г.; Зеленый мыс, 2005 г.; Энхалук, 2006 г.), на V и VI Международной научно-практической конференции «Моделирование. Теория, методы и средства» (Новочеркасск. 200? г., 2006 г.), на V Школе-семинаре «Распределенные и кластерные вычисления» (Красноярск, 2006 г.), на Всероссийской конференции «Инфокоммунпкацпонные и вычислительные технологии и системы» (Энхалук, 2006 г.), на XII Байкальской Всероссийской конференции с международным участием «Информационные и математические технологии в пауке и управлении» (Иркутск, 2007 г.), на Международной научной конференции «Параллельные вычислительные технологии (ПАВТ)» (Челябинск, 2007 г.), на VI Международной конференции «Идентификация систем и задачи управления (S1CPRO)» (Москва, 2007 г.), на Международной конференции «Геоинформатика: технологии, научные проекты» (Иркутск, 2008 г.), а также на семинарах ИДСТУ СО РАН.

Публикации и личный вклад автора. По теме диссертации опубликовано 14 печатных работах [2-5, 17, 31, 54-61] (2 статьи в рецензируемы журналах, рекомендованных ВАК для опубликования научных результатов диссертации на соискание ученой степени доктора или кандидата наук, 11 публикаций в трудах региональных, всероссийских и международных конференций). Получено свидетельство [3] об официальной регистрации программы в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам (РОСПАТЕНТ). В перечисленных публикациях все результаты, связанные с алгоритмизацией, программной реализацией и вычислительны ми экспериментами на ЭВМ, получены автором лично. Результаты по моделям и методам организации распределенного имитационного моделирования вычислительных моделей систем получены совместно с А.Г. Феоктистовым и являются неделимыми. Из совместных работ с А.С. Корсуковым, А.В. Лариной и Г.А. Опариным в диссертацию включены только те результаты, которые принадлежат лично автору.

Структура и объем работы. Диссертация состоит из введения, четырех глав, заключения, списка литературы ттз 99 наименований, списка сокращений, глоссария и 5 приложений. Общий объем работы 162 страницы, из них 136 страниц основного текста, включающего 25 рисунков и 10 таблиц.

Заключение диссертация на тему "Инструментальный комплекс распределенного имитационного моделирования кластерных систем модульного программирования"

Основные результаты диссертационной работы:

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

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

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

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

заключение

Главными результатами диссертационной работы являются разработка, реализация и применение инструментальных средств для исследования КСМП. Характерной особенностью данного подхода является применение средств и методов распределенного имитационного моделирования КСМП.

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

1. Абрамов О.В. Параметрический синтез стохастических систем с учетом требований надежности / О.В. Абрамов. - М.: Наука, 1992. - 176 с.

2. Александров А.А. Коммуникационная библиотека для построения распределенной модели системы массового обслуживания / А.А. Александров // Вестник ТГУ. Приложение, 2006. № 18.-С. 258-261.

3. Александров А.А. Организация распределенного имитационного моделирования / А.А. Александров // Математическое моделирование и информационные технологии: Материалы VII Школы-семинара молодых ученых. -Иркутск: ИДСТУ СО РАН, 2005. С. 6.

4. Александров А.А. Создание кош рольных точек при моделировании в системе GPSS World / А.А. Александров // Математическое моделирование и информационные технологии: Материалы VIII Школы-семинара молодых ученых. Иркутск: ИДСТУ СО РАН, 2006. -С. 10-13.

5. Боев В.Д. Моделирование систем. Инструментальные средства GPSS World / В.Д. Боев. СПб.: БХВ-Петербург, 2004. - 368 с.

6. Вендеров A.M. CASE-техпологии. Современные методы и средства проектирования информационных систем / A.M. Вендеров. М.: Финансы и статистика, 1998. - 176 с.

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

8. Воеводин В.В. Параллельные вычисления / В.В. Воеводин, Вл.В. Воеводин. СПб.: БХВ-Петербург, 2002. - 608 с.

9. Волков Д. Оценка быстродействия нерегулярного доступа к памяти / Д. Волков, А. Фролов // Открытые системы, 2008. № 1. - С. 15-19.

10. Горбунов-Посадов М.М. Расширяемые программы / М.М. Горбунов-Посадов, М.: Полиптих, 1999. - 336 с.

11. Гультяев А.К. MATLAB 5.2. Имитационное моделирование в среде Windows / А.К. Гультяев // Практическое пособие. — СПб.: КоРОНАприит, 1999.-288 с.

12. Гурвиц М. Безотказные сети и системы / М. Гурвиц // LAN, 1998. № 3. — С. 121-127.

13. Дейтел Х.М. Операционные системы. Распределенные системы, сети, безопасность. Третье издание / Х.М. Дейтел, П.Дж. Дейтел, Д.Р. Чофнес. -М.: ООО Бином-пресс, 2006. 704 с.

14. Жоголев Е.А. Технологии программирования / Е.А. Жоголев. М.: Научный мир, 2004.-215 с.

15. Замятина Е.Б. Современные теории имитационного моделирования: Специальный курс / Е.Б. Замятина. Пермь: ИГ У, 2007. — 119 с.

16. Иыуду К.А. Надежность, контроль и диагностика вычислительных машин и систем / К.А. Иыуду. М.: Высшая школа, 1989. — 216 с.

17. Карпов Ю.Г. Имитационное моделирование систем. Введение в моделирование с AnyLogic 5 / Ю.Г. Карпов. СПб: БХВ-Пегербург, 2006. - 400 с.

18. Кахро М.И. Инструментальная система программирования ЕС ЭВМ (ПРИЗ) / М.И. Кахро, А.11. Калья, Э.Х. Тыугу. М.: Финансы и статистика, 1981. - 158 с.

19. Кельтон В. Имитационное моделирование / В. Кельтон, A. Jloy. — СПб.; Питер; Киев: Издательская группа BHV, 2004. 847 с.

20. Киндлер Е. Языки моделирования: пер. с чеш. / Е. Киндлер. М.: Энерго-атомиздат, 1985. — 288 с.

21. Киселев В.Д. Метод распределения программ в вычислительных системах с отказами / В.Д. Киселев // Электронное моделирование, 1993. -Т. 15, №3.-С. 34-37.

22. Кисель Е.Б. Обзор функциональных возможностей и технических характеристик системы G2 / Е.Б. Кисель // Экспертные системы реального времени. М.: РОСНИИ ИТиСАПР, 1995.- С. 38-43.

23. Коваленко В. Вычислительная инфраструктура будущего / В. Коваленко, Д. Корягин // Открытые системы, 1999. № 11-12. - С. 45-53.

24. Кориеев В.В. Параллельные вычислительные системы / В.В. Корнеев. -М.: Нолидж, 1999. 320 с.

25. Нейлор Т. Машинные имитационные эксперименты с моделями экономических систем / Нейлор Т. М.: Мир, 1975. - 500 с.

26. Нейлор Т.М. Машинные имитационные эксперименты с моделями экономических систем / Т.М. Нейлор. — М.: Мир, 1975. — 500 с.

27. Окольнишников В.В. Разработка системы распределенного имитационного моделирования / В.В. Окольнишников // Информационные технологии, 2006. -№ 12.-С. 28-31.

28. Опарин Г.А. Графическая инструментальная среда для описания модели распределенной вычислительной системы / Г.А. Опарин, А.Г. Феоктистов, А.А. Александров // Вестник ИрГТУ, 2006. Т. 3, № 2(26). - С. 35-40.

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

30. Опарин Г.А. Модели и инструментальные средства организации распределенных вычислений / Г.А. Опарин, А.Г. Феоктистов // Параллельные вычисления и задачи управления: Материалы IV Международной конференции РАСО'2008. Москва: ИПУ РАН, 2008. - С. 1126-1135.

31. Опарин Г.А. Распределенная система интеллектуальных почтовых клиентов / Г.А. Опарин, А.Г. Феоктистов // Проблемы управления и моделирования в сложных системах: Труды IV Международной конференции. — Самара: ИПУСС РАН, 2002. С. 373-379.

32. Опарин Г.А. САТУРН — метасистема для построения пакетов прикладных программ / Г.А. Опарин // Разработка пакетов прикладных программ. -Новосибирск: Наука, 1982.-С. 130-160.

33. Опарин Г.А. Технология разработки распределенных пакетов знаний / Г.А. Опарин, А.Г. Феоктистов // Проблемы управления и моделирования в сложных системах: Труды III Международной конференции. Самара: Самарский научный центр РАН, 2001. — С. 496-502.

34. Орлов С.А. Технологии разработки программного обеспечения: учебник для вузов / С.А. Орлов. СПб: Питер, 2002. - 464 с.

35. Пакеты прикладных программ. Инструментальные системы // Сборник статен под ред. Самарского А.А. М.: Наука, 1987. - 151 с.

36. Перевозчикова O.J1. Инструментарий конструирования систем диалогового решения задач / O.JI. Перевозчикова // Кибернетика, 1989. № 6. - С. 17-27.

37. Перевозчикова О.Л. Система диалогового решения задач на ЭВМ / O.JI. Перевозчикова, E.JI. Ющенко. Киев: Наукова Думка. 1986. — 264 с.

38. Пипер Ш. Новая эра в оценке производительности компьютерных систем / Ш. Пипер, П. Джоан, М. Сколт // Открытые системы, 2007. — № 9. — С. 52-59.

39. Росляков Д.И. Новые технологические решения в построении отказоустойчивых систем / Д.И. Росляков, И.Ф. Терехов // Информационные технологии, 1998. № 1. - С. 30-36.

40. Советов Б.Я. Моделирование систем. Пятое издание / Б.Я. Советов, С.А. Яковлев. М.: Высшая школа, 2007. - 344 с.

41. Тапенбаум Э. Распределенные системы, принципы и парадигмы / Э. Та-ненбаум. М. ван Стеен. СПб.: Питер, 2003. — 877 с.

42. Таненбаум Э. Современные операционные системы / Э. Таненбаум. — СПб.: Питер, 2004. 1037 с.

43. Таха Х.А. Введение в исследование операций / Х.А. Таха. М.: Вильяме, 2001.-912 с.

44. Турута Е.Н. Организация распределения задач в вычислительных системах, обеспечивающая их отказоустойчивость / Е.Н. Турута // Автоматика и вычислительная техника, 1985. — № 1. С. 5-14.I

45. Ушаков И.А. Вероятностные модели надежности информационно-вычислительных систем / И.А. Ушаков. — М.: Радио и связь, 1991. С. 132.

46. Феоктистов А.Г. Распределенное имитационное моделирование в САТУРН-среде / А.Г. Феоктистов, А.А. Александров // Ляпуновские чтения & Презентация информационных технологий: Тезисы докладов Иркутск: ИДСТУ СО РАН, 2004. - С. 42.

47. Французов Д. Оценка производительности вычислительных систем / Д. Французов // Открытые системы, 1996. № 2. - С. 58-66.

48. Харченко B.C. Выбор дефектоустойчивой архитектуры вычислительной системы с параллельно-последовательным выполнением задач / B.C. Харченко, О.А. Ильина // Электронное моделирование, 1998. Т. 15, № 2. - С. 77-90.

49. Хеннинг Дж. SPEC CPU 2000: определение производительности в новом тысячелетии / Дж. Хеннинг // Открытые системы, 2000. — № 07-08. С. 27-37.

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

51. Хорошевский В.Г. Методика расчета показателей эффективности функционирования вычислительных систем / В.Г. Хорошевский, В.А. Пав-ский, К.В. Паве кий // Вестник компьютерных и информации ш ых технологий, 2008. № 2. - С. 47-55.

52. Шмидт Б. Искусство моделирования и имитации: введение в имитационную систему Simplex3 / Б. Шмидт. М.: Изд-во Фраптэра, 2003. - 550 с.

53. Шраибер Т.Дж. Моделирование на GPSS / Т.Дж. Шрайбер. — М.: Машиностроение, 1980. 592 с.

54. Bhatt S. Parallel Simulation Techniques for Large-Scale Networks / S. Bhatt // IEEE Communications, 1998. P. 42-47.

55. Chandy K.M. Distributed Deadlock Detection / K.M. Chandy, J. Misra // Assoc. Comput. Mach. Trans. Computer Systems, 1983. № 1. -P. 144-156.

56. Chandy K.M. Distributed Simulation: A Case study in Design and Verification , of Distributed Programs / K.M. Chandy, J. Misra // IEEE Trans. Software Eng., 1979.-P. 440-452.

57. Chen D. Framework for Robust HLA-based Distributed Simulations / D. Chen, J.T. Stephen, C. A. Wentong // Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation, 2006. P. 183-192.

58. Crain R.C. Simulation using GPSS/H / R.C. Cram // Proceedings of the 29th Winter Simulation Conference, 1997. P. 567-573.

59. Система программирования с автоматическим синтезом программ / И.О. Бабаев, С.С. Лавров, Г.А. Нецветаева, Ф.А. Новиков, Г.М. Шувалов // Применение методов математической логики. — Таллин: ИК АН ЭССР, 1983.-С. 29-41.

60. Defense Modeling and Simulation Office Электронный ресурс. / Электрон, дан. Режим доступа: https://www.dmso.mil, свободный.

61. Forgy C.L. A fast algorithm for many pattern/many objects pattern match problem / C.L. Forgy // Artificial Intelligence, 1982. V. 19, № 1. - P. 17-37.

62. Fujimoto R.M. Parallel and Distributed Simulation Systems / R.M. Fujimoto. -USA: Wiley, 2000. 300 p.

63. Geist A. PVM: Parallel Virtual Machine / A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, V. Sunderam // A Users' Guide and Tutorial for Networked Parallel Computing. USA: The MIT Press, Cambridge, 1994. - 279 p.

64. Grosso W. Java RMI: Designing & Building Distributed Applications / W. Grosso. O'Reilly, 2002. - 545 p.

65. Henriksen J.O. An Introduction to SLX / J.O. Henriksen // Proceedings of the 1995 Winter Simulation Conference, 1995.-P. 502-507.

66. High Level Architecture General purpose architecture for simulation reuse and interoperability Электронный ресурс. / Электрон, дан. - Режим доступа: https://www.dmso.mil/public/tnmsition/lila, свободный.

67. Jalote P. Fault Tolerance in Distributed Systems / P. Jalote. USA: Prentice Hall, New Jersey, 1994. - 448 p.

68. Jefferson D.R. Virtual Time / Jefferson D.R. // Assoc. Comput. Mach. Trans. Programming Languages and Systems, 1985. -№ 7. P. 404-425.

69. Kelton W.D. Simulation with Arena / W.D. Kelton, R. Sadowski, D. Sa-dowski. -New York: McGraw-Hill, 2003. 672 p.

70. Liu B. Development of a Runtime Infrastructure for Large-Scale Distributed Simulations / B. Liu, Y. Yao, J. Tao, H. Wang // Proceedings of the 2006 Winter Simulation Conference. P. 1036-1043.

71. MacDonald N. Writing Message Passing Parallel Programs with MPI / N. MacDonald, E. Minty, T. Harding, S. Brown — Edinburgh: University of Edinburgh. 80 p.

72. Misra J. Distributed Discrete-Event Simulation / J. Misra // Computing surveys, 1986. -№ 18.-P. 39-65.

73. OPNET Modeler, Network Modeling and Simulation Environment OPNET Technologies Inc. Электронный ресурс. / Электрон, дан. — Режим доступа: http://www.opnet.com/products/modeler/home.html, свободный.

74. QualNet Parallel Developer Scalable Network Technologies Inc. Электронный ресурс. / Электрон, дан. — Режим доступа: Iittp://www.scalable-networks. com/products/parallelsimulator.php. свободный.

75. Standard Performance Evaluation Corporation Электронный ресурс. / Электрон. дан. Режим доступа: http://www.spec.org/, свободный.

76. Standard Performance Evaluation Corporation Электронный ресурс. / Электрон. дан. Режим доступа: http://www.spec.org/, свободный.

77. Steinman J.S. SPEEDES: A Multiple-Synchronization Environment for Parallel Discrete Event Simulation / J.S. Steinman // International Journal on Computer Simulation, 1992. P. 251 -286.

78. Strassburger S. Distributed Simulation Based on the High Level Architecture in Civilian Application Domains / S. Strassburger // Dissertation (Dr.-Ing.). Magdeburg, Otto-von-Guerickc University, 2000. 242 p.

79. Strassburger S. The Road To Cots-Interoperability: From Generic HLA-Interfaces Towards Plug-And-Play Capabilities / S. Strassburger // Proceedings of the 2006 Winter Simulation Conference, 1991. P. 1111-1118.

80. Tamir Y. Error Recovery in Multicomputer Using Global Checkpoints / Y. Tamir, C. Sequin // Proceedings of the 1984 International Conf. Parallel Processing, 1984. P. 32-41.

81. The Object Management Group (OMG) Электронный ресурс. / Электрон, дан. — Режим доступа: http://www.omg.org/, свободный.

82. Unger В. Scheduling Critical Channels in Conservative Parallel Discrete Event Simulation / B. Unger // Proceedings of the Workshop on Parallel and Distributed Simulation, 1999. P. 20-28.

83. Vantage Predictor, Complete WAN provisioning and growth management — Compuware Corp. Электронный ресурс., Электрон, дан. — Режим доступа: http://wAvw.compuware.com/products/vantage/predictor.htm, свободный.список используемых сокращений

84. ДИСУППП диалоговая система управления пакетами прикладных программ.

85. ИК инструментальный комплекс.

86. КНФ — коныок I ивно-нормальиая форма.

87. КСМП кластерная система модульного программирования.5. КТ контрольная точка.

88. РВС — распределенная вычислительная среда.

89. СБУ системы булевых уравнений.

90. СМО система массового обслуживания.

91. СМИ система модульного программирования.

92. СУБД система у правлен: !я базой данных.

93. ЭВМ электронная выч чс i! (тельная машина.

94. ADODB англ. ActiveX Data Objects for Data Bases, объекты ActiveX для баз данных.

95. ALSP англ. Aggregate Lc\cl Simulation Protocol, имитационный про го кол обобщенного уровня.

96. CASE англ. Computer-Aided Software/System Engineering, автоматизированная разработка программного обеспечения.

97. CDECL англ. С DECLaration, объявление функций в формате языка С.

98. CNF англ. Conjunctive Normal Form, коньюктивно-нормальная форма.

99. CORBA англ. Common Object Request Broker Architecture, общая архитектура брокера объектыv\ запросов.

100. CPU англ. Central Proee° .ing Unit, центральная обрабатывающая единица (процессор).

101. DIMACS англ. Discrete л laihematics and theoretical Computer Science, теоретическая информатика и дискретная математика.

102. DMSO англ. Department Modelling and Simulation Office, отдел моделирования и имитации.

103. DNF англ. Disjunctive Normal Form, дизъюнктивно-нормальная форма.

104. GPSS англ. General Purpose Simulation System, имитационная система общего назначения.

105. HDD англ. Hard Disk Drive, жесткий диск.

106. HLA — англ. High Level Architecture, архитектура высокого уровня.

107. JDK англ. Java Developsr .Tit Kit. комлект разработки для платформы Java.

108. LBTS англ. Lower Bound on the Time Stamp, нижняя граница временных меток.

109. MPI англ. Message Passing Interface, интерфейс передачи сообщений.

110. МРР англ. Massive Parallel Systems, массово параллельные системы.

111. ODBC англ. Open Data Base Connectivity, открытое соединение с базами данных.

112. OMG англ. Object Management Group, группа управления объектами.

113. PDES англ. Parallel Discrete Event Simulation, параллельное дискретно-событийное моделироваа ше.

114. РНР англ. Personal Homo Page tools, набор инструментов для персональных домашних страниц.

115. PLUS англ. the Programming Language Under Simulation, язык программирования при имитации.

116. PVM — англ. Parallel Virtual Machine, параллельная виртуальная машина.

117. RAD англ. Rapid Application Development, быстрая разработка приложений.

118. RAID — англ. Redundant Array of Independent/Inexpensive Disk, избыточный массив независимых диско з.

119. RAM англ. Random Accars Memory, память случайного доступа.

120. RMI англ. Remote Method Invocation, вызов удаленных методов.

121. RMI-IIOP — англ. RMT Internet Inter-Orb Protocol, общий протокол обмена внутри систем RMI через сеть Интернет.

122. RPC — англ. Remote Procedure Call, удаленный вызов процедур.

123. RTI англ. Run-Time Infrastructure, инфраструктура времени выполнения).

124. SLX — англ. Simulation ! „nguage with extensibility, язык имитационного моделирования с расширяемостью.

125. HyperText Markup Language, расширяемый

126. SPEEDES англ. S> л Discrete-Event Simulalio ляции и дискретно-соо'

127. TeD/GTW англ. Tele Time-Warp, язык ornicj ческого университета гт

128. XHTML англ. the еХ> язык гипертекстовой р."11. ГЛОССАРИЙ TZT /1ИНОВ

129. Модуляризацпя— процео -деления программы на модули.

130. Системы пакетной с\у \ \ки {СПО) заданий — системы (такие как PBS, DQS, NQS, Condor и др.) с" оные управлять кластерами, параллельными и многоядерными архитектура ; : : федназначенные для организации в них вычислений.

131. Система массового обе:.} ивания (СМО) — системы в которых в случайные моменты времени, задай!г зачастую вероятностным законом распределения, поступают заявки на о С:. 1 живание и обрабатываются с помощью имеющихся в распоряжении СМО п ' урсов.