ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
С.И. Олзоева РАСПРЕД...
26 downloads
227 Views
2MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
С.И. Олзоева РАСПРЕДЕЛЕННОЕ МОДЕЛИРОВАНИЕ В ЗАДАЧАХ РАЗРАБОТКИ АСУ
Улан – Удэ, 2005 Издательство ВСГТУ
3
УДК 681. 3
Введение
Рецензент: Ширапов Д.Ш., проф., докт. физ.-мат. наук
Олзоева С.И. Распределенное моделирование в задачах разработки АСУ: – Улан - Удэ, изд-во ВСГТУ, 2005 – 219 с. ISBN 5-89230-184-2 Рассматриваются методы повышения эффективности имитационного моделирования распределенных информационных систем АСУ, формально представляемых математическими моделями стохастических сетей большой размерности. Излагаются методы организации вычислительного процесса имитационного моделирования РИСУ на распределенной многопроцессорной вычислительной платформе – локальных сетях и кластерных системах, что позволяет ускорить процесс моделирования без потери точности и упрощения модели исследуемой системы. Методы распределенного моделирования предназначены для решения широкого круга задач проектирования распределенных автоматизированных систем различного назначения. . ISBN 5-89230-184-2
УДК 681. 3 © Олзоева С.И., 2005 г. © Изд-во ВСГТУ, 2005 г.
Одной из важнейших задач современности является задача создания эффективных автоматизированных систем управления сложными организационно-техническими комплексами различного назначения, предназначенными для выполнения некоторого цикла работ в народном хозяйстве. Отличительной особенностью современных АСУ является их ориентация на управление распределенными объектами. Причиной тому является распределенный характер самих прикладных задач, таких, как автоматизация технологических процессов и крупных рассредоточенных производств, транспортных систем, банковской и межбанковской деятельности. Автоматизированные системы управления приобретают специфику территориально рассредоточенных автоматизированных систем. Такие системы называют распределенными автоматизированными системами (РАС). Широкое распространение РАС, высокая стоимость их разработки требуют постоянного повышения качества проектирования. Достижение этой цели в значительной степени связано с использованием метода статистического имитационного моделирования распределенных информационных систем управления (РИСУ), являющихся обеспечивающей подсистемой РАС. Разработка конкретной РИСУ выдвигает большое количество проблем, связанных с исследованием механизма внутрисистемных взаимодействий, формулировкой соответствующих требований к системе в целом и ее отдельным компонентам. На каждом из этапов процесса проектирования РИСУ выполняется подробная имитация функционирования системы, позволяющая изучать систему с учетом всех аспектов ее поведения. Причем имитационные модели работают в комплексе со специализированными программными средствами для автоматизации проектирования РАС, обеспечивающими машинный поиск оптимального варианта РАС при ее синтезе при заданных критериях эффективности и системе ограничений. Внедрение методов имитационного 3
моделирования в интерактивные системы оптимизации, экспертные системы, предполагают разработку методов повышения эффективности имитационного моделирования распределенных автоматизированных систем, обеспечивающих ускорение вычислительного процесса без потери точности и упрощения модели. Основные ограничения известных методов и технологий, используемых в настоящее время в системах имитационного моделирования, обусловлены недостаточной эффективностью решения в них проблем производительности, настройки и адаптации к новой вычислительной платформе – многопроцессорным системам и сетям. Появление и бурное развитие новой вычислительной платформы создают предпосылки к разработке методов имитационного моделирования (ИМ) на распределенной вычислительной платформе, что должно обеспечить ускорение процесса имитации. В связи с этим в книге рассматриваются методы распределенного имитационного моделирования РАС на современных вычислительных средствах, позволяющие ускорить процесс моделирования. В первой главе рассматривается ключевая роль метода имитационного моделирования в задачах проектирования РИСУ, показаны противоречия между требованиями современной методологии решения задач проектирования РИСУ и возможностями традиционных методов статистического имитационного моделирования. Во второй главе излагается общая концепция организации распределенного имитационного моделирования РИСУ на многопроцессорной вычислительной платформе, состоящая в модификации методов теорий параллельных и распределенных вычислений с учетом специфики построения моделирующих алгоритмов. Рассматриваются основные классы современных высокопроизводительных вычислительных систем и обоснование выбора типа многопроцессорной вычислительной платформы,
4
на которой будет реализовываться распределенное имитационное моделирование РИСУ. В третьей главе излагается метод распределенного моделирования РИСУ, основанный на парадигме параллельных вычислений: MPMD (Multiple Program – Multiple Data). Излагаются основные принципы построения автоматизированного средства организации вычислительного процесса распределенного имитационного моделирования (АСОРИМ) РИСУ, функциональное назначение его технологических этапов и алгоритмическое наполнение технологических этапов. Четвертая глава посвящена вопросам применения в имитационном моделировании стохастических сетей модели параллельных вычислений SPMD (Single Program – Multiple Data) в сочетании с разработанным аналитико-статистическим методом моделирования для ускоренного анализа характеристик стохастической сети. Описаны SPMD - метод распределенного имитационного моделирования РИСУ и комплексная методика проведения распределенных имитационных экспериментов в соответствии с моделью SPMD. В пятой главе представлены результаты практической проверки эффективности методов, алгоритмов, методик и программных средств распределенного имитационного моделирования РИСУ, а также результаты экспериментальной оценки основных характеристик функционирования РИСУ по предлагаемой методике ускоренной машинной имитации. Предлагаемые методы ускорения статистического имитационного моделирования, а также совокупность моделей, алгоритмов и процедур, способных к интеграции с экспертными системами принятия решений в конкретной прикладной области, предназначены для решения, как задач проектирования РИСУ, так и задач модернизации, расширения и оптимизации распределенных информационных систем АСУ.
5
1.
Методы моделирования распределенных автоматизированных систем
административной системы, и представляет собой определенную сетевую систему различного структурного вида.
1.1. Распределенные информационные системы управления Современное развитие общества в хозяйственно - производственной сфере характеризуется широким внедрением автоматизированных систем управления сложными организационно-техническими комплексами различного назначения. Под организационно-техническим комплексом понимается совокупность технических и аппаратно-программных средств, предназначенных для выполнения некоторого цикла работ в народном хозяйстве. Примерами организационно-технических комплексов являются предприятия, их подразделения, производственнотехнологические системы и т.д. [7, 69, 82]. В самом общем виде, система, в которой реализуется автоматизированное управление, включает: внешнюю среду, объект управления (ОУ), управляющий объект (УО), устройство обработки информации и канал взаимодействия (рис. 1.1.). Управление предполагает получение информации о состоянии объекта управления, ее анализ и обработку, принятие решения. Первичным в этой схеме является управляемый объект, так как его вид, структура, организационные особенности принципиально влияют на систему получения информации, ее смысловой анализ, содержание управленческих решений. То есть управляемый объект во многом определяет структурную и функциональную организацию системы управления. Отличительной особенностью современных АСУ является их ориентация на управление распределенными объектами. В этих системах объект управления является совокупностью взаимосвязанных объектов, составляющих совместно функционирующее техническое оборудование, производственнотехнологическую цепочку, звенья организационно-
6
Внешняя среда
Канал взаимодействия Информация о состоянии
Объект управления
Управляющая ция
Устройство обработки информации
информаУправляющий объект
Рис 1.1. Структурная схема АСУ Информационный обмен является непременным условием работоспособности любого управления, так как все принимаемые решения основываются на поступающей от объектов управления информации [24]. Пространственная распределенность объекта управления однозначно определяет его информационную структуру, которая влияет на соответствующую структуру системы управления. Автоматизированные системы обработки информации и управления приобретают специфику территориально рассредоточенных автоматизированных систем. Такие системы коротко называют распределенными автоматизированными системами (РАС). Объекты РАС весьма разнообразны как по виду, так и по объему передаваемой и принимаемой ими информации. Это могут быть всевозможные датчики, автоматизированные рабочие места, устройства сбора и обработки информации различных подразделений предприятий, центры сбора, хранения и обработ 7
ки информации и прочие абонентские комплексы. В РАС имеет место взаимодействие между подсистемами обработки информации управляющих объектов (ПСУ) разных уровней иерархии, а также между подсистемами терминальных средств ОУ с одной стороны и подсистемами обработки данных с другой. В РАС необходимо обеспечивать удаленный доступ различных классов пользователей к вычислительным и информационным ресурсам для выполнения основной целевой функции системы управления, обязательным является использование функции обмена данными, как основы информационного взаимодействия между территориально распределенными вычислительными средствами различных подсистем, которая предполагает реализацию целой совокупности взаимосвязанных процедур сетевого информационного обмена. В структуре и характере функционирования РАС просматривается большая общность с информационно-вычислительными сетями (ИВС) [42,66,68]. В качестве ядра, как РАС, так и ИВС используются сети передачи данных. Единая сеть для передачи разных видов информации (файлов данных, речи, факсимильной и видеоинформации) называется сетью интегрального обслуживания (СИО). СИО не только обеспечивает информационное взаимодействие объектов, но и по существу объединяют объекты РАС в единое целое, как в структурном, так и в функциональном отношении. При этом программируемые средства вычислительной техники используются не только в качестве устройств обработки информации, но и непосредственно для реализации функций систем и средств доставки сообщений на сетях связи [14, 15, 23, 66]. В самом общем виде РАС можно представить множеством территориально рассредоточенных объектов, взаимодействующих через сеть интегрального обслуживания, в которой каждый объект является абонентом СИО (рис. 1.2.). Распределенные автоматизированные системы обладают всеми свойствами сложных систем, определение которых приведено в [16,17]. 8
В Н Е Ш Н Я Я С Р Е Д А
Распределенная автоматизированная система Распределенные информационные системы Объект управления: распределенные объекты управления
Канал взаимодействия: сеть интегрального обслуживания
Система обработки информации: распределенные подсистемы ОИ
Управляющий объект: распределенные ПСУ
Рис. 1.2. Структурная схема распределенной АСУ.
Сложные системы - это крупномасштабные системы, характеризующиеся наличием множества процессов, протекающих в системе, многообразием причинно-следственных взаимосвязей между ними, а также стохастической природой процессов функционирования системы. Основные свойства, которыми обладают сложные системы, это: 1. Наличие технологических задач, т.е. задач, связанных с поддержанием определенной последовательности операций, направленных на получение определенного результата с заданным расходованием ресурса; 2. Наличие коммуникационных задач, т.е. задач, связанных с обеспечением достаточного взаимодействия элементов системы в ее технологической деятельности; 9
3. Наличие задач обработки информации, т.е. задач, связанных с анализом, структуризацией и обработкой исходной информации и событий среды функционирования системы. Каждая из групп задач связана с любой другой и может быть решена только посредством использования решений двух других. Здесь возникает рекурсивность, которая является причиной итеративного характера процесса проектирования сложных систем, позволяющего получить комплексное решение перечисленных задач. Современная методология проектирования РАС опирается на концепцию проектирования сложных систем [39, 63, 69, 88], основанной на построении системы статических и динамических моделей, из которых извлекаются требования и спецификации проекта. Система моделей включает описание процессов, функций, потоков данных и других статических и динамических аспектов деятельности РАС. Распределенные автоматизированные системы представляют собой совокупность тесно взаимодействующих компонентов, имеющих свои локальные задачи и цели функционирования (например, системы обработки информации, прикладные программы решения регламентных задач, базы данных, подсистемы управления, приложения аналитической обработки информации – поддержки принятия решений). Каждый компонент характеризуется определенными задачами и методами их решения, исходными данными и результатами. Для успешного функционирования всей системы в целом все компоненты системы должны быть адекватно спроектированы, построены их полные и непротиворечивые функциональные и информационные модели, в соответствии с которыми они воплощаются в конкретные технические и программно-технические средства. Многообразие технологических задач и процессов, протекающих в различных компонентах РАС, определяет множество понятий, концепций и методологий, используемых для описания, анализа и оценки различных аспектов работы автоматизи10
рованной системы. При проектировании и создании различных компонентов РАС используются различные методологии и инструментальные средства моделирования и проектирования систем. К ним относятся современные CASE – средства, позволяющие в наглядной форме моделировать предметную область в виде диаграмм, текстов для описания внешних требований, связей между моделями системы, динамики поведения системы и архитектуры программных средств [18, 29, 60, 103]. Другую группу составляют средства имитационного моделирования для анализа динамических характеристик исследуемых процессов, моделирования поведения системы в различных условиях [58, 90, 105]. Большой объем и многообразие решаемых задач при создании распределенных автоматизированных систем определяют методическую схему итерационного проектирования, которая заключается в следующем. РАС разбивается на совокупность архитектур, каждая из которых описывает различные аспекты РАС с разных точек зрения. Основными из этих архитектур являются: архитектура системотехнической платформы; архитектура телекоммуникационной системы и архитектура прикладного программного обеспечения. Исследование и проектирование этих архитектур тесно связано с решением выделенных задач: технологической, коммуникационной и задачи создания систем обработки информации. Общая схема итерационного модельного проектирования приведена на рис. 1.3. Предпроектные исследования предусматривают: - исследование целей и общей организационной структуры РАС; - изучение функций каждой подсистемы обработки информации и управления; - изучение информационных потоков каждого объекта. В результате исследования вырабатываются: 1. Информационная модель создаваемой РАС, представляющая собой проект базы данных распределенной информационной системы.
11
Предпроектные исследования
Концептуальные модели Информационная модель
Функциональная модель
Требования к архитектурам
Формирование или выбор архитектур
Моделирование архитектур
Оценка метрик
Требования к РАС
Реализация
Рис. 1.3. Общая схема процесса итерационного модельного проектирования 12
2. Функциональная модель, определяющая единую схему прохождения задач, стоящих перед исследуемой системой. 3. Предложения по набору программно-технических средств. 4. Предложения по использованию и разработке прикладных программ. Далее с помощью моделирования оцениваются предлагаемые варианты архитектурных решений РАС, с точки зрения эффективного выполнения основных видов деятельности и задач, стоящих перед системой, ее динамические и объемные характеристики, а также возможные последствия от предполагаемых изменений. Только после того, как проведено моделирование, можно сформировать требования и осуществить переход к созданию РАС. В процессе проектирования и создания РАС особой задачей, интегрирующей функциональное и информационное представление системы в рамках единой модели, является коммуникационная задача, решение которой связанно с обеспечением необходимого взаимодействия компонентов РАС в ее технологической деятельности. Проблема коммуникации является основной в обеспечении функционирования РАС. Поэтому в качестве особо важной подсистемы РАС выделим распределенные информационные системы управления (РИСУ), объединяющие в себе распределенные информационные системы (РИС), подсистемы управления (ПСУ) и коммуникационную сеть. Адекватное проектирование РИСУ во многом определяет эффективность функционирования создаваемой РАС в целом. Решение этой задачи представляет собой отдельную большую самостоятельную проблему. Таким образом, РИСУ - это комплекс различных средств сбора, анализа и переработки информации, подсистем выработки управляющих воздействий, взаимосвязанных сетью передачи данных. По отношению к этому комплексу возникают задачи проектирования, разработки и испытания, которые, в свою оче13
редь, должны быть обеспечены методологией и инструментальными средствами проектирования и моделирования, отличающимися от соответствующих средств проектирования обозначенных выше компонентов РАС и отвечающими специфике РИСУ. Так, например, если при проектировании и реализации прикладных программных компонент РАС в большей степени используются CASE-средства, то для проектирования РИСУ требуются средства динамического моделирования процессов, интеллектуальных систем имитационного моделирования. Имитационная модель обеспечивает уточнение требований к РИСУ, как важнейшей из подсистем РАС, проверку, метрическую оценку и динамическую обкатку всех предлагаемых организационных, системотехнических, коммуникационных, технологических и функциональных программных решений. Позволяет определить какие потребуются изменения в структуре и в распределении выполняемых прикладных задач по вычислительной системе, принять решения о необходимости и о порядке внесения таких изменений и после этого сформировать соответствующие требования к новой РАС. Например, для организационно-административной управляющей автоматизированной системы на первом шаге строятся «главные» статические модели основных видов деятельности организации, раскрывающие ее основные бизнес - процессы на всех уровнях управления. Решение этой задачи осуществляется с помощью CASE - средств для построения статических моделей и автоматизации моделирования функций, данных и структуры организации и информационной системы. Полученные модели служат источником извлечения метрических характеристик начальных требований и ограничений, выставляемых к первым архитектурным образам будущей РАС. Далее, в соответствии с определенными на первом шаге технологическими процессами, разрабатывается прикладное программно-информационное обеспечение. Это могут быть АРМы, предназначенные для выполнения определенных функ14
ций, прикладные программы обработки информации, подсистемы автоматизированного управления. К данному шагу относится и разработка баз данных, на основе сформированной информационной модели. К третьему шагу относится проектирование РИСУ, объединяющей рассмотренные выше компоненты АСУ посредством телекоммуникационной сети. На данном шаге определяется: какие задачи и требования могут быть выполнены на основе внедрения того или иного варианта архитектуры вычислительных комплексов, архитектуры телекоммуникаций и взаимосвязей вычислительных комплексов. Полученные на первых двух этапах метрические характеристики подсистем РАС, являются основой для динамического моделирования РИСУ, с целью определения, как оптимальной структуры РИСУ, так и выбора наилучшего варианта системы управления. Специфика современных РИСУ определяется следующими характерными особенностями, позволяющими отнести их к классу сложных систем: - Крупномасштабность, сложность, пространственная распределенность. Сложность современных РИСУ определяется размерностью и пространственной распределенностью ее функциональных компонентов, и достигла такого уровня, при котором для их анализа и проектирования становятся необходимыми более совершенные методы динамического моделирования. - Дискретно-событийный характер функционирования РИСУ. Распределенные информационные системы АСУ относятся к дискретно-событийным динамическим системам (ДСС), для анализа и синтеза которых применяются методы, разработанные для ДСС. Согласно определению [32] дискретнособытийная система – это динамическая система, которая эволюционирует в соответствии с внезапным возникновением физических событий, порой в заранее неизвестные, нерегулярные моменты времени, т.е. поведение системы зависит от сложного 15
взаимодействия временных распределений различных дискретных событий. Для анализа процессов функционирования ДСС используются модели, основанные на марковских цепях (автоматах), сетях массового обслуживания, минимаксные алгебраические модели, полумарковские процессы [1, 16, 86, 7, 8, 28]. Наиболее востребованным методом анализа и синтеза ДСС является статистическое имитационное моделирование, позволяющее получать вероятностно-временные характеристики процессов их функционирования, с учетом взаимообусловленности, стохастического характера процессов. - Параллельность, динамика, децентрализация и недетерминизм. Типичным для процесса функционирования РИСУ является задача управления потоками, характерными чертами которой выступают - параллельность, децентрализация, динамика и недетерминизм. В этом случае возникают огромные логикокомбинаторные задачи управления объектами, для решения которых требуется применение соответствующих эффективных методов оптимизации и искусственного интеллекта в сочетании с методом имитации. Выделенные характерные особенности современных РИСУ определяют актуальность исследования и разработки эффективного модельного обеспечения методов проектирования распределенных информационных систем АСУ. Создание адекватных и продуктивных динамических моделей представляет собой достаточно сложную самостоятельную проблему, от эффективного решения которой зависит не только точность формируемых требований к РИСУ, но и сама возможность успешной реализации проекта РИСУ. 1.2. Задачи проектирования РИСУ Из определения РИСУ, как важнейшей подсистемы РАС, обеспечивающей решение коммуникационной задачи, видно, что в структуре и характере функционирования РИСУ просматрива16
ется большая общность с информационно-вычислительными сетями. Следовательно, задачи проектирования РИСУ состоят из задач проектирования информационной сети (ИС), с учетом специфики вносимой функциональными компонентами распределенной автоматизированной системы в части конкретных характеристик информационных потоков, вычислительной сложности алгоритмической обработки информации и т.д. РИСУ является сложной, многопрофильной структурой, компоненты которой расположены на значительных расстояниях друг от друга. В состав сети, объединяющей компоненты РИСУ, могут входить магистральные сети (WAN, MAN), локальные сети, связанные между собой [47, 66]. Для соединения удаленных локальных сетей и отдельных компьютеров в единую сеть применяются разнообразные телекоммуникационные средства. Особенностью такой сложной сети является высокая степень неоднородности аппаратных, системных и прикладных программных средств, вычислительной техники [67, 76, 83, 106]. На построение интерсетей влияют разнообразные характеристики исходных (объединяемых) сетей, достигнутый уровень стандартизации, применяемые общесистемные концепции интегрирования вычислительных ресурсов, характеристики трафика [89, 101, 104]. При объединении в сеть большого числа компьютеров наибольший практический интерес приобрела топология интерсети с опорной подсетью. В такой структуре межсетевой трафик, проходящий по опорной подсети, суммируется из трафиков отдельных взаимодействующих хост-ЭВМ, что приводит к повышенным требованиям к пропускной способности опорной подсети и межсетевых устройств. Этим требованиям в наибольшей степени для передачи разнородного трафика удовлетворяет магистраль АТМ. Внедрению технологии АТМ способствует широкий спектр предлагаемого оборудования – для построения магистрали сети, поддержки рабочих групп, доступа к глобальным и ло 17
кальным сетям, сетевые адаптеры. Широкая номенклатура позволяет решать задачу любой сложности – от подключения рабочей группы до создания магистрали. Однако установка сети АТМ достаточно дорогостоящее мероприятие. Поэтому на практике очень немногие компании готовы полностью отказаться от существующих локальных сетей Ethernet или Token Ring, чтобы установить сквозную АТМ. В подавляющем большинстве случаев организации хотят подключить свои традиционные локальные сети к магистрали АТМ [91, 94]. Но в обоих вариантах, на этапе проектирования РИСУ, необходимо оценить требуемую производительность создаваемой информационной сети, вероятностно-временные характеристики (ВВХ) функционирования которой используются в качестве критерия принятия решения. Рассматривая ИС, как средство взаимодействия множества пользователей (включая и автоматические, например, программно-технические средства РАС) между собой, можно выделить три группы задач, решаемых на этапе системного проектирования. Первая группа задач связана с синтезом топологической структуры ИС с учетом ее развития, динамики потоков и живучести, выбором производительности и алгоритмов функционирования ее элементов: узлов сети (УС) и каналов связи (КС). Вторая группа задач обусловлена реализацией технологии взаимодействия. В основу этой технологии положена идея стандартизации и унификации доступа к ИС, стандартной и четко определенной структуры (форматов) обмениваемой информации и процедур взаимодействия пользователей независимо от их типа, местоположения, области применения. Данная технология взаимодействия получила свое оформление в виде системы протоколов обмена информацией, имеющих многоуровневую структуру [76, 77, 78]. Третья группа задач - это задачи управления взаимодействием на уровне транспортной сети, решение их связано с разра-
18
боткой эффективных процедур управления коммутацией, маршрутизацией, управлением потоками, реконфигурацией сети. При системном проектировании сети в качестве критериев используются: вероятностно - временные характеристики доставки сообщений, стоимость сети, структурная надежность либо живучесть сети. Причем стоимость сети выступает часто в виде ограничения [15, 64, 87]. Названные задачи системного проектирования связаны между собой. Оптимальная топология должна допускать такое распределение потоков и пропускных способностей каналов и узлов, которое минимизирует время задержки или стоимость. Распределение потоков зависит от выбранного алгоритма маршрутизации, что совместно с управлением потоками и передачей в значительной степени определяет успешное функционирование сети. На первом этапе определяется исходный граф сети [85]. Для РИСУ геометрия сети в определенной степени предопределена топологией распределенных объектов РАС, а также характерной особенностью современных телекоммуникационных систем, состоящей в использовании магистральных сетей в качестве опорной сети для объединения распределенных информационных ресурсов в единую систему. Для этого арендуются магистральные каналы какой-либо ведомственной сети, число которых должно обеспечить необходимую связность создаваемой информационной сети, т.е. ее структурную и функциональную надежность. Это в определенной степени предопределяет и состав ИС. В создаваемой РИСУ можно выделить три структурообразующих звена: - локальные сети, обеспечивающие управление различными рабочими группами объектов РАС; - опорная (базовая) сеть, через которую реализуется взаимодействие между локальными сетями различных компонентов РАС; 19
- межсетевые устройства - коммутаторы, которые обеспечивают сопряжение локальных сетей с опорной сетью. Затем проводится анализ исходного варианта сети, с привлечением аналитического и имитационного методов моделирования. Определяются основные характеристики, а именно: среднее время доставки пакетов стандартной длины и категории срочности между любой парой абонентов сети; вероятность потери пакетов в сети и между любой парой узлов; вероятность своевременной доставки пакетов. Определяется область допустимых значений нагрузки, при которых обеспечивается требуемое время передачи информации. Последующие этапы синтеза выполняются с использованием результатов анализа исходного варианта. Главным параметром оптимизации выступает средняя задержка пакетов в сети, но сложность задачи заключается в том, что для различных участков сети должны выполняться различные как в качественном, так и в количественном отношении условия [73]. Поэтому в большинстве случаев в роли критериев эффективности может выступать время доставки пакетов между отдельными корреспондирующими парами «источник-адресат». Тогда задача оптимизации сети будет заключаться в оптимизации сети по направлениям обмена информацией, для решения которой нужно определить среднее время доставки между всеми корреспондирующими парами узлов при заданных структуре сети, алгоритмах маршрутизации и дисциплине очередей; вероятности недоставки пакетов за заданное время между парами узлов [49, 50, 51]. К основным показателям качества функционирования сети также относится структурная надежность. Для ее обеспечения накладывают ограничения на связность графа проектируемой сети. При оценке надежности либо живучести исходят из того, что правильно спроектированная сеть должна сохранять свои характеристики не ниже заданных пределов при выходе из строя ее элементов. Поэтому, на стадии проектирования, весьма полезно оценить изменения характеристик качества функциониро20
вания сети при одиночном или групповом отказах элементов сети. Причем, элементы сети отличаются степенью значимости, то есть сеть не инвариантна к выходу из строя различных элементов. Знание величин, характеризующих количественные изменения показателей эффективности работы сети при выходе из строя элементов разной степени значимости, позволит разработчику внести какую-либо корректировку в проект структуры сети, например, организовать дублирование ненадежных связей. Следовательно, необходим аппарат, который позволит достаточно оперативно просчитать различные варианты функционирования сети в условиях отказов элементов [51]. Особенно это актуально при проектировании ИС большой размерности. В [95] отмечается: «строгий анализ информационной сети с произвольной структурой с целью определения вероятностных характеристик связности по существу возможен лишь методами, близкими к прямому перебору состояний, даже относительно простые реальные системы с числом элементов (каналов связи, узлов коммутации, абонентских пунктов) порядка 30-40 приводят к необходимости перебора миллиона состояний». С необходимостью решения ряда аналогичных задач сталкиваются при эксплуатации сети. Эксплуатация сети связи сопряжена с ее развитием и модернизацией: подключение новых пользователей, интеграция служб, расширение парка средств, введение новых подсистем, эволюция функций управления, реконфигурация сети. В том случае, когда опорная сеть создается самостоятельно, возникает ряд специфических задач при проектировании широкополосных цифровых сетей интегрального обслуживания. В сетях АТМ управление потоком не применяется - трудно выполнимо при высоких скоростях передачи [94, 100]. Обслуживание в таких сетях характеризуется распределением ресурсов. Статистическое распределение ресурсов определяется с учетом вида трафика. При этом предъявляются различные требования в зависимости от вида трафика. Выделяются три категории трафика: 21
трафик реального времени, трафик обработки транзакций и трафик передачи данных [47, 66]. Трафик реального времени – трафик с аудио– и видеоинформацией, не допускающей задержки при передаче. Задержка обычно не превышает 0.1 с, включая время на обработку на конечной станции. Для видео пакетов требования жесткие как к потерям (10-11 ), так и к задержке отдельных пакетов [100]. Трафик транзакций требует задержки до 1 с. Большие задержки приводят к снижению производительности труда. Трафик данных может работать практически с любой задержкой. Особенностью трафика данных является повышенная чувствительность к доступной пропускной способности - жесткие требования к потерям при передаче данных (10-8). В сетях АТМ при передаче речи и видео имеют дело с пакетами реального времени (ПРВ). ПРВ - это пакет, который теряет свою ценность, если его задержка превышает определенное значение [100]. Это обуславливает повышенный вес и точность такой характеристики, как вероятность доставки пакета за время, не превышающее допустимое. Форум АТМ определил три основных параметра качества обслуживания, которые должны согласовываться сетевыми устройствами при установлении соединения [66]: - время задержки при передаче ячеек (Cell Transfer Delay – CTD); - вариация времени задержки (Cell Delay Variation – CDV); - процент потерянных ячеек (Cell Loss Ratio – CLR). В равной степени перечисленные характеристики качества обслуживания обязательны и для других сетевых технологий. Таким образом, при структурном проектировании РИСУ, на этапах настройки, доводки и модернизации сети, комплексирование готовых аппаратных решений требует соответствующих методов и средств (моделей, расчетных методик) оценивания их характеристик, на предмет соответствия требуемому качеству 22
обслуживания при заданном либо прогнозируемом трафике. Для решения названных задач необходимы такие средства, которые удовлетворяют требованиям оперативности анализа вариантов и приемлемой точности результатов. 1.3. Методы моделирования РИСУ
Математической базой методологии структурнофункционального анализа проектов информационных сетей стали сети массового обслуживания (СеМО) [8, 9, 61]. СеМО используют для определения важнейших системных характеристик информационных систем: производительности; времени доставки пакетов; вероятности потери сообщений и блокировки в узлах; области допустимых значений нагрузки, при которых обеспечивается требуемое качество обслуживания и др. В теории СеМО фундаментальным является понятие состояния сети. Важнейшая характеристика сетей МО − вероятности их состояний. Для определения вероятностей состояний СеМО исследуют протекающий в сети случайный процесс. В качестве моделей протекающих в СеМО процессов наиболее часто используют марковские и полумарковские процессы [8, 61]. Попытки глубокого анализа немарковских моделей сетевых систем наталкиваются на значительные трудности, которые обусловлены, в частности, отсутствием независимости длительностей пребывания требований в различных узлах моделей сетевых систем с нестандартными дисциплинами. Так, например, при достаточно реалистическом предположении о том, что длина требования остается постоянной в процессе его передачи через узлы сети, необходимо прослеживать путь каждого требования, что делает невозможным аналитический расчет характеристик для сети с числом узлов М>2 [102]. Таким образом, аналитические методы расчета характеристик ИС базируются, как правило, на анализе экспоненциальных СеMO. Но при использовании этого математического аппарата 23
не всегда удается получить аналитические модели для решения широкого круга задач исследования систем сложной структуры и большой размерности. Тогда остается единственный способ исследования характеристик функционирования таких систем – имитационное моделирование сетей массового обслуживания, с помощью которого решается множество разнообразных задач проектирования сети. Одним из наиболее эффективных методов реализации имитационных моделей технических систем, подверженных случайным воздействиям, является статистическое моделирование [24, 46, 71, 86, 84]. В основе его лежит процедура, применяемая для моделирования случайных величин и функций - метод статистических испытаний (метод Монте-Карло). Общая схема метода Монте-Карло может быть записана в виде M
1 ∑ y( xi ), xi ≈ p( x ), M i =1 ~ где Θ - искомая характеристика, θ - ее выборочная оценка, ~
ЦИКЛ 3. ЦИКЛ 2. ЦИКЛ 1. 1. Имитация случайных воздействий
2. Воспроизведение работы исследуемой системы
3. Обработка результатов моделирования
5. Построение и корректировка модели
4. Выбор оптимального варианта
θ = ∫ y( x ) p( x )dx ≈ θ =
функция y задается алгоритмом моделирования. Для каждой реализации процесса y(x) аргументы, составляющие вектор x, имеют случайные значения, описываемые плотностью p(x). 1.3.1. Технологическая схема имитационного моделирования систем
Методологические аспекты и проблемы имитационного моделирования удобно рассматривать на укрупненной схеме процесса моделирования (рис.1.4). Блоки 1,2,3 представляют операции по исследованию одного варианта модели. Эти операции повторяются при различных реализациях случайных процессов, образуя внутренний цикл моделирования (ЦИКЛ 1).
24
Рис. 1.4. Процесс моделирования системы Процедура выбора оптимального варианта моделируемой системы (блок 4) управляет экспериментом путем изменения соответствующим образом вариантов модели. При этом блоки 1,2,3 (внутренний цикл) охватываются цепями обратной связи (ЦИКЛ 2). Связь 3-4-2 отражает адаптацию моделируемой системы. Связь 3-4-1 может возникнуть, если при оптимизации варьируется не только модель системы, но и модель случайных воздействий. Последовательность моделей (ЦИКЛЫ 1, 2) образуют динамику моделирования. Операции с одним вариантом модели (ЦИКЛ 1) - статику моделирования [72]. Опыт моделирования отдельных вариантов системы достаточно обширен. Длительное время основные усилия исследователей были направлены на развитие метода (ЦИКЛ 1) прямой статистической имитации реального процесса. Рекомендации по 25
имитации случайных воздействий, статистической обработке результатов моделирования, программированию некоторых классов моделей, в частности моделей массового обслуживания, можно найти и в общих руководствах по вероятностному моделированию [1, 16, 17, 30, 41, 86, 43, 55] и в многочисленных статьях. Прямой метод, вполне приемлемый для анализа относительно простых систем, становится малоэффективным при изучении сложных стохастических систем. Моделирование сопряжено с большими затратами машинного времени при достижении необходимой точности для каждого анализа огромного числа вариантов структурных и нагрузочных параметров, особенно при решении задач синтеза сложных систем. Так, например, применение имитационного моделирования на основе метода статистических испытаний для оценки таких характеристик, как вероятность потерь, допустимых по рекомендации МККТТ в сетях интегрального обслуживания, практически невозможно. Оценка вероятности потери со значением 10-9 требует не менее
1011 − 1012 испытаний, что сопряжено с огромными затратами машинного времени. Оценка результатов исследования вариантов модели оказывается типовой операцией (ЦИКЛ 1), многократно выполняемой как в динамическом цикле, как в цикле корректировки модели (ЦИКЛ 3), так и в цикле оптимизации (ЦИКЛ 2): любой метод поиска экстремума основан на сравнении значений оптимизирующего показателя. Для разработки схем поиска оптимального варианта структуры системы могут быть использованы методы планирования имитационного эксперимента. Однако использование этих методов для синтеза структур существенно ограничено из-за большого расхода машинного времени при проведении необходимых прогонов имитационной модели [95]. Поэтому используются различные методы направленного имитационного моделирования, позволяющие в ряде случаев существенно сократить 26
перебор вариантов и уменьшить время поиска. Эти методы основаны на различных поисковых процедурах. Однако, их применение к синтезу ИС существенно затруднено. Так, например, градиентные процедуры поиска экстремума обычно предполагают непрерывность и дифференцируемость критерия в области поиска. Когда же критерии заданы алгоритмически, точное значение градиента неизвестно и может быть вычислено лишь приближенно. При этом вычисление приближенного значения градиента в каждой точке сопряжено со значительным числом имитационных экспериментов. Возможно применение и других поисковых алгоритмов [96]. Однако многие из них требуют вычисления производных высших порядков функции, задающей критерий, что сопряжено со значительными трудностями при их реализации. Более того, в большинстве практически важных случаев искомые оценки не являются непрерывно дифференцируемыми функциями, кроме того, их аналитический вид неизвестен. Здесь может оказаться полезным метод стохастических квазиградиентов, при которых направление перебора вариантов определяется итерационным процессом, включающим на каждой итерации имитационной эксперимент. В настоящее время появились работы, связанные с новыми способами решения оптимизационных задач. Это методы поиска глобального экстремума в области больших значений исходных данных на основе нейросетевых методов, позволяющие существенно сократить время решения задачи. Результативность решения оптимизационных задач нейросетевыми методами при больших размерностях задачи превышает традиционные методы [62]. Итак, с точки зрения потребляемого машинного ресурса доминирующим в схеме (рис.1.4.) является статистическое моделирование (ЦИКЛ 1). Это положение определяет актуальность разработки методов и средств, обеспечивающих ускорение статистических экспериментов с имитационными моделями информационных систем. 27
1.4. Современные средства имитационного моделирования систем
С момента своего появления в конце 60-х годов прошлого столетия метод имитационного моделирования прошел долгий путь развития, обусловленный естественным изменением концепций, парадигм программирования, поколений языков имитационного моделирования, средств вычислительной техники, а также областей приложений. В нашей стране в 60 - 80-е годы имитационное моделирование (ИМ) являлось одним из наиболее развитых направлений в информатике. Методологической основой для развития ИМ стали работы Н.П. Бусленко, В.М. Глушкова, Н.Н. Моисеева, Т.И. Марчука, И.Н. Коваленко, Вавилова А.А. под руководством которых были созданы научные школы в Москве, СанктПетербурге, Киеве. В эти годы были созданы методоориентированные технологии системного моделирования, имеющие в своей формальной основе: теорию массового обслуживания; теорию автоматов; теорию агрегатов; сети Петри; системную динамику; ситуационное управление. Был выполнен большой объем исследований по развитию методологии, методов и технологий моделирования [1, 16, 17, 96, 28, 72, 54, 45]. Разработаны средства и системы моделирования на базе универсальных алгоритмических языков, специализированные языки имитационного моделирования, проблемноориентированные системы моделирования. Среди наиболее значимых практических разработок можно выделить такие программные средства имитационного моделирования как СЛЭНГ, НЕДИС, СТАМ, АИС, АЛСИМ, ФОРОС и др. К концу 60-х годов, благодаря создателям языка моделирования SIMULA – 67, были сформулированы требования к универсальным языкам программирования, обеспечившие успех их развития в направлении моделирования систем с дискретными событиями. SIMULA–67 положила начало объектно28
ориентированному представлению исследуемых систем. В 70-х годах происходило взаимное обогащение и слияние языков, в результате которого стало возможным моделирование не только дискретных и непрерывных, но и дискретно-непрерывных систем. В 70-80-х годах были созданы эффективные средства порождения имитационных программ, предназначенных для генерации траекторного поведения систем. Главной идеей разработчиков технологий в конце 80-х – начале 90-х годов стала идея создания универсального языка программирования, способного охватить все проблемы моделирования и обеспечить адаптируемость к диалектам различных профессиональных групп пользователей. Универсальный язык рассматривался, как технологическая база интерактивных интегрированных систем моделирования, открытых для расширения состава взаимодействующих функциональных подсистем, разделяющих единую базу данных и разнородных по присущим им методам описания и обработки. Идея интеграции, включающая концепции расширения, специализации и удобства пользовательских интерфейсов, дополненная концепцией социальной значимости имитационного моделирования, привела к созданию моделирующих центров (МЦ) [1]. В условиях МЦ осуществлялась поддержка комплексных научных программ, выполнение которых связано с применением компьютерного моделирования на всех этапах выполнения проектов. Более подробное освещение истории развития и становления имитационного моделирования в нашей стране можно найти в [31, 13, 80]. В настоящее время известно более 600 наименований систем, отдельных средств и языков имитационного моделирования. Их главной особенностью является ориентация на конечного пользователя, выражающаяся в очень высокой эффективности и доступности для пользователей – непрофессионалов, желающих самостоятельно решать свои задачи. Подробный обзор коммерческих продуктов для имитационного моделирования можно найти на сайте ежегодной конференции Winter Simulation 29
Conference, а также в [105, 90]. В наиболее часто публикуемый список «первой десятки» языков и пакетов, широко применяемых сегодня для моделирования производственных и логистических систем, входят GPSS/H, SIMULA, SLX, Arena, AutoMod, Extend, ProModel, QUEST, SIMFACTORY II.5, SIMPLE++ (eMPlant), Tailor ED, WITNESS. Все эти системы моделирования обладают в той или иной степени общими свойствами: 1. Поддержка работы программиста на этапах создания и отладки моделей. Здесь предпочтение отдается идеографическому способу формирования модели, т.е. модель первоначально создается в виде 2D или 3D-структуры из заранее подготовленных графических компонентов, работая в режиме Drag&Drop. 2. Возможности, предоставляемые пакетом для создания анимации. Анимационные пакеты могут быть уже интегрированы в систему имитации, также немаловажно существование возможности использования анимационных пакетов сторонних разработчиков (например, 3D Max, True Spase, Light Wave, SPAZZ_3D, ISA). Наибольшее предпочтение в современных системах имитации отдается пакету VRML, как наиболее открытому для сопряжения с другими программными средствами. 3. Способность к интеграции с другими программными системами. Здесь можно выделить три аспекта интеграции: - взаимодействие с различными информационными базами данных и программными приложениями, позволяющее вводить исходные данные из соответствующих баз данных или в форме Exell – таблиц. - возможность работы с моделями через Internet или Intranet. Средства Java Applet или ActiveX дают пользователю возможность, работая с обычным браузером, подготавливать, реализовывать и анализировать имитационные эксперименты. - возможность использования моделей в системах поддержки принятия решений. Моделирование рассматривается здесь, как один из инструментов поддержки принятия соответствующих технических или экономических решений. 43
Резюмируя, можно утверждать, что все современные пакеты имитационного моделирования имеют больше аналогий, чем различий, являются прежде всего объектно-ориентированными, что позволяет сравнительно легко создавать любые адекватные решаемой задаче классы статических и динамических объектов. Их главной особенностью является ориентация на конечного пользователя и самый широкий рынок потребителей. Их несомненное достоинство заключается в доступности и наглядности работы модели, хотя анимация для рассматриваемого нами класса задач имеет второстепенное значение. Важнейшей остается задача оценки показателей функционирования системы, которые в конечном итоге используются для решения соответствующей прикладной задачи. Научный базис моделирования в них остался прежним. Решение по-настоящему трудных задач на их основе ничуть не облегчилось. Как образно выразился известный специалист по имитационному моделированию Ю.Толуев [90]: «…дерево имитационного моделирования стало настолько большим, что оно перестало помещаться только лишь в пространстве «искусство и наука», как это было на момент опубликования книги Роберта Шеннона в 1975 году. Оставив свои корни в этом пространстве, значительная часть дерева находится в пространстве «техника и бизнес», где и можно сейчас наблюдать активный рост и цветение его кроны. Этот факт хочется подчеркнуть еще и потому, что в области «корней» активного роста в последние годы не наблюдается: фундаментальные основы имитационного моделирования не подвергаются пока ревизии и существенно не расширяются…». Проблемы имитационного моделирования связанные с быстродействием, особенно для систем большой размерности, планированием имитационных экспериментов, применением моделей в «контуре управления», т.е. в реальном масштабе времени, все еще пока остаются.
31
1.4.1. Проблемы имитационного моделирования систем
Несмотря на совершенствование современных имитационных систем, их интеграцию с последними достижениями информационных технологий, проблемы, связанные с ускорением процесса моделирования, минимизацией вычислительных затрат без потери точности результатов моделирования, требуют решения. Рассмотрим некоторые из них [16, 86, 55, 99, 75]. Большой объем вычислений. Метод имитационного моделирования характеризуется тем, что решение всегда носит частный характер. Оно соответствует фиксированным значениям параметров системы и начальных условий. Для анализа системы приходится многократно моделировать ее процесс функционирования, варьируя исходные данные задачи. Вычисления различных интегрированных характеристик процессов, как правило, требуют отображений вида F: Ω → Z, где Ω - множество траекторий поведения системы; Z - множество значений характеристик системы. Отсюда следует, что также требуется многократное проведение экспериментов по получению траекторий модели системы, а затем осуществление преобразования F. В этих условиях, особенно в случае решения задач статистического характера, требуется выполнить огромный объем вычислений, что требует эффективных методов реализации моделирования на ЭВМ. Размерность. Наиболее полное исследование общесистемных проблем можно получить, моделируя объекты большого масштаба в целом, в условиях, близких к реальным. Для того, чтобы модель давала описание, хорошо отражающее реальность, она необходимо должна быть достаточно сложна. Но в таком случае машинный эксперимент требует больших затрат машинного времени и памяти, а большое количество экспериментов необходимое условие любого анализа. Проведение же экспериментов с малым числом объектов, т.е. понижение размерности исследуемой системы, искажает результаты, так как оно создает 32
нереальные условия функционирования системы. Ограниченность ресурсов используемой вычислительной техники являлась в недавнем прошлом едва ли не центральной задачей исследования, требующей упрощения модели, замены ее другой, более доступной для анализа. Разномасштабность. Трудности, связанные с воспроизведением модели на ЭВМ определяются не только ее размерностью, еще более трудной оказывается организация вычислений характеристик разномасштабных процессов, составляющих исследуемое явление, когда в системе появляются процессы с малыми характерными временами, т.е. такие, которые описываются быстро изменяющимися переменными. Анализ подобных моделей требует огромных затрат машинного времени. Здесь также требуется упрощение модели. Но упрощения модели не должны при этом сопровождаться потерей качественных особенностей модель должна сохранить свое соответствие реальности. Проблемы, связанные с размерностью, ресурсоемкостью, вычислительными затратами решаются различными способами. Это разработка методов декомпозиции моделируемых объектов и декомпозиции задач анализа систем, применение методов регенеративного моделирования, методов понижения дисперсии [71, 49], разработка комбинированных и аналитикостатистических методов [49, 79, 50]. Рассмотренные проблемы имитационного моделирования тесно связаны с понятием технической реализуемости метода. Под технической реализуемостью метода понимают возможность решения задачи данным методом на выбранных инструментальных средствах в приемлемое для пользователя время. Техническая реализуемость прямо связана с понятием технической сложности, под которой понимается Q=П x T, где П - требуемый объем оперативной памяти; Т - требуемое количество вычислений или машинное время для реализации метода на выбранной инструментальной системе [45]. Выход за приемлемые границы технической сложности может привести к отказу от 33
выбранного метода решения задачи и к корректировке частных моделей. Такая корректировка может потребовать решения технологических задач оптимизации моделей системы в части технической сложности. Методы решения этих задач базируются на использовании операций эквивалентного преобразования моделей, заданных в фиксированных формальных схемах, например, эквивалентных преобразований в теории автоматов, или для агрегативных систем [1, 16, 17]. Не исключено использование и других, специализированных методов понижения технической сложности. Например, возможен отказ от прямых алгоритмов имитации и использование аналитико-имитационных алгоритмов, приводящих к существенному ускорению процесса моделирования [45]. Расширение возможностей моделирования различных классов больших систем неразрывно связано с совершенствованием средств вычислительной техники [86]. Основным барьером на пути решения проблем ИМ является уровень эффективного и полноценного применения средств вычислительной техники. Эти проблемы могут быть решены лишь на достаточно мощной аппаратной базе с применением эффективных методов программирования. В настоящее время успешно развивается новое направление в компьютеризации - массово-параллельные вычислительные системы. Производительность наиболее мощных вычислительных установок - суперкомпьютеров возрастает, ориентировочно, на порядок за пятилетие. Однако огромная производительность параллельных компьютеров и супер-ЭВМ компенсируется сложностями их использования. Реализовать потенциальные возможности таких систем возможно только на основе целенаправленной работы как по адаптации существующих, так и по построению новых алгоритмов, созданию инструментальных средств выявления скрытого параллелизма, осуществления вычислительной балансировки работы вычислительных модулей для каждой конкретной задачи. Необходимо тщательное согла34
сование структуры программ и алгоритмов с особенностями архитектуры параллельных вычислительных систем [19, 20, 36]. Кроме того, стоимость суперкомпьютеров очень высока, например, при стоимости микропроцессора порядка тысячи долларов, для зарубежных суперкомпьютеров стоимость, в пересчете на процессорный узел, составляет 10-100 тысяч долларов. Эти причины обусловили бурное развитие нового направления: построение многопроцессорных параллельных вычислительных систем - кластеров, на базе стандартных общедоступных технологий и компонентов массового производства с использованием стандартизованных в мировой практике интерфейсов и программных средств. Причем, как оказалось, на многих классах задач эти системы дают производительность, сравнимую с производительностью классических суперкомпьютеров [6]. С другой стороны, локальные вычислительные сети тоже стали рассматриваться как дешевая альтернатива дорогим суперкомпьютерным установкам. Связано это с улучшением технико-экономических показателей (сочетание «цена / производительность») персональных компьютеров и сетевого оборудования. Начиная с 1992 года, по скорости роста производительности сетевое оборудование обгоняет процессоры. Для многих организаций перспектива использования сетей рабочих станций и персональных компьютеров в качестве суперкомпьютеров весьма заманчива. Сети не могут соревноваться по скорости с суперкомпьютерами-рекордсменами, но они на несколько порядков дешевле, их можно использовать там, где объемы расчетов велики, а суперкомпьютеры экономически не оправданы [5]. Развитие сетевых технологий способствует использованию сетей в качестве параллельных вычислителей. В первую очередь это Fast Ethernet и Gigabit Ethernet, также технологии коммутации и сетевые протоколы, поддерживающие широковещание и мультикастинг. Используемые в сетях Ethernet и Token Ring протоколы IPX, SPX , NetBIOS позволяют организовать взаи35
модействия между программами, работающими на разных станциях в сети без обращения к файловому серверу [63, 97]. Одноуровневые взаимодействия в сети могут быть использованы в самых разных пользовательских приложениях, а также могут быть использованы в качестве основы для сложных распределенных систем обработки. Сетевая прикладная программа может быть спроектирована так, что часть работы выполняют компьютеры, действующие, как вспомогательные функциональные процессоры. Разработка способов построения алгоритмов имитационного моделирования с распределенной (параллельной) обработкой в локальной вычислительной сети и кластерных системах, использование их, как технической базы для моделирования сложных систем, позволит решить проблемы ресурсоемкости и вычислительных затрат при имитационном моделировании. 2. Общая концепция распределенного имитационного моделирования РИСУ 2.1. Современные высокопроизводительные вычислительные системы.
Создание и развитие многопроцессорных вычислительных систем до современного уровня продиктовано потребностью решения сложных прикладных задач с большим объемом вычислений. Это задачи из самых разных областей - не только математики и физики, но и химии, геологии, биологии, лингвистики и др. Задача имитационного моделирования распределенных информационных систем управления так же относится к классу задач, требующих больших вычислительных ресурсов. В настоящее время развитие высокопроизводительной вычислительной техники идет по четырем направлениям [20]. 1.Векторно-конвейерные компьютеры. Особенностью таких машин являются конвейерные функциональные устройства 36
и набор векторных инструкций в системе команд. Векторные команды оперируют целыми массивами независимых данных, что позволяет эффективно загружать доступные конвейеры. Характерным представителем данного направления является семейство векторно-конвейерных компьютеров CRAY, куда входят: CRAY EL, CRAY J90, CRAY T90. 2. Массивно-параллельные компьютеры с распределенной памятью. К данному классу можно отнести компьютеры Intel Paragon, IBM SP1, Parsitex, IBM SP2, CRAY TD3/T3E . 3. Параллельные компьютеры с общей памятью. Вся оперативная память таких компьютеров разделяется несколькими одинаковыми процессорами. В данное направление входят многие современные многопроцессорные SMP-компьютеры или, например, отдельные узлы компьютеров HP Exemplar и Sun StarFire. 4. Последнее направление представляет собой комбинация предыдущих трех. Из нескольких процессоров (традиционных или векторно-конвейерных) и общей для них памяти формируется вычислительный узел. Если полученной вычислительной мощности недостаточно, то объединяются несколько узлов высокоскоростными каналами. Подобную архитектуру называют кластерной, и по такому принципу построены CRAY SV1, HP Exemplar, Sun StarFire, NEC SX-5, последние модели IBM SP2 и др. Именно это направление в настоящее время является наиболее перспективным для конструирования компьютеров с рекордными показателями производительности. Основным параметром классификации параллельных компьютеров является наличие общей (SMP) или распределенной памяти (MPP). Нечто среднее между SMP и MPP представляют собой NUMA-архитектуры, где память физически распределена, но логически общедоступна. Все большую популярность приобретают идеи комбинирования различных архитектур в одной системе и построения неоднородных систем.
37
Рассмотрим основные классы современных высокопроизводительных вычислительных систем с целью определения тех средств, которые наиболее подходят в качестве технической базы для решения задач имитационного моделирования РИСУ. 1. Симметричные мультипроцессорные системы (SMP). Система состоит из нескольких однородных процессоров и массива общей памяти. Все процессоры имеют доступ к любой точке памяти с одинаковой скоростью. Процессоры подключены к памяти либо с помощью общей шины, либо с помощью crossbar-коммутатора (HP 9000). Примеры: RM 600 E, HP 9000 V-class, N-class; SMP-сервера и рабочие станции на базе процессоров Intel (IBM, HP, Compag, Dell, ALR, Unisys, DG, Fujitsu и др.) Вся система работает под управлением единой ОС (Обычно UNIX - подобной, но для некоторых платформ поддерживается Windows NT). ОС автоматически в процессе работы распределяет процессы - нити по процессорам, но иногда возможна и явная привязка. Основное преимущество SMP - относительная простота программирования. В ситуации, когда все процессоры имеют одинаково быстрый доступ к общей памяти, вопрос о том, какой из процессоров какие вычисления будет выполнять, не столь принципиален. И значительная часть вычислительных алгоритмов, разработанных для последовательных компьютеров, может быть ускорена с помощью распараллеливающих и векторизующих трансляторов. SMP-компьютеры - это наиболее распространенные сейчас параллельные вычислители. Однако число процессоров ограниченно, так как увеличение не дает выигрыша изза конфликтов при обращении к памяти. 2. Массивно-параллельные системы MPP. Система состоит из однородных вычислительных узлов, включающих: один или несколько центральных процессоров (обычно RISC), локальную память (прямой доступ к памяти других узлов невозможен), жесткие диски. К системе могут быть добавлены специальные узлы ввода-вывода и управляющие уз38
лы. Узлы связаны через коммуникационную среду (высокоскоростная сеть, коммутатор и т.п.). Примеры: IBM RS/6000 SP2, Intel PARAGON/ASCI Red, SGI/CRAY T3E, RM 1000 (SiemensPiramid). Общее число процессоров в реальных системах достигает нескольких тысяч (ASCI Red, Blue Mountain). На каждом узле работает полноценная UNIX - подобная ОС (вариант близкий к кластерному подходу). Пример: IBM RS/6000 SP + OC AIX, устанавливаемая отдельно на каждом узле. Каждый процессор имеет доступ лишь к своей локальной памяти, а если программе нужно узнать значение переменной, расположенной в памяти другого процессора, то задействуется механизм передачи сообщений. При создании программ необходимо учитывать топологию системы и специальным образом распределять данные между процессорами, чтобы минимизировать число пересылок и объем пересылаемых данных. Это обстоятельство мешает широкому внедрению подобных архитектур. Из-за того, что МРР-системы включают различное число процессоров, объединенных коммуникационными подсистемами различной топологии и пропускной способности, поддерживающими разные наборы примитивов, программы, стремящиеся максимально полно использовать возможности компьютера, оказываются жестко привязанными к его архитектуре. 3. Системы с неоднородным доступом к памяти (NUMA). Система состоит из однородных базовых модулей, состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной. Примеры: HP, HP 9000 V-class в SCAконфигурациях, SGI Origin2000, Sun HPS 10000, IBM/Sequent NUMA-Q 2000, SNI RM600. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 256
39
(Origin2000). Обычно вся система работает под управлением единой ОС, как в SMP. В рассмотренной архитектуре главной особенностью является виртуальная общая память. Каждый процессор может обращаться напрямую только к своей локальной памяти, однако все узлы используют единое адресное пространство. Если программа обратилась по адресу, принадлежащему локальной памяти другого процессора, генерируется аппаратное прерывание по особому случаю адресации, и операционная система выполняет пересылку страницы с одного узла на другой. В результате можно ускорять программы, первоначально разработанные для последовательных систем, транслируя их с помощью распараллеливающего компилятора. Благодаря чрезвычайно высокому быстродействию коммуникационной системы (пиковая скорость передачи данных между двумя узлами составляет 300Мb/sec в каждом направлении) этот подход в целом оправдывает себя. Однако, когда на одну страницу виртуальной памяти попадает несколько "популярных" переменных, считываемых и модифицируемых множеством процессоров, возникает эффект "пингпонга": страница непрерывно мигрирует с узла на узел и производительность системы падает. 4. Кластерные системы. Набор рабочих станций (или даже ПК) общего назначения, используется в качестве дешевого варианта массивнопараллельного компьютера. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Myrinet) на базе шинной архитектуры или коммутатора. При объединении в кластер компьютеров разной мощности или разной архитектуры, говорят о гетерогенных (неоднородных) кластерах. Узлы кластера могут одновременно использоваться в качестве пользовательских рабочих станций. В случае, когда это не нужно, узлы могут быть существенно облегчены и/или установлены в стойку. Используются стандартные для рабочих станций ОС, чаще всего, свободно распространяемые 40
Linux/FreeBSD, вместе со специальными средствами поддержки параллельного программирования и распределения нагрузки. Прогресс в области сетевых технологий, появление недорогих, но эффективных коммуникационных решений предопределили появление кластерных вычислительных систем, фактически являющихся одним из направлений развития компьютеров с массовым параллелизмом (МРР). Вычислительный кластер - это совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи. Кластерные системы во многом похожи на МРР, однако, имеются существенные отличия [12, 3, 98]. Прежде всего, в большинстве случаев архитектурные особенности связаны с применением обычных компьютерных сетей, что обусловливает высокие накладные расходы при межмашинном взаимодействии. Кроме того, за счет менее жестких требований к составу технического и программного обеспечения имеется возможность построения кластера из неоднородных узлов (так называемые гетерогенные кластеры) - с различной программно-аппаратной организацией и производительностью. Данная особенность снимает привязку к конкретной платформе, но, с другой стороны усложняет задачу разработки общесистемного и прикладного ПО для подобных систем. В последнее время все большую популярность приобретают системы NOW (Network of Workstations), которые можно классифицировать как один из видов систем с кластерной обработкой. Многие фирмы предлагают готовые решения по кластеризации на основе либо собственных разработок (Sun, HP, DEC, NCR, SGI), либо с применением стандартных компонентов высокой готовности и распространенного базового ПО (Linux/Beowulf, Avalon). Несмотря на имеющиеся недостатки и ограничения кластеров, наблюдается устойчивая тенденция к переходу на эти относительно дешевые вычислительные архитектуры, представляющие реальную альтернативу дорогим суперкомпьютерам.
41
5. Локальные вычислительные сети. Набор персональных компьютеров общего назначения, объединенных средой передачи. Для связи узлов используется одна из стандартных сетевых технологий (Fast/Gigabit Ethernet, Token Ring). Ethernet, на базе шинной архитектуры или коммутатора, широко используется в локальных сетях. Token Ring реализует технологию передачи маркера, использует кольцевую или звездообразную топологии. Среда передачи определяется стандартами сетевых технологий, для высокоскоростных технологий это витая пара UDP-5, оптоволоконный кабель. Используются стандартные для локальных сетей сетевые операционные системы, чаще всего, Windows NT, Novell NetWare Локальные вычислительные сети стали рассматриваться как дешевая альтернатива дорогим суперкомпьютерным установкам. До последнего времени основным препятствием для применения сетей в качестве параллельных вычислителей было отсутствие инструментария. Для создания сетевых приложений можно использовать интерфейс сокетов. Хотя существует мнение, что интерфейс сокетов - слишком низкоуровневый для большинства применений. Так в [5] замечено, что написать и отладить программы, основанные непосредственно на интерфейсе сокетов, не легче, чем написать вручную и отладить программу в машинных кодах. Поэтому крупным достижением считалось создание и стандартизация интерфейса передачи сообщений MPI (Message Passing Interface). MPI поддерживает несколько режимов передачи данных: синхронную и асинхронную передачу, коллективные операции, широковещательную передачу. Библиотеки MPI реализованы практически на всех современных суперкомпьютерах, а также могут использоваться и в кластерных системах, и в локальных сетях, т. е. пригодны для использования в различных системах с распределенной памятью. В [70] приведены результаты исследований, связанных с выбором программных средств для организации параллельных вычислений в компьютерной сети. Были испытаны пакеты PVM, 42
MPI. Предварительные испытания пакетов показали значительное преимущество MPI как по возможностям, так и по скорости обмена данными между процессами. С помощью MPI была написана параллельная программа, реализующая численное моделирование выбранного объекта исследования. После проведения серии экспериментов для решения задачи повышенной сложности авторы пришли к выводу, что для повышения эффективности (уменьшения накладных расходов при передаче данных между процессами) необходимо использовать протоколы более низкого уровня. При всех достоинствах MPI, попытка обеспечения удобного сервиса для прикладного программиста не совсем благоприятно сказывается на характеристиках эффективного исполнения функций обмена сообщениями, не способствует уменьшению времени организации обмена сообщениями между процессами, что особенно важно для локальных сетей. Так как стандартные программные интерфейсы, как в стиле MPI, так и языковые в стиле стандарта HPF сами построены на базе эффективных низкоуровневых библиотек обмена сообщениями. Исходя из этого, в качестве основы для сложных распределенных систем обработки лучше использовать низкоуровневые взаимодействия в сети на уровне сокетов, не пугаясь сложности программирования на этом уровне. Здесь большее значение имеет то, насколько грамотно будет спроектирована сетевая программа, а расстановка процедур передачи и приема сообщений по уже определенным местам в программе не представляет задачи большой сложности. Можно воспользоваться и сервисом, предлагаемым Windows Sockets. При таком разнообразии параллельных вычислительных систем, тем не менее, следует отметить, что до сих пор применение параллелизма не получило столь широкого распространения. Одной из причин подобной ситуации являлась до недавнего времени высокая стоимость высокопроизводительных систем. Современная тенденция построения параллельных вычисли43
тельных комплексов из типовых конструктивных элементов, массовый выпуск которых освоен промышленностью, снизила влияние этого фактора. Другая и, пожалуй, теперь основная причина сдерживания массового распространения параллелизма в том, что для проведения параллельных вычислений необходимо «параллельное» обобщение традиционной последовательной технологии решения задач на ЭВМ. Алгоритмы решения задач на многопроцессорных систем должны проектироваться, как системы параллельных и взаимодействующих между собой процессов, допускающих исполнение на независимых процессорах. Таким образом, наиболее доступной технической платформой для решения проблемы вычислительных затрат в имитационном моделировании являются локальные вычислительные сети и кластерные системы. 2.2. Организация параллельных вычислений в имитационном моделировании РИСУ
При рассмотрении вопроса организации параллельного выполнения моделирующего алгоритма, следует различать следующие возможные режимы выполнения независимых частей программы: параллельные вычисления и распределенные вычисления. Согласно принятой терминологии [57, 59], основной целью распределенной обработки является обеспечение совместной работы программных компонент, изначально размещенных на различных компьютерах. А основной целью параллельных вычислений [29, 30] является ускорение решения задачи за счет использования большего числа процессоров в вычислительной системе. Поэтому методы параллельных вычислений главным образом направлены на выявление скрытого параллелизма в программах, разработку численных методов, наиболее эффективно реализующих арифметические и логические действия над мас44
сивами данных, методов распараллеливания циклов, линейных участков программ. Результаты этих исследований легли в основу трансляторов, языков параллельного программирования, компиляторов и системного программного обеспечения параллельных вычислительных систем, которые реально оказывают влияние на эффективность решения пользовательских задач. Распределенная обработка предполагает совместное функционирование достаточно автономных, слабосвязанных между собой программ, расположенных на различных компьютерах сети, скорость обмена информацией между этими программами не столь критична, как допустим между программными сегментами единого алгоритма, какими являются моделирующие алгоритмы. Ни одна из этих технологий в чистом виде не подходит к решению задач имитационного моделирования на многопроцессорной вычислительной платформе. Но здесь можно использовать результаты, наработанные как в теории параллельных вычислений, так и в теории распределенной обработки. Кроме того, в теории имитационного моделирования разработаны типовые вычислительные схемы имитации. В имитационном моделировании уже имеет место моделируемый параллелизм (квазипараллелизм), когда параллельные по своей природе взаимодействующие процессы моделируются последовательно. Это было обусловлено изначальной ориентацией на однопроцессорные ЭВМ, что и легло в основу разработанных к настоящему времени типовых вычислительных схем моделирующих алгоритмов. Рассмотрим существующие методы теории параллельных вычислений и теории распределенных вычислений с анализом возможности использования их в имитационном моделировании РИСУ. Для рассмотрения этих методов под определенным углом зрения, необходимо сначала рассмотреть принципы построения моделирующих программ имитации, в соответствии с которыми строятся имитационные модели РИСУ. 45
2.3. Типовые вычислительные схемы имитации
Распределенные информационные системы АСУ относятся к сложным системам и носят дискретно-событийный характер функционирования. Исследование таких систем предполагает проведение анализа динамических свойств систем на основе экспериментов с их дискретно-событийными имитационными моделями. Дискретность систем подразумевает существование множества моментов времени, в которые состояния системы меняются скачками и мгновенно. Дискретно-событийные имитационные модели РИСУ состоят из следующих составляющих: - компонент, воспроизводящих поведение различных элементов и подсистем моделируемого объекта; - компонент, реализующих логику поведения модели, т.е. квазипараллельное и коррелированное течение модельных процессов; - компонент, обслуживающих процесс моделирования (ввод – вывод, планирование машинного эксперимента, статистическая обработка результатов моделирования). Исходя из этого, для создания ИМ РИСУ определяются: - базовые модели, описывающие различные аспекты функционирования подсистем РИСУ; - структура их взаимодействия, т.е. как эти модели соединяются друг с другом; - алгоритм синхронизации, реализуемый управляющей программой модели; - база данных моделирования. В общем виде структура имитационной модели дискретнособытийных систем представлена на рис. 2.1. Представленная структура является статическим описанием имитационной модели, ее работа в качестве имитатора процессов функционирования исследуемой системы осуществима лишь на основе общей вычислительной схемы моделирующего алгоритма. 46
ИМ ДСС Компоненты, реализующие логику модели
Составные модули ИМ
База данных модели
Рис 2.1. Общая структура ИМ дискретно-событийных систем Хорошо известны следующие типовые схемы имитации, используемые во всех известных имитационных системах: - схема событийного подхода или принцип "особых моментов"; - процессно - ориентированная схема; - схема квантованного пересчета - принцип "∆t". Эти вычислительные схемы зависят от управляющей программы имитационной модели, которая поддерживает порядок выполнения программ отдельных функциональных блоков модели (модулей), т.е. двигает стрелки часов системного (модельного) времени, что позволяет осуществить квазипараллелизм в последовательных программах имитации. Рассмотрим кратко, как моделируются системы в общем случае. В базе данных (БД) модели определены переменные и массивы, характеризующие состояние системы в целом и отдельных её элементов. При программной реализации модели разным состояниям модели соответствуют разные наборы чисел. Имитируемые динамические процессы изменяют состав и чи47
словые значения последних и, следовательно, состояния модели. Отдельная запись БД содержит текущее системное время указывающее, к какому моменту времени относится состояние системы, записанное в БД. Содержимое указанных записей меняется путем циклического повторения частей алгоритма моделирования, называемых шагом имитации. За один шаг осуществляется переход к следующему значению системного времени, т.е. продвижение по времени. Попутно изменяется значение переменных, характеризующих состояние системы. Таким образом, шаг за шагом, имитируется смена состояний, т.е. моделируется процесс функционирования системы. Рассмотрим принципы продвижения по времени, реализуемые управляющей программой ИМ. 1 Принцип ∆t. Схема квантованного пересчета. Системное время увеличивается за один шаг на постоянную величину ∆t. Такая вычислительная схема наиболее приспособлена для имитационных моделей систем, описываемых дифференциальными уравнениями, автоматами. При моделировании дискретнособытийных систем, как РИСУ, чаще всего используются следующие два подхода, поэтому рассмотрим их подробнее. 2. Принцип особых моментов. Схема событий. Особым моментом принято называть такой момент времени, когда в системе происходит какое-либо изменение, иначе говоря - происходит событие. За один шаг осуществляется продвижение по времени на случайный отрезок: от одного особого момента до другого. Чтобы вычислить очередной особый момент, используется календарь событий. Календарь, или расписание предстоящих событий - это массив в БД, где для каждого типа события указан ближайший момент, когда такое событие произойдет. Имея календарь, нетрудно определить очередной особый момент. Это наименьший из моментов, записанных в календаре. Календарь содержит по одной записи для каждого типа события. В нем указаны ближайшие после ТТ – значения текущего 48
времени, моменты наступления событий. Тип события, которое подлежит имитации на текущем шаге, определяется одновременно с моментом события. Имитация события сводится к изменению значений переменных, описывающих состояние отдельных элементов и системы в целом. Каждому типу события соответствует блок (программный модуль) в алгоритме имитации, а каждому событию - определенное место в календаре. Алгоритм шага состоит в выяснении типа очередного события (с помощью календаря) и выполнении тех блоков алгоритма, которые соответствуют этому типу события. 3. Принцип особых моментов. Схема процессов. При моделировании по схеме процессов за основу берется понятие процесса. Процесс отражает поведение одного объекта, а объектов в системе много. Поэтому параллельно развиваются множество процессов. Их имитация производится поочередно. Если бы процессы были независимы, можно было бы имитировать до конца один процесс, а потом переходить к имитации другого процесса. Однако процессы пользуются общими ресурсами. Если очередная фаза процесса состоит в занятии ресурса, а свободного ресурса нет, процесс приостанавливается и ждет освобождения ресурса. При этом моделирующая программа переходит к имитации другого процесса. Таким образом, управляющая программа поочередно продвигает процессы на одну или несколько фаз, учитывая их взаимодействие во времени и в использовании общих ресурсов. Продвижение процессов по системному времени также осуществляется по принципу особых моментов. Каждому процессу отводится место в календаре, где указывается, с какой фазы надо начать или продолжить имитацию процесса и к какому моменту системного времени это событие относится. За один шаг производится поочередный просмотр всех процессов и имитация тех из них, для которых созрели условия, в частности наступило время исполнения очередной фазы. В ходе имитации очередной фазы процесса может освободиться ре49
сурс, которого не хватало для имитации ранее просмотренных процессов. Кроме того, может быть создан процесс и помещен на свободное место в календаре под меньшим номером, чем текущий процесс. В обоих случаях требуется повторный просмотр процессов в рамках того же шага. Таким образом, часть программы имитационной модели, управляющая выбором процессов и их фаз для имитации, управляет динамикой модели, т.е. последовательностью выполнения отдельных блоков программы в процессе имитации, и называется управляющей программой ИМ. Рассмотренные схемы построения моделирующего алгоритма: схема событий и схема процессов имеют существенные различия, но принцип построения управляющей программы у них одинаковый - повелительный. Повелительный принцип состоит в том, что для предстоящих событий заранее определяется время их наступления, и события имитируются, когда приходит их время. События, которые запланированы на один и тот же момент времени, могут имитироваться в любом порядке. Итак, основные принципы построения моделирующего алгоритма состоят в следующем: 1. За один шаг имитируется одно событие или фаза процесса. 2. Каждому шагу соответствует определенное (текущее) значение системного времени ТТ - тот особый момент, когда происходит имитируемое на этом шаге событие. 3. Продвижение по времени за один шаг производятся от момента предыдущего события до момента текущего события. Интервал между особыми моментами, т.е. моментами наступления события, как правило, имеет случайную длину. 4. Очередной особый момент находится путем поиска минимума в календаре. Таким образом, общая схема моделирующего алгоритма, как для схемы событий, так и для схемы процессов имеет один и тот же вид и представлена на рис. 2.2. Для первого случая (схе50
мы событий) модули реализуют имитацию различных событий, происходящих в системе, а для второго случая (схемы процессов) имитацию разных фаз, составляющих параллельные процессы. База данных ИМ Управляющая программа
Модуль 1
Модуль 2
Модуль n
Рис. 2.2. Общая схема имитационной программы. Из этой схемы видно, что программы имитации процесса функционирования РИСУ представляют собой сильно-связный код. Это обусловлено, во-первых, организацией управляющей программы имитации, предназначенной для жесткого отслеживания единого системного (модельного) времени, и, во-вторых, централизацией базы данных моделирования, с которой работают и управляющая программа, и программы имитации процессов, т.е. взаимодействие моделируемых процессов происходит через обращение к общим наборам данных. При этом имитационная программа построена по модульно-блочному принципу. Модули реализуют различные алгоритмы, но тесно связаны между собой как по данным, так и по управлению. Результаты, полученные при исполнении одного из модулей, используются другими модулями ИМ и влияют на результаты их выполнения. Далее рассмотрим возможность применения методов теории параллельных вычислений и теории распределенных вычислений к имитационной модели РИСУ, построенной в соответст51
вии с рассмотренной типовой вычислительной схемой имитации по принципу особых моментов. 2.4. Методы теории параллельных вычислений
Организация параллельных вычислений на многопроцессорных системах требует применения специальных приемов программирования, следствием чего является высокая трудоемкость написания программ. Кроме того, существуют проблемы с переносимостью программ, так как любая программа для параллельных машин тесно связана с архитектурой компьютера, на котором она реализуется. Для реализации алгоритма программы на параллельной системе, алгоритм представляют в виде последовательно выполняемых ансамблей операций, причём в каждом ансамбле все операции не связаны друг с другом. Если архитектура параллельной системы позволяет реализовывать одновременно все операции каждого ансамбля, то без учёта времени на передачи данных, время выполнения алгоритма будет пропорционально числу ансамблей. Число ансамблей называют высотой алгоритма. Алгоритмы, в которых высота меньше общего числа операций, называют параллельными, а их представление через последовательность ансамблей из независимых операций – параллельной формой. В зависимости от структуры связей между операциями один и тот же алгоритм может быть представлен различными способами в виде совокупности ансамблей. В частности, обычная последовательная реализация означает, что в каждом ансамбле содержится только одна операция. Для большинства алгоритмов таких представлений может существовать много. Для каждой задачи особый интерес представляет нахождение алгоритмов минимальной высоты. Рассмотрим пример, довольно часто приводимый в качестве иллюстрации параллельных алгоритмов [19, 20, 25], в котором отчетливо видна идея построения алгоритмов малой высоты. 52
Пусть требуется вычислить произведение n чисел а1,а2, …, аn , зададим n=8. Обычная схема, реализующая процесс последовательного умножения, выглядит следующим образом: Данные а1 а2 а3 а4 а5 а6 а7 а8 Ярус 1 а1 а2 Ярус 2 (а1 а2) а3 Ярус 3 (а1 а2 а3 )а4 Ярус 4 (а1 а2 а3 а4)а5 Ярус 5 (а1 а2 а3 а4 а5) а6 Ярус 6 (а1 а2 а3 а4 а5 а6) а7 Ярус 7 (а1 а2 а3 а4 а5 а6 а7)а8 Высота параллельной формы равна 7, ширина равна 1. Разобьём все сомножители на пары и осуществим умножение двух чисел внутри каждой пары. Все эти операции независимы. Полученные частные произведения также разобьём на пары и снова осуществим умножение двух чисел внутри каждой пары. Снова все операции независимы. Данные а1 а2 а3 а4 а5 а6 а7 а8 Ярус 1 а1а2 а3а4 а5а6 а7а8 Ярус 2 (а1 а2)( а3а4 ) ( а5а6 )( а7а8) Ярус 3 (а1 а2а3а4 ) ( а5а6 а7а8) Высота параллельной формы равна 3, ширина равна 4. Искомое произведение получено через log2n шагов. На первом временном шаге может быть использовано n/2 процессоров, на втором n/4 и т.д. Данный алгоритм называется процессом сдваивания. На рис 2.3. представлены графы последовательного и параллельного алгоритмов. В теории параллельных вычислений показано, что алгоритм, зависящий от n входных данных и реализующийся через некоторую совокупность операций, имеющих не более p аргументов, не может иметь высоту меньше, чем logpn. В то же время высота любого алгоритма ограничена сверху общим числом выполняемых операций. Эти две границы являются ориентирами для построения алгоритмов минимальной высоты. Высота алго53
ритма показывает потенциальную возможность быстрого решения задачи на вычислительной системе параллельной архитектуры. Все быстрые параллельные алгоритмы есть результат математически эквивалентных преобразований формульных выражений, описывающих последовательные алгоритмы.
Рис 2.3. Последовательный граф и граф сдваивания Для рассмотренной задачи построение алгоритма наименьшей высоты не вызывает особых трудностей. Но это скорее исключение, чем правило. Другие задачи оказываются значительно сложнее. Поэтому на текущий момент единственно надёжным источником создания параллельных программ является реструктуризация последовательных программ и математических описаний [19, 20]. Граф алгоритма удобно применять в теоретических исследованиях. Однако существует проблема, которая на этапе исследований вызывает большие трудности. В графе алгоритма столько вершин и столько дуг, сколько выполняется элементарных машинных операций за время реализации алгоритма. Для задач, решаемых на компьютерах часами, их число настолько велико, что для прямого описания всех вершин и дуг соответствующего 54
графа не хватит памяти компьютера. Но граф алгоритма нужно еще и анализировать. В частности, необходимо находить различные ориентированные разрезы, критический путь, подграфы и т.п. Все такие задачи имеют полиномиальную или даже экспоненциальную сложность. Следовательно, при прямом задании графа любой его анализ, скорее всего, займёт гораздо больше времени, чем решение исходной задачи. Граф алгоритма находится либо по текстам программ, либо из математических соотношений. Подобные формы записи почти всегда содержат параметры, например, размеры массивов, точность, которые на момент исследования записей не определены. Следовательно, вся работа по нахождению графа алгоритма и его исследованию сводится к решению параметризованных задач. Решение этих задач сформировало новую область исследований, называемую информационной структурой алгоритмов [29], в рамках которой получены теоретические и практические результаты, решены многие задачи по адаптации последовательных программ под требования компьютеров параллельной архитектуры. Более всего изучены структуры алгоритмов, относящихся к множеству алгоритмов линейной алгебры и других, представляющих собой класс детерминированных алгоритмов. Алгоритмы имитационного моделирования систем содержат много условных операторов, что относит их к классу недетерминированных алгоритмов, для распараллеливания которых нет готовых полученных решений. 2.4.1. Основные парадигмы параллельных вычислений
В параллельном программировании существует два подхода к распараллеливанию вычислений. Это параллелизм данных и параллелизм задач (data parallel и message passing). В основе обоих подходов лежит распределение вычислительной работы по доступным пользователям процессорам параллельного компьютера. 55
Параллелизм данных. На параллелизме данных базируется технология программирования SPMD (Single Program - Multiple Data). Основная идея подхода заключается в том, что одна операция выполняется сразу над всеми элементами массива данных. Различные фрагменты такого массива обрабатываются на векторном процессоре или на разных процессорах параллельной машины. Распределением данных между процессорами занимается программа. Векторизация или распараллеливание в этом случае чаще всего выполняется на этапе компиляции - перевода исходного текста программы в машинные команды. Роль программиста в этом случае обычно сводится к заданию опций векторной или параллельной оптимизации компилятору, директив параллельной компиляции, использованию специализированных языков для параллельных вычислений. Наиболее распространенными языками для параллельных вычислений по данным являются высокопроизводительный Фортран (High Performance FORTRAN) и параллельные версии языка С (С*, mpC). Идею распараллеливания по данным применяют не только к отдельным фрагментам программы, но и к целой программе, при этом вычислительный процесс строится на основе единственной программы, запускаемой на всех процессорах. Копии программ могут выполняться по разным ветвям алгоритма, обрабатывая подмножества данных. Неизбежна синхронизация во времени при обработке общих данных. Такую технологию программирования называют SPMD-моделью программы. Параллелизм задач. Технологию программирования, основанную на параллелизме задач, называют MPMD (Multiple Program - Multiple Data) или MPMD-моделью программы. Основная идея подхода состоит в том, что вычислительная задача разбивается на несколько относительно самостоятельных подзадач и каждый процессор загружается своей собственной подзадачей. Для каждой подзадачи пишется своя собственная программа. Все эти программы должны обмениваться результа56
тами своей работы, практически такой обмен осуществляется вызовом процедур специализированной библиотеки. Программист при этом может контролировать распределение данных между процессорами и подзадачами и обмен данными. В этом случае требуется определенная работа для того, чтобы обеспечить эффективное совместное выполнение различных программ. По сравнению с подходом, основанным на параллелизме данных, данный подход более трудоемкий, с ним связаны следующие проблемы: - повышенная трудоемкость разработки программы и ее отладки; - на программиста ложится вся ответственность за равномерную загрузку процессоров параллельного компьютера; - программисту приходится минимизировать обмен данными между задачами, так как пересылка данных наиболее "времяемкий" процесс; - повышенная опасность возникновения тупиковых ситуаций, когда отправленная одной программой посылка с данными не приходит к месту назначения. Привлекательными особенностями данного подхода являются большая гибкость и большая свобода, предоставляемая программисту в разработке программы, эффективно использующей ресурсы параллельного компьютера и, как следствие, возможность достижения максимального быстродействия. Примерами специализированных библиотек являются библиотеки MPI (Message Passing Interface) и PVM (Parallel Virtual Machines). В основе любой параллельной программы лежит одна из рассмотренных моделей параллельных вычислений. Кроме того, необходимо отметить, что построение параллельной программы также зависит от характеристик и особенностей устройства оперативной памяти параллельного компьютера. Архитектура памяти определяет способ взаимодействия между различными частями параллельной программы. В вычислительных системах с распределенной памятью оперативная память имеется у каждого 57
процессора. Процессор имеет доступ только к своей памяти. В этом случае нет присущих системам с разделяемой памятью ограничений на число процессоров, отпадает необходимость в шине или переключателях, нет конфликтов по доступу к памяти. Но с другой стороны, возникают проблемы с организацией обмена данными между процессорами. Такой обмен осуществляется при помощи обмена сообщениями. Для формирования сообщений требуется время, для получения и считывания полученных данных тоже требуется определенное время. Таким образом, структуру и построение параллельной программы определяют одна из моделей вычислений MPMD и SPMD, а также архитектура и особенности построения оперативной памяти параллельного компьютера, на котором реализуется программа. 2.4.2. Программное обеспечение параллельных вычислений
Структура и архитектура ВС оказывают влияние на языковые средства параллельного программирования. В системах с раздельной памятью и в локальных сетях для обмена информацией потребовались новые языковые средства и серьезная системная поддержка. Рассмотрим кратко наиболее распространенные средства поддержки параллельного программирования в таких системах [19, 92, 93]. PVM (Parallel Virtual Machine). Система PVM была создана для объединения нескольких связанных сетью рабочих станций в единую виртуальную параллельную ЭВМ. Система представляет собой надстройку над операционной системой UNIX и используется на различных аппаратных платформах, включая и ЭВМ с массовым параллелизмом. Задача пользователя представляет собой множество подзадач, которые распределяются динамически на указанных процессорах распределенной системы и взаимодействуют между собой путем передачи и приема сообщений (а также посредством механизма сигналов). Достоинства 58
- простота, наличие наследованного от ОС UNIX аппарата процессов и сигналов, а также возможность динамического добавления к группе вновь созданных процессов. Недостатки - низкая производительность и функциональная ограниченность (например, имеется только один режим передачи сообщений - с буферизацией). MPI (Message Passing Interface) - интерфейс с передачей сообщений, программный инструментарий. В его состав входят, как правило, два обязательных компонента: библиотека программирования для языков СИ, СИ++ и Фортран; загрузчик исполняемых файлов. Также присутствуют справочная система, командные файлы компиляции/компоновки программ. MPI определяет интерфейс, который может быть реализован на многих аппаратных платформах, без серьезной переделки нижележащего коммуникационного и системного программного обеспечения. Существуют бесплатные и коммерческие реализации почти для всех суперкомпьютерных платформ, а также для сетей рабочих станций. MPI обеспечивает: -возможность эффективных коммуникаций; разрешает расширения для использования в гетерогенной среде; - динамическое создание и уничтожение процессов; - односторонние коммуникации и средства синхронизации для организации взаимодействия через общую память; - параллельные операции ввода-вывода. В настоящее время MPI - наиболее широко используемый и динамично развивающийся интерфейс своего класса. Язык программирования mpC - это расширение языка СИ, разработанное специально для программирования параллельных вычислений на обычных сетях разнородных компьютеров. mpC содержит средства, позволяющие максимально облегчить разработку эффективных программ для решения задач на обыкновенных сетях компьютеров. Программист на mpC не может управлять тем, сколько процессов составляет программу и на каких компьютерах эти процессы выполняются. Это делается внешни59
ми по отношению к языку средствами. Исходный код на mpC управляет лишь тем, какие именно вычисления выполняются каждым из процессов, составляющих программу. HPF (High Performance Fortran) представляет собой расширение языка Фортран 90. HPF требует от пользователя лишь указать распределение данных по процессорам. Транслятор самостоятельно распределяет вычисления по процессорам, выбирая в качестве узла, на котором следует производить вычисления, тот процессор, на котором будет использован результат вычисления выражения. При необходимости транслятор генерирует обращения к библиотеке передачи сообщений, например MPI. От компилятора HPF требуется тщательный анализ программы. Пользователь практически не имеет рычагов управления количеством пересылок, следовательно, качество получаемой программы от него зависит слабо. Также, к наиболее популярным средствам параллельного программирования в настоящее время относятся OpenMP и DVM, разработанные для языков Fortran и С. Реализации этих стандартов доступны как на многих UNIX -платформах, так и в среде Windows. Общим в этих технологиях является то, что традиционные языки последовательного программирования расширены спецификациями параллелизма. Только OpenMP в значительной степени ориентирована на SMP-компьютеры, тогда как DVM-система предназначена для создания переносимых и эффективных вычислительных приложений для параллельных компьютеров с различной архитектурой. В настоящее время создано более ста различных средств поддержки параллельного программирования, более широкий и подробный обзор которых можно найти в многочисленных публикациях на сайте www.parallel.ru. Рассмотренные наиболее востребованные технологии, применяемые в настоящее время, сведены в таблице 2.1, из которой видно, что все они ориентированы на языки программирования Fortran и С и в подавляющем большинстве используют парадигму вычислений SPMD. 60
Системы параллельного программирования OpenMP DVM
mpC
HPF MPI
PVM
Архитектура вычислительных систем
Операционная система
ВС с общей памятью SMP ВС с распределенной памятью ММР Неоднородная сеть компьютеров SMP и ММР - системы ВС с распределенной памятью ММР SMP и ММР - системы
UNIX, Windows NT UNIX, Windows 95/98/ 2000/NT UNIX, Windows 95/98/ 2000/NT UNIX UNIX, Windows 95/98/ 2000/NT UNIX, Windows 95/98/ 2000/NT
Таблица 2.1. ИспольМозуемые дель языки про- вычисграммиро- лений вания Fortran(77, SPMD 90, 95), С, С++ Fortran 77, SPMD С С
SPMD
Fortran
SPMD
Fortran, С
SPMD MPMD
Fortran, С
SPMD
Однако, как отмечается в [20], ни одна система параллельного программирования не гарантирует высокую эффективность вычислительных процессов. Эффективное использование зало-
61
женного в многопроцессорный компьютер параллелизма требует от пользователей предоставления дополнительной информации о структуре используемых ими алгоритмов, различных нестандартных и трудно добываемых характеристик решаемых задач. Поэтому развитие теории параллельных вычислений (ТПВ) идет в направлении создания теоретического фундамента, математического аппарата распараллеливания алгоритмов, которые должны лежать в основе инструментария для параллельного программирования прикладных задач. 2.4.3. Методы распараллеливания программ.
В тех случаях, когда программы написаны на традиционных языках программирования, для преобразования последовательных программ в параллельные и реализации возможности параллельного счета необходимо проведение дополнительного анализа. Разбиение программы на параллельно выполняемые процессы в ТВП реализуют различными методами [93, 74, 52, 19, 20]: распараллеливание последовательных циклов на асинхронные параллельно выполняемые процессы; формирование параллельных процессов по критерию минимизации времени выполнения программы; разбиение программ на слабо связанные участки. На текущий момент доминирующим направлением развития методов теории параллельных вычислений является теория информационной структуры алгоритмов [19, 20]. Суть которой состоит в реструктуризации последовательных программ и математических описаний. В её основе лежит выделение из записей алгоритма его информационного ядра, очищенного от всех элементов описания. Доказаны важные утверждения, из которых следует, что для широкого класса алгоритмов информационное ядро может быть описано и исследовано с помощью конечных наборов простых функций, как правило, кусочнолинейных. Построены эффективные методы вычисления, иссле62
дования и использования таких функций. Для изучения структуры алгоритмов создана и успешно функционирует автономная программная система V-Ray. Она позволяет исследовать информационную структуру алгоритмов, описанных на языках Фортран и Си, и адаптировать программы под требования компьютеров параллельной архитектуры. Методы и алгоритмы распараллеливания программ существуют и ориентированы на высокопроизводительные параллельные системы. Использование этих методов к распараллеливанию программ для выполнения на локальных сетях и кластерах является затруднительным, особенно в случае большого количества операторов в исследуемой программе. Для применения их к программам, реализующим моделирующие алгоритмы, требуется модификация этих методов. Так, например, программа имитационной модели сложной системы характеризуется большой размерностью, представление ее в виде графа, вершинами которой являются операторы программы, приведет к такой же большой размерности графа, анализировать который методом перестановок вершин графа, для оптимального разбиения его на слабо связанные подграфы, вряд ли будет целесообразным. Скорее всего, следует рассматривать в качестве вершин отдельные модули программы, а в качестве ребер их информационные связи. Таким образом, разработка программ для параллельных вычислительных систем представляет собой сложную в теоретическом и практическом плане задачу. Для построения качественной параллельной программы необходимо тщательное планирование разделения основной задачи на параллельные процессы, корректная реализация каждого процесса и правильная организация взаимодействия этих процессов [11]. Приведенное рассмотрение существующих моделей параллельных вычислений, способов распараллеливания программ и языков параллельного программирования, показывает, что раз
63
работка параллельных программ представляет собой многоэтапный технологический процесс: 1. Анализ задачи и выявление потенциального параллелизма; 2. Выбор модели программы и схемы распараллеливания (под моделью программы понимаются SPMD-модель и MPMDмодель); 3. Декомпозиция задачи на параллельные процессы; 4. Анализ производительности (оценка прогнозируемого ускорения вычислений); 5. Организация вычислительного процесса. Для организации распределенного (параллельного) имитационного моделирования в локальных сетях и кластерных системах потребуется выполнение всех основных технологических этапов разработки параллельных программ, но необходимо алгоритмическое наполнение этих этапов, соответствующее специфике построения моделирующих алгоритмов имитационного моделирования РИСУ. 2.5. Методы теории распределенных вычислений
В связи с бурным развитием локальных и глобальных сетей ЭВМ широкое применение находит теория распределенной обработки данных [57, 59, 53]. Наличие в составе ЛВС нескольких рабочих станций создает возможность одновременной (параллельной) обработки информации в различных узлах сети. В ходе выполнения комплекса задач в узлах сети возможен обмен сообщениями между задачами. Результаты решения одних задач, входящих в комплекс, могут служить исходными данными для других. Термин «распределенные вычисления» обычно используют для указания параллельной обработки данных, при которой используется несколько обрабатывающих устройств, достаточно удаленных друг от друга и в которых передача данных по лини64
ям связи приводит к существенным временным задержкам, по сравнению с параллельными вычислениями на высокопроизводительных многопроцессорных вычислительных системах. Следовательно, эффективная обработка данных при этом способе организации вычислений возможна только для параллельных алгоритмов с низкой интенсивностью потоков межпроцессорных передач данных. Перечисленные условия являются характерными при организации вычислений в многомашинных вычислительных комплексах, образуемых объединением нескольких отдельных ЭВМ с помощью каналов связи локальных или глобальных информационных сетей. Все исследования современной теории распределенной обработки данных направлены, главным образом, первое, на разработку и усовершенствование сетевых операционных систем, т.е. распределенной операционной среды. И второе, на решение задач организации вычислительного процесса с применением планирования использования выделяемых ресурсов. Под вычислительным процессом (ВП) понимается решение комплексов задач, обслуживающих конкретную предметную область, т.е. совокупность всех процессов преобразования информации, протекающих во всех технических средствах системы, которые функционируют под управлением программного обеспечения автоматизированных систем управления различного назначения. Разработано достаточное количество методов организации ВП, проведена их классификация по признакам и характеристикам исследуемого комплекса задач. В обобщенной постановке задача организации ВП выглядит следующим образом: 1 этап. Распараллеливание комплекса задач. Выполнение комплекса задач на нескольких рабочих станциях сети, с целью сокращения времени решения всего комплекса задач, лишь тогда имеет смысл, если некоторые задачи этого комплекса могут быть выполнены одновременно (параллельно) на разных рабочих станциях. Между задачами могут существовать информаци65
онные, логические связи, которые препятствуют параллельному исполнению задач. Значит, необходимо выявить существующие связи и выделить независимые задачи, которые можно решать параллельно на различных ЭВМ. 2 этап. Построение оптимального, в смысле выбранного критерия, плана выполнения комплекса задач в сети с использованием результатов 1-го этапа. В качестве критериев оптимальности расписания, в зависимости от постановки задачи, выбирают: - минимальное время выполнения комплекса задач; - минимальное количество рабочих станций; - максимальная загрузка рабочих станций и др. К задаче 1 этапа относится сегментация программ для параллельного исполнения. Распараллеливание вычислений при реализации некоторого комплекса программ (КП) требует выделения частей (сегментов) программы, пригодных для параллельного исполнения, и временной синхронизации при параллельном исполнении различных частей программы. Задача синхронизации появляется в том случае, если параллельно исполняемые сегменты связаны по управлению или, если результаты, полученные при исполнении одной из частей КП, взаимодействуют с получаемыми параллельно результатами и совместно определяют ход или результаты вычислений. Так как выделяемые для параллельного исполнения части программы практически всегда имеют различие в длительности, то после исполнения более короткой части программы возникает необходимость ожидания результатов параллельно идущих вычислений. Такие задержки снижают эффективность распараллеливания вычислений и требуют выявления частей программы, наименее связанных управлением или получаемыми результатами и наиболее близких по длительности исполнения. Число и величина сегментов, допускающих распараллеливание, полностью определяется спецификой конкретного КП. Выделение параллельно исполняемых частей возможно на раз66
ных иерархических уровнях компонент программы: на уровне функциональных и стандартных программных модулей; на уровне функциональных групп программ. При распараллеливании на уровне программных модулей некоторой функциональной задачи снижается удельный вес операций, связанных с началом и завершением параллельности, уменьшается коэффициент вариации длительностей реализации параллельных сегментов, а также их информационных связей. Наибольшее применение находит крупноблочное распараллеливание КП на уровне функциональных групп программ, решающих конкретные автономные задачи обработки информации и управления. В этом случае уменьшаются потери, обусловленные ожиданием завершения параллельных сегментов, и относительные затраты на распараллеливание вычислений. Это утверждение наиболее подходит к программам, реализующим имитационные модели систем, построенным по модульноблочному принципу. Задача 2-го этапа относится к классу задач теории расписаний. Для их решения используются методы математического программирования, достаточно хорошо разработанные. Учет степени связности решаемых задач усложняет составление планов реализации подобных задач. Это обусловлено трудностью формального описания ограничений, налагаемых связностью задач при использовании методов математического программирования, а также в связи с большим количеством ограничений возрастает трудоемкость математического решения задачи планирования. В ряде случаев может использоваться полный перебор вариантов, а также и другие методы. При поиске оптимального расписания часто возникают комбинаторные задачи большой размерности, что требует больших затрат ресурсов на планирование (обычно памяти и машинного времени). В зависимости от принципа построения различают статические и динамические планы (расписания). Статические расписания строятся заранее, до запуска выполнения программ. В 67
этом случае планирование выполнения перечня задач производится один раз. Динамическое расписание составляется в процессе решения задач. Составленный план корректируется с каждым поступлением в систему новой задачи. Динамическое планирование осуществляется с учетом сложившейся к моменту принятия решения ситуации по свободным и занятым ресурсам системы, наличия очередей задач и т.д. Организация распределенных вычислений, кроме существенного сокращения времени решения некоторых классов задач, обеспечивает и увеличение в ряде случаев доступного объема оперативной памяти, позволяющего сокращать обращения к внешней памяти и повышать эффективную производительность за счет увеличения объема промежуточной информации. Для организации распределенного вычислительного процесса необходимо: 1. Провести анализ алгоритмов и программ с целью выделения компонент (сегментов), допускающих параллельное исполнение на различных процессорах вычислительной системы. 2. Выделенные программные сегменты распределить по компьютерам и организовать их исполнение, добиваясь экстремального значения выбранного показателя качества. 3. Определить эффективность проведенного распределения с учетом затрат на его выполнение и выявить возможность повышения эффективности организации параллельных вычислений за счет изменения метода распараллеливания и распределения применительно к назначению и характеристикам данной ВС. Таким образом, в локальных сетях наибольшее применение находит крупноблочное распараллеливание комплекса программ, обеспечивающее уменьшение потерь, обусловленных снижением удельного веса операций, связанных с началом и завершением параллельных сегментов. Учитывая тот факт, что программы, реализующие имитационные модели систем, имеют модульно-блочное построение, такое распараллеливание является наиболее подходящим. Для осуществления распределенного 68
имитационного моделирования в локальной сети или кластерной системе необходима соответствующая организация вычислительного процесса и оптимального распределения вычислительных модулей по узлам сети, по критерию минимизации общего времени выполнения программ. 2.6. Организация вычислительного процесса ИМ РИСУ на многопроцессорных ВС
Основные этапы организации параллельного исполнения программ на вычислительных системах с распределенной памятью, принятые в теории параллельных вычислений и в теории распределенных вычислений, сведены в таблице 2.2, с целью их наглядного сравнения. Из приведенной таблицы видно, что в теории параллельных вычислений (ТПВ) и теории распределенных вычислений (ТРВ) этапы организации параллельного исполнения программ совпадают по содержательному смыслу. Основные отличия состоят в методах решения задач, стоящих на рассматриваемых этапах, которые, в свою очередь, вытекают из следующих причин: 1. В ТПВ построение параллельных программ возможно по SPMD и MPMD моделям вычислений, каждая из которых реализует свои подходы, следовательно, и методы распараллеливания программ. В ТРВ же используется только один подход, близкий по семантике к MPMD-модели, т.е. разбиение программ и/или комплекса программ на независимые параллельно исполняемые части, размещаемые на разных процессорах ВС и отличающиеся длительностями выполнения. Однако в обоих случаях распараллеливание программ производится по критерию минимизации межпроцессорных обменов данными. Также в обоих случаях имеет место задача синхронизации параллельных процессов, связанных по управлению. 69
Таблица 2.2. Теория параллельных Теория распределенных вычислений вычислений 1. Анализ задачи и выявле- 1. Анализ программ с целью ние потенциального парал- выделения компонент (сегменлелизма. тов), допускающих параллельное исполнение на различных компьютерах. 2. Выбор модели программы и схемы распараллеливания (SPMD-модель и MPMD-модель). 3.Декомпозиция задачи на 2. Выделение программных параллельные процессы. сегментов для параллельного выполнения. 4. Оптимальное отображе- 3. Планирование вычислительние параллельных процес- ного процесса. Распределение сов на архитектуру много- выделенных программных сегпроцессорной системы, по ментов по компьютерам по экскритерию минимизации тремальному значению выобщего времени выполне- бранного показателя качества. ния программы. 5. Анализ производитель- 4. Анализ эффективности проности, оценка прогнози- веденного распределения, выруемого ускорения вычис- явление возможности повышелений. ния эффективности организации распределенных вычислений за счет изменения метода распараллеливания и распределения программных сегментов. 6. Организация параллель5. Организация распределенных ного ВП. вычислений.
2. Распараллеливание программ в ТПВ и ТРВ осуществляется на разных иерархических уровнях. Так, ТПВ подразумевает выделение независимых частей программы на уровне операторов или группы операторов, составляющих неделимый процесс. В ТРВ выделение параллельно исполняемых компонентов осуществляется на уровне функциональных и стандартных программных модулей или на уровне функциональных групп программ. Здесь необходимо подчеркнуть, что методы распараллеливания программ более развиты в теории параллельных вычислений. Они автоматизированы и заложены в программное обеспечение параллельных вычислений (компиляторы, языки параллельного программирования, программные средства межпроцессорного обмена). В теории распределенных вычислений задача распараллеливания программ решается для каждого конкретного случая с учетом специфики решаемой задачи. 3. Организация параллельного вычислительного процесса как в ТПВ, так и в ТРВ, связана с оптимальным размещением параллельных частей программы по процессорам по критерию минимизации общего времени выполнения всей программы. Особенностью постановки этой задачи в ТПВ является то, что чаще всего она ставится как задача оптимального отображения программ на структуру вычислительной системы. Структура многопроцессорной системы определяется топологией коммуникационной среды передачи данных между процессорами (шина, звезда, кольцо, двухмерная решетка, куб, гиперкуб и т.д.). Задача планирования вычислительного процесса в ТРВ состоит в построении оптимальных статических или динамических расписаний выполнения распределенных программ, в большей степени зависящих от априорных данных о программных сегментах: длительности выполнения, степени связанности сегментов и т.д. В обоих случаях задача распределения программ по процессорам является оптимизационной задачей, для решения кото-
рой используются различные методы поиска экстремума, эффективные для конкретной постановки задачи. Итак, вернемся к задаче организации имитационного моделирования РИСУ на локальных сетях. Тот факт, что мы рассматриваем локальную сеть в качестве параллельного вычислителя, требует реализации всех основных этапов организации вычислений на параллельном компьютере. Однако, схема моделирующего алгоритма РИСУ, изложенная в параграфе 2.2.1, определяет модульно-блочное построение имитационной программы и, в то же время, сильную связность программных модулей по управлению и данным. Это обстоятельство не позволяет применить существующие методы ТПВ к распараллеливанию программы на уровне операторов по критерию минимизации межпроцессорных обменов данными. Следовательно, не подходит и применение существующего программного обеспечения параллельных вычислений, осуществляющих такое распараллеливание программ. В этом случае возможно использование подхода к распараллеливанию имитационной программы РИСУ на уровне функциональных модулей, принятого в теории распределенных вычислений. При этом необходимо учитывать то, что методы ТРВ в большей степени применяются к параллельным алгоритмам, наименее связанным по управлению и с низкой интенсивностью межпроцессорных обменов данными. Отсюда следует, что при распараллеливании имитационной программы по модульно-блочному принципу приобретает особое значение задача синхронизации параллельных процессов. Имитационное моделирование РИСУ на локальных сетях, состоит в реализации всех этапов организации параллельных вычислений как ТПВ, так и ТРВ, но методы решения задач, стоящих на этих этапах, должны соответствовать специфике построения моделирующего алгоритма.
74
3. Распределенное имитационное моделирование РИСУ по модели вычислений MPMD
Современная концепция построения имитационных моделей сложных систем естественным образом вписывается в модель параллельных вычислений MPMD (Multiple Program – Multiple Data). Для реализации на параллельных вычислительных системах имитационного моделирования сложных систем наиболее подходит именно модель вычислений MPMD по следующим причинам: - Внутренний параллелизм. Сложные системы состоят, как правило, из параллельно функционирующих компонент. Поэтому имитационная модель сложной системы содержит множество модулей, соответствующих различным элементам и подсистемам моделируемого объекта. - Разнородность подсистем и элементов, составляющих сложную систему, порождает и разнородность математических схем, описывающих функционирование различных элементов. Отсюда следует разнородность программной реализации модулей ИМ. - Большие вычислительные затраты в имитационном моделировании сложных систем связаны с размерностью исследуемых систем, а также объемом вычислений для получения статистически обоснованных результатов. Все вышесказанное в полной мере относится и к имитационному моделированию РИСУ. Для переноса имитационной модели на распределенную вычислительную платформу, на первый взгляд, кажется естественным просто разместить составные модули по процессорам вычислительной системы. Однако простое распределение модулей моделирующей программы по процессорам не будет способствовать эффективному ускорению процесса имитации из-за многочисленных передач информации между компонентами имитационной модели, сильно связанных по по управлению. Так как пересылка данных наиболее “времяем75
кий ” процесс в параллельных вычислениях на многопроцессорных системах. Следовательно, если в качестве модели вычислений выбрать MPMD, то необходимо решить задачу декомпозиции программного обеспечения (ПО) ИМ РИСУ на блоки, по критерию минимизации обмена данными между блоками ИМ. Для решения этой задачи проведем следующие рассуждения. 1. ИМ РИСУ представляет собой стохастическую дискретно-событийную модель (ДСМ), созданную в соответствии с принципами построения моделирующих алгоритмов. Имитационная модель РИСУ строится, как множество процессов, исполняемых квазипараллельно в условном времени и взаимодействующих между собой через общие наборы данных. ИМ имеет частично упорядоченное в модельном времени множество событий. Событие – это изменение состояния системы. В обрабатывающих модулях, соответствующих наступлению событий, вычисляются метки готовых к обработке событий. Такие события заносятся в список (календарь) событий. Управляющая программа упорядочивает эти метки по не убыванию модельного времени и устанавливает модельное время, равным метке первого события, а затем передает управление соответствующему обрабатывающему модулю, где это событие обрабатывается. В результате появляются новые готовые к обработке события. Они в правильном порядке заносятся в календарь. Причем события со временем, меньшим текущего появиться не могут. За один шаг имитации имитируется только одно событие, т.е. выполняется один обрабатывающий модуль. Обозначим через E = {e1, e2 ,...en } – множество всех возможных событий в модели; через E * = {s1, s2 ,..., sk ,..., sm } - набор всех возможных конечных последовательностей событий sk = e1e2 ...ek i в Е. Последовательность s =е1,е2,е3 означает, что
событие ei + 1 имеет место после события ei и описывает логическое поведение моделируемой системы. 74
Временная последовательность s учитывает времена наступления событий: s = (e1 , t1 )(e2 ,t 2 )(e3,t 3 )... , t1 π t 2 π t 3 ... , и описывает поведение системы во времени. Стохастическая дискретно-событийная модель, выполняет последовательности вида: s (w) = (e1 ( w), t1 ( w))(e2 ( w), t2 ( w))(e3 ( w), t3 ( w))... , где ei , ti - случайные переменные, w - выборочная точка, так что s (w) - выборочный путь развития моделирующего процесса. Каждый выборочный путь является здесь временной последовательностью, и стохастическая ДСМ определяет распределение вероятностей по набору всех временных последовательностей. Выполнение программы имитационной модели на обыкновенном компьютере есть воспроизведение последовательности дискретных событий s (w) и обработка этих событий. Реализация конкретной последовательности определяется тем, как срабатывают условные операторы. В свою очередь срабатывание условных операторов зависит исключительно от входных данных и распределений вероятностей наступления событий ei . Поэтому при моделировании на обыкновенном компьютере всегда выполняется какая-то последовательность действий, которая однозначно определена программой, реализующей моделирующий алгоритм, входными данными и распределениями вероятностей наступления событий, которые так же относятся к входным данным. В рассматриваемом случае на каждом шаге имитации может выполняться только один обрабатывающий модуль ИМ. 2. В случае выполнения имитационной программы на многопроцессорной системе на каждом шаге имитации одновременно может выполняться целый ансамбль обрабатывающих модулей, расположенных на разных процессорах и независимых по данным в рассматриваемый момент времени. Моделирующий алгоритм программы и входные данные должны однозначно определять состав ансамблей. 75
Как на обыкновенном, так и на параллельном компьютере искомые оценки характеристик моделируемой системы получают в результате выполнения последовательности обрабатывающих модулей (ОМ) имитационной модели, которая, в свою очередь, определяется последовательностью наступления событий s (w) = (e1 ( w), t1 ( w))(e2 ( w), t 2 ( w))(e3 ( w), t3 ( w))... . Все ОМ имеют некоторое число аргументов. Конкретными значениями аргументов ОМ являются либо входные данные, либо результаты выполнения других ОМ. Любой обрабатывающий модуль - потребитель аргументов не может начать выполняться раньше, чем закончится выполнение всех ОМ - поставщиков для него аргументов. То, какие модули являются поставщиками аргументов для конкретного ОМ, зависит от событий, свершившихся на предыдущем шаге. Необходимо заметить, что у одного и того же ОМ на разных шагах имитации могут быть разные поставщики. Следовательно, взаимная связность событий на множестве E = {e1,e2 ,..., en } определяет конкретную последовательность реализаций ОМ. А взаимосвязь событий, в свою очередь, зависит от структуры моделируемой системы, правил функционирования, распределений вероятностей и частоты взаимодействия элементов системы – все это вместе составляет входные данные имитационной модели. 3. Следовательно, задача распараллеливания имитационной программы состоит в том, чтобы на множестве всех возможных событий E = {e1,e2 ,..., en } выделить группы событий, которые наиболее связаны по входным данным. Это возможно вследствие того, что в некотором событии e участвуют не все элементы моделируемой системы, и его наступление приводит лишь к локальному изменению состояния системы, то есть при свершении события следует анализировать изменения состояний лишь части элементов системы, то есть обращаться только к соответствующим им записям в базе данных ИМ.
Поясним на примере. Пусть имеется множество возможных событий E = {e1,e2 ,..., er }, между которыми существует такая связь: свершение события е1 обязательно влечет за собой событие е3 , а свершение события е2 влечет за собой событие еr , то есть е1 и е3 более сильно связаны, чем е1 и е2 . При этом моментами времени наступления событий е1 , е2 , е3 , еr являются, соответственно t1 , t2 , t3 и tr , при чем t1 ≤ t2 ‹ t3 ≤ tr . Тогда, при выполнении имитационной программы на обыкновенном компьютере реализуется последовательность действий: s (w) = (e1 ( w), t1 ( w))(e2 ( w), t 2 ( w))(e3 ( w), t 3 ( w))...(er ( w), t r ( w)) Так как е1 и е2 обрабатываются модулями, независимыми по входным аргументам, то реализацию последовательности s (w) на параллельном компьютере можно осуществить, объединив события е1 и е3 в группу E 1 = {e1,e3 }, а события е2 и еr в группу E 2 = {e2 ,er } , E = E 1 Υ E 2 .
тельность действий s (w) разбивается на последовательности s 1 (w) = (e11 ( w), t1 ( w))(e31 ( w), t3 ( w)) и s 2 (w) = (e22 ( w), t 2 ( w))(er2 ( w), t r ( w)) , которые можно выполнить на разных процессорах. Взаимосвязь между процессами s 1 (w) и s 2 (w) сохраняется в виде обмена сообщениями, которое необходимо для синхронизации модельного времени, но обмен будет минимальным ввиду отсутствия обращения к общим наборам данных. Схема проведенных рассуждений показана на рис. 3.1. Таким образом, для декомпозиции ПО ИМ по критерию минимизации обмена данными необходимо выделить в множестве всех возможных событий E = {e1,e2 ,..., en } такие группы событий E 1 , E 2 , …, E m ,
76
Соответственно, последова-
чтобы взаимосвязь событий внутри 77
s (w) = (e11 ( w), t1 ( w))(e22 ( w), t2 ( w))(e31 ( w), t3 ( w))...(er2 ( w), tr ( w))
Традиционное моделирование
Многопроцессорное моделирование
(e1 ( w), t1 ( w))(e2 ( w), t2 ( w))(e3 ( w), t3 ( w))... ОМ 1
ОМ 2
ОМ 3
- - -
ОМ r
Декомпозиция на процессы с минимальным обменом
s (w)
данными 1
ОМ 1
ОМ 3
ОМ 2
s (w)
ОМ r
Шаг имитации 1
1 3
(e ( w), t1 ( w))(e ( w), t3 ( w))
2 2
2 r
(e ( w), t 2 ( w))(e ( w), t r ( w))
Рис. 3.1. Последовательное и параллельное выполнение моделирующего алгоритма группы была максимальной, а между группами минимальной. Это можно осуществить, применив метод автоматической классификации объектов. Разбиение E 1 , E 2 , …, E m позволит сформировать блоки ИМ, состоящие из обрабатывающих модулей событий, принадлежащих этим группам, а так же распределенную базу данных. Для сохранения глобальной логики поведения модели требуется обеспечить синхронизацию работы модельных блоков, выполняющихся на разных процессорах, так как минимизированный обмен данными сохраняется. Схематическая иллюстрация последовательностей моделирования на обыкновенном компьютере и многопроцессорной системе приведена на рис. 3.2. Так как в качестве параллельного вычислителя для имитационного моделирования РИСУ выбрана локальная сеть или многопроцессорный кластер, встает задача оптимального
78
s m (w)
s (w) - - -
Шаг имитации 2
Обмен сообщениями 1 1
2
.
. . .
. .
-
. .
- - -
- -
Шаг имитации k Синхронизация процессов .
. . . Шаг имитации n - обрабатывающий модуль
Рис. 3.2. Схемы последовательного и распределенного моделирования распределения полученных блоков ИМ по процессорам неоднородной вычислительной сети, характеризующейся различной производительностью процессоров. Необходимо так распределить блоки ИМ, чтобы общее время выполнения распределенной имитационной модели было минимальным по всем возможным 79
вариантам размещений. Правильная подстройка задачи под вычислительную систему предполагает размещение подзадач по процессорам, учитывающее специфику архитектуры и конфигурации конкретной вычислительной системы. Итак, основные принципы организации распределенного имитационного моделирования РИСУ по модели вычислений MPMD заключаются в следующем: 1. Декомпозиция ПО ИМ на блоки, по критерию минимизации обменов сообщениями, должна проводиться на основе выделения групп наиболее связанных по входным данным обрабатывающих модулей ИМ. 2. Сохранение глобальной логики поведения модели в едином времени требует обеспечения синхронизации работы блоков ИМ, выполняющихся на разных процессорах вычислительной сети. 3. Блоки ИМ должны размещаться по процессорам ВС, по критерию минимизации общего времени выполнения моделирования РИСУ. Далее излагаются методы решения перечисленных задач. Эти методы предназначены для автоматизированного распараллеливания ПО ИМ РИСУ и решения обозначенных задач по организации распределенного имитационного моделирования. Они являются алгоритмическим наполнением технологических этапов программного инструментария, способного оказать исследователю помощь за счет выдачи результатов измерений отдельных параметров качества проекта распределенной (параллельной) имитационной программы. Такими параметрами являются оценки потенциального параллелизма, т.е. прогнозируемого ускорения вычислительного процесса имитационного моделирования. Программный инструментарий назовем автоматизированным средством организации распределенного имитационного моделирования (АСОРИМ). АСОРИМ предназначено для отделения аспектов, связанных с разработкой программного обеспе-
80
чения ИМ, от вопросов организации параллельных (распределенных) вычислений. 3.1. Декомпозиция ПО ИМ РИСУ
Автоматизированное распараллеливание моделирующей программы, в виде декомпозиции ПО ИМ на блоки, предполагает формализованное представление ИМ РИСУ и метода ее декомпозиции. Для формализации описания ИМ РИСУ используем терминологию РДО - метода [35], в рамках которой будет разработан математический аппарат метода декомпозиции ПО ИМ. 3.1.1. Формализованное описание имитационной модели РИСУ
РДО – метод дает формализованное описание имитационных моделей сложных дискретных систем (СДС), для чего введены основные понятия такого описания: ресурсы, действия, операции. Рассмотрим эти понятия в приложении к ИМ РИСУ. 1. Ресурс – это элемент сложной дискретной системы, внутренней структурой которой можно пренебречь. Ресурсом может быть любая часть системы. Ресурсы могут быть постоянные и временные. Временные ресурсы поступают и покидают систему в процессе функционирования. Все ресурсы образуют множество R = {ri / i = 1,2,..., N } , где N - число ресурсов в системе. Каждый ресурс описывается множеством параметров. Параметры могут принимать значения из некоторого непустого множества S. Множество ресурсов можно разбить на несколько непересекающихся подмножеств однотипных ресурсов. Ресурсы одного типа описываются одинаковыми параметрами. Состояние i-го описывается значениями его параметров ресурса Ci Ci = {cij / j = 1,2,..., M i } , cij - значения j–го параметра i–го ресур81
са, M i - число параметров i–го ресурса. Состояние системы С описывается множеством состояний всех ее ресурсов: C = {Ci / i = 1,2,..., N }. Имитационная модель РИСУ строится, исходя из принципов объектной ориентированности процессов. Среди компонент реальной РИСУ можно выделить множество одинаковых по функционированию, но разных по физическому носителю составляющих. Одинаковость означает лишь принадлежность к одному классу, т.е. не требует совпадения во всем. Область допустимых различий – значения неких величин, являющихся атрибутами каждого класса. Таким образом, в ИМ РИСУ ресурсами будут являться: R1 = r11 , r21 ,..., rp1 - множество информацион-
{
ных потоков 2 R2 = r1 , r22 ,..., rn2
{
}
}
между корреспондирующими узлами; - множество узлов обработки информации
{
}
(подсистем АСУ, АРМ-ов); R3 = r13 , r23 ,..., rm3 - множество узлов
{
}
коммутации информационной сети; R4 = r14 , r24 ,..., rs4 - множество каналов связи. Соответственно они являются непересекающимися подмножествами однотипных ресурсов всего множества 4
R = {ri / i = 1,2,..., N } , Υ R j = R , p + n + m + s = N . j =1
2. Изменение состояния СДС называют событием. Регулярное событие формально представляется в РДО – методе, как некоторое изменение состояния системы и описывается следующим образом: e = (te ,Ce− , Ce+ ) , te - момент времени свершения события, Ce− - состояние системы до события, Ce+ - состояние системы после события e . В некотором событии e участвуют не все ресурсы системы, и его наступление приводит лишь к локальному изменению состояния системы, то есть при свершении события следует анализировать изменения лишь части ресурсов системы. Ресурсы, состояния которых изменяются, называются релевантными со82
бытию e . Множество релевантных ресурсов событию e обознаe чается: R e = ri : Ci− ≠ Ci+ , R ∈ R . В имитационной модели РИСУ выделены следующие типы событий, изменяющие состояние системы: e1 - появление запроса (сообщения) пользователя; e2 - начало обработки сообщения на узле сети (УС); e3 - конец обработки сообщения на УС; e4 - начало передачи сообщения по каналу связи (КС); e5 - конец передачи сообщения по КС. Под узлом сети будем понимать как узел обработки информации АСУ, осуществляющий алгоритмическую обработку в соответствии с его функциональным назначением, так и узел коммутации, осуществляющий маршрутизацию информационных потоков. Каждый тип событий включает в себя множество событий, соответствующих конкретным объектам (ресурсам) системы. Так, например, событие «начало обработки на узле сети» включает в себя такое количество событий, сколько узлов сети в моделируемой РИСУ: e2 = e21 , e22 ,..., e2n + m . Следовательно, множества релевантных ресурсов однотипных событий различаются между собой. К релевантным ресурсам конкретного события «начало обработки на узле сети №3» относятся каналы связи, входящие в УС №3, тогда как такому же событию, происходящему на другом УС, будет соответствовать множество релевантных ресурсов, отличающееся номерами каналов. 3. Действия. Ресурсы в процессе функционирования СДС выполняют определенные действия, взаимодействуя между собой. Каждое действие, выполняемое ресурсами, связано с определенными событиями, происходящими в СДС. Целенаправленное действие изменения состояния системы можно описать через события начала и окончания действия: a = (eн , eк ) = tн , Cн− , Cн+ , tк , Cк− , Cк+ ,
{
}
{
}
{
}
83
tн и tк - время начала и конца действия. Ресурсы релевантные действию a есть объединение множеств ресурсов, релевантных событиям начала и конца действия: R a = R ен Υ R ek . В соответствии с частичной упорядоченностью событий в ИМ РИСУ могут происходить следующие действия: а1 = (е1 , е2 ) - генерация сообщения в сеть; а2 = (е2 , е3 ) - обработка сообщения на узле сети; а3 = (е3 , е4 ) - выбор маршрута транспортировки сообщения; а4 = (е4 , е5 ) - передача по каналу связи; а5 = (е5 , е2 ) - доставка сообщения до узла сети. Здесь каждое аi представляет собой множество однотип-
ных действий: аiq = (е kj , еlj + 1 ) , где i = 1,...,5; j = 1,...,5; k и l индексы по множествам релевантных ресурсов событиям е lj +1 соответственно;
е kj
и
q - индекс по множеству однотипных
действий, принадлежащих множеству i - го типа ai . Процесс функционирования СДС в РДО – методе представляется, как временная последовательность действий и нерегулярных событий П = A, E i , π , где А – множество действий, E i - множество нерегулярных событий, π - отношение предшествования во времени. Аналогично, в имитационной модели РИСУ: E i соответствует стохастическая временная последовательность s ( w) = (e1 ( w), t1 ( w))(e2 ( w), t2 ( w))(e3 ( w), t3 ( w))...(er ( w), tr ( w)) , а последовательности действий А - соответствует последовательность выполнения обрабатывающих модулей (см. верхний фрагмент рис. 3.1.), активизируемых наступлением конкретных событий начала и окончания действия.
84
В РДО - методе для регулярного события e задается алгоритм F преобразования C − в C + , который известен и определяется закономерностями функционирования системы. Поэтому действие a можно описать следующим образом: a = Fн (Сн− ( R a )), Fк (Ск− ( R a )), tн , tк ,
Fн , Fк - алгоритмы преобразования параметров, описывающих состояния ресурсов при событиях eн и ек ; Сн−, к ( R a ) - состояние ресурсов, релевантных действию a , до событий начала и конца действия. В имитационной модели РИСУ для сформированного списка событий, переводящих систему из состояния в состояние, создаются обрабатывающие модули (ОМ), реализующие логику процессов, происходящих в системе в результате наступления событий. Таким образом, алгоритмам F в ИМ РИСУ соответствуют алгоритмы обрабатывающих модулей. При каждом запуске ОМ идентифицируется процесс конкретного объекта моделируемой системы, т.е. ресурса. ОМ обращается к соответствующей области базы данных модели, воспроизводит логику процесса, заносит полученные результаты в блоки накопления статистик, вычисляет следующий момент наступления этого события и заносит его в файл базы данных, соответствующий таймеру данного особого состояния. 4. Если в описании действия исключить привязку к временной оси, оставив лишь длительность его выполнения ∆t = tк − tн , то получим виртуальное (возможное) действие. В качестве условия, определяющего возможность начала виртуального действия, используется некоторое логическое выражение P(Cн− ( R v )) , зависящее от значений параметров ресурсов, участвующих в нем: V = P(Cн− ( R v )), Fн (Cн− ( R v )), Fк (Cк− ( R v )), ∆t ,
85
где P(Cн− ( R v )) - предусловие начала виртуального действия. Виртуальное действие V может начаться, если выполняется условие: P (Cн− ( R v )) = TRUE . В имитационной модели РИСУ множество: v1 = (ОМ 1 , ОМ 2 ) - генерация сообщения в сеть; v2 = (ОМ 2 , ОМ 3 ) - обработка сообщения на узле сети; v3 = (ОМ 3 , ОМ 4 ) - выбор маршрута транспортировки сообщения; v4 = (ОМ 4 , ОМ 5 ) - передача по каналу связи; v5 = (ОМ 5 , ОМ 2 ) - доставка сообщения до узла сети. представляет собой множество виртуальных действий в исследуемой системе. А каждый vi представляет собой тип действия. Функцию предусловия начала виртуального действия выполняет управляющая программа ИМ. Управляющая программа работает с календарем событий, в результате анализа которого передает команду на запуск обрабатывающему модулю, имеющему наименьшее значение системного времени. 5. Операции в СДС. Описание действия позволяет формализовать законы функционирования системы для дальнейшего их использования в имитационном моделировании. Множество виртуальных действий V может быть разбито на небольшое число подмножеств действий, имеющих одинаковый физический смысл. Виртуальные действия, принадлежащие подмножеству V j , имеют одинаковую логику взаимодействия ресурсов и различаются лишь конкретными ресурсами, в них участвующими. V j = ψ , P(Cн− ( R v )), Fн (Cн− ( R v )), Fк (Cк− ( R v )),ϕ (Cн− ( R v )) , где ψ - множество всех возможных множеств, релевантных ресурсов R v для v ∈ V j ; ϕ (Сн− ( R v )) - длительность выполнения виртуальных действий.
86
Таким образом, принадлежность виртуальных действий к определенному типу означает, что для них P(Cн− ( R v )) , Fн (Сн− ( R v )) и Fк (Ск− ( R v )) одинаковы, то есть действия одного типа одинаковым образом меняют состояние релевантных ресурсов, требуют одинаковых условий начала по всем ресурсам и отличаются лишь множествами R v . Для формального описания логики виртуальных действий, принадлежащих подмножеству V j , вводится понятие операции. Операция О есть формальное описание множества однотипных виртуальных действий: О = E (ψ ), P(Cн− ( R o )), Fн (Cн− ( R o )), Fк (Cк− ( R o )),ϕ (Cн− ( R o )) , где E (ψ ) - описание множества ψ , R o - множество формальных ресурсов операции. Операцию О в некотором смысле можно уподобить подпрограмме, в которой P(Cн− ( R o )) , Fн (Сн− ( R o )) , Fк (Ск− ( R o )) - условие выполнения и алгоритмы, описанные в формальных параметрах. При задании фактических параметров получаем из операции виртуальное действие. Операция отражает логику взаимодействия ресурсов системы в процессе функционирования. В ИМ РИСУ операциями являются модули обработки особых состояний, т.е. обрабатывающие модули: появление заявки в сети; начало обработки на сетевом процессоре (УК и узле обработки информации), конец обработки на сетевом процессоре; начало передачи по каналу связи; конец передачи по каналу связи. ОМ воспроизводят одинаковую логику процесса, но при каждом новом запуске идентифицируют процесс конкретного объекта моделируемой системы. Обобщенная схема представления модели сложной дискретной системы (СДС) в РДО - методе изображена на рис 3.3. Таким образом, количество операций - обрабатывающих модулей в ИМ РИСУ невелико. Однако, количество обращений к каждому ОМ для имитации процессов, протекающих в РИСУ, 87
составляется из большого количества объектов, носителей этих процессов, а также из огромного количества запросов, осуществляемых каждым объектом.
виртуальных действий модели по степени сходства их множеств релевантных ресурсов. 3.1.2. Метод декомпозиции модели РИСУ
СДС Элементы СДС Правила функционирования
Модель СДС Ресурсы R
Операции О
Дискретный процесс Действия А
Рис. 3.3. Модель СДС в РДО методе В процессе функционирования РИСУ в ней появляются все новые и новые ресурсы, одно и то же действие может выполняться различными ресурсами, что еще больше увеличивает размерность задачи и придает необозримость вычислительному процессу имитации РИСУ при выполнении на последовательной ЭВМ. Однако, одинаковые действия, отличающиеся множествами релевантных ресурсов, можно выполнить параллельно на разных процессорах распределенной вычислительной системы, осуществляя при этом координацию разнесенных действий в едином модельном времени. Следовательно, задача декомпозиции ПО ИМ РИСУ будет состоять в классификации множества 88
Основной критерий декомпозиции программного обеспечения ИМ РИСУ был определен выше, как минимизация связей между блоками модели. Модули, составляющие блок, должны быть более связаны между собой, чем с модулями другого блока. Взаимосвязь обрабатывающих модулей выражается через их обращение к наборам данных в БД модели, изменяющее некоторые значения переменных для ресурсов системы, релевантных событиям, активизирующим данные ОМ. Объем связи обрабатывающих модулей, в свою очередь, определяется двумя, вообще говоря, относительно независимыми качественными характеристиками моделируемой системы, это: 1. Структурная связность системы. Она представляет собой статическую характеристику системы и определяется следующими свойствами: математической структурой неприводимых компонентов (подсистем); способом, которым эти компоненты связаны между собой. Для РИСУ это будет граф топологии сети. 2. Динамическая связность системы, обусловленная поведением системы во времени. Она зависит от заданных правил взаимодействия компонентов системы, частоты и характера их взаимодействия, наличия случайных факторов. Декомпозиция (разбиение) ПО ИМ на блоки должна проводиться в соответствии с заданной информацией о связях между обрабатывающими модулями. Методы декомпозиции будут существенно отличаться в зависимости от того, какая из приведенных качественных характеристик моделируемой системы учитывается в большей степени. Если в основу декомпозиции положить первую характеристику - структурную связность моделируемой системы, то ин89
формационный граф имитационной программы строится следующим образом. Компонентам системы ставятся в соответствие обрабатывающие модули (ОМ), а взаимосвязи ОМ представляются через входные и выходные контакты и отображаются матрицей сопряжения модулей. Эта матрица представляет собой матрицу смежности ориентированного графа. Исследуя ее методами теории графов, можно выделить классы наиболее связанных элементов системы. В такой постановке задача декомпозиции ПО ИМ представляет собой задачу разбиения графа на минимально связанные между собой подграфы. Существует большое количество методов решения таких задач, удобных для реализации на ЭВМ [26, 27]. В частности можно использовать методы теории частично упорядоченных систем [26], метод разбиения графа с использованием алгоритма перестановок строк и столбцов матрицы смежности [92], разбиение графа с использованием алгоритма построения матрицы эквивалентности. Однако, в такой постановке задачи, все связи между модулями учитываются одинаково, безотносительно к их интенсивности. Хотя перечисленными методами можно воспользоваться, если в исследуемой системе предполагается достаточно равномерное распределение информационных потоков. Но для адекватного распараллеливания имитационной программы необходим учет количественной характеристики второго вида, с тем, чтобы учитывались сравнения связей между модулями по интенсивности. Задачу во второй постановке предлагается решить методом автоматической классификации, т.е. кластерного анализа. Под проблемой классификации понимается проблема построения классификации множества объектов в соответствии с заданной информацией о связях между объектами, т.е. разбиения множества исследуемых объектов на группы, в которых связи внутри группы были бы максимальными, а между группами минимальными. Аргументом в пользу выбора кластерного анализа для 90
решения задачи декомпозиции ПО ИМ является то, что он позволяет производить разбиение объектов не по одному параметру, а по целому набору признаков. Кроме того, кластерный анализ в отличие от большинства математико-статистических методов не накладывает никаких ограничений на вид рассматриваемых объектов, и позволяет рассматривать множество исходных данных практически произвольной природы. Это имеет большое значение, когда показатели имеют разнообразный вид, затрудняющий применение традиционных подходов. Решением задачи кластерного анализа являются разбиения, удовлетворяющие критерию оптимальности. Этот критерий представляет собой некоторый функционал, выражающий уровни желательности различных разбиений, который называют целевой функцией. Конкретный вид целевой функции зависит от задачи и цели разбиения. Для постановки задачи разбиения ПО ИМ в терминах кластерного анализа, обратимся к формализованной ИМ РИСУ. Имитационная модель РИСУ выполняет разные типы действий, которые описывают различные аспекты функционирования подсистем и элементов исследуемой системы. Взаимосвязь действий, происходящих в ИМ, определяется множеством релевантных ресурсов каждого действия. Очевидно, что степень совпадения этих множеств у различных действий характеризует объем взаимосвязи между действиями. С целью выделения объектов, подлежащих классификации, и набора их признаков рассмотрим все возможные действия в ИМ РИСУ, соответствующие им события начала и окончания действия и множества релевантных ресурсов этих событий R ei . Для удобства рассмотрения эти данные представлены в таблице 3.1, из которой видно, что наиболее информативным для нашей задачи является действие 2 «Обработка на УС». Множество релевантных ресурсов этого действия есть R v2 = R e2 U R e3 , где R e2 = {номера входящих каналов в УС}, R e3 ={номера исходящих каналов из УС}. 91
Таблица 3.1 Событие начала Действие Событие окончания 1. Генерация e1 - появление соe2 - начало обработки сообщения в общения пользовасообщения на УС; сеть теля; ОМ1. ОМ2; e1 R ={№ информаR e2 ={№ конкретного ционного потока} УС} e2 - начало обработ- 2. Обработка e3 - конец обработки сообщения на ки сообщения на сообщения на УС; УС УС; ОМ2; ОМ3; e2 e3 R ={номера вхоR ={номера исходящих каналов в дящих каналов из УС} УС} e3 - конец обработки 3. Выбор марe4 - начало передачи шрута транссообщения на УС; сообщения по КС; портировки ОМ3; ОМ4; сообщения e3 R ={№ УС, № R e4 ={№ конкретного конкретного КС} КС} 4. Передача по e4 - начало передачи e5 - конец передачи каналу связи сообщения по КС; сообщения по КС; ОМ4; ОМ5; e4 R ={№ конкретноR e5 ={№ КС, № конго КС} кретного УС} 5. Доставка e5 - конец передачи e2 - начало обработки сообщения сообщения на УС; сообщения по КС; ОМ2; ОМ5; e5 R e2 ={№ конкретного R ={№ КС, № УС} конкретного УС}
рых происходят эти действия. Эта характеристика в большей степени отражает структурную связность моделируемой системы. Чтобы придать ей большую информативность и отразить динамические характеристики системы воспользуемся заданными входными данными модели. К ним относятся: а) Матрица тяготений сети, размерности n × n , n - число узлов сети, содержащая интенсивности информационных потоков, между i -м и j-м узлами. б) Матрица маршрутизации потоков, размерности n × n , в которой на пересечении i –ой строки и j-го столбца содержится номер канала, по которому должно направляться сообщение с i – го узла (вновь поступившее, или прошедшее промежуточную обработку), адресованное j-му узлу сети. По этим двум матрицам можно вычислить средние интенсивности потоков, проходящих по каждому каналу сети и сформировать список Λ = (λ1Σ , λΣ2 ,..., λΣр ) .
Пересечение множества виртуальных действий i -го УС j v 2i R с множествами R v2 виртуальных действий других УС характеризует степень связи действий, а значит и узлов сети, на кото-
λΣj , если j канал входит в множество R v и значение 0, в противном случае.
92
Далее для всех виртуальных действий v2i «обработка на сформируем вектора Y1 , Y2 ,..., Yn , где УС», i = 1,..., n , Yi = ( yi 1 , yi 2 ,..., yip ) , р – число каналов. Величина yij принимает значение 1, если канал под номером j входит в множество R v2 iго действия v2i , и принимает значение 0 в противном случае. Вектора Y1 , Y2 ,..., Yn формируются из матрицы маршрутизации потоков и вместе представляют матрицу Y размерности n× р . Если в каждом векторе Yi = ( yi 1 , yi 2 ,..., yip ) , единичные элементы с номером j заменить на j-й элемент вектора Λ = (λ1Σ , λΣ2 ,..., λΣр ) , то для каждого действия v2i получим набор признаков X i = ( xi 1 , xi 2 ,..., xip ) , в котором xij принимает значение 2
93
Тогда матрица Y преобразуется к виду: х11 х12 ... х1 р х х22 ... х2 р 21 = ( X 1 , X 2 ,..., X n ), Х= ... ... ... ... хn1 xn 2 ... xnp Таким образом, получили матрицу Х, в которой, помимо качественной информации о структуре связей моделируемой системы, содержится количественная информация об интенсивности связи действий, происходящих в ИМ. Матрица Х представляет собой весовую структуру, которую можно рассматривать, как теоретический способ задания свойств классифицируемого множества объектов (действий v2i ). Матрица Х характеризует не столько отдельные объекты, сколько связи между ними, и в этом смысле задает системные свойства, характеризующие все множество объектов. Таким образом, имеем конечное множество объектов V = (v1 , v2 ,..., vn ) , каждый из которых имеет набор признаков X i = ( xi 1 , xi 2 ,..., xip ) . Для определения количественной характеристики наибольшей связанности объектов введем р - мерное евклидово пространство Ер. Тогда каждому объекту по вектору его признаков можно сопоставить точку в этом пространстве. Количественной характеристикой различия объектов считается расстояние между соответствующими объектами. Объекты ι-ый и j-ый попадают в один кластер, когда расстояние между точками X i и X j достаточно маленькое и попадают в разные кластеры, когда это расстояние достаточно большое. Способ вычисления расстояний определяется введенной в пространстве метрикой. Неотрицательная функция d ( X i , X j ) называется функцией расстояния (метрикой), если: а) d ( X i , X j ) ≥ 0 , для всех X i и X j из Ер 94
б) d ( X i , X j ) = 0 , тогда и только тогда, когда X i = X j в) d ( X i , X j ) = d ( X j , X i ) г) d ( X i , X j ) ≤ d ( X i , X k ) + d ( X k , X j ) , где X i , X j и X k любые три вектора из Ер. Значение d ( X i , X j ) для X i и X j называется расстоянием между X i и X j , и эквивалентно расстоянию между объектами ri и rj . Существует большое количество различных метрик, используемых в методах кластерного анализа в зависимости от целей классификации [2, 33, 34, 48]. В нашем случае выбор остановим на евклидовой метрике. Это наиболее общий тип расстояния, является геометрическим расстоянием в многомерном пространстве: 1
2 2 p d ( X i , X j ) = ∑ (xki − xkj ) k =1 Евклидова метрика наиболее подходит выбранному способу задания количественных признаков в виде матрицы Х, так как она использует разности xki − xkj между значениями признаков,
как характеристику близости этих значений, т.е. является монотонной функцией вещественного аргумента х. Признаки, заданные в матрице Х, являются однородными, их значения выражены в одном масштабе и не требуют нормирования исходных данных. Также они являются равноценными и имеют одинаковый вес, с точки зрения влияния на формирование кластеров. Кроме того, евклидово расстояние имеет определенные преимущества, например, расстояние между двумя объектами не изменяется при введении в анализ нового объекта. Для усиления отличающей способности выбранной метрики предлагается использовать квадрат евклидова расстояния. Возведение в квадрат стандартного евклидова расстояния прида95
ет большие веса более отдаленным друг от друга объектам. Это расстояние вычисляется следующим образом: p
d 2 ( X i , X j ) = ∑ ( xki − xkj ) 2
(3.1.)
k =1
Итак, имеем n измерений X 1 , X 2 ,..., X n - наборов признаков классифицируемых объектов, представленных в виде матрицы данных размером n × p : х11 х12 ... х1 р х х22 ... х2 р 21 =( X 1 , X 2 ,..., X n ), (3.2.) Х = ... ... ... ... хn1 xn 2 ... xnp Расстояния между парами векторов d ( X i , X j ) , вычисленные в соответствии с метрикой (3.1.), представим в виде симметричной матрицы расстояний: 0 d12 ... d1n (3.3.) D = d 21 0 ... d n d n1 d n 2 ... 0 Выбор целевой функции, выражающей уровень желательности разбиения, зависит от используемого алгоритма и цели кластеризации. Для решения задачи оптимального разбиения множества виртуальных действий ИМ будем использовать иерархический агломеративный алгоритм. Он относится к группе алгоритмов, наиболее часто используемых для решения задач, в которых множествами признаков являются весовые структуры и учитываются сравнения связей между собой. Достоинствами этого алгоритма являются простота вычислений и интерпретации полученных результатов. Иерархические алгоритмы связаны с построением дендрограмм и характеризуются последовательным объединением исходных элементов. В этих алгоритмах вводится правило объединения или связи для двух кластеров. Существуют различные 96
правила, но специфике нашей задачи наиболее подходит «правило ближайшего соседа» для определения расстояния между кластерами. Этот метод называется методом одиночной связи. В данном случае на каждом шаге работы алгоритма объединяются те кластеры, расстояние между которыми оказывается равным расстоянию между двумя самыми близкими элементами, принадлежащими к этим двум кластерам. Критерием объединения кластеров является значение целевой функции W : W : di , k = min{dik }, (k ≠ i ) (3.4.) k = 1, m
где i и k - номера кластеров, m - количество кластеров. Это правило строит кластеры, «сцепленные вместе» только отдельными элементами, оказавшимися ближе остальных друг к другу. 3.1.3. Дендрограммы. Смысл иерархический агломеративной процедуры заключается в следующем. Перед началом кластеризации все объекты считаются отдельными кластерами, т.е. имеется m=n кластеров, каждый из которых включает по одному элементу. На первом шаге алгоритма определяются два наиболее близких объекта, которые объединяются в один кластер, общее количество которых сокращается на 1 (m:=m–1). Итеративный процесс повторяется, пока на последнем (m—1)–м шаге все классы не объединятся. На каждом последующем шаге агломеративной процедуры требуется пересчет лишь одной строки и одного столбца матрицы D, т.е. рассчитываются расстояния от образованного кластера до каждого из оставшихся кластеров. Дендрограммы представляют собой диаграммы дерева. Дендрограмму можно определить, как графическое изображение результатов процесса последовательной кластеризации, которая осуществляется в терминах матрицы расстояний. В дендрограмме объекты располагаются вертикально слева, результаты кластеризации – справа. Значения расстояний, отвечающие строе 97
нию новых кластеров, изображаются по горизонтальной прямой поверх дендрограмм.
расстояние
0
0,1
0,2
0,3
0,4
0,5
A C F E D B разрезание
Рис 3.4. Пример построения дендрограммы. На рисунке 3.4. показан один из примеров дендрограммы. Рисунок соответствует случаю шести объектов (n=6) и k характеристик (признаков). На первом этапе первоначальный массив данных представляется в виде множества, состоящего из кластеров, включающих в себя по одному элементу. Процесс группировки начинается с объединения такой пары кластеров, которая имеет минимальное расстояние. Это требует рассмотрения кажn(n − 1) дого из возможных объединений кластеров. Так на рис. 2 3.4. объекты А и С наиболее близки и поэтому объединяются в один кластер на уровне расстояния, равном 0,1. На следующем этапе требуется оценка значений целевой (n − 1)(n − 2 ) кластеров. На рис. 3.4 объекты функции W уже для 2 D и Е объединяются при уровне 0,2. Теперь имеем 4 кластера: (А, С), (F), (D, E), (B). Далее образуются кластеры (А, С, F) и (E, D, B), соответствующие уровням расстояния, равному 0,3 и 0,4. 98
Окончательно, на последнем шаге все объекты объединяются вместе при уровне 0,5. На диаграмме горизонтальные оси представляют расстояние объединения. Так, для каждого узла в графе (там, где формируется новый кластер) можно видеть величину расстояния, для которого соответствующие элементы связываются в новый кластер. Использовать построенную дендрограмму для выделения того или иного количества отдельных кластеров можно путем "разрезания" этой дендрограммы на определенном значении шкалы расстояний D. Фактически это означает, что проводится вертикальная линия, рассекающая дерево связей в том месте, где наблюдается максимальный скачок в изменении межкластерного расстояния. Таким образом, процессу группировки соответствует последовательное минимальное возрастание значения критерия W, соответствующее объединению все большего числа кластеров, состоящих из все сильнее различающихся элементов. Окончательно, на последнем шаге все объекты объединяются вместе. Рассматривая последовательность возрастающих величин целевой функции W, можно выявить скачок (один или несколько) в ее динамике, который можно интерпретировать как характеристику числа групп «объективно» существующих в исследуемой совокупности. Разрезание дендрограммы в месте «скачка» дает число кластеров, состоящих из сходных между собой объектов, они отражены в иерархическом дереве различными ветвями. 3.1.4. Алгоритм кластеризации множества виртуальных действий ИМ
Рассмотрим алгоритм последовательной кластеризации множества виртуальных действий {v2i , i = 1,..., n} ИМ РИСУ. Для удобства изложения далее опустим индекс «2», означающий действие «обработка на УС», и будем представлять множество {v2i , i = 1,..., n} , как V = (v1 , v2 ,..., vn ) . Таким образом, множество 99
действий имитационной модели V есть множество объектов, подлежащих классификации. На первом шаге алгоритма множество объектов V = (v1 , v2 ,..., vn ) рассматривается, как множество кластеров {v1},{v2 },...,{vn } . Далее выбираются два из них, например, {vi } и {v j } , которые более близки друг к другу по значению расстояния, вычисленному по формуле (3.1), и объединяются в один кластер. Новое множество кластеров, состоящее уже из n-1 кластеров, будет: {v1},{v2 },...,{vi , v j },...,{vn } . Повторяя процесс, получим последовательные множества кластеров, состоящие из (n-2), (n-3), (n–4) и т.д. кластеров. В конце процедуры можно получить кластер, состоящий из n объектов и совпадающий с первоначальным множеством V = (v1 , v2 ,..., vn ) . В качестве меры расстояния был выбран квадрат евклидоdij2 вой метрики (3.1.). Вычислим матрицу D = {d ij2 } , где квадрат расстояния между {vi } и {v j } :
v1 v1
v3
…. vn
v1
v2
v3
….
vn
0
d 122
d 132
….
d12n
0
d 232
….
d 22n
0
….
d 32n
….
…. 0
Пусть расстояние между {vi } и {v j } будет минимальным: d ij2 = min{d ij2 , i ≠ j} . Образуем с помощью {vi } и {v j } новый кла-
стер {vi , v j } . Построим новую матрицу расстояния, размерности ((n-1), (n-1)): 100
{vi , v j } v1 v2
v3
{vi , v j }
v1
v2
v3
….
vn
0
d ij2,1
d ij2, 2
d ij2,3
….
d ij2, n
0
d 122
d 132
….
d12n
0
d 232
….
d 22n
0
….
d 32n
…
… 0
… vn
(n-2) строки для последней матрицы взяты из предыдущей, а первая строка вычислена заново. Вычисления сводятся к минимуму, так как d ij2,k , (k = 1,..., n; k ≠ i ≠ j ) выражаются через эле-
менты первоначальной матрицы. На первом шаге, когда каждый объект представляет собой отдельный кластер, расстояния между этими объектами определяются выбранной метрикой, но надо определять расстояния и между кластерами, содержащими более чем один элемент. Для этого будем использовать целевую функцию W (3.4). Определим d i + j , k как минимальное из этих двух расстояний: di + j , k = min(dik , d jk )
Таким образом, описан первый шаг работы агломеративного иерархического алгоритма. Последующие шаги аналогичны. На каждом шаге работы алгоритма надо фиксировать значения ∆Wi = Wi − Wi −1 , характеризующие величину изменения функции W , для дальнейшего выбора максимального ∆Wi , определяющего число кластеров. Процессу группировки должно соответствовать последовательное минимальное возрастание значения критерия W . Наличие резкого скачка в значении W интерпретируется, как характеристика числа кластеров, объективно существующих в исследуемой совокупности. Возможно наличие 101
нескольких скачков, которые приводят к разным вариантам разбиений множества V = (v1 , v2 ,..., vn ) виртуальных действий ИМ РИСУ, следовательно, декомпозиции ПО ИМ. 3.1.5. Результаты декомпозиции ПО ИМ РИСУ
Принципы построения декомпозированной УП будут изложены ниже (п. 3.4). Кластеры Кластер 1
Действия v21 . . .
1 1
v
v
Ресурсы кластеров
1 n1
:
В результате применения процедуры кластеризации множества виртуальных действий V = (v1 , v2 ,..., vn ) имитационной модели мы получили М кластеров: V = (V1 ,V2 ,...,VM ) , где Vi = (v1i , v2i ,..., vni i ) - i -кластер, состоящий из ni действий. Число полученных кластеров определяет количество блоков декомпозированной ИМ РИСУ. Виртуальные действия, входящие в один кластер, формируют единый блок имитационной модели. Номерам объектов (действий) кластера соответствуют номера узлов сети; множества релевантных ресурсов данных действий определяют конкретные каналы связи и информационные потоки; событиям, определяющим действие vi , соответствуют конкретные обрабатывающие модули имитационной модели (см. табл. 3.1.). База данных моделирования для полученного блока ИМ формируется следующим образом. Общая структура базы данных остается такой же, как и в исходной ИМ, только файлы БД блока содержат только те записи, которые соответствуют полученному блоку. То есть декомпозиция базы данных модели заключается в разделении записей файлов БД по принадлежности ресурсов ИМ к полученным в результате декомпозиции блокам. На рис. 3.5. изображена схема декомпозиции БД модели. Базы данных блоков будут соответствовать Rk1 , Rk2 ,…, RkM - объединениям релевантных ресурсов действий, входящих в кластеры. Общая структура моделирующей программы блока остается той же, т.е. все ОМ ИМ РИСУ входят в блок. Некоторое видоизменение претерпевает управляющая программа (УП) блока. 102
R1 : :
U
R2
U … U
Rn
=
Множества релевантных ресурсов действий : : : : : : : : :
Кластер М
v1м R1
v2м U
R2
. . .
U … U
Rk1
: : :
vnм1 Rn
=
RkM
Рис.3.5. Формирование баз данных блоков РИМ. По результатам классификации множества V = (v1 , v2 ,..., vn ) также определяется структура распределенной имитационной модели (РИМ), т.е. формируются матрица сопряжения полученных блоков и матрица интенсивности взаимодействий между блоками ИМ. Эти характеристики потребуются на следующих этапах организации вычислительного процесса распределенного имитационного моделирования РИСУ. Схема формирования матрицы сопряжения и матрицы интенсивности взаимодействий блоков представлена на рис. 3.6. Пересечение множеств Rki Ι Rkj , (i, j = 1,..., M ) дает номера каналов сети по которым осуществляется взаимодействие между i и j блоками. Если пересечение пусто, то соответст103
вующий элемент матрицы смежности А равен нулю: aij = 0 , в
λΣm - элементы вектора интенсивностей
противном случае aij = 1 .
сформированного из исходных данных модели. λ∗ij - элемент матрицы интенсивности взаимодействий блоков имитационной
Пересечение множеств ресурсов кластеров
R Ι Rk1
Rki Ι Rk2
i k
номера
{k1 ,..., m1 }
.
аi 1
.
аi 2
интенсивности каналов
i строка матрицы интенсивностей
{k 2 ,..., m2 } .
.
.
.
.
.
ствия не производятся и значения λ∗ij полагаются равными нулю:
λ∗ij =0. Предлагаемый способ декомпозиции ПО ИМ РИСУ, автоматически формирует блоки ИМ, структуру распределенной ИМ, базы данных модельных блоков. Но, как было отмечено выше, возможно наличие нескольких вариантов разбиения V = (v1 , v2 ,..., vn ) , в зависимости от полученных скачков целевой функции W. Для выбора окончательного варианта декомпозиции ПО ИМ, необходимо оценить возможные временные факторы РИМ, т.е. ускорения вычислительного процесса ИМ РИСУ.
.
.
aiM
3.2. Оценка качества вариантов проектов распределенной имитационной модели
Λ = (λ1Σ , λΣ2 ,..., λΣр ) , р –число каналов сети если аij = 1
λ∗i 1
λ∗i 2
.
.
.
.
λ∗iM
Рис. 3.6. Формирование матриц смежности и интенсивности взаимодействий РИМ. Если
aij = 1 , то по полученным номерам каналов
{ki ,..., mi } , (i = 1,..., M ) вычисляется суммарная интенсивность взаимодействия i и j блоков ИМ: λ∗ij = λΣk i + ... + λΣmi , где λΣk i 104
Λ = (λ1Σ , λΣ2 ,..., λΣр ) ,
∗ ∗ модели: Λ = λij , (i, j = 1,..., M ) . При значении аij = 0 эти дей-
Rki Ι RkМ
.
{k М ,..., mМ } если пересечение не пусто, то аij = 1 , иначе аij = 0
каналов
i строка матрицы смежности
.
i
и
Оценить качество полученного варианта декомпозиции ИМ можно с помощью временного фактора. Временной фактор есть отношение времени выполнения ИМ на одном процессоре ко времени выполнения на нескольких процессорах. Обычно имеется несколько вариантов декомпозиции ИМ на блоки. Определение наибольшего возможного временного фактора до начала процесса моделирования позволит эффективно организовать вычислительный процесс [81]. Предлагаемый способ основан на применении математического аппарата теории случайных импульсных потоков [56] и позволяет учесть характеристики вычислительной платформы, на которой предполагается реализация РИМ. 105
Пусть в результате декомпозиции ПО ИМ получено М блоков. Каждый блок представляет собой процесс моделирования, т.е. воспроизведения действий ИМ. Зададим: τ j , (ј=1, М) - среднюю продолжительность выполнения программы j -го блока; λ j , (ј=1, М) - интенсивность обмена сообщениями с ј-м блоком ИМ. λ j соответствует частоте взаимодействия ј-го процесса с другими процессами моделируемой системы и определяется из матрицы интенсивностей взаимодействий Λ∗ , как отношение суммы элементов j -ой строки к числу ненулевых элементов этой же строки. Для определения характеристики τ j проведем следующие рассуждения. 1. τ j - есть средняя продолжительность выполнения программы блока j до обмена сообщениями с другими блоками РИМ. Каждый блок воспроизводит n j взаимосвязанных действий ИМ. Каждое действие характеризуется вектором X i = ( xi 1 , xi 2 ,..., xip ) , в котором xij принимает значение λΣj , если j канал входит в множество R v2 и значение 0, в противном случае. Отношение суммы значений вектора X i к числу ненулевых элементов вектора характеризует частоту активизации i -го действия: γ i . 2. Каждому действию соответствует выполнение двух обрабатывающих модулей (см. табл. 3.1.), имеющих известную производительность δ oмi . Тогда величина
определяет среднюю продолжительность работы программы рассматриваемого блока. 3. Блок на каждом шаге имитации может выполнять только один обрабатывающий модуль (ОМ). Всего выполнений ОМ может быть в блоке 2 n j . Учитывая, что событие обмена данными может наступить на любом шаге имитации, среднюю продолжительность выполнения программы блока j до обмена сообщениями вычислим по формуле: n 1 j τ j = ∑ γ iδ омi (3.6) n j i =1 Средние характеристики τ j и λ j определены. Для каждого блока зададим условный поток активностей блока ј в виде потока прямоугольных импульсов с единичной амплитудой, где интенсивность потока импульсов будет соответствовать λј - интенсивности обращений к блоку, а средняя длительность импульсов - средней длительности выполнения блоком внутренней работы τ j (рис. 3.7). Поток прямоугольных импульсов характеризуется коэффициентом заполнения потока: η j = λ jτ j , который в нашем случае выступает коэффициентом занятости ј-го блока ИМ.
λј λј τj
nj
2∑ γ iδ омi
(3.5)
Рис. 3.7. Условный поток активностей блока j.
i =1
106
107
Поскольку блоки распределенной ИМ работают параллельно, каждый со своей интенсивностью, образуется наложение потоков активностей блоков ИМ. Характеристики этого условного суммарного потока (рис. 3.8) позволяют получить оценку возможного временного фактора, т.е. ускорения моделирования РИСУ. При суммировании М потоков с единичными амплитудами амплитуда суммарного потока изменяется в пределах 0 ≤ k ≤ M . Поток импульсов на каждом уровне суммарного потока характеризуется коэффициентом заполнения потока η s( k ) , который соответствует степени занятости имитационной модели одновременной (параллельной) работой k и более блоков. Здесь имеется ввиду, что в любой момент времени одновременно могут работать либо k , либо k + 1 , и т.д., либо М блоков.
В теории импульсных потоков предполагается, что величины η j принимают значения из интервала (0, 1). Поэтому нормируем значения η j следующим образом:
η j := η j
M
∑η j =1
j
Коэффициент заполнения суммарного потока на k -ом уровне η s(k ) находится как сумма совпадений k импульсов в М потоках, совпадений k + 1 импульсов в М потоках, и т.д., совпадений М импульсов в М потоках. Процесс вычисления величин η M , k , т.е. совпадений k импульсов в М потоках состоит в том, что из М потоков выделяются всевозможные сочетания по k потоков и образуется kM
( )
k
групп, в каждой из которых определяется произведение
,а
lk
l =1 M −k
λ1
из потоков, находящихся вне этой группы произведение
λ2
∏q
jk
.
j =1
λ3
λ∑
Рис. 3.8. Условный суммарный поток активностей модулей ИМ. Коэффициенты η s( k ) можно вычислить по формуле:
ηS
108
∏η
(k )
M
M i
i
i=k
r =1
l =1
=∑
M −i
∑ ∏η ∏ lr
j =1
q jr , где qj=1- ηј.
Систематизация процесса вычисления η M , k помощью рекуррентной формулы: аМ(К)= аМ-1(К-1) ηк+ аМ(К-1) qк при начальных значениях: а0(0) =0, а1(0) =0, а2(0) =0,…, (1) а0 =1- η1, а1(1) =η1, а2(1) =0,…, : : : . . . (М) (М) (М) а0 =1-ηМ, а1 =ηМ, а2 =0,…,
производится с
аМ(0) =0 аМ(1) =0 : . аМ(М) =0
Чтобы учесть время, затрачиваемое на обмен сообщениями по среде передачи между процессорами, введем в рассмотрение аналогичный условный поток активностей, средняя интенсивность которого определяется как: 109
λ y = ∑ (λ j ) , M
j =1
где λ у - интенсивность взаимодействий между всеми М блоками ИМ, λ j - частота запуска j-го блока. В качестве τ у используется значение латентности коммуникационной среды, т.е. время, затрачиваемое на передачу одного сообщения, складывающееся из программной и аппаратной составляющих. Эти значения должны быть известны из обязательного предварительного исследования по выбору программных средств, реализующих межпроцессный обмен сообщениями. Возвращаясь к введенному условному потоку активностей, связанному с учетом затрат времени на передачу сообщений между блоками РИМ, определим коэффициент заполнения данного потока как величину η y = λ yτ y . Введем этот условный поток активностей, как (М+1)-й поток и, по предложенному выше способу, определим коэффициенты заполнения уровней суммарного потока η s(k ) , характеризующие коэффициент времени одновременной работы k и более блоков, с учетом передачи сообщений по коммуникационной среде. Используя величины η s(k ) определим вероятности одновременной (параллельной) работы ровно k блоков ИМ для данного варианта декомпозиции ПО ИМ, где k= 0,…, М+1 : P0 = 1 − η s(1) , вероятность того, что ни один блок ИМ не находится в активном состоянии; P1 = η s(1) − η s(2 ) , вероятность того, что только один блок ИМ находится в активном состоянии; Pk = η s(k ) − η s(k +1) , вероятность одновременной работы ровно k блоков ИМ; 110
PM + 1 = η s( M +1) , вероятность одновременной работы всех блоков ИМ и передачи сообщений по коммуникационной среде. Значения Pk имеют смысл вероятностей состояний распределенной имитационной модели, поскольку в каждый произвольно взятый момент времени имеет место только одно из этих состояний. Следовательно, имеем полную систему событий, для которой сумма вероятностей событий равна единице: M +1
∑P k =0
k
=1
Обозначим через z состояние РИМ. Случайная величина z принимает возможные значения 0, 1, …, k, …, М+1 с вероятностями Р0, Р1,…,Рk,…, РM+1. Тогда математическое ожидание случайной величины z равно z=
M +1
∑ kP , k =0
k
z - ближайшее целое к z , представляет собой среднее число одновременно работающих блоков распределенной ИМ в любой момент времени. Сумма коэффициентов заполнения потоков блоков ИМ M
∑η j =1
j
характеризует работу последовательной ИМ. Тогда отношение M ∑η j j =1
(3.7) η s( z ) дает оценку возможного временного фактора. Это значение позволяет однозначно выбрать вариант декомпозиции имитационной модели, предпочтительней тот вариант декомпозиции ПО ИМ, который дает большее значение оценки (3.7).
111
3.3. Выбор оптимального алгоритма синхронизации
При распределении блоков имитационной модели на несколько процессоров появляется распределенное модельное время и распределенный календарь событий. Если обрабатываемое событие зависит от некоторого, еще не обработанного события, то возникает так называемая наведенная ошибка. При последовательном моделировании эта проблема решается правильным составлением глобального списка событий. Для распределенного случая эта проблема более критична. Для поддержания правильной логики развития модели в этом случае необходимо использовать специальное средство синхронизации – алгоритм синхронизации (АС). Наиболее известные алгоритмы синхронизации это [21, 22]: строго синхронные; консервативные; оптимистические. Строго синхронные АС поддерживают единые часы для всей модели, то есть любое событие продвижения модельного времени подлежит синхронизации. Такой алгоритм синхронизации осуществляется в последовательной имитационной модели. Консервативные АС позволяют процессам развиваться независимо до тех пор, пока не встретится событие получения сообщения. Обработка этого события разрешается только в случае, если известно, что процесс не может получить “отстающее” сообщение. Иначе процесс блокируется и ждет, когда можно будет обработать событие получения сообщения. Оптимистические АС позволяют моделирующему алгоритму развиваться естественным образом, без каких-либо ограничений, но при возникновении некорректных ситуаций выполняют откат назад. Такой ситуацией может быть получение “отстающего ” сообщения. Однозначного ответа на вопрос, какой АС лучше, нет. Все алгоритмы синхронизации имеют свои плюсы и минусы, и их эффективность зависит от свойств имитационных моделей. В работах [32, 33] предлагается метод анализа алгоритмов синхро112
низации времени для распределенного имитационного моделирования. Он основывается на построении математических моделей алгоритмов синхронизации с целью сравнения различных АС. Критерий эффективности при сравнении: лучше тот АС, который способен за данное число шагов имитации развить приложение (имитационную модель) до большего значения модельного времени. Поскольку оптимистический АС допускает откаты, а консервативный АС – блокировку процессов, то одно и то же приложение под управлением разных АС за одинаковое число шагов достигает, вообще говоря, различных значений времени. Математическая модель функционирования пары «АС, ИМ», предложенная в [22] заключается в следующем. N взаимодействующих процессов исполняются на P процессорах P={1,N}. За системой ведется наблюдение через равные промежутки физического времени. Моменты наблюдения назовем шагами и занумеруем 1,2,.... Каждый процесс имеет свои локальные часы, либо в системе единое модельное время, то есть значения всех локальных часов одинаковы. На i-м шаге состояние системы определяется значением вектора 1 2 N X i = ( xi , xi ,Κ , xi ) текущих времен процессов. В случае единого времени Xi - скаляр. Время всей системы на i-м шаге Ti = min xin . Значения Xi меняются на каждом шаге по опредеn = 1, N
ленному закону. Этот закон описывается случайным процессом, вид которого зависит от конкретного АС, то есть Xi – случайный процесс. На любом шаге процессы могут обмениваться сообщениями. k-й процесс на i-ом шаге посылает сообщение l-му kl kl процессу с вероятностью α i ( k , l = 1, N ), 0 ≤ α i ≤ 1 . Предполагается, что сообщения передаются мгновенно. Затраты времени на внутреннюю работу процессов между двумя соседними шагами (приращения локальных часов) характеризуются случайными величинами {ξ ik }, k = 1, N , ξ ik > 0 . 113
Таким образом, входными параметрами модели являются вероятности посылки сообщений между процессами { α ikl } и приращения локальных часов процессов {ξ ik } . Эти параметры характеризуют имитационную модель. Алгоритм синхронизации характеризует закон продвижения модельного времени. C помощью предложенных моделей можно оценить время, до которого способна дойти пара (АС, ИМ) за любое фиксированное число шагов. Это позволяет оценивать эффективность различных АС для ИМ. Для этого необходимо: 1. Выбрать модели интересующих алгоритмов синхронизации. 2. Задать параметры ИМ. 3. Оценить значения TI для всех пар. Чем больше TI , тем эффективнее данный АС для данной ИМ. 4. Выбрать наиболее эффективный для данной ИМ алгоритм синхронизации. Основные параметры имитационной модели, влияющие на эффективность АС: 1. Разброс значений приращений локальных часов: абсолютный - ∆Tабс = max M (ξ in ) − min M (ξ in ) и n =1, N , i
относительный - ∆Tотн =
n =1, N , i
∆Tабс 100% min M (ξin )
n = 1, N , i
2. Интенсивность обмена сообщениями. 3. Топология модели. 4. Законы распределений приращений локальных часов. Для получения значений TI для различных пар необходимо промоделировать соответствующие случайные процессы методом статистических испытаний. Математическая модель развития пары «АС, ИМ» позволяет лизовать и исследовать характеристики алгоритмов синхронизации, выбрать оптимальный АС для заданного типа приложений. 3.4. Принципы построения управляющей программы РИМ 114
Распределенная имитационная модель РИСУ, полученная в результате декомпозиции, состоит из блоков, которые должны выполняться параллельно на разных процессорах вычислительной системы. При этом сохраняется минимизированный (для заданного варианта параметров и исходных данных модели) обмен сообщениями между блоками ИМ. Блок РИМ, выполняющийся на одном процессоре, содержит все обрабатывающие модули ИМ РИСУ, внутри блока сохраняется классическая форма квазипараллельного исполнения. Файлы БД блока содержат только те записи, которые соответствуют множествам релевантных ресурсов действий ИМ, входящих в один класс. Поэтому блоки РИМ могут отличаться не только объемом воспроизводимых действий, но и разными алгоритмами обрабатывающих модулей, которые, в свою очередь, зависят от конкретных ресурсов, над которыми производятся действия в модели. Таким образом, блоки РИМ представляют собой имитационные модели, воспроизводящие наиболее связанные множествами релевантных событий действия. При этом взаимосвязанные процессы исполняются квазипараллельно и их взаимодействие осуществляется через общую память. Функцию согласования поведения всех процессов в едином модельном времени выполняет управляющая программа (УП) блока. Координация действий между блоками ИМ, выполняющимися на разных процессорах, осуществляется с помощью механизма алгоритма синхронизации, предназначенного для поддержания правильной логики развития распределенной модели. Общая схема распределенного имитационного моделирования с децентрализованной УП приведена на рис. 3.9. Таким образом, управляющая программа распределенной имитационной модели (УП РИМ) состоит из управляющих программ блоков ИМ и алгоритма синхронизации, т.е. является де-
115
3. Передача управления соответствующему обрабатывающему модулю. На рис.3.10 изображены действия УП последовательной ИМ РИСУ.
Алгоритм синхронизации взаимодействующих про-
Таймеры Б ДМодули 1 У П блока 1
Б ДМодули 2 УП блока 2
Б ДМодули М УП блока М
Рис 3.9. Общая схема распределенного моделирования. централизованной. УП РИМ кроме функций согласования процессов в едином времени внутри блоков должна осуществлять дополнительную функцию: согласование распределенных процессов. Следовательно, механизм выбранного алгоритма синхронизации (оптимистического или консервативного) должен быть введен в управляющие программы блоков, это значит, что изменяются алгоритмы работы УП блоков по сравнению с алгоритмом УП последовательной ИМ. Рассмотрим функции УП последовательной ИМ. В соответствии с основными принципами построения моделирующего алгоритма каждый шаг имитации начинается с работы УП, выполняющей следующие действия: 1. Просмотр в БД всех таймеров особых состояний, представляющих собой массивы. Выбор из каждого массива минимального времени наступления события, занесение этих значений в таймер системного времени, т.е. календарь событий. 2. Поиск по календарю событий минимального времени наступления события и установка текущего модельного времени равным этому значению. 116
Генерация запросов 1 № потока t Время наступл. 1
Календарь событий ... ...
i ti
... ...
q tq 2. Выбор min Т
Начало обработки наУС 1 ... № узла сети t1 . . . Время наступл. Конец обработки на УС 1 ... № узла сети t1 . . . Время наступл.
i ... n ti . . . tn 1. Выбор min t
T1
ОС1
i ti
T2
ОС2
T3
ОС3
T4
ОС4
Т5
ОС5
... ...
n tn
Начало передачи по КС № канала связи 1 . . . t1 . . . Время наступл.
i ti
... ...
p tp
Конец передачи по КС № канала связи 1 . . . Время наступл. t1 . . .
i ti
... ...
p tp 3. Вызов
Обрабатывающие модули
ОМ 1
ОМ 2
ОМ 3
ОМ ОМ 4
ОМ 5
Рис. 3.10. Действия УП последовательной ИМ РИСУ. Эти действия осуществляются на каждом шаге имитации, так как обрабатывающий модуль, получивший команду на за 117
пуск, в процессе своей работы изменяет значения таймеров не только своего, но и последующего события. При распределенном моделировании также необходимо сохранить правильную последовательность обработки наступающих событий в модели. Для этого УП блока ИМ, помимо рассмотренных функций, должна выполнять действия, реализующие механизм алгоритма синхронизации блоков РИМ. РИМ – это совокупность М процессов блоков, которые могут взаимодействовать только путем передачи сообщений. Для хранения сообщений у каждого блока есть индивидуальный буфер линий связи, посылать сообщения в который могут все процессы РИМ, а получать сообщения из этих буферов может только один процесс – владелец. Матрица сопряжения блоков, полученная в результате декомпозиции, дает информацию о количестве линий связи у каждого блока РИМ (см. рис. 3.6), что определяет размерность буфера входных сообщений. Следовательно, на каждом шаге имитации УП блока сначала должна проверить содержимое буфера линий связи, обработать полученную информацию, занести новые данные в базу данных блока и только после этого выполнить перечисленные действия 1, 2, 3, определенные для УП последовательной ИМ. В принятом сообщении должна содержаться следующая информация: - временная метка события «конец передачи по каналу связи», т.е. время наступления этого события; - номер КС, которому предназначено завершение операции передачи по каналу; - сведения о передаваемом информационном пакете: номер узлаисточника, № узла получателя, время входа сообщения в сеть. В зависимости от выбранного алгоритма синхронизации, консервативного или оптимистического действия УП по обработке полученных сообщений будут отличаться. 1. Консервативный АС имеет следующий принцип организации: перед определенными модельными событиями устанав118
ливаются точки синхронизации, в которых АС задерживает процесс блока до выполнения определенного условия. События модели, перед которыми ставятся точки синхронизации называются критическими событиями (далее К-событиями). Задержанный по К-событию процесс будет продолжен, когда будет выполнено условие освобождения критического события. К-событием в РИМ РИСУ будет являться событие «конец передачи по каналу связи». При консервативном алгоритме синхронизации УП проверяет содержимое буфера линий связи, если имеются сообщения, то УП устанавливает свои локальные часы с учетом временных меток полученных сообщений. При этом обеспечивается правильный порядок обработки событий в РИМ. Если же буфер не содержит сообщений, то процесс должен быть блокирован и переведен в режим ожидания. Это связано с тем, что процесс блока может получить от другого процесса сообщение, временная метка которого окажется меньше временных меток всех других событий процесса. При этом устанавливается определенное время ∆t, по истечении которого УП снова проверяет содержимое буфера линий связи. Величина ∆t для каждого блока ИМ определяется из матрицы интенсивности взаимодействий Λ∗ , полученной по результатам декомпозиции ПО ИМ РИСУ, следующим образом: ∆t j = 1 , j = 1,..., M ,
λj
где λ j - частота взаимодействия ј-го процесса с другими процессами моделируемой системы и определяется из матрицы интенсивностей взаимодействий, как отношение суммы элементов j ой строки к числу ненулевых элементов этой же строки. Переход в режим ожидания происходит следующим образом: УП проверяет содержимое таймера К-события, устанавли5 вает ближайшее время его наступления t min , проверяет условие: 5 сист tmin − tтек ≤ ∆t , (3.11) 119
сист где t тек - текущее системное время. При выполнении этого условия процесс переходит в режим ожидания. Если условие (3.11) не выполняется, то проверяется следующее условие: имеется ли событие еi3 - «конец обработки на сист + ∆t ] . Событие еi3 УС» с временной меткой, меньшей чем [tтек не может повлиять на искажение правильной последовательности обработки событий, так как оно менее всего связано с Ксобытием еi5 - «конец передачи по КС». А в ожидаемых сообщениях в буфере линий связи могут появиться только события типа еi5 . Событие еi3 - «конец обработки на УС» означает, что некоторое сообщение уже обрабатывается на узле и требуется завершение. Наиболее связано с событием еi5 событие еi2 - «начало обработки на УС», временная метка которого может измениться. Следовательно, при выполнении условия сист ti3 π tтек + ∆t , (3.12) УП устанавливает новое текущее значение системного времени, 3 равным ti и передает управление ОМ3. После выполнения данного модуля ОМ3, начинается новый шаг имитации, в начале которого вновь выполняются все действия УП блока.
∆t е3 е1 сист t тек
е5 5 t min
Рис. 3.11.
120
Tмод
В случае невыполнения условия (3.12) процесс переходит в режим ожидания. Пояснение действий УП при переходе в режим ожидания показано на рис 3.11. 2. В оптимистическом АС нет К-событий. Модель развивается до тех пор, пока не встретится сообщение с временной меткой, меньшей, чем текущее время процесса блока. Такое некорректное развитие процессов должно обнаруживаться и устраняться с помощью механизма отката. При использовании оптимистического АС, УП блока на каждом новом шаге имитации проверяет содержимое буфера линий связи, если имеются сообщения и их временные метки больше текущего модельного времени процесса данного блока, то УП устанавливает свои локальные часы с учетом временных меток полученных сообщений. При этом обеспечивается правильный порядок обработки событий в РИМ. Если же УП обнаруживает, что поступило сообщение с меньшей временной меткой, она организовывает «откат»: локальные часы переводятся на момент времени наступления события с меньшей временной меткой, корректируется БД блока, для этого в БД блока ведется отдельный файл, куда последовательно записываются произведенные изменения в соответствии с выполненными шагами имитации. Если же буфер линий связи не содержит сообщений, то процесс моделирования внутри блока продолжается по классической схеме. Таким образом, УП РИМ является децентрализованной, состоит из управляющих программ блоков, взаимодействующих между собой через прием и посылку сообщений. Управляющие программы блоков осуществляют только операцию чтения из буфера линий связи. Прием сообщений осуществляется в фоновом режиме без остановки алгоритма имитации. УП блоков ИМ выполняют действия, которые можно разделить на две основные группы:
121
- координация взаимодействий между блоками в соответствии с выбранным АС (оптимистическим или консервативным); - координация действий модели внутри блока в соответствии со строго синхронным АС. Операция передачи сообщений другим блокам ИМ осуществляется обрабатывающим блоком - ОМ4 «начало передачи по каналу связи». Следовательно при формировании РИМ вносятся изменения в алгоритм ОМ4, куда включается проверка принадлежности обрабатываемого сообщения к ресурсам данного блока, если сообщение должно транспортироваться блоку ИМ, расположенному на другом процессоре, то активизируется функция подготовки и передачи сообщения по коммуникационному каналу вычислительной сети. В противном случае работа модуля ОМ4 проводится по той же схеме, что и в последовательной ИМ. При этом в распределенной ИМ появляется дополнительный модуль, обслуживающий моделирование. Его назначение состоит в запуске программ имитации на процессорах в начале имитационного эксперимента и осуществлении сбора общей статистической информации от блоков, подсчет и вывод результатов в конце имитационного эксперимента. 3.5. Оптимальное распределение программных блоков ИМ по процессорам вычислительной системы
После этапов декомпозиции ПО ИМ, оценки возможного временного фактора, выбора алгоритма синхронизации взаимодействий между модулями РИМ необходимо найти план выполнения полученного набора программных модулей РИМ за минимальное время на той вычислительной системе, на которой предполагается реализация распределенного имитационного моделирования исследуемой системы. Локальные сети и неоднородные кластеры характеризуются различными производительностями процессоров и коммуникационных каналов, а полученные программные блоки деком122
позированной имитационной модели могут существенно различаться по объему операций, выполняемых ими. Эффективное совместное выполнение различных программ на неоднородных распределенных системах в большой степени зависит от правильного размещения задач по процессорам, учитывающим как специфику вычислительной системы (количество процессоров, их производительность, латентность и пропускная способность коммуникационных каналов), так и конкретного программного приложения (длительность исполнения выделенных программных блоков). Критерием декомпозиции имитационной модели являлась минимизация обменов информацией по коммуникационной среде, следовательно, учет этой специфики осуществлен. Задача оптимального отображения параллельных программ на множество процессоров вычислительной системы насчитывает большое количество решений, зависящих от конкретных условий ее постановки. Для решения такого рода задач используются методы математического программирования, но существуют трудности формального описания ограничений, налагаемых связностью задач, а также в связи с большим количеством ограничений возрастает трудоемкость математического решения задачи планирования. Учитывая специфику задачи имитационного моделирования, выражающуюся в накоплении статистических данных для получения искомых результатов, при строгом ведении единого модельного времени, для решения задачи планирования будем искать способ построения именно статического плана (расписания). С учетом перечисленных факторов постановку задачи распределения программных модулей декомпозированной имитационной модели по процессорам распределенной системы сформулируем в следующем виде: Пусть имеется n процессоров p1 ,..., pn вычислительной системы и m программных модулей РИМ w1 ,..., wm , при чем
m ≤ n.
123
Числа Cij >0 (i= 1,2,3,..., m, j=1,2,3,…,n) определяют меру эффективности программного модуля wi на процессоре p j , т.е.
Cij - есть производительность программного модуля , определяемая, как обратная величина длительности выполнения модуля wi на процессоре p j . Назовем матрицу С=║ Cij ║, i=1,…,m, j=1,…,n матрицей эффективности. Тот факт, что при некотором распределении на процессоры ПМ wi попадает на процессор pi можно описать подстанов1
кой: 1 2 ... k ... m i i ... i ... in k 1 2
σ =
Требуется найти такое распределение модулей w1 ,..., wm по процессорам p1 ,..., pn :
w1 w2 ... wk ... wm , p ... p ... p i i2 ik in 1 чтобы величина минимальной производительности Cij была максимальной по всем подстановкам σ i , i =1,…,L. В качестве оптимизационного параметра выбирается величина S (σ ) = min Ci ,σ i , где σ - некоторая подстановка, и ставится во-
σ о = p
i∈L
прос о нахождении оптимального параметра So =max S(σ). Иными словами, имея способ σ назначения на процессоры, можно найти конкретную для этого способа минимальную производительность S (σ ) = C k ,ik . Именно эта минимальная про-
изводительность S (σ ) определяет скорость и производительность решения всей задачи имитационного моделирования. Тот процессор, на котором реализуется минимальная производи124
тельность, называется узким местом в назначении. В подстановке σ o самое узкое место будет наибольшим среди всевозможных назначений. Не ограничивая общности, будем рассматривать случай m = n . Так как, если m π n , то всегда можно выбрать m наиболее производительных процессоров из n имеющихся. Для этого суммируются значения матрицы эффективности С по столбцам, полученные n значений суммарной производительности процессора на всех m задачах упорядочиваются по убыванию, затем последние (n − m ) процессоров исключаются из рассмотрения. Решение поставленной задачи сводится к нахождению наибольшего паросочетания в двудольном графе. Представим множество вершин А графа Γ = [ A, B] , как объединение двух его непустых непересекающихся подмножеств А1, А2 так, что любое ребро из B будет иметь один конец в A1 , а другой конец - в A2 . Подмножество вершин A1 = {w1 ,..., wm } - есть множество программных модулей декомпозированной имитационной модели, а подмножество вершин A2 = {p1 ,..., pn } - есть множество процессоров многопроцессорной вычислительной системы. Алгоритм выбора наибольших паросочетаний в двудольном графе позволит найти распределение w1 w2 ... wk ... wm σ = pi1 pi2 ... pik ... pin программных модулей РИМ по процессорам. При построении алгоритма для отыскания оптимального распределения программных модулей, с использованием заданной матрицы эффективности С=║ Cij ║, i=1,…,m, j=1,…,n, выделяется последовательность наборов распределений, т.е. подстановок σ i , i =1,…,L , с каждым шагом приближающих к максимальной эффективности. 125
Алгоритм решения задачи: Шаг 1. Фиксируем матрицу производительностей C = (Cij ) и любое назначение на процессоры σ. Пусть s - минимальная производительность при этом назначении. Построим рабочую таблицу по матрице C : в клетку с номером (ij ) в этой таблице проставим символ «×», если Cij ≤ s (недопустимая клетка); в противном случае эту клетку оставим пустой (допустимая). Шаг 2. Рассматривая рабочую таблицу, построенную на предыдущем шаге, как рабочую таблицу в алгоритме для выбора наибольшего паросочетания в двудольном графе [10], найдем соответствующее наибольшее паросочетание. Если в нем окажется n ребер, то по ним восстанавливается новое назначение на процессоры с новой, более высокой, минимальной производительностью. Обозначим ее снова через s и вернемся к Шагу 1. Если же число ребер окажется меньше n, то имеющееся назначение на процессоры уже оптимально. 3.5.1. Алгоритм выбора наибольшего паросочетания в двудольном графе
Определение 1. Пусть Γ = [ A, B] - граф и S ⊆ B - некоторое множество ребер в нем. Множество S называется паросочетанием, если любые два ребра из него не имеют общей вершины. Паросочетание называется наибольшим, если оно состоит из наибольшего возможного количества ребер. Поиск наибольшего паросочетания в графе представляет собой классическую алгоритмическую задачу. Рассмотрим ее решение для двудольных графов. Определение 2. Граф Γ = [ A, B] называется двудольным, если его множество вершин A есть объединение двух его непустых подмножеств A1 , A2 без общих элементов, таких что любое ребро из B имеет один конец в A1 , а другой конец - в A2 . То 126
есть, нет ни одного ребра, которое соединяло бы вершины из A1 , или соединяло бы вершины из A2 . Если A1 = {x1 ,..., xr }, A2 = {y1 ,... ys } , то двудольный граф можно описать матрицей двудольного графа М размерности r × s , а ее элементы mij есть: 1, ( xi , y j ) ∈ B . mij = 0 , ( x , y ) B ∉ i j Опишем алгоритм выбора наибольшего паросочетания в двудольном графе, опираясь на введенное понятие матрицы двудольного графа. Шаг 0. По матрице M = (mij ), i = 1,..., p, j = 1,2,..., q
данного двудольного графа строится рабочая таблица, представляющая собой матрицу тех же размеров. В клетку с номером (ij ) поместим символ «×» и назовем ее недопустимой, если в матрице двудольного графа mij = 0 ; если же mij = 1 , клетка (ij ) рабочей таблицы называется допустимой. Шаг 1. Просмотрим слева направо первую строку и в первую допустимую клетку первой строки поставим символ «1». Если в первой строке все клетки недопустимые, то перейдем ко второй строке и т.д. Если окажется, что во всей таблице все клетки недопустимы, то на этом все действия заканчиваются, и выдается ответ: «в графе нет ребер». Если же удастся поставить первую «1», то после этого просмотрим все остальные строки таблицы в порядке возрастания их номеров. В каждой очередной строке фиксируем первую по ходу просмотра допустимую клетку такую, которая является независимой по отношению к допустимым клеткам, в которых уже стоит символ «1», и проставляем в эту клетку «1». Если в строке такой клетки не окажется, то переходим к следующей строке и выполняем в ней ту же процедуру.
127
Фиксируем набор ребер в графе, соответствующих проставленным в таблице символам «1». Этот набор ребер - максимальное паросочетание. Если в результате проведения всех действий на этом шаге в каждой строке рабочей таблицы окажется символ «1», то ребра из указанного паросочетания и составляют наибольшее паросочетание, и действия окончены. Если же в результате проведения первого шага остались строки без «1», то пометим их справа от таблицы символом «-» и переходим к следующему шагу. Шаг 2. Просмотрим все помеченные строки в порядке возрастания их номеров. Просмотр очередной строки состоит в следующем: в строке отыскиваются допустимые клетки, и столбцы, в которых эти клетки расположены, помечаются номером просматриваемой строки. При этом соблюдается принцип «℘»: если пометка уже стоит, то на ее место вторая не ставится. Пометки выставляются внизу, под таблицей. Если в результате этого шага ни один из столбцов не будет помечен, то это означает, что уже имеющееся паросочетание, полученное на Шаге 1, является искомым наибольшим, и все действия прекращаются. Если же среди столбцов появятся помеченные столбцы, то переходим к следующему шагу. Шаг 3. Просмотрим помеченные столбцы в порядке возрастания их номеров. Просмотр столбца состоит в следующем: в столбце отыскивается символ «1» и строка, в которой он расположен, помечается номером просматриваемого столбца. Пометки выставляются справа от таблицы, на уровне соответствующих строк. Всегда соблюдается принцип «℘». Если в результате действий по этому шагу возникнет ситуация, когда в просматриваемом столбце нет символа «1», то действия на данном шаге прерываются и надо перейти к Шагу 4. Если же в результате действий по этому шагу будут просмотрены все помеченные ранее столбцы и возникнет набор помеченных строк (одни будут помечены символом «-», другие - номерами столбцов), то следует вернуться к Шагу 2 и повторить предусмотренные им дейст128
вия. Если в результате действий по Шагу 2 не возникнет новых помеченных столбцов, то это означает, что имеющееся паросочетание является искомым и процесс останавливается. Если же среди помечаемых столбцов возникнут новые помеченные столбцы, то следует повторить Шаг 3 с новым набором помеченных столбцов. Если в результате этих действий не возникнет новых помеченных строк, то это означает, что имеющееся паросочетание является искомым. Шаг 4. Рассматривается столбец, имеющий пометку и не содержащий символа «1». Нужно изменить набор символов «1», расположенных в рабочей таблице. В рассматриваемый столбец поставим символ «1» в строку, номер которой равен пометке этого столбца. Затем в этой строке отыщем «старый» символ «1» и переместим его по его столбцу в строку, номер которой равен пометке при этом столбце. В конце концов очередной перемещаемый «старый» символ «1» окажется в строке, где больше символов «1» нет. Возник новый набор символов «1», в котором уже элементов на один больше, чем в исходном наборе символов «1». По этому новому набору построим паросочетание и после этого повторим все сначала. В конце концов возникнет одно из указанных выше условий прекращения действий по алгоритму и наибольшее паросочетание будет найдено. 3.6. Автоматизированное средство организации распределенного имитационного моделирования РИСУ
Выделенные этапы организации вычислительного процесса распределенного имитационного моделирования РИСУ и задачи, стоящие на этих этапах, определяют функциональное содержание автоматизированного средства организации распределенного имитационного моделирования РИСУ (АСОРИМ). Методы решения задач, соответствующих этапам, являются алгоритмическим наполнением АСОРИМ. Основное назначение этого про 129
граммного инструментария состоит в отделении аспектов, связанных с разработкой программного обеспечения ИМ, от вопросов организации распределенных (параллельных) вычислений. АСОРИМ предназначено для автоматизации работ по распараллеливанию имитационных программ, выдачи оценок качества получаемых вариантов параллельной ИМ. Технологическими этапами функционирования АСОРИМ являются: 1. Декомпозиция ПО ИМ РИСУ. 2.Оценка качества вариантов проектов декомпозиции РИСУ. Определение возможных временных факторов. 3. Выбор алгоритма синхронизации распределенных процессов. 4. Формирование децентрализованной управляющей программы РИМ и распределенной базы данных моделирования. 5. Оптимальное распределение программных блоков ИМ по процессорам вычислительной системы. Алгоритмическим наполнением технологических этапов являются: - Метод декомпозиции имитационной модели РИСУ, основанный на иерархическом агломеративном алгоритме автоматической классификации. По результатам декомпозиции формируется состав блоков РИМ и распределенная база данных модели. - Метод оценки возможных временных факторов РИМ, по результатам которой производится выбор окончательного проекта РИМ. - Метод анализа и выбора алгоритма синхронизации распределенных процессов, который применяется к сформированному составу РИМ, по результатам которого производится построение децентрализованной управляющей программы РИМ. - Метод оптимального распределения программных блоков РИМ по процессорам вычислительной системы. Выходные результаты АСОРИМ используются автоматизированной подсистемой, обслуживающей распределенное моделирование РИСУ, назначение которой состоит в запуске про130
грамм имитации на процессорах в начале имитационного эксперимента и осуществлении сбора общей статистической информации от блоков, подсчет и вывод результатов в конце имитационного эксперимента. Подсистема обслуживания РИМ использует низкоуровневые средства системного программирования, различные сетевые протоколы (IPX, TCP/IP) и не зависит от специализированных библиотек и языков программирования для межпроцессного обмена сообщениями, например, таких как MPI, Open MP, PVM. Автономность функционирования АСОРИМ вкупе с пользовательским интерфейсом делают его удобным средством для решения задачи распараллеливания ИМ РИСУ и перенесения имитационной программы на имеющийся в распоряжении пользователя парк компьютеров: локальную или кластерную сеть. 3.7. Методика организации вычислительного процесса распределенного имитационного моделирования РИСУ
Методика организации распределенного имитационного моделирования РИСУ поддержана специальным программным инструментарием АСОРИМ, автоматизирующим распараллеливание имитационных программ. Методика организации вычислительного процесса РИМ на неоднородных параллельных вычислительных системах – локальных сетях и кластерных системах состоит в следующем. На первом этапе осуществляется декомпозиция имитационной модели РИСУ. С помощью метода автоматической классификации, а именно иерархического агломеративного алгоритма, решается задача декомпозиции ПО ИМ по критерию минимизации связей между классами виртуальных действий имитационной модели. При чем вариантов классификации может быть несколько в зависимости от количества скачков целевой функции с одинаковыми значениями, но максимальными по отношению к другим приращениям целевой функции. Выходом данного 131
этапа являются блоки ИМ, соответствующие выделенным классам действий ИМ РИСУ, структура РИМ в виде таблицы сопряжения блоков и матрицы интенсивностей взаимодействия блоков РИМ. На втором этапе с помощью предложенного способа оценки потенциального параллелизма определяются возможные временные факторы для вариантов декомпозиции, полученных на первом этапе. Из полученного варианта декомпозиции и таблицы сопряжения между блоками параметры λ j , τ j , ( j = 1,..., M ) , λ y , τ y , которые являются входными данными второго этапа. Оценка временного фактора для каждого варианта декомпозиции ИМ определяет окончательный вариант декомпозиции ИМ РИСУ. Далее по результатам второго этапа происходит формирование распределенной базы данных моделирования. Общая структура базы данных моделирования остается той же для каждого блока РИМ, только файлы БД содержат только те записи, которые соответствуют действиям ИМ, входящим в один класс. То есть декомпозиция базы данных модели заключается в разделении записей файлов БД по принадлежности ресурсов ИМ к полученным в результате декомпозиции классам виртуальных действий ИМ. На следующем этапе происходит выбор оптимального алгоритма синхронизации взаимодействующих процессов для сформированного варианта РИМ с использованием метода анализа алгоритмов синхронизации времени, позволяющим сравнить эффективность различных вариантов АС для конкретного РИМ с заданными параметрами. Используя математические модели алгоритмов синхронизации и методику привязки их к заданным параметрам РИМ, можно выбрать наиболее подходящий для формируемой распределенной имитационной модели РИСУ. В результате получаем окончательную структуру децентрализованной управляющей программы распределенной имитационной модели РИС АСУ. 134
На заключительном этапе решается задача оптимального планирования распределенного вычислительного процесса. Оптимальное размещение σ i программных модулей блоков РИМ по процессорам распределенной вычислительной системы находится с использованием критерия максимизации минимальной производительности Cij по всем наборам распределения σ i ,
i =1,…,L. АСОРИМ позволяет эффективно организовать вычислительный процесс распределенного имитационного моделирования РИСУ, основанного на парадигме параллельных вычислений MPMD (Multiple Program – Multiple Data). Распределенное имитационное моделирование дает возможность моделирования РИСУ большой размерности и сложности, при этом снимается проблема вычислительных ресурсов для проведения статистически обоснованных имитационных экспериментов. 4. Распределенное имитационное моделирование РИСУ по модели вычислений SPMD
В модели параллельных вычислений SPMD (Single Program – Multiple Data) ускорение решения задач базируется на распараллеливании по данным, т.е. на разных процессорах выполняется одна и та же программа, но над разными наборами данных. В отличие от MPMD (Multiple Program – Multiple Data), модель вычислений SPMD в чистом виде менее подходит к имитационному моделированию сложных систем большой размерности, так как для независимого исполнения одной и той же моделирующей программы на разных процессорах с последующим усреднением результатов моделирования, необходимо распараллелить обрабатываемые данные. В имитационном моделировании изначальная суть метода не допускает распределения данных порциями по процессорам, так как моделирующей программе для воспроизведения траекторного поведения исследуемой системы необходим весь набор 135
данных. Но этот подход привлекателен тем, что не требует взаимодействия процессоров за исключением этапа усреднения, при использовании N процессоров ускорение практически должно приближаться к N. Также немаловажно, что такой подход позволяет использовать существующие последовательные программы моделирования. Поэтому в тех случаях, когда это возможно использование данного подхода эффективно и менее трудозатратно. Применение в имитационном моделировании РИСУ модели параллельных вычислений SPMD возможно в сочетании с аналитико-статистическим методом моделирования, суть которого состоит в ускоренной имитации стохастической сети дискретно-событийной системы с фиксированной топологией. Метод разработан для однопроцессорной ЭВМ и основан на декомпозиции объекта исследования, что позволяет существенно снизить размерность имитационной модели. Именно это обстоятельство позволяет использовать модель вычислений SPMD для имитационного моделирования стохастических сетей большой размерности на многопроцессорной вычислительной платформе. При таком подходе имитируемый объект оказывается существенно меньшей размерности и позволяет получить те же оценки, что и при традиционном моделировании, но при меньших затратах времени. А при использовании многопроцессорных систем в качестве вычислительной платформы должен усилиться эффект ускорения имитации. Кратко концепция данного метода состоит в следующем. При построении полной (топологически - подобной) имитационной модели сети с целью оценки ее вероятностно-временных характеристик (ВВХ) возникает задача снижения размерности модели. Формально уменьшение размерности может быть сведено к выделению на структуре сети некоторого множества классов объектов с последующей их заменой соответствующими моделями. В качестве таких представителей различных классов целесообразно выбрать путь транспортировки транзактов (ПТТ) 134
между узлом – источником и узлом – получателем и декомпозировать сеть на подмножества ПТТ. В каждое подмножество включить пути близкие по условиям транспортировки транзактов. Построенное разбиение множества ПТТ дает возможность оценить искомые характеристики стохастической сети по классам и построить оценку вида: L θ = ∑ phθ h , h=1 где ph определяется, как доля объектов совокупности, входящих в h - ый класс; θ - средние оценки по классам. h Моделью ПТТ и объектом имитации служит виртуальный канал (ВК), представляющий собой некоторый маршрут в сети от узла – источника до узла – адресата, состоящий из последовательности узлов коммутации-обработки транзактов и каналов связи-передачи транзактов между соседними узлами. Одна и та же модель ВК для представления разных классов будет отличаться только параметрами. Для учета влияния потоков, циркулирующих по сети и являющихся фоновыми в выделенном ВК, строится вероятностный эквивалент нерассматриваемой части сети в виде генератора фоновых потоков, в котором учитывается взаимообусловленность параметров и процессов всей сети. Структура разработанного метода хорошо вписывается в парадигму параллельных вычислений SPMD, что позволяет организовать распределенное имитационное моделирование РИСУ по предлагаемому методу на многопроцессорных вычислительных системах. В качестве копий программ, размещаемых на разных процессорах, можно использовать имитационную модель виртуального канала, распределенными порциями данных, обрабатываемых программой, будут классы ПТТ. Таким образом, возникает возможность размещения одной и той же моделирующей программы на разных процессорах вычислительной системы, при чем все программы будут работать 135
параллельно, но каждая со своей областью данных. По завершению выполнения программ полученные результаты передаются по среде передачи к модулю обработки результатов, где вычисляются искомые ВВХ в соответствии с методом расслоенной выборки. То есть взаимодействие процессоров происходит только один раз на этапе статистической обработки результатов моделирования. В этом случае отпадают проблемы минимизации информационных обменов по коммуникационной среде и синхронизации взаимодействия параллельных процессов, что являлось основными проблемами при распределенном моделировании с использованием модели параллельных вычислений MPMD. Далее излагается метод ускоренного статистического моделирования, который применим не только к задачам исследования информационно - вычислительных сетей АСУ, но и к другим сложным системам, процессы функционирования которых можно формально описать сетями массового обслуживания. 4.1. Аналитико-статистический метод моделирования РИСУ
Основными причинами вычислительной ресурсоемкости имитационного моделирования РИСУ являются медленная сходимость статистического метода Монте-Карло, лежащего в основе метода имитационного моделирования, и размерность объекта исследования. Отсюда следуют и пути решения этих проблем, позволяющие ускорить процесс моделирования. Это: - применение аналитико-статистического подхода, который заключается в усовершенствовании схемы статистического эксперимента с целью уменьшения числа опытов, необходимого для достижения заданной точности расчетов; - декомпозиция исследуемого объекта, с целью понижения размерности объекта моделирования. Конкретное воплощение обозначенных подходов требует ответа на вопросы: как применить аналитико-статистический 136
подход к имитационным экспериментам с моделью РИСУ; как проводить декомпозицию РИСУ? В предлагаемой концепции ускорения моделирования эти задачи решаются не по отдельности каждая, а во взаимосвязи. Выбранная схема проведения статистического эксперимента определяет способ декомпозиции исследуемого объекта. Усовершенствование схемы статистического эксперимента в методе Монте-Карло выполняется путем формального аналитического преобразования схемы, как это принято в методах понижения дисперсии (МПД), относящихся к классу рассматриваемых подходов. Идея понижения дисперсии состоит в следующем. Поскольку при заданной точности ν число опытов N определяется формулой 2 vy ( D( y ) M 2 ( y )) N = = , v2 v то N можно уменьшить за счет снижения дисперсии D(y) выходной случайной величины y. Точнее говоря, вместо y предлагается разыгрывать "немножко другую" случайную величину y ′ с тем же значением искомого математического ожидания M( y ′ )= M(y), но с меньшей дисперсией D( y ′ ) << D(y). Для этого исходная выборочная процедура f(х) заменяется на новую, условную плотность распределения f*(x) . Прямое применение МПД к моделированию РИСУ невозможно, так как явного аналитического вида плотности распределения f(х) случайных величин х для формального аналитического преобразования к виду f*(x) в данном случае нет и не может быть, так как здесь имеет место сложное взаимодействие временных распределений различных дискретных событий. Ведь именно по этой причине и строится имитационная модель сложной системы, с которой проводятся эксперименты по схеме статистического метода Монте-Карло. Однако идеи, заложенные в методах понижения дисперсии, представляются привлекатель137
ными для использования их в имитационном моделировании РИСУ, осуществив при этом некоторые преобразования, соответствующие логике преобразования классического статистического метода Монте-Карло в статистическое имитационное моделирование систем. С целью выявления способа преобразования МПД к имитационному моделированию РИСУ рассмотрим метод расслоенного отбора, относящийся к классу МПД. Для типовой исходной схемы статистического эксперимента (рис.4.1) введем следующие обозначения: Ω - пространство исходов, т.е. множество всех возможных значений случайной величины X; Ω 1 ,..., Ω k − слои, т.е. такие подмножества пространства Ω , что Υ Ω j = Ω; Ω i Ι Ω j = 0 , i ≠ j ;
Отсюда происходит идея расслоения эксперимента: вначале выполнить эксперименты в отдельных слоях X ∈ Ω j , в которых случайная величина y более или менее "близка к константе", ) а затем по найденным "почти точным" оценкам M j вычислить в соответствии с (4.1) оценку k ) ) M (y) = ∑ wj M j
Схема расслоенного статистического эксперимента, воплощающая эту идею, представлена на рис. 4.2. Эксперимент в каждом слое проводится точно так же, как по исходной схеме. Только вместо безусловной плотности распределения вероятностей f(х) используется условная f j (x ) : i = 1...N 1
j =1,..., k
w j = P{X ∈ Ω j } - вероятность j-го слоя;
M j - условное математическое ожидание случайной вели-
Ω 1 :Xi ∼ f1 :
чины y в слое x ∈ Ω j .
Xi ~ f
i = 1..N
:
y(X)
Ωj: Xi ∼ fj yi
) 1 My = N
∑y
k
M (y) = ∑ wj M j . j =1
138
i = 1...N j
:
y(X) ...
Ωk:Xi ~ fk
Известно, что безусловное математическое ожидание случайной величины выражается через условные следующим образом: (4.1)
y(X)
...
i
Рис.4.1. Исходная схема эксперимента
(4.2)
j =1
:
) 1 yi M1 = N1
∑y
) 1 yi M j = Nj
∑y
i
i
) ) M = ∑ wjM j
i = 1...N k
) 1 yi Mk = ∑ yi Nk Рис.4.2. Схема расслоенного эксперимента y(X)
Для контроля за точностью эксперимента можно в каждом слое вычислять условную дисперсию выходной случайной величины: N ) ) 2 1 j 2 Xi ∈ Ω j Dj = yi − M j , ∑ N j i =1
( )
139
и дисперсию внутрислойной оценки ) ) ) Dj . D Mj = Nj Тогда, в соответствии с линейным выражением (4.2), дисперсия итоговой оценки может быть вычислена по формуле: ) ) ) ) D M y = ∑ w 2j D M j .
( )
( )
( )
Ошибка итоговой оценки в форме коэффициента вариации вычисляется как обычно: D€( M€ y ) ) . v′ 2 = M y2
Следует иметь в виду, что правильное распределение общего числа опытов N по слоям: N = N1 + ... + Nk дает дополнительную возможность выигрыша в точности. Опыты распределяют в соответствии с формулой N j = wj N, j = 1,..., k . (4.3) Распределение опытов (4.3) гарантирует, что даже при самом неудачном расслоении точность расчетов не ухудшится, что ошибка получится меньше, чем в исходной схеме. Эти свойства метода расслоения доказываются достаточно просто. Для определения способа преобразования рассмотренного метода к статистическому моделированию РИСУ проведем следующие рассуждения по выявлению аналогий между ними. В статистическом имитационном моделировании РИСУ общая схема имитационного эксперимента та же, что и типовая исходная схема статистического эксперимента (рис.4.1). Обозначения, введенные для статистического эксперимента, в случае имитационного эксперимента имеют следующий смысл: Ω - пространство процессов функционирования моделируемой системы, т.е. множество возможных случайных процессов X; У(Х) - моделирующий алгоритм, собственно имитационная модель РИСУ; 140
Опыт в статистическом эксперименте соответствует одному прогону ИМ, в результате которого получается одно значение yi - искомой вероятностно-временной характеристики (ВВХ) процесса функционирования РИСУ. По результатам N прогонов (опытов) вычисляется оценка искомой характеристики в соответствии со статистическим методом Монте-Карло: ) 1 M y = ∑ yi N Чтобы получить оценку ВВХ с той же точностью, но при меньшем числе прогонов имитационной модели необходимо определить Ω 1 ,..., Ω k − слои, т.е. подмножества пространства процессов функционирования РИСУ Ω , чтобы вычислить в оценку k ) ) M (y) = ∑ wj M j , j =1
где w j = P{X ∈ Ω j } - вероятность j-го слоя в имитационном эксперименте будет соответствовать отношению количества процессов nj в j-ом слое к общему количеству всех процессов n; M j - математическое ожидание случайной величины x∈Ωj .
y
в слое
Отсюда происходит идея декомпозиции моделируемой cистемы по процессам, протекающим в ней, с тем, чтобы выполнить имитационные эксперименты в отдельных слоях X ∈ Ω j , в которых искомая характеристика процесса y близка к константе. Цель исследования любой системы на имитационной модели состоит в определении количественных, вероятностновременных характеристик процессов, протекающих в системе. Следовательно, декомпозицию исследуемой системы целесообразно проводить по процессам, характеристики которых дают оценку эффективности функционирования всей системы в целом, при заданных параметрах и условиях протекания этих процессов. 141
На основании цели исследования необходимо сначала выделить процессы, характеристики которых нас интересуют. Далее нужно рассмотреть: функционирование каких структурных компонент системы составляют эти процессы. Эти процессы могут представлять не только отдельные структурные компоненты системы, но и взаимосвязь процессов нескольких структурных компонент, т.е. здесь учитывается функциональная организация системы. Тем самым, происходит переход к структурнофункциональной декомпозиции исследуемой системы. Это позволит сформировать концептуальную модель для имитационной модели уже не всей системы, а структурнофункциональных компонент системы, в которых протекают выделенные процессы. Таким образом, исследуемый объект имитации станет существенно меньшей размерности. Такой способ декомпозиции исследуемого объекта позволит определить классы процессов (слои), в отношении которых будут производиться имитационные эксперименты. Общей схемой, объединяющей результаты имитации выделенных классов процессов в интегрированную оценку эффективности функционирования всей системы, будет метод расслоенной выборки. Обратимся к рис. 4.2., на котором представлена схема расслоенного статистического эксперимента. Здесь эксперимент в каждом слое проводится точно также как по исходной схеме (рис. 4.1). Только вместо безусловной плотности распределения вероятности f(х) используется условная f j ( x ) . Также, как и для исходной схемы, проведем аналогии рассматриваемой схемы расслоенного статистического эксперимента с имитационным статистическим экспериментом: Ω 1 ,..., Ω k − классы выделенных процессов функционирования РИСУ; y(X) – моделирующие алгоритмы, собственно имитационные модели структурно-функциональных компонент РИСУ;
142
f j (x ) - представляют в классическом статистическом эксперименте условную плотность распределения вероятностей, а в имитационном статистическом эксперименте условность f j (x ) имеет смысл учета влияния процессов нерассматриваемой части системы на характеристики процесса функционирования выделенных структурно-функциональных компонент. Отсюда следует, что преобразование МПД, а именно метода расслоенного отбора, к имитационному статистическому моделированию сложных систем, таких как РИСУ, требует решения следующих задач: декомпозиции РИСУ по процессам; построения вероятностного эквивалента нерассматриваемой части РИСУ; построения имитационной модели процессов функционирования выделенных структурно-функциональных компонент РИСУ. Решение перечисленных задач в совокупности представляет собой аналитико-статистический метод моделирования. Такой подход позволит и уменьшить размерность имитационной модели, и ускорить процесс имитационного исследования системы, что обеспечит возможность исследования сети большой размерности за приемлемые затраты машинных ресурсов. 4.2. Метод декомпозиции РИСУ
Близость процессов обработки и передачи сообщений между различными парами узлов сети зависит от эквивалентности условий, в которых они протекают. Следовательно, для разбиения множества взаимодействующих путей обмена информацией на подмножества эквивалентных путей нужно определить набор признаков, являющихся количественными выразителями условий протекания процесса, что позволит судить о близости рассматриваемых путей. Время доставки сообщения или пакета существенным образом зависит от числа переприемов на маршруте следования 143
сообщения. Следовательно, за один из признаков примем длину пути, т.е. число транзитных участков. Далее очевидно, что величина времени доставки зависит от нагрузки, приходящейся на узлы коммутации – обработки (УС) и каналы связи (КС), составляющие рассматриваемый путь прохождения информации. Причем, значения нагрузки УС и КС одного пути могут в сильной степени отличаться друг от друга. Например, первый узел сети может характеризоваться малым значением нагрузки, а следующий вдвое большей величиной, поскольку этот узел может входить в большее количество маршрутов следования сообщений других потоков. В связи с этим, нужно проранжироватъ каналы и узлы сети в зависимости от нагрузки: канал или узел будет обладать большим рангом, если на него приходится большая нагрузка. Определение значений нагрузки для каждого элемента сети можно осуществить в программе построения кратчайших путей, задав, кроме графа сети, производительности µi каналов и узлов и предполагаемые интенсивности потоков. Тогда для каждого элемента сети будет подсчитываться суммарная интенсивность λi входящего потока, и затем и значения нагрузки ρi=λi/µi. На полученном множестве значений нагрузки узлов и каналов каждому элементу назначается ранг. При достаточно хорошем алгоритме распределения потоков разброс значений нагрузки должен быть небольшим, значит число назначаемых рангов невелико. Подробнее на вопросе о назначении рангов остановимся ниже. Итак, пусть: - m1 - количество рангов для УС; - m2 - количество рангов для КС. Тогда для каждого пути прохождения информации длиной в d транзитов набор признаков есть вектор Ζ = {Z (1) ,..., Z ( 2 d +1) }, компоненты которого принимают определенные значения в зависимости от рангов элементов, составляющих путь. Размерность вектора признаков 2d+1 (d+1 - узлов сети, d - каналов
144
связи) меняется в зависимости от длины пути, т.е. числа транзитных участков. Поэтому предлагается разбить множество путей обмена информацией П = {π 1 ,..., π N } на подмножества П(d) , d = 1, D , по признаку длины пути, а затем рассматривать каждое подмножество П(d) отдельно. Таким образом, имеем конечное множество объектов (d ) П = π 1 ,..., π N d , т.е. путей прохождения информации, каж-
{
}
дый из которых характеризуется фиксированным набором признаков Ζ = {Z (1) ,..., Z ( 2 d +1) }. Требуется сгруппировать их в непустые, непересекающиеся подмножества, именуемые классами, по критерию близости объектов. То есть, имеем типичную задачу автоматической классификации или кластерного анализа. Для определения количественной характеристики различия объектов вводится в рассмотрение (2d+1)-мерное пространство. Тогда каждому объекту по вектору его параметров сопоставляется точка в этом пространстве. Количественной характеристикой различия объектов считается расстояние между соответствующими точками в этом пространстве. Способ вычисления расстояний между точками определяется введенной в пространстве метрикой. Вопрос о выборе метрики не решается однозначно. Известно множество работ, посвященных классификации объектов, в которых используются различные метрики в зависимости от специфики объектов, подлежащих классификации, и целей, преследуемых при решении задачи [48, 34, 2, 33]. Понятием обратным к расстоянию между точками Zi и Zj является мера близости. Мера близости представляет собой функцию, ставящую в соответствие каждой паре точек некоторое число Sij, характеризующее степень сходства (близости) между объектами πi и πj, и удовлетворяет следующим требованиям:
145
4.2.1. Критерий и свойства оптимального разбиения
Sij ≥ 0; Sij = S ji ; Sii ≥ Sij ; ∀π i ⊂ П
(4.5)
Для нашего случая целесообразно выбрать в качестве меры близости функцию: 0, S ij/ 〉1 S ij = / / 1 − S ij , S ij 〈1
где
Sij/ =
∑ (Z
2 d +1 k =1
K i
(4.6)
)
− Z Kj в ,
в - величина, характеризующая степень различия элементов, обладающих одинаковым рангом, тогда величина (Z i( K ) − Z (j K ) )в выражает степень различия по к -му признаку объектов πi и πj. Выбор меры близости вида (4.6) продиктован тем фактом, что компоненты вектора признаков однородны по своему физическому смыслу и все одинаково важны с точки зрения решения вопроса об отнесении объекта к тому или иному классу. Что и наблюдается в нашем случае для решения задачи разбиения множества путей, характеризуемых векторами признаков Zi, на подмножества по критерию близости. С помощью меры близости в один класс объединяются объекты сходные между собой, причем степень сходства между собой у объектов, принадлежащих к одному классу, должна быть больше, чем степень сходства между собой у объектов, относящихся к разным классам. Для того, чтобы установить, когда достигается желательное разбиение нужно ввести критерий оптимальности, который каждому варианту разбиения ставит в соответствие некоторое число, т.е. является количественной мерой, характеризующей степень достижения поставленной при решении задачи цели.
146
Для оптимального разбиения множества путей обмена информацией в качестве критерия оптимальности классификации будем использовать сумму "внутренних" связей за вычетом некоторого порогового значения, характеризующего существенность связей [48]. Оптимальная по заданному критерию классификация должна удовлетворять требованию - средняя связь внутри каждого класса превышает среднюю связь объектов этого класса как со всеми остальными, так и с объектами каждого другого класса. Пусть a - число, выражающее уровень существенности связи так, что: - связь Sij > a является существенной, Sij − a указывает на сходство объектов; - тогда как связь Sij < a является несущественной, величина S ij − a при Sij - a < 0 характеризует степень различия между объектами πi и πj. Классификация объектов характеризуется разбиением R={R1,…,RL} множества объектов на непересекающиеся классы R1,…,RL. Показателем качества разбиения R={R1,…,RL} при пороге существенности a является число: L
f ( a, R ) = ∑
∑ (S
h =1 i , jcRh
ij
− a)
(4.7)
Иначе говоря, в качестве показателя связи между πi и πj принимается (Sij – a ); связи внутри класса Rh характеризуются суммой ∑ (Sij − a) i , j∈R h
так, что f(a,R) есть сумма связей (Sij - а) внутри разбиения R. Оптимальным будет то разбиение, которое максимизирует f(a,R)
147
при заданном а по всем возможным разбиениям данного множества объектов.
Остановимся на некоторых свойствах оптимального разбиения. Для этого обозначим f ( Rh Rt ) =
∑ ∑ (S
π ∈Rh π i cRt
ij
− a)
Матрица S , определяемая мерой близости (4.6), симметрична и ее элементы принимают значения в диапазоне от 0 до I, т.е. Sij = Sji , 0 ≤ Sij ≤1. Условимся, что связи Sii объектов с самим собой не рассматриваются, так что f({πi}, {πj})=0 по определению. Критерий оптимальности (4.7) выбран показателем качества разбиения множества путей обмена информацией потому, что он позволяет проводить разбиение на априорно не заданное число классов, в то время как в известных работах классификация ведется, как правило, на заранее заданное число классов. К преимуществам показателя (4.7) относится также возможность выбирать значения порога существенности связей на основе содержательного смысла конкретней задачи. При различных значениях порога оптимальными являются, вообще говоря, разные разбиения, а в задаче классификации путей прохождения информации от значения порога зависит, в конечном счете, точность оценки вида (4.2). 4.2.2. Назначение рангов УС и КС сети. Выбор порога существенности связей
Каждый элемент множества П = {π 1 ,..., π N } обладает рядом признаков; это длина пути, т.е. число транзитных участков, и ранги элементов, входящих в путь. Для разбиения множества П проводится двухступенчатая классификация объектов. На первом этапе по признаку, характеризующему длину пути, образуем подмножества в соответствии с градациями этого 148
признака. Получим D подмножеств П d , d = 1,...., D, где D максимальное число транзитных участков для путей, π i ∈ П , i = 1,...., N . Далее, внутри каждого подмножества П (d ) проводим разбиение на классы по степени значимости, используя процедуру кластерного анализа. (d ) Итак, любой объект π i ∈ П (d ) характеризуется набором
{ () 1
признаков zi = zi ,...., zi -
}, где:
( j)
компоненты zi , j = 1, d + 1, имеют диапазон измене-
ния 1 ≤ zi -
( 2 d +1 )
( j)
≤ m1 , m1 - число рангов узлов сети; ( j)
компоненты zi ,
j = d + 2,...,2 d + 1
имеют диапазон
( j)
изменения 1 ≤ zi ≤ m2 , m2 - число рангов каналов связи сети. Причем элемент сети при наличии большей нагрузки обладает большим рангом и, соответственно, элемент сети с меньшей нагрузкой обладает меньшим значением ранга. Элементы сети, на которые приходится, в общем-то, разная по величине нагрузка в зависимости от распределения потоков по маршрутам, могут обладать одним и тем же значением ранга. Проблема в том, как определить диапазон, изменение нагрузки, в пределах которого несущественно, чтобы элементам сети, с разностью между их значениями нагрузки, не выходящей за пределы этого диапазона, можно было назначить один и тот же ранг. При решении указанной проблемы будем исходить из цели задачи, которая состоит в том, чтобы провести классификацию объектов множества П = {π 1 ,..., π N } по набору факторных признаков так, чтобы результативные признаки объектов, входящих в один класс, отличались между собой меньше, чем результативные признаки объектов, принадлежащих разным классам. Поскольку нагрузка, приходящаяся на элементы сети, является факторным признаком по отношению к исследуемому, т.е. к времени задержки, нужно искать такой диапазон изменения на149
грузки, который обеспечит изменение результативного признака не более, чем на заданную величину в . Величину в можно задать в процентах. Точная зависимость исследуемой характеристики от факторных признаков неизвестна, иначе не было бы необходимости в имитационном моделировании. Но можно аппроксимировать эту зависимость, учитывая тот факт, что каждый элемент объекта вносит свое влияние на исследуемую характеристику объекта, для того чтобы по этой приближенной зависимости назначить ранги элементам сети, а затем, определить и значение порога существенности связей α . То есть, путь обмена информацией состоит из последовательности УС и КС, характеризуемых нагрузкой, и каждый элемент вносит свое влияние на исследуемую характеристику (время доставки). Эту "долю влияния" будем называть составляющей результативного признака (СРП). Пусть Ti = ϕ (ρ i ) выражает зависимость составляющей результативного признака от фактора ρ i (нагрузки элемента i ). Тогда, задав число в , как допустимое различие значений составляющих результативных признаков в процентах, можно элементам i и j присвоить одинаковый ранг при выполнении условия: 1 − Ti / T j ≤ в (4.8) Для узлов коммутации взаимосвязь факторного признака с исследуемым можно выразить по формуле (4.9) [44], если узлы коммутации - обработки рассматривать как систему G / G / 1, т.е. произвольное распределение моментов поступления сообщении на узел и произвольное распределение длительностей обслуживания сообщений узлом коммутации - обработки. 2 2 1 λ σa +σg (4.9) T≤ + µc 2(1 − ρ ) где λ - средняя интенсивность поступления сообщений; σ а2 дисперсия интервалов между моментами поступления сообще-
(
150
)
ний;
1
µ
- среднее число операций на одно сообщение;
σ g2 = σ р2 / С 2 - дисперсия времени обслуживания сообщений; σ p2 - дисперсия числа операций на одно сообщение; C - пропускная способность ресурса. Если УС рассматривать как систему M / D / 1, т.е. на входе пуассоновский поток с интенсивностью λ сообщений в единицу времени и детерминированное распределение длительностей обслуживания сообщений, то [38]: ρy T = y+ 2(1 − ρ ) где y - постоянное время обслуживания. Каналам связи ранги назначаются аналогично, если канал рассматривать как систему G / G / 1 или M / D / 1 , а в случае отсутствия очереди на передачу сообщения T определяется как: T=y Ранжирование элементов сети проводится раздельно, сначала для УС, затем для КС по следующей схеме: 1. Выбирается УС (КС), имеющий наименьшую нагрузку, проверяется выполнение условия (4.8) для характеристики выбранного узла (канала) с характеристиками всех остальных. Всем УС (КС), для которых это условие выполняется, присваивается ранг I. 2. На втором этапе из оставшихся УС (КС) опять выбирается узел с наименьшей нагрузкой и выполняется процедура этапа 1. Группе выбранных УС (КС) присваивается ранг 2. 3. И так далее, процедура выполняется до тех пор, пока не будет исчерпано множество узлов сети (КС). Ранжирование элементов сети определит диапазон изменения признаков z (к ) , к = 1,...,2d + 1. Число рангов m зависит от задания величины в. При малом значении в число назначаемых 151
рангов больше, и наоборот, при увеличении в число рангов уменьшается. Рекомендации по выбору параметра в даны ниже. Каждый элемент объекта π i(d ) определяет некоторую составляющую результативного признака, причем СРП, определяемая элементом ранга к (к = 1,..., m′) отличается от СРП, определяемой элементом ранга l , не более чем на (l − к + 1) процентов, при к < l (l = 2,..., m′), где m′ = m1 для УС и m′ = m2 для каналов связи. Каждый объект π i(d ) , принадлежащий П (d ) - подмножеству d - транзитных путей, имеет 2 d + 1 элементов (d - каналов связи и (d + 1) − узлов), каждый из которых характеризуется некоторым рангом. Полное совпадение рангов элементов двух объектов π i(d ) и π (jd ) выражается совпадением значений векторов признаков zi и z j . И соответственно значение меры близости S ij = 1, согласно формуле (4.6). В этом случае разница ε результативных признаков объектов π i(d ) и π (jd ) будет лежать в пределах 0 ≤ ε ≤ (2 d + 1)в. При полном расхождении векторов признаков двух объектов разница ε результативных признаков не превышает величины (m1 (d + 1) + m2 d )в Итак, имеем верхние значения разниц при S ij = 1 : ε = (2d + 1)в, S ij = 0 :
ε = (m1 (d + 1) + m2 d )в .
Sij
Принимая во внимание, что область изменения функции невелика и наблюдается обратнопропорциональная зависи-
мость функции от разницы результативных признаков, аппроксимируем изменение функции Sij линейной зависимостью (рис.4.3). Тогда: S ij = −
(4.10) в (m1 (d + 1) + m2 d − 2d − 1) Проанализируем выражение (4.10). Величина в (m1 (d + 1) + m2 d ) есть максимально возможное различие значений результативных признаков объектов множества П (d ) . Наша цель заключается в выделении внутри подмножества П (d ) классов по принципу высокой однородности объектов внутри класса относительно исследуемого признака. Тогда, задавая ε желательную степень однородности объектов внутри классов, по формуле (4.10) можно найти значение меры близости, при которой достигается заданная степень однородности. То есть, (4.10) показывает каким должно быть значение меры близости, при котором расхождение результативных признаков объектов в одном классе не более чем ε .
S (ε )
S (ε ) = −
1
Значения функции Sij изменяются в пределах от 0 до 1: - чем больше сходство рассматриваемых объектов, то есть меньше разница результативных признаков, тем ближе Sij к единице; - чем больше разница результативных признаков, тем ближе значение Sij к нулю.
(ε − в(m1 (d + 1) + m2 d ) )
0
(2d + 1)в
(ε − (m1 (d + 1) + m2 d )в ) (m1 (d + 1) + m2 d − 2 d − 1)в
( m 1 ( d + 1) + m 2 d )в
ε
Рис.4.3. Линейная аппроксимация меры близости 152
153
Величина ε задается в процентах и зависит от желательной степени подробности искомых характеристик. После того как величина ε задана, выбирается значение параметра в , используемого при ранжировании элементов сети (выражение 4.8), а также при построении матрицы близости путей обмена информацией с помощью введенной меры близости (4.6). Значения параметра в при заданном ε должно удовлетворять условию
ε2
<в<
ε
, (4.11) (2 D + 1)( B y ( D + 1) + Bк D) 2D + 1 где D - число транзитных участков направления обмена информацией максимальной длины. Значения B y и Bк определяются следующим образом. Для ранжирования элементов сети по выбранной аналитической зависимости СРП от нагрузки получаем множества {Ti , i = 1,..., N ; N − число УС }
{T , j
j = 1,..., M ;
M − число KC
},
из которых определяется размах значения СРП для узлов сети и каналов связи: ∆Ty = max Ti − min Ti ; i = 1,..., N
∆Tк = max T j − min T j ;
j=1,…,M
Поскольку ранжирование элементов сети начинается с элемента минимальной нагрузки, определим процентное соотношение минимального значения СРП узла коммутации - обработки и полученного значения ∆Ty : By = Аналогично для КС: Bк = 154
∆Ty × 100 min Ti ∆Tк × 100 min T j
Имея значения В y и Bк , можно определить число назначаемых рангов для УК при заданном значении в : By m1 = (4.12) в и для КС: B m2 = к (4.13) в Так как значение параметра в неизвестно, воспользуемся тем, что имеем диапазон изменения параметра ε (рис. 4.4) (2 D + 1)в < ε < (m1 ( D + 1) + m2 D)в откуда можно выразить в : в<
ε
2D + 1
ε
в>
m1 ( D + 1) + m2 D Тогда для выражения (4.12) из условия (4.14) следует: B y (2 D + 1) m1 <
ε
Аналогично для выражения (4.13): B (2 D + 1) m2 < к
ε
(4.14) (4.15)
(4.16)
(4.17)
Используя (4.16) и (4.17), усилим неравенство (4.15):
ε2
<в (4.18) (2 D + 1)( B y ( D + 1) + Bк D Объединив неравенства (4.18) и (4.14), получим диапазон, из которого выбирается значение в . Таким образом, выражение (4.11) дает возможность выбрать величину в при заданном значении ε . Затем с помощью (4.10) определим значение порога существенности связей α . Рассмотрим пример. Пусть внутри подмножества П ( 3) путей длиной в 3 транзита нужно выделить классы. Расхождение 155
результативных признаков внутри каждого класса должно быть не более 5%. Также пусть при значении в = 0,6% выделено m1 = 6 рангов для УС и m2 = 7 рангов для КС. Тогда имеем: (2d + 1)в = 7 × 0,006 = 0,042 (m1 (d + 1) + m2 d )в = (24 + 21) × 0,006 = 0,27 (m1 (d + 1) + m2 d − 2d − 1)в = 38 × 0,006 = 0,228 1 S ij = − × (0,05 − 0,27 ) = 0,965 0,028 Значит, в качестве порога существенности связей нужно взять α = 0,965, при котором максимальное значение критерия (4.7) будет соответствовать оптимальному разбиению множества объектов П ( 3 ) на классы. 4.2.3. Алгоритм двухступенчатой декомпозиции сети
Алгоритм декомпозиции сети состоит в следующей последовательности действий для разбиения множества объектов на классы. 1.1. На первой ступени проводится ранжирование элементов сети (узлов и каналов). По заданному значению ε с помощью (4.11) определяется величина разницы составляющих результативного признака в. Затем при заданных значениях нагрузки элементов сети и полученного значения в проверяется условие (4.8); при выполнении условия элементам назначается одинаковый ранг. В результате получаем число рангов m1 для УС и m2 для КС, которые определяют диапазон изменения компонент вектора z = {z (1) ,..., z ( 2 d +1) }. 1.2. По признаку, характеризующему длину пути, множество П разбивается на подмножества П ( d ) , d = 1,..., D , D максимальное число транзитных участков для π i ⊂ П . 156
Далее приступаем ко второй ступени декомпозиции, этапы которой выполняются для каждого подмножества П ( d ) , d = 1, D 2.1. По заданному допустимому значению расхождения признаков ε и по формуле (4.10) находится значение порога существенности связей α . 2.2. С помощью функции (4.6) строится матрица близости S = S ij , i, j = 1,..., N d - размерность подмножества П ( d ) . 2.3. Содержанием третьего этапа второй ступени является собственно сама классификация. Для максимизации критерия (4.7) используется алгоритм, состоящий в последовательном применении трех процедур. А. ОБЪЕДИНЕНИЕ. Эта процедура применяется к разбиениям R ( к ) = R1k ,..., RLk (к = 0,1,...). Начальное разбиение состоит из N d одноэлементных классов. От разбиения R k переходим
{
}
к разбиению R k −1 с помощью объединения двух классов R k так, чтобы дать максимальное приращение показателю f (a, R). Для k k этого анализируются связи f (RS , Rt ) между классами и объе-
диняются такие RSk и Rtk , что суммарная связь максимальна и положительна. Процесс прекращается, как только среди сумм f ( RSk , Rtk ) нет положительных. Б. ПЕРЕМЕЩЕНИЕ. Процедура применяется, начиная с разбиения R k , полученного в результате предыдущей процедуры. Она состоит в последовательном перемещении каждого объекта в порядке нумерации в тот класс, при котором показатель (4.7) получает небольшое положительное приращение. Если любая перестановка любого объекта в другие классы не увеличивает f (a, R ) , процесс заканчивается. В. ПРОВЕРКА. Если R = {R1 ,..., RL } – результат предыдущей процедуры, то проверяется все ли f ( RS , RS ) неотрицательны, а f ( RS , Rt ) (s ≠ t) не положительны. Если это верно, то R 157
выдается как результат. Если f ( RS , RS ) отрицательно, то переходим к новому разбиению R 1 , "рассыпая" такие классы на одноэлементные классы, после чего переходим к повторному выполнению процедур А (начиная с R 1 ), Б, В. 4.2.4. Точность оценки исследуемых характеристик
Построенное разбиение R = {R1 ,..., RL } множества путей обмена информацией дает возможность оценить искомые характеристики информационной сети по классам и построить оценку вида (4.2), где ph определяется как доля объектов общей совокупности, входящих в класс Rh : N ph = h N При оценивании среднего значения результативного признака отдельного класса находим: ^ 1 nh θ = ∑ y (π i ) , (h=1,…,L), nh i =1 которое представляет собой случайную величину со средним квадратичным отклонением (стандартной ошибкой): n s S^ = h 1− h , θ ,h Nh nh где sh - среднее квадратичное отклонение отдельных значений результативного признака h − го класса: nh
sh =
∑ (θ hi − θ€h ) 2 i =1
nh − 1
,
(h=1,…,L)
nh - размерность выборки из совокупности объема N h .
158
Оценка Nh N h =1 среднего для совокупности, будучи суммой независимых случайных величин, является случайной величиной. Поэтому ее математическое ожидание и дисперсия могут быть рассчитаны по общим правилам теории вероятностей. То есть, согласно теореме о том, что дисперсия суммы попарно независимых случайных величин равна сумме дисперсий слагаемых, стандартная ошибка оценки θ€ среднего значения для совокупности при расслоенном отборе равна: L
^
θ = ∑θ h ∗
Sθ€ =
2
2 n N h sh (1 − h ) , ∑ Nh h =1 N nh L
Если объем выборки nh << N h (т.е. если
(4.19) nh < 0,05 ), то Nh
(4.19) переходит в (4.20) 2
2
N h sh (4.20) ∑ h =1 N nh При расслоенном отборе для достаточно больших объемов выборок оценка θ€ нормально распределена, т.е. доверительный интервал может быть рассчитан по формуле: θ€ − U α Sθ€ π θ π θ€ + U α Sθ€ (4.21) Sθ€ =
{
L
}
При малых объемах выборки ( n < 30, n = ∑ nh ) вместо
квантилей U α нормального распределения используются квантили tα распределения Стьюдента для вероятности ошибки α . Оценивание на основе расслоенного отбора предполагает, что число единиц выборки, извлекаемых из каждого слоя (т.е. числе исследуемых путей обмена для каждого класса разбиения), заранее однозначно определяется. 159
Объем выборки, извлекаемой из каждого слоя, пропорционален объему слоя. То есть, из класса, содержащего большее число путей, будем выбирать больше путей обмена информацией для проведения имитационных экспериментов. В частности, можно воспользоваться условием: nh < 0,05 , Nh исходя из которого определять число nh , так как объем каждого класса N h известен после проведения классификации. Тогда для построения интервальной оценки результативного признака (4.21) можно использовать формулу (4.20) для определения стандартной ошибки оценки θ€. 4.3. Принципы построения модели виртуального канала
При моделировании РИСУ большой размерности воспроизводится процесс функционирования всех элементов сети, учитываются изменения их параметров, в частности состояния очередей. Такое моделирование можно назвать топологически – подобным. При топологически - подобном моделировании РИСУ структуру имитационной модели в макроплане можно изобразить в виде, представленном па рис. 4.4.
Входные данные
Имитация взаимодействующих процессов обмена информацией между
Выходные данные
узлами сети
Рис. 4.4. Имитационная модель РИСУ в макроплане
160
Если множество взаимодействующих процессов передачи и обработки информации разбить на классы эквивалентности процессов и исследовать характеристики процессов относительно классов, то по совокупности получаемых характеристик можно строить средние оценки по всей РИСУ и иметь подробные характеристики процессов функционирования сети по классам. При этом достаточно моделировать процесс функционирования РИСУ по путям транспортировки транзактов, осуществляя имитацию взаимодействия с другими ПТТ посредством генератора фоновых потоков, представляющим собой вероятностный эквивалент нерассматриваемой части сети. Такой подход дает выигрыш в том смысле, что имитируемый объект существенно меньшей размерности и соответственно уменьшается время, необходимое для воспроизведения процесса его функционирования. Структуру имитационной модели виртуального канала в макроплане можно представить в виде, изображением на рис. 4.5.
Генератор фоновых потоков
Входные данные
Имитация процессов обмена информацией на выделенном ПТТ
Выходные данные
Рис. 4.5. ИМ виртуального канала в макроплане. Имитация процессов функционирования выделенных путей транспортировки транзактов привлекает еще и решением вопроса о переходном периоде в следующем смысле. Большое ко1
личество имитационных моделей используется для изучения установившихся равновесных условий работы, т.е. для изучения системы в типичных для нее и повторяющихся условиях. Но стохастические модели обычно имеют начальное смещение или переходные условия, которые не характерны для установившегося состояния системы, причем требуется определенное время для достижения моделью необходимого установившегося состояния. Обычным способом является задание нулевых начальных условий. Существуют следующие пути уменьшения влияния начального периода на получаемые данные [99]: 1. Использовать достаточно длинные вычислительные прогоны, чтобы число данных переходного периода было незначительно по сравнению с числом данных установившегося состояния. 2. Исключить из рассмотрения начальный период прогона. 3. Выбрать для установившегося состояния такое начальное условие, которое ближе к типичному и тем самым уменьшить переходный период. Каждый из этих путей связан с решением ряда вопросов. Первый подход можно применить только в случае, если прогон модели не требует слишком много машинного времени. Однако, если модель сложна или же переходный период довольно велик, то такой путь может не подойти в силу больших затрат машинного времени. При использовании второго подхода бесполезно тратится часть машинного времени (начальный период), а также не всегда возможно решение вопроса о том, когда закончится переходный период, чтобы определить долю отбрасываемых данных. Использование третьего подхода основано на изучении пробных или предварительных прогонов, так как при наличии даже значительной априорной информации о моделируемых системах установление начальных условий является нетривиальной задачей. Чаще всего используется второй подход. При моделировании РИСУ необходимо время, чтобы сеть заполнилась сообще162
ниями и по каждому маршруту прошло некоторое число сообщений, прежде чем считать, что достигнуто установившееся состояние. Очевидно, чем больше размерность сети, тем больше времени холостого прогона модели. А при имитации процесса функционирования выделенного пути обмена информацией за счет малой размерности моделируемого объекта длина переходного периода существенно уменьшается, следовательно, возможно использование, как первого, так и второго подходов. Таким образом, предлагаемый подход ускорит процесс исследования РИСУ методом имитационного моделирования за счет уменьшения размерности моделируемого объекта, что влечет за собой уменьшение затрат машинных ресурсов на получение искомых характеристик, а также уменьшение затрат на достижение моделью установившегося состояния. 4.3.1. Путь транспортировки транзактов как объект моделирования
Путь транспортировки транзактов представляет собой некоторый маршрут в сети, состоящий из последовательности k узлов и k-1 транзитов, по которому осуществляется передача потока информации из узла-источника х1 в узел-адресат хк Поток ( х1 , хк ), характеристики процесса передачи и обработки сообщений которого нас интересуют, будем называть «полезным потоком». На процесс передачи и обработки сообщений полезного потока влияют другие потоки в сети, пути которых проходят через один или несколько транзитных участков выделенного направления обмена. Эти потоки будем называть транзитными (фоновыми). Транзитные потоки вносят задержки в процесс передачи полезного потока, занимая ресурсы выделенного пути на время, необходимое для передачи и обработки сообщений, влияя на длины очередей в буферных накопителях узлов сети и каналов связи. 163
Так, на рис. 4.6 поток, обозначенный цифрой 1, поступает на первый узел ПТТ из смежных узлов и покидает его, внося свое влияние на длительность обработки сообщений других потоков на первом узле коммутации-обработки х1 . Сообщения потока 2 поступают на первый узел, проходят через один транзитный участок пути и покидают его после обработки на УС х2 , и т.д. Сообщения k-го потока поступают на УК х1 , проходят через k -1 участков пути и покидают рассматриваемый путь после обработки на к-ом узле. Следующий поток, проходящий только через узел х2 , имеет номер k+1 и т.д. Такое упорядочение нумерации потоков позволяет вычислить количество n всех потоков, проходящих через рассматриваемый путь, состоящий из k узлов, по формуле: (k − 1) n = k + 1 (4.22) 2 1
k+1
k((k-1)/2+1)
ё
2 X1
3
X2
X3
Xk
k
Рис. 4.6. К определению фоновых потоков Из этой совокупности n потоков поток под номером k является полезным т.е. исследуемым потоком, для которого опреде-
164
ляются характеристики передачи и обработки сообщений. Остальные потоки являются транзитными, т.е. фоновыми. Для имитации и определения характеристик процесса функционирования выделенного ПТТ нужно знать средние интенсивности и функции распределения моментов появления сообщений транзитных потоков, что позволит генерировать сообщения транзитных потоков и тем самым учитывать влияние сообщений, циркулирующих по сети, на процесс функционирования выделенного пути транспортировки транзактов. Кроме того, необходимо учитывать тот факт, что сообщения транзитных потоков после обработки на узле выделенного пути не всегда сразу покидают его по причине переполненности буферного накопители следующего узла по пути следования сообщения транзитного потока. To есть, нужно знать вероятности переполнения буферных накопителей узлов, смежных с узлами выделенного пути транспортировки, для того, чтобы учесть задержку на время хранения сообщения транзитного потока в буферном накопителе узла выделенного ПТТ до переспроса о возможности передачи этого сообщения. Следовательно, моделирующий алгоритм процесса функционирования ПТТ должен содержать специальную подпрограмму, после обращении к которой сообщения транзитных потоков с некоторой вероятностью (i ) Pпер покидают узел хi выделенного пути, либо остаются на узле (i ) (i ) с вероятностью 1- Pпер . Для определения вероятности Pпер проведем следующие рассуждения. Пусть событие A - уход сообщения из узла xi . Имеем l+1 исключающих друг друга гипотез: H 0 - сообщение адресовано узлу xi ; H 1 - сообщение адресовано первому смежному узлу; H j - сообщение адресовано j-му смежному с xi узлу;
H l - сообщение адресовано l-му смежному с xi узлу. l число узлов, смежных с УС xi
. 165
Вероятности гипотез равны: p (0 ) = P( H 0 ) - вероятность того, что узел xi является узломадресатом сообщения; p ( j ) = P( H j ) - вероятность адресации транзитного сообще-
таких величин потребуется также для построения генератора фоновых потоков.
ния j-му смежному узлу (j=1,…,l). Событие А может произойти только вместе с одной из этих гипотез. Тогда по формуле полной вероятности:
Для генерации фоновых транзитных потоков выделенного пути транспортировки транзактов нужно знать распределение моментов поступления сообщений и среднюю интенсивность потоков. Поток сообщений, поступающий на любой узел сети, есть суперпозиция внутренних потоков из смежных узлов и внешнего потока. Внешним потоком будем называть поток сообщений, поступающий в сеть от конечных пунктов, связанных с рассматриваемым УС (рис.4.7).
l
P( A) = P( H 0 ) P( A / H 0 ) + ∑ P( H j ) P( A / H j ) ; j =1
l
P( H 0 ) + ∑ P( H j ) = 1 j =1
P( A / H 0 ) = 1 - вероятность ухода транзитного сообщения из узла xi при условии, что оно адресовано этому узлу. P( A / H j ) = 1 − p j - вероятность ухода транзитного сообщения из узла xi к смежному узлу x j ;
p j – вероятность перепол-
нения буферного накопителя узла x j .
4.3.2. Построение генератора фоновых потоков
X1
X2
Таким образом: l
l
l
j =1
j =1
j =1
(i ) Pпер = P( A) = p (0 ) + ∑ p ( j ) (1 − p j ) = p (0 ) + ∑ p ( j ) − ∑ p ( j ) p j
и окончательно
Xl l
(i ) Pпер = 1 − ∑ p( j ) p j ,
i=1,…,K; j=1,…,l
λ2
λl
X3
λ0
(4.23)
j =1
Значения p ( j ) - вероятностей адресации сообщений j –му смежному с xi узлу определяются каждый раз при настройке ИМ на конкретный путь в алгоритме формирования интенсивностей транзитных потоков. Также нужно определить вероятности переполнения буферных накопителей всех узлов коммутации – обработки РИСУ при заданных структуре сети, распределении потоков, длительности обработки сообщений на узлах. Знание 166
λ1
Рис. 4.7. Суперпозиция потоков, поступающих на УС Интенсивность суммарного потока можно было бы определить простым суммированием интенсивностей составляющих суммарного потока. Однако в практических системах длина очереди всегда ограничена, следовательно, выходной поток из смежного узла, предназначенный для рассматриваемого, будет отличаться от входного потока смежного узла. To есть, нужно 167
учесть вероятность переполнения буферного накопителя смежного узла, которая определяет величину сбрасываемого трафика. Тогда интенсивность потока, поступающего на любой узел сети, можно определить таким образом: l
λ = λ0 + ∑ k j λ j
(4.24)
j =1
где λ0 - интенсивность внешнего потока, λ j - интенсивности потоков из смежных узлов, l - число смежных узлов, k j = 1 − р j коэффициент пропускания входного потока, a р j - вероятность потери сообщений на смежном узле из-за переполнения буферного накопителя. Вероятность потери сообщений из-за переполнения буферного накопителя узла x j зависит от производительности узла
µ j , т.е. интенсивности обслуживания сообщений, емкости буферного накопителя n j , а также от интенсивности потока сообщений, поступающего на данный узел. В теории массового обслуживания такие характеристики наиболее просто удается обычно получить для случая пуассоновского входного потока и экспоненциального распределения времени обслуживания. Так, вероятность потери заявки P(r ) при ограниченной очереди определяется [130]: 1− ρ ρr , P(r ) = r +1 1− ρ где ρ - загрузка системы, r - величина допустимой очереди. Применение математического аппарата теории импульсных потоков позволяет определить вероятность потери сообщений из-за переполнения буферного накопителя узла, располагая знанием лишь средних интенсивностей потоков, поступающих на узел, средней длительности обслуживания сообщений узлом и величины допустимой очереди [50]. 168
4.3.3. Алгоритм формирования интенсивностей фоновых потоков
Интенсивности транзитных потоков формируются согласно формуле (4.24) поочередно для каждого из n потоков, определенных для конкретного пути транспортировки транзактов. При этом исходными данным являются: а) Матрица тяготений L = λij (i, j = 1 − N , N - число узлов), в которой заданы интенсивности потоков, проходящих по сети. Нумерация потоков упорядочена согласно возрастанию номеров узлов-источников. To есть, потоки между УС № I и между остальными ( N − 1) узлами пронумерованы от I до ( N − 1) . Потоки между УС № 2 и остальными ( N − 1) узлами пронумерованы от N до 2 ( N − 1) и т.д. Общее количество потоков при наличии обмена информацией каждого УС с каждым равняется N ( N − 1) . б) Таблица маршрутизации потоков, заданная в виде матрицы, размерности N ( N − 1) × ( D + 1) ; число строк равно числу потоков, число столбцов равно числу узлов максимального по длине маршрута. В каждой строке матрицы записаны номера узлов, составляющих маршрут потока, с номером, соответствующим номеру строки. Для потоков, маршрут которых состоит из числа узлов менее ( D + 1) , свободные столбцы заполнены нулями. Узлы, записанные в первый столбец матрицы маршрутизации, будем называть узлами, входящими в маршрут на 1-ом уровне, узлы 2-го столбца – соответственно узлами 2-го уровня и т.д. в) Вероятности отказа в обслуживании сообщений на каждом узле сети р j ( j = 1,..., N ), определенные с применением теории импульсных потоков [50]. Пусть задан конкретный путь транспортировки транзактов, состоящий из последовательности K узлов ( K − 1 транзитов). 169
Тогда для первого УС x1 нужно определить интенсивности K потоков: потока, проходящего только через узел x1 ; потока, проходящего через узлы x1 , x2 и покидающего рассматриваемый путь; и т.д., потока, проходящего через все узлы пути. Для i-го УС xi нужно определить интенсивности K − i + 1 потоков: потока, проходящего только через узел xi ; потока, проходящего через узлы xi , xi + 1 ; и т.д., потока, проходящего через узлы xi , xi + 1 ,…, xk . Значения интенсивностей транзитных потоков, проходящих через узел xi рассматриваемого пути, формируются одновременно по следующей схеме. 1. Просматривается строка матрицы маршрутизации потоков. 2. Если узел xi входит в маршрут потока, то проверяется: является ли узел xi + 1 продолжением рассматриваемой строки матрицы маршрутизации потоков (ММП). Если да, то повторяем действия пункта 2, в противном случае переходим к пункту З. Если узел xi не входит в маршрут потока, соответствующего рассматриваемой строке, переходим в п.4. 3. В зависимости от того, какое звено заданного ПТТ входит в рассматриваемый маршрут (звено ( xi , xi + 1 ),…, звено ( xi , xi + 1 ,…, xk )) формируем интенсивности транзитного потока, проходящего через это звено. Если узел xi входит в маршрут на 1-ом уровне, интенсивность выбранного транзитного потока суммируется с интенсивностью потока, соответствующего рассматриваемой строке ММП. Если узел xi входит в рассматриваемый маршрут на j -ом уровне, то интенсивность потока, соответствующего рассматриваемой строке ММП, умножается последовательно на коэффициенты (1 − рl ) l = 1,..., j − 1 ; где рl - вероятности отказа в об170
служивании сообщений на узле, входящем в маршрут на l -ом уровне. А затем полученное значение суммируется с интенсивностью транзитного потока. Здесь же формируются значения р ( j ) - вероятностей адресации сообщений узлу x j , смежному с узлом xi , необходимые для вычисления вероятностей (4.23). 4. Переходим к следующей строке ММП и повторяем действия, начиная с п.1. По приведенному алгоритму определяются интенсивности транзитных потоков для каждого узла xi (i = 1,..., K ) заданного пути транспортировки транзактов. 4.3.4. Распределение входящего потока на УС
Моменты поступлении сообщений потока, образованного суперпозицией входящих потоков на узел сети, могут быть распределены по законам: регулярному, детерминированному или близкому к пуассоновскому. В соответствии с предельными теоремами о сходимости потоков на информационных сетях при условии наложения в узлах коммутации-обработки, как правило, нескольких потоков, суммарный входящий поток можно считать пуассоновским. Приведем эти теоремы без доказательств, подробное изложение доказательств которых дано в работе [37]. Пусть заданна последовательность потоков L1 , L2 ,..., Ln . И t1( n ) , t 2( n ) ,... - моменты поступления сообщений потока Ln , тогда
τ k( n ) = t k( n ) − t k( n−1) , K ≥ 1; t0( n ) = 0 . Обозначим через Σ n суммарный поток, а через Ρ( λ ) пуассоновский поток с параметром λ . Первая теорема рассматривает частный случай, когда каждый абонентский пункт посылает не более одного сообщения, причем К-й поток ( K = 1, n) , состоящий лишь из одного сообщения поступает в случайный момент времени t1( K ) . Обозначим: Α Κ (t ) = Ρ{t1K ≤ t} , Κ = 1,..., n 171
Теорема 1. Если при каждом фиксированном t ≥ 0 и n → ∞ выполняется условие max{Α Κ (t )} → 0, то для того, чтобы Σ n → P(λ ) необходимо и достаточно, чтобы n
∑Α Κ =1
Κ
(t ) → λt
равномерно в каждом промежутке [0, Τ]. Доказательство теоремы 1 основано на применении метода индукции по Κ , показано, что для любого Κ и любого набора чисел θ 1(0 ) ≥ 0,..., θ Κ(0 ) ≥ 0 существует такое n, что Ρn (θ 1 ,..., θ Κ ) − Ρ0 (θ 1 ,..., θ Κ ) < ε , ε > 0 если θ ≤ θ 1 ≤ θ 1(0 ) ,...,0 ≤ θ Κ ≤ θ Κ(0 ) . Здесь Ρn (θ 1 ,..., θ Κ ) = Ρ{τ 1 ≤ θ 1 ,...,τ Κ ≤ θ Κ } для потока Σ n , а Ρ0 (θ 1 ,...,θ Κ ) для потока Ρ(λ ) . Вторая теорема рассматривает для каждого n ≥ 1 суммарный поток, получающийся наложением n независимых потоков, причем К-й поток не обязательно состоит из одного сообщения. Обозначим t1( Κ ) и t2( Κ ) моменты поступления первого и второго сообщений К -го потока. Положим: Α Κ (t ) = Ρ{t1( K ) ≤ t}; Β Κ (t ) = Ρ{t 2( K ) ≤ t} . Теорема 2. Пусть при каждом фиксированном t и n → ∞ max Α Κ (t ) → 0,
n
∑ Β Κ (t) → 0 , Κ =1
n
∑Α Κ =1
Κ
(t ) → λt равномерно в каж-
дом конечном промежутке [0, Τ]. Тогда Σ n → P (λ ) . При доказательстве теоремы 2 показывается, что Ρ{τ Κ +1 > τ τ 1 ≤ θ 1 ,..., τ Κ ≤ θ Κ } − е −λt < ε , для любого ε > 0 и любого набора чисел 0 ≤ θ 1 ≤ θ 1(0 ) ,...,0 ≤ θ Κ ≤ θ Κ(0 ) . Практическая ценность приведенных теорем состоит в том, что в соответствии с их выводами на информационных сетях при наложении в узлах коммутации нескольких потоков суммарный 172
входящий поток можно считать пуассоновским. В работе [53] отмечается, что согласно теоремам 1и 2 после объединения сообщений от разных пользователей на первой же транспортной станции при достаточно большом количестве сообщений N и в зависимости от заданной неточности ε образуется пуассоновский поток. В сетях передачи данных на каждом центре коммутации происходит наложение (суперпозиция) потоков сообщений, и, следовательно, распределение моментов поступления сообщений на УС еще более приближается к пуассоновскому (неточность ε уменьшается). Таким образом, генератор фоновых потоков, выполняющий роль вероятностного эквивалента нерассматриваемой части сети при моделировании выделенного ПТТ, имеет следующие характеристики: распределение моментов поступления сообщений на узел является пуассоновским и средняя интенсивность потоков формируется в соответствии с алгоритмом (п. 4.3.3). Предположение о пуассоновском распределении моментов поступления сообщений на любой узел сети было принято на основе предельных теорем о сходимости потоков. Однако более точное определение соответствия законов распределения входящего потока могут быть получены лишь на основании статистики. В связи с этим, на имитационной модели виртуального канала проведены экспериментальные исследования влияния закона распределения поступления сообщений на характеристики функционировании ПТТ. Законы распределения поступления сообщений на узлы коммутации - обработки выделенного пути задавались не пуассоновскими, а близкими к нему, т.е. эрланговскими К-го порядка, при одних и тех же значениях интенсивностей транзитных потоков. Проведенные эксперименты позволяют сделать вывод о том, что влияние различных законов распределения входных потоков на искомые характеристики процесса передачи и обработки сообщений полезного потока незначительно и в большей степени время доставки сообщений в информационной сети АСУ зависит от обработки сообщений на 173
узлах коммутации - обработки. Что подтверждает целесообразность имитации процесса функционирования сети по выделенным путям транспортировки транзактов, позволяющей детально исследовать процесс функционирования ПТТ при различной алгоритмической обработке сообщений на узлах сети. 4.4. Вопросы адекватности модели виртуального канала
Оценка адекватности модели является важной задачей машинного моделирования, поскольку исследование системы на неадекватной модели вообще теряет смысл. Проверку адекватности модели виртуального канала осуществим следующим образом. 1. Проверим адекватность принципиальной структуры модели. Здесь необходимо оценить насколько адекватно генератор фоновых потоков отображает взаимосвязь процесса функционирования ПТТ с другими процессами сети. Такую проверку произведем сравнением характеристик, полученных на модели ВК, с характеристиками, полученными на полной модели РИСУ для конкретного пути. С этой целью были проведены имитационные эксперименты на модели полной сети, где для заданных конкретных путей обмена информацией с различным числом транзитных участков производился сбор статистики для времени доставки сообщений, а затем процесс функционирования тех же путей воспроизводился на имитационной модели виртуального канала и определялось время доставки сообщений. Результаты экспериментов показали хорошее соответствие значений времени доставки сообщений по выделенным маршрутам, полученным при топологически-подобном моделировании информационной сети и при моделировании сети по путям обмена информацией, что подтверждает адекватность отображения генератором фоновых потоков влияния нерассматриваемой части сети на процесс передачи и обработки сообщений по выделенным ПТТ. 174
Таблица 4.1. Результаты, полученные Пути обмена Число транзина модели на ИМ полинформацией тов виртуального ной РИСУ канала 17-18
1
1,56505
1,5603
13-10
2
3,8268
3,813
16-5
3
5,736
5,738
Результаты экспериментов представлены в табл. 4.1, где в первой графе приведены номера узлов-источников и узловадресатов конкретных путей обмена информацией для графа сети, представленного на рис. 5.1 (рис. 5.1 приведен в главе 5). 2. Еще одним способом проверки адекватности модели является сравнение результатов, полученных с помощью аналитических моделей, с результатами, полученными на модели при тех же допущениях и входных параметрах. Широко используемой аналитической моделью функционирования сетей ЭВМ является формула Клейнрока для определения среднего времени доставки [44]:
γ jk z jk i =1 i =1 γ где N - число узлов; z jk - средняя задержка сообщений, возникающих в узле j и предназначенных для узла К; γ - полный входящий трафик сети, γ jk - трафик пути π jk . N
N
T = ∑∑
Величина z jk представляет собой сумму средних задержек в различных системах (УС и КС), составляющих путь z jk = ∑ Ti ,
(4.25)
i ⊂π jk
175
где Τi - среднее время, проведенное сообщением в системе, где под системой понимается обслуживающий прибор и очередь. Если каждый элемент пути обмена информацией рассматривать, как систему M/D/1, т.е. пуассоновский входной поток и детерминированное распределение длительностей обслуживания сообщения, то Τi можно найти по формуле [46]:
ρy (4.26) 2(1 − ρ ) где y - постоянное время обслуживания, ρ - нагрузка, приходящаяся на УС или КС. Предполагается неограниченная длина очереди. Τi = y +
Номера элементов
176
Расчетные данные
Τi
ρ
y
1
0,188
0,294
0328
2
0,112
0,294
0,313
3
0,32
0,294
0,364
4
0,1
0,294
0,31
5
0,091
0,8
0,875
6
0,09
0,8
0,875
7
0,125
0,8
0,893
Таблица 4.2. Результаты моделирования аналити- имитацический онный
3,958
3,9476
Имитационный эксперимент на модели виртуального канала проводился для маршрута длиной в три транзита, причем значения интенсивностей входящих потоков и производительностей узлов и каналов были заданы так, чтобы не могло возникнуть перегрузок и потери сообщений из-за переполнения буферных накопителей, т.е, соблюдалось условие неограниченных длин очередей. Распределение входного потока было взято пуассоновским и время обслуживания на узле постоянное. При тех же самых исходных данных и распределениях моментов появления сообщений и длительностей обслуживания были рассчитаны задержки по формуле (4.26) и согласно (4.25) среднее время задержки на заданном пути обмена информацией. В табл. 4.2 сведены расчетные данные и значения времени задержки, полученные аналитическим и имитационным методами. Сравнение результатов позволяет сделать вывод об адекватности имитационной модели ВК процессу функционирования пути обмена информацией. 4.5. Методика ускоренного анализа РИСУ
Методика ускоренного анализа характеристик РИСУ на основе машинной имитации состоит из следующих этапов. На первом этапе для заданного графа сети определяются маршруты с помощью различных эвристических методов. Следует заметить, что содержание данного этапа имеет место в любой методике анализа характеристик функционирования сети на основе машинной имитации. Далее, имея таблицу маршрутизации потоков, основанной на результатах первого этапа, и задав конкретные производительности узлов коммутации - обработки и емкости буферных накопителей, аналитически вычислим вероятности потери сообщений для каждого узла сети, используя подход, изложенный в [50]. При неудовлетворительных значениях вероятностей потери сообщений на некоторых узлах разработчик может внести кор177
ректировку в таблицу маршрутизации, например, изменить маршруты некоторых потоков, обходя переполненный узел коммутации. Затем заново пересчитать вероятности потери сообщений на узлах. Такой подход позволяет сразу отбраковывать "плохие" варианты маршрутизации потоков, не проверяя их пригодность методом имитационного моделирования. На третьем этапе проводится классификация полученного множества путей обмена информацией с помощью процедуры кластерного анализа. Получив разбиение, удовлетворяющее введенному критерию оптимальности, определяется число путей обмена информацией из каждого класса для проведения имитационных экспериментов. Затем для конкретных путей обмена информацией, принадлежащих различным классам, проводятся имитационные эксперименты по определению характеристик процесса передачи информации на данных путях с последующим построением обобщенных оценок характеристик качества функционирования всей сети. Имитация взаимосвязи с процессом функционирования всей сети производится с помощью генераторов фоновых потоков, построение которых осуществляется каждый раз в моделирующем алгоритме ИМ на этапе настройки модели к воспроизведению процесса функционирования заданного конкретного направления обмена информацией. 4.6. О применимости метода ускоренной имитации РИСУ
Имитационное моделирование является одним из важнейших этапов синтеза РИСУ. При решении частных задач проектирования сети применяются различные эвристические методы, что приводит к решению, которое может в разной степени отличаться от оптимального. Для анализа полученного решения применяется имитационное моделирование, как заключительный этап каждого шага итерационного проектирования. 178
Однако, программы статистической оценки качества обслуживания сетью входящих потоков информации, как правило, определяют только интегральный показатель качества, так как для вычисления с одинаковой точностью всех дифференциальных критериев качества время моделирования, определяемое необходимой статистикой для потока минимальной интенсивности, слишком велико. В связи с чем разработана приведенная выше методика ускоренного анализа сети. Однако следует заметить, что предлагаемая методика применима не во всех задачах, использующих имитационное моделирование. Так, например, программы имитационного моделирования широко используются для определения показателей качества обслуживания абонентов сети при различных законах управления и процедурах выбора путей передачи информации. К ним относятся программы имитации различных адаптивных процедур управления (методы рельефов, игровой и т.д.). Для воспроизведения алгоритма функционирования системы управления сетью необходима модель полной сети. Но кроме приведенной задачи, существует множество других, когда имитационная модель используется для изучения установившихся равновесных условий работы сети. Приведем некоторые из них: 1) Оценить влияние производительности коммутационных процессоров на время доставки сообщений для сети с выбранной топологией и распределением информации. 2) Для заданных структуры сети и плана распределения информации определить область допустимых значений нагрузки, при которых обеспечивается требуемое время передачи информации. 3) Для заданных структур и нагрузок сравнить различные варианты маршрутизации потоков и выбрать наилучший, обеспечивающий требуемое время передачи. 4) При заданной структуре сети выбрать некоторые обобщенные параметры системы управления, в частности, пе179
риодичность обмена служебной информацией. Здесь нужно оценить влияние величины периода обмена служебной информацией, имеющей высшую категорию срочности, на время доставки сообщений по сети. Во всех приведенных задачах можно использовать предлагаемую методику ускоренного анализа сети. Кроме того, способность модели виртуального канала настраиваться на любой путь обмена информацией дает возможность использовать ее при построении алгоритма маршрутизации. В частности, при построении локальных таблиц маршрутизации для квазистатического алгоритма маршрутизации потоков, можно решить вопрос о назначении очередности выбора альтернативных путей, оценивая задержку сообщений на всех возможных маршрутах от заданного узла-источника до заданного узлаадресата при конкретных параметрах УС и КС маршрута и заданных дисциплинах очередей. Также можно использовать модель виртуального канала при параметризации конкретного ПТТ, т.е. выбрать оптимальный объем буферной памяти УС, пропускные способности УС и КС данного пути при заданном плане распределения информации. Кроме того, при проектировании РИСУ нужно учитывать требования к надежности и живучести сети. Сеть должна быть устойчива к структурным возмущениям, вызванным ненадежностью оборудования и факторами развития. Поэтому весьма полезно оценить влияние воздействий разовых и групповых отказов элементов сети на качество функционирования. Такое исследование можно провести с использованием предлагаемого подхода следующим образом. Из матрицы маршрутизации потоков, используемой при моделировании нормального состояния сети, и матрицы обходных путей (МОП) формируется новая матрица маршрутизации потоков (ММП) заменой всех путей исходной ММП, содержащих заданный неисправный УК или КС, на обходной путь из 180
МОП. Все новые маршруты относят к тем классам, где они дают максимальное приращение критерия (4.7), а затем по ускоренной методике определяется оценка качества функционирования сети при отказе заданных элементов. Сравнение характеристик нормального функционирования сети с полученными дает оценку степени влияния отказа элемента сети (или нескольких элементов одновременно) на характеристики качества функционирования сети. Знание величин, характеризующих количественное изменение показателей эффективности работы сети при выходе из строя различных элементов, позволит разработчику внести корректировки в проект структуры сети. Использование методики ускоренного анализа сети позволит просчитать множество вариантов функционирования сети при отказах элементов. Предлагаемую методику ускоренного машинного анализа сети можно применить к решению широкого круга задач проектирования РИСУ. 4.7. Методика организации вычислительного процесса РИМ РИСУ по модели вычислений SPMD
Рассмотренный аналитико-статистический метод имитационного моделирования для анализа характеристик стохастической информационно-вычислительной сети АСУ позволяет ускорить статистическое моделирование РИС АСУ на однопроцессорной ЭВМ. Применение данного метода к моделированию информационно-вычислительной сети с 18 узлами коммутацииобработки и 74 каналами передачи данных, позволило ускорить процесс моделирования в 3 раза, получить не только средние оценки искомых характеристик, но и их функции распределения. (Результаты экспериментов приведены в главе 5). Следовательно, логично еще более ускорить процесс моделирования на многопроцессорной вычислительной системе, разместив программу моделирования на нескольких процессорах, а затем произвести 181
статистическую обработку результатов моделирования. Структура разработанного метода хорошо вписывается в парадигму параллельных вычислений SPMD, что позволяет организовать распределенное имитационное моделирование РИСУ на многопроцессорных вычислительных системах. Рассмотрим подробнее суть парадигмы параллельных вычислений SPMD (Single Program – Multiple Data). Основная идея подхода основана на параллелизме данных и заключается в том, что вычислительный процесс строится на основе единственной программы, запускаемой на всех процессорах или на многих станциях локальной сети. Копии программ могут выполняться по разным ветвям алгоритма, обрабатывая подмножества данных. Основные особенности рассматриваемого подхода к распараллеливанию: - обработкой данных управляет одна программа; - слабая синхронизация вычислений на параллельных процессорах, то есть выполнение программ на разных процессорах происходит, как правило, независимо и только лишь иногда производится согласование выполнения циклов или других программных конструкций - их синхронизация; - параллельные операции над элементами массива выполняются одновременно на всех доступных данной программе процессорах. В рамках данного подхода от программиста не требуется больших усилий по распараллеливанию вычислений. Даже при программировании сложных вычислительных алгоритмов можно использовать библиотеки подпрограмм, специально разработанных с учетом конкретной архитектуры параллельного компьютера и оптимизированных для этой архитектуры. Применительно к задаче ускорения статистического моделирования РИСУ на распределенных вычислительных системах, предлагается использовать общую идею модели параллельных вычислений SPMD, но с некоторой модификацией.
182
В качестве копий программ, размещаемых на разных процессорах вычислительной системы, будет выступать имитационная модель виртуального канала. В качестве распределенных порций данных, обрабатываемых программой, будут выступать классы путей транспортировки транзактов. Распределение данных в этом случае осуществляется не специальным распараллеливающим или векторизующим компилятором, как в параллельном программировании, а производится с использованием алгоритма декомпозиции РИСУ на классы путей обмена информацией. Планирование задач по процессорам будет производиться с помощью алгоритма оптимального распределения программных модулей по процессорам вычислительной системы, приведенного в п.3.5. Таким образом, одна и та же моделирующая программа модель виртуального канала размещается на разных процессорах вычислительной системы, все программы будут работать параллельно, но каждая со своей областью данных – классами путей транспортировки транзакций. По завершении выполнения программ, полученные результаты передаются по среде передачи к модулю обработки результатов, где вычисляются искомые ВВХ в соответствии с методом расслоенной выборки. Взаимодействие процессоров происходит только один раз на этапе статистической обработки результатов моделирования. В этом случае отпадают проблемы минимизации информационных обменов по коммуникационной среде и синхронизации взаимодействия параллельных процессов, что являлось основными проблемами при распределенном моделировании с использованием модели параллельных вычислений MPMD. По существу генератор фоновых потоков является своеобразным аналогом алгоритмов синхронизации распределенных процессов в MPMD–моделировании РИСУ. Он выполняет функции взаимовлияния процессов, происходящих в моделируемой системе на процесс функционирования выделенных ПТТ, и тем самым замещает функции синхронизации взаимодействий про183
цессов системы в распределенном моделировании по модели вычислений MPMD. Таким образом, методика организации вычислительного процесса для распределенного имитационного моделирования РИСУ, основанного на модели параллельных вычислений SPMD, заключается в выполнении следующих работ: На первом шаге выполняются все этапы соответствующие методике ускоренного машинного анализа характеристик РИСУ. Сюда входит декомпозиция РИСУ на классы путей транспортировки транзакций, построение генератора фоновых потоков для выделенных путей. Выходом данного этапа является число моделируемых ПТТ, что и определяет необходимое количество процессоров для организации распределенного имитационного моделирования РИСУ. На втором шаге решается задача оптимального размещения моделирующих программ по процессорам неоднородной распределенной вычислительной системы, алгоритм решения которой приведен в п. 3.5. Выходом данного этапа является оптимальный план распределения программ по процессорам и, кроме того, прогнозируемое время проведения имитационных экспериментов, которое определяется по самому низкому показателю эффективности пары «программный модуль – процессор» из полученного плана распределения. На третьем шаге производится выполнение программ имитации на процессорах, сбор и обработка результатов моделирования в соответствии с разработанным методом ускоренного статистического анализа вероятностно-временных характеристик РИСУ. Все этапы предлагаемой методики организации распределенного имитационного моделирования РИС АСУ с использованием парадигмы параллельных вычислений SPMD сведены в таблицу 4.3.
186
Таблица 4.3. Входные данные Содержание этапа Выход Топология РИСУ Определение крат- Таблица чайших путей для маршрутиза1.1 потоков от каждого ции узла к каждому Определение веро- Значения pi , Производительности УС, емко- ятностей потери со- i=1,..,n 1.2 сти буферов, таб- общений для каждолица маршрути- го узла сети зации Множество пу- Разбиение множест- Разбиение тей ва путей на классы с R = {R1 ,..., RL } 1.3 П = {П , П ,..., П } помощью процедуры 1 2 N кластерного анализа
Конкретные пути Построение генера- Число моде1.4 обмена информа- тора фоновых пото- лирующих программ ков для ПТТ цией. Число моделирующих про2.1 грамм, матрица эффективности С План распределения программ 3.1 по процессорам Оценки 3.2 θ h , h = 1,..., L
Оптимальное распределение программ по процессорам ВС Параллельная имитация процессов функционирования ПТТ РИСУ Построение общей оценки характеристик функционирования РИСУ
План распределения программ по процессорам Оцени θ€h по классам h = 1,..., L Интервальная оценка θ€
187
5. Применение методов ускорения моделирования РИСУ 12
5.1. Оценка характеристик функционирования РИСУ с использованием аналитико-статистического метода
Для проведения экспериментов по методике, изложенной в разделе 4.5, использовалась сеть, топология которой представлена на рис. 5.1, число узлов N = 18 , число каналов M = 74 . Целью постановки имитационных экспериментов являлось определение средней задержки сообщений при заданных графе топологии сети, распределении потоков по маршрутам, производительности узлов сети и пропускной способности каналов. При проведении имитационных экспериментов матрица входящей нагрузки предполагалась равномерной с интенсивностью каждого из N ( N − 1) потоков 0,1 пакета/с. Длина пакета равна 1000 бит, а пропускные способности каналов 1200 бит/с. По программе построения кратчайших путей произвольного графа был сформирован состав всех деревьев кратчайших путей. Для исследования характеристик функционирования сети с заданной топологией было составлено два варианта фиксированной таблицы маршрутизации. Для каждого варианта распределения информации в сети были аналитически рассчитаны вероятности отказов в обслуживании пакетов для каждого узла при интенсивности обслуживания на узле 3,5 пакета/с и емкостях буферных накопителей ni = 10 (i = 10,..., N ) . Результаты расчетов приведены в табл.5.1. Из таблицы видно, что более предпочтителен второй вариант распределения потоков по маршрутам, обеспечивающий меньшие вероятности отказов в обслуживании сообщений из-за переполнений буферных накопителей узлов. Поэтому для имитационного моделирования сети был взят второй вариант таблицы маршрутизации. 186
13 11 15 10 8 16
14 9 7
17
6 18 4
5
3
5.1. Граф топологии РИСУ для имитационных экспериментов 1 2
187
№ узлов 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Таблица 5.1. Значения вероятностей потери сообщений на узлах 1-й вариант 2-й вариант маршрутизации маршрутизации 0,38 0,13 0,25 0,06 0,06 0,08 0,06 0,09 0,1 0,9 0,16 0,18 0,06 0,09 0,06 0,08 0,1 0,1 0,06 0,06 0,32 0,25 0,18 0,06 0,06 0,07 0,08 0,09 0,06 0,08 0,08 0,14 0,06 0,09 0,06 0,07
Задание таблицы маршрутизации потоков эквивалентно заданию множества путей, по которым будет осуществляться передача потоков информации. Ранжирование каналов и узлов сети проводилось в соответствии с алгоритмом ранжирования, приведенным в п. 4.2..2. Допустимое различие значений составляющих результативных признаков при назначении одинакового ранга элементам сети составляло 0,6%, т.е. b=0,006. При таком значении b число рангов узлов коммутации m1 = 7 , а число рангов для каналов связи m2 = 9 . 188
Результаты ранжирования элементов сети при заданном распределении потоков определяют диапазон изменения компонент вектора признаков путей обмена информацией. Классификация путей транспортировки транзактов проводилась так, чтобы результативные признаки объектов, входящих в один класс отличались между собой не более чем на 5%, т.е. величина ε = 0,05. Поскольку максимальная длина пути из всего множества ПТТ равна трем (D=3), то классификация с применением процедуры кластерного анализа проводилась отдельно для каждого из подмножеств П ( j ) j-транзитных путей, j=1,2,3. При заданных значениях b и ε пороги существенности связей, определяемые по формуле (4.10) имеют следующие значения. Для подмножества П(1) : а = 0.73 П(2) : а = 0.9 П(3) : а = 0.97 В результате проведения классификации множества путей обмена информацией было выделено семь классов из них 2 класса на подмножестве П(1) – однотранзитных путей, 2 класса на подмножестве П(2) – двутранзитных путей, 3 класса на подмножестве П(3) - трехтранзитных путей. Полученное разбиение удовлетворяет критерию оптимальности (4.7). Число ПТТ nh из каждого класса для проведения имитационных экспериментов определялось из условия пропорциональности объему класса. Для каждого выделенного пути транспортировки транзактов проводилась имитация процесса его функционирования, в результате которой получены значения Ti для i – го ПТТ. Подставляя значение Ti в выражение ) 1 nh Th = ∑ Ti n h i =1 получим оценку среднего времени доставки сообщений для путей, принадлежащих h - му классу. 189
Оценка среднего времени доставки сообщений по сети определяется по формуле: L
∧
T€ = ∑ p h Th ,
(5.1.)
h =1
где ph - вероятность класса. Значения результатов имитационных экспериментов приведены в табл. 5.2, где N h - количество путей, входящих в h − й клаcс; рh - вероятность слоя, определяемая отношением объема h − го класса к объему всего множества ПТТ; nh - количество путей обмена для проведения имитационных экспериментов в слое
Таблица 5.2. Классы 1
Nh
ph
nh
Ti
Th
∧
s h2 / nh
30
0,1
1
1,47764
0
2
44
0,14
2
1,585955
0,0256549
3
63
0,21
3
3,044216
0,0439313
4
84
0,27
4
3,6145775
0,0192702
5
18
0,06
1
5,43733
0
6
36
0,12
2
5,62197
0,00222
7
31
0,1
2
1,47764 1,61161 1,5603 3,15319 2,90931 3,06398 3,73026 3,58333 3,60412 3,5406 5,43733 5,62419 5,61975 5,85174 6,01087
5,931305
0,079566
∧
h ; Ti - время доставки по i − му маршруту h − го класса; Th -
среднее время доставки по маршрутам h − го класса; sh2 / nh величины, необходимые для построения интервальной оценки среднего времени доставки по сети; sh - среднеквадратическое отклонение отдельных значений времени доставки h − го класса. По формуле (5.1) и данным таблицы 5.2 построена оценка ∧
среднего времени доставки сообщений по сети: T = 3,58 . Стандартная ошибка оценки, для определения которой использовались значения величин sh2 / nh табл. 5.2, согласно формуле (4.20) имеет значение: S ∧ = 0,68 T ) При построении доверительного интервала оценки T использовались квантили tα t - распределения Стьюдента для доверительной вероятности Р = 0.95 и числа степеней свободы ν = n – 1 = 14, ) tα имеет значение 1.76. Тогда интервальная оценка T есть: ) 3,46 ≤ T ≤ 3,70 (5.2) ) т.е. значение T с вероятностью Р = 0.95 лежит в пределах указанного интервала. 190
На рис. 5.2 приведен график зависимости времени доставки сообщений от классов путей транспортировки транзактов. По существу это есть график функции распределения времени доставки сообщений в сети. Таким образом, предлагаемый подход позволяет получить более подробные характеристики функционирования РИСУ, т.е. оценки как времени задержки сообщений на путях различной длины и степени значимости, так и среднюю оценку времени доставки сообщений по сети в целом с указанием доверительных границ. В то время как традиционный подход к имитационному моделированию РИСУ позволяет получить лишь средние оценки по сети и средние оценки по путям различной длины, затрачивая при этом большее количество машинного времени.
191
доставленных сообщений за время эксперимента,
Рис. 5.2. 5.2. Сравнение затрат машинных ресурсов
В результате имитационного моделирования полной РИСУ при тех же самых исходных данных была получена оценка среднего времени доставки сообщений по сети: Т€ = 0,364 Значение Т€ входит в интервал (5.2), определенный при моделировании сети по путям транспортировки транзактов. Оценка Т€ имеет вид дроби: n
∧
T=
∑t i =1
n
i
(5.3)
n
где
∑t i =1
i
и n - статистики, накапливаемые по мере воспроизве-
дения реализации процесса смены состояний РИСУ: n - число 192
∑t
i
-
суммарное время доставки n сообщений. С целью оценки эффективности предлагаемой методики ускоренного исследования РИСУ сравнивались затрачиваемые машинные ресурсы при моделировании сети по путям обмена информацией и при топологически-подобном моделировании сети (табл. 5.3). Сравнение проводилось по следующим показателям: а) затрачиваемое время на получение исходных данных для ИМ; б) затрачиваемое процессорное время на имитацию в) соотношение системного и процессорного времени; г) степень подробности искомых характеристик. Для определения оценки Т€ при имитационном моделировании процесса функционирования всей сети процессорного времени потребовалось в 3 раза больше, чем процессорного времени, необходимого для оценки той же характеристики, определяемой по результатам моделирования выделенных ПТТ из различных классов. Кроме того, исследование РИСУ по методике ускоренного анализа характеристик сети позволяет построить интервальную оценку среднего времени доставки сообщений, тогда как при имитационном моделировании полной РИСУ воспроизводится достаточно длинный отрезок процесса смены состояний сети и по одной реализации процесса вычисляется оценка искомого результата вида (5.3), для построения доверительных интервалов которой требуется иметь несколько десятков независимых реализаций, что связано с большими затратами машинного времени. Имитационную модель виртуального канала можно использовать не только как средство для определения среднего времени доставки сообщений по сети, а также и для решения некоторых задач проектирования, связанных с исследованием непосредственно пути транспортировки транзактов. 193
Таблица 5.3. Показатели качества ИМ Подготовка исходных данных (мин) Процессорное время имитации (мин) Объем памяти (К) Системное вр. Процессорное время Определяемые характеристики при заданных топологии, распределении потоков, производительностях УК, емкостях БН, пропускных способностях каналов
Полной РИСУ
ПТТ
0,17
0,67
24
8
128
128
3,3
42
Т€ - среднее время доставки по сети
1.интервальная оценка Т€ 2. времена доставки по путям транспортировки транзактов 3.вероятность потери сообщений по ПТТ 4.Вероятность своевременной доставки сообщений по ПТТ
Вероятность потери сообщений по сети
К ним относится задача оценки своевременной доставки сообщений на конкретных путях обмена информацией, поскольку оценка превышения средней задержки по всем сообщениям является довольно общей и не позволяет оценить превышение задержки по отдельным направлениям. Из табл. 5.3 видно, что ИМ виртуального канала характеризуется высокими показателями соотношений системного и процессорного времени. Программа, 194
реализующая имитационную модель ВК, характеризуется простотой настройки на любой конкретный путь сети, параметры которого являются входными данными модели. Полученные результаты позволяют сделать вывод о целесообразности применения методики ускоренного анализа характеристик РИСУ, позволяющей значительно сократить количество затрат машинного времени, что дает возможность исследования РИСУ большой размерности. 5.3. Моделирование распределенной автоматизированной системы
АСУ «Система «Город»», разработанная ЦФТ г. Новосибирска, является типичным примером распределенной автоматизированной системы (РАС), для внедрения которой в контур управления городом необходимо спроектировать информационную сеть, способную обеспечить ее эффективное функционирование. В процессе проектирования РИСУ «Система «Город»» используется имитационное моделирование, для оценки качества вариантов проекта. Приведем описание моделируемой системы. РАС «Система-Город» предназначена для сбора платежей от населения за различные услуги (коммунальные, услуги связи, электричество, ГИББД и т.п.) с использованием современных сетевых и информационных технологий, основные принципы работы которой состоят в следующем: - Биллинговый центр в городе обслуживает центральный сервер Системы, на котором хранится вся информация о плательщиках; - Поставщики различных услуг (коммунальные службы, компании, предоставляющие услуги связи, ГИБДД и т.п.) передают на центральный сервер по каналам связи информацию о своих абонентах;
195
- Агенты - организации, принимающие платежи (банки, отделения связи и т.п.), получают онлайн-доступ к центральному серверу. Информационная сеть объединяет эти три основные взаимодействующие группы, каждая из которых обеспечена специальными программными средствами - АРМами, выполняющими соответствующие группе целевые функции, и должна обеспечить эффективное функционирование РАС «Система «Город»».
Рис. 5.3. Общая структура АСУ «Система «Город»»
Внедрение данной технологии в сферу муниципального управления городом требует обоснованного выбора состава и структуры распределенной информационной сети, обеспечивающей надежное выполнение общецелевой функции рассматриваемой РАС. В частности необходимо ответить на вопросы: - на базе какой сети можно объединить группу территориально удаленных пользователей (поставщиков услуг, оператора системы, агентов), связанных общими целями в их деятельности, 196
без необходимости внесения в эту систему каких либо изменений? - какая телекоммуникационная сеть выгоднее для получения необходимого перечня услуг с приемлемыми затратами? Основными составляющими компонентами АСУ «Система «Город»» являются: 1. Сервер базы данных Системы с установленной СУБД Oracle и программным обеспечением Системы, который находится и обслуживается в Биллинговом центре (БЦ). 2. АРМ «Обмен реестрами» устанавливается у Поставщика услуг, предназначен для обмена реестрами с БЦ, работает в пакетном режиме и требует периодической кратковременной связи по протоколу TCP/IP с почтовым сервером. 3. АРМ «Оператор-кассир» устанавливается у Агента в пункте приема платежей и предназначен для выполнения основных операций по работе с клиентами. АРМ «Оператор-кассир» работает в режиме on-line, т.е. требует постоянной связи по протоколу TCP/IP с сервером БД. Основные телекоммуникационные сеансы связи между компонентами системы, осуществляемые для выполнения функциональной задачи Системы «Город», состоят в установлении соединения АРМов Поставщиков услуг и Агентов с сервером БД по протоколу TCP/IP. Подключить АРМы Поставщиков Услуг и Агентов к почтовому серверу Биллинг Центра (БЦ) можно либо напрямую к БЦ, либо через сеть Интернет. В первом случае, при прямом подключении, в качестве достоинств можно выделить отсутствие платы за трафик для клиентов и БЦ в отличие от использования сети Интернет. Кроме того, это единственный вариант для подключения пунктов приема платежей, не имеющих Центрального офиса, через который могли бы объединяться информационные потоки. Но недостатками данного способа являются высокие затраты на сетевое оборудование и телефонные номера ГТС (аналоговые или сети ISDN). 197
Во втором случае АРМы Поставщиков Услуг подключаются к серверу доступа провайдера сети Интернет (ISP), трафик маршрутизируется по сети Интернет до сетевого оборудования БЦ, далее трафик по локальной сети БЦ направляется к почтовому серверу. АРМы Агентов подключаются к корпоративной сети Агента, т.е. к сетевому оборудованию некоторого Центрального офиса через СПД, оснащенных сервером доступа для подключения коммутируемых соединений, маршрутизатором для подключения выделенных линий и сети Frame Relay. Такая схема необходима в случае, если в городе по Системе «Город» работают несколько банков, каждый из которых может «собирать» информационные потоки своих пунктов приема платежей у себя в центральном офисе, а потом маршрутизировать на сервер БД. Достоинствами данного способа подключения являются низкие затраты для БЦ на оборудование и подключение к СПД (только оплата подключения к провайдеру сети Интернет). К недостаткам можно отнести наличие платы за трафик - как для клиентских мест Поставщиков Услуг, так и для БЦ, высокие затраты для Агента по приему платежей на создание корпоративной сети. Таким образом, стоит задача проектирования информационной сети, способной обеспечить эффективное функционирование рассмотренной системы в заданных конкретных условиях инфраструктуры города. Произвести сравнение альтернативных вариантов и выбрать наиболее предпочтительный, отвечающий критериям производительности сети и приемлемой стоимости сетевого оборудования. При этом необходимо учесть, что в дальнейшем, при увеличении количества рабочих мест по приему платежей и количества лицевых счетов, может увеличиться нагрузка, следовательно, нужно предусмотреть возможность увеличения количества вычислительных средств, телекоммуникационных каналов и сетевого оборудования. Необходимо спроектировать такую информационную сеть, которая обеспечит выполнение общецелевой функции АСУ 198
«Система - Город» при минимальной стоимости каналов связи, сетевого оборудования, оборудования узлов обработки (на которых установлено ПО Системы) и узлов коммутации (маршрутизаторов, коммутаторов, мостов). Информационная сеть рассматриваемой РАС «Системы - Город» представляет собой сеть большой размерности, объединяющей более 180 узлов. Моделировать такую сеть традиционным способом не имеет смысла. Моделирование РИСУ «Система «Город»» проводилась по методике распределенного имитационного моделирования на основе модели вычислений SPMD, изложенной в п. 4.7. Для декомпозиции исследуемого объекта были выделены следующие типы процессов, определение характеристик функционирования которых, составляют цель моделирования системы: 1. Процесс обмена информацией «Поставщик услуг – Биллинг центр»- 30 различных информационных потоков; 2. Процесс «Биллинг центр - Поставщик услуг »- 30 информационных потоков; 3. Процесс «Агент – Биллинг центр» - 4500 информационных потоков; 4. Процесс «Биллинг центр - Агент » - 4500 информационных потоков. Процессы каждого типа характеризуются определенным количеством информационных потоков, каждый из которых имеет свою интенсивность и условия протекания процесса (характеристики производительности узлов сети, каналов связи, емкости накопителей и пр.). На этом множестве процессов нужно выделить классы процессов, характеризующиеся эквивалентными условиями протекания процессов. С тем, чтобы в отношении каждого класса проводить имитационное исследование. Если все компоненты системы (сервер базы данных, почтовый сервер, АРМы «Обмен реестрами», АРМы «Операторкассир») рассматривать как узлы сети, взаимодействующие посредством передачи информации по телекоммуникационным ка199
налам связи, то каждый процесс представляет собой путь транспортировки транзактов (ПТТ) между узлом - источником и между узлом - получателем. Основной характеристикой процесса передачи транзактов является время доставки, которое зависит от числа переприемов на пути, т.е. прохождение через узлы коммутации, а также от нагрузки, приходящейся на узлы коммутации-обработки и каналы связи, составляющих рассматриваемый путь. Таким образом, моделью ПТТ и объектом имитации будет виртуальный канал, представляющий собой некоторый маршрут в сети от узла – источника до узла – адресата, состоящий из последовательности узлов коммутации-обработки и каналов связи. Одна и та же модель ВК для представления разных классов будет отличаться только параметрами. Программа ИМ ВК в начале работы запрашивает номера узла-источника и узла-адресата, после чего автоматически настраивает параметры конкретного пути транспортировки транзактов (рис. 5.4). Граф топологии проектируемой сети содержит N = 180 узлов, число каналов M = 302 . При проведении имитационных экспериментов матрица входящей нагрузки рассчитывалась по следующей схеме. Абонент каждой службы характеризовался традиционными параметрами трафика: - интенсивностью входящего потока заявок на предоставление услуг γ ( к ) вызовов/час; -средней длительностью сеансов связи Т с( к ) сек.; - удельной интенсивностью нагрузки λ к = γ ( к )Т ск / 3600 . Тогда λк - интенсивность к-го потока. В зависимости от того, каким сетям принадлежат каналы связи, пропускные способности каналов взяты следующие: 2 Мбит/с для каналов «пользователь - сеть», для каналов cети Frame Relay и Internet – 155 Мбит/с, локальных сетей 10 и 16 Мбит/с. Длина сообщений 30 кбайт, в зависимости от переда200
чи по каналам связи различных сетей, сообщение преобразуется в некоторое число пакетов в соответствии со стандартом длины пакетов, принятом в конкретной сети.
Рис. 5.4. Ввод номеров начального и конечного узлов ПТТ. В результате проведения классификации множества путей транспортировки транзактов было выделено 17 классов, из них 4 класса на подмножестве П(1) – однотранзитных путей, 6 классов на подмножестве П(2) – двухтранзитных путей, 7 классов на подмножестве П(3) - трехтранзитных путей. Полученное разбиение удовлетворяет критерию оптимальности (4.7.). Число ПТТ nh из каждого класса для проведения имитационных экспериментов определялось из условия пропорциональности объему класса. По формуле (5.1) построена оценка среднего времени доставки сообщений по сети: Т€ = 0,0012 . 201
Моделирование проводилось на 17 персональных ЭВМ (Pentium II) локальной сети с пропускной способностью 10 Мбит/с. Для организации обмена данными между программами по среде передачи использовались низкоуровневые средства системного программирования - интерфейс сокетов протокола IPX. В результате последовательного имитационного моделирования полной сети, при тех же самых исходных данных, была получена оценка среднего времени доставки пакетов по сети: Т€ = 0,0011 . Для получения оценки Т воспроизводился процесс доставки сообщений в течении 60 минут модельного времени. Для сравнения времени работы последовательного и параллельного алгоритмов введем коэффициенты ускорения S m и эффективности E m : S T Sm = 1 , Em = m , Tm m где Tm - время выполнения алгоритма ИМ на m рабочих стациях, T1 - время выполнения последовательного алгоритма на одном компьютере. В таблице 5.4 приведены времена распределенного имитационного моделирования РИСУ «Система-Город», а также коэффициенты S m и E m . Таблица 5.4. m Tm Em Sm 1 17
36 2,2
16,36
0,96
Полученные результаты позволяют сделать вывод о целесообразности применения метода распределенного имитационного моделирования, основанного на модели вычислений SPMD, по202
зволяющего значительно сократить количество затрат машинного времени, что дает возможность исследования РИСУ большой размерности. Предлагаемый способ распределенного имитационного моделирования РИСУ позволяет использовать существующий парк компьютеров, причем без отрыва последних от повседневного использования, и не зависит от конфигурации сети и аппаратного обеспечения 5.4. Задача выбора коммуникационного программного обеспечения для РИМ
Реализация методов распределенного имитационного моделирования требует обоснованного выбора коммуникационного программного обеспечения, специализированных программных средств межпроцессного обмена, проведения экспериментальных исследований этих средств. Современные локальные вычислительные сети и кластерные системы, построенные на обычных коммуникационных технологиях компьютерных сетей, являются наиболее общедоступными параллельными вычислительными системами, тогда как стоимость классических многопроцессорных систем - суперкомпьютеров не всегда доступна для многих образовательных и научно-исследовательских организаций. В связи с этим в качестве технической базы для имитационного моделирования целесообразно выбрать локальную сеть или кластерную систему, используя их, как сетевой суперкомпьютер. Сетевая аппаратура, интерфейс и протоколы транспортного уровня, применяемые в локальных сетях и кластерах, практически имеют столь же высокие характеристики, что и интерфейсы ввода-вывода отдельных компьютеров, кроме того, локальная сеть гарантирует доставку сообщений с предсказуемым временем. В противоположность классическим параллельным вычислительным системам, локальные сети и кластеры являются преимущественно неоднородными. Они состоят из различных ком 203
пьютеров с разными характеристиками производительности, объединенными между собой с помощью смешанного набора сетевого оборудования, представляющего каналы с различной скоростью и пропускной способностью. Традиционные параллельные алгоритмы и инструментальные средства предназначены для однородных мультипроцессоров и не могут эффективно работать на неоднородных сетях и кластерах. Для эффективного использования этой архитектуры нужны специализированные алгоритмы и инструментальные программные средства, т.е. использование локальной сети для решения задач имитационного моделирования, требует проведения исследований по выбору программных средств, наиболее эффективно реализующих взаимодействие параллельных модулей имитационной модели. Задача выбора коммуникационных протоколов решается относительно независимо для канального уровня с одной стороны (Ethernet, TokenRing, FDDI, FastEthernet, ATM) и пары "сетевой - транспортный протокол" с другой стороны (IPX/SPX, TCP/IP). Для канального уровня. Факторами выбора протокола канального уровня по критерию максимизации пропускной способности сети были определены: номинальная пропускная способность протокола (битовая скорость передачи кадра); максимально допустимый размер данных кадра; номинальное время доступа к среде передачи данных. Также при выборе протокола учитывались следующие факторы: перспективность протокола, количество компаний, поддерживающих данный протокол, отказоустойчивость, стоимость оборудования, реализующего данный протокол, поддержка трафика реального времени. Технология FastEthernet стала основой современных локальных сетей, стандартом, обеспечивающим интероперабельность оборудования, выпускаемого различными компаниями. При использовании кабельной проводки категории 5, вся инфраструктура локальных сетей, удовлетворяющая спецификации 100ВаseT, получается достаточно дешевой, а формальная пико204
вая скорость (100 Мбит/сек) является приемлемой для большинства приложений. FastEthernet является также самой массовой технологией в области построения кластеров в качестве коммуникационной инфраструктуры. Появление оборудования GigаbitEthernet, которое может работать с той же проводкой категории 5, делает данное семейство одним из самых перспективных коммуникационных решений при построении кластеров. Исходя из этих соображений, выбор остановлен на FastEthernet. Для сетевого - транспортного уровней. Измерения, проведенные в реальных сетях, показывают, что наиболее медленным протоколом локальных сетей является протокол IP. Его сравнительно низкая пропускная способность объясняется его универсальностью, независимой схемой адресации узлов, способностью объединять практически все существующие сетевые технологии. Пропускная способность протокола IPX обычно выше, чем при использовании протокола IP. Протокол IPX использует в качестве номера узла тот же локальный адрес узла, что и протоколы канального уровня, а именно, его МАС-адрес. Протокол NetBIOS строго ориентирован на работу в локальных сетях, не разделяемых на части маршрутизаторами. Протокол NetBIOS может работать в двух режимах – дейтаграммном и с установлением соединения. В целом, в сетях небольших размеров пропускная способность при использовании протоколов IPX и NetBIOS выше, чем при использовании протокола IP. В новой версии этого протокола - IPv6, процесс внедрения которой уже начался, в качестве IP-адреса используется локальный адрес, как это делается в протоколе IPX. TCP -протокол транспортного уровня организует надежный сервис с поддержкой логических соединений. ТСР- пакеты (сегменты) посылаются в составе IP-датаграмм, чтобы обеспечить надежность TCP добавляет к базовому IP сервису три параметра : контрольную сумму данных, порядковый номер, параметры механизма подтверждения и повторной передачи. Протоколы, не требующие наличия соединений, - это фундамент на 205
котором строятся более сложные протоколы. Так ТСР построен поверх IP, NetBIOS работает поверх IPX. Для распределенной имитационной модели характерен обмен короткими независимыми сообщениями, в задачах такого рода эффективнее использовать протоколы сетевого уровня, отличающиеся быстродействием, но менее надежным, так как у них не предусмотрен механизм подтверждений. Однако, эту проблему можно решить, включив в приложение функции контроля соответствия между ответами и запросами. В связи с вышеизложенным, предлагается в качестве коммуникационного программного обеспечения использовать протокол IPX, как наиболее подходящий для реализации распределенной имитационной модели в одной локальной сети, тогда как протокол IP более эффективен, как протокол межсетевого уровня, для приложений, работающих на компьютерах в разных сетях. Библиотеки интерфейса передачи сообщений MPI (Message Passing Interface) реализованы практически во всех современных кластерных системах, также могут использоваться и в локальных сетях, т. е. пригодны для использования в различных системах с распределенной памятью. Однако использование этой коммуникационной библиотеки приводит к снижению эффективности приема передачи данных до 60% от пропускной способности физического канала. Объясняется это тем, что стек протоколов TCP/IP, используемый MPI, вносит программную задержку из-за вызовов функций стека и многократного копирования информации в локальной памяти вычислительного узла. В связи с этим, при построении распределенного моделирующего алгоритма, предлагается использовать интерфейс сокетов. Сокеты предоставляют самый полный доступ к возможностям локальной сети, непосредственно вызывая прерывания. Для этого не нужно никаких библиотек, так как средства вызова прерываний уже есть в любом языке программирования. Необ-
206
ходимо лишь описание нужных параметров для работы прерываний и структуры передаваемых параметров. Также можно использовать сервис, предлагаемый Windows Sockets. Стандарт Windows Sockets более известен как Winsock. Основная идея Winsock - позволить разрабатывать сетевые приложения, способные работать с любым стеком TCP/IP. Winsock. версии 2 способен работать и с другими транспортными протоколами, например АТМ или IPX/SPX, причем разные приложения могут их использовать одновременно. Компании Microsoft и Intel поставляют Winsock в виде динамической библиотеки (DLL). Нами были произведены исследования по использованию функций протокола IPX, работающими с интерфейсом сокетов. Использовалась методика измерений пропускной способности двунаправленных обменов, предложенная в работе [6]. Результаты показали, что эффективность приема передачи данных составляет около 99% от пропускной способности физического канала, значение латентности 2 мс. При этом передавалось 130 тыс. пакетов длиной 546 байт и количество неверно принятых пакетов составило - 0. Поэтому при построении сетевой имитационной модели РИСУ были использованы функции протокола IPX для обмена информацией между блоками имитационной модели. MPI, предоставляющий удобный сервис для прикладного программиста, не всегда способствует уменьшению времени организации обмена сообщениями между процессами, что особенно важно для имитационных алгоритмов, характеризующихся сильно-связным кодом и выполняемых на локальных сетях. Исходя из этого, предлагается в качестве основы для распределенного имитационного моделирования РИСУ использовать низкоуровневые взаимодействия в сети на уровне сокетов.
207
Список литературы
1. Аврамчук Е.А., Вавилов А.А., Емельянов С.В. Технология системного моделирования - М.: Машиностроение, Берлин: Техник, 1988, 520с. 2. Айвазян С.А., Бежаева Э.И., Староверов О.В. Классификация многомерных наблюдений. – М.: Статистика, 1974 , 240 с. 3. Андреев А, Воеводин В., Жуматий С. Кластеры и суперкомпьютеры - близнецы или братья? "Открытые системы", №№ 5 - 6, 2000г. 4. Андреев А.Н., Воеводин Вл. В. Методика измерения основных характеристик программно-аппаратной среды. http://parallel.ru 5. Арапов Д. Можно ли превратить сеть в суперкомпьютер? Открытые системы, №4, 1997г. 6. Балахонцев В.Б., Яблонский С.В. Перспективы построения высокопроизводительных вычислительных систем с использованием современных компонентов широкого применения./ Матер. Всерос. научн.-техн. конф. "Высокопроизводительные вычисления и их приложения." М., Черноголовка, 2000 г. 7. Баронов В.В. и др. Автоматизация управления предприятием. М.: ИНФРА-М, 2000.-239 с. 8. Башарин В. Г. Анализ очередей в вычислительных сетях. М.: Наука, 1989. – 334 с. 9. Башарин В. Г. Модели Информационно– вычислительных систем. М.: Наука, 1993. – 69 с. 10 Белов В.В., Воробьев Е.М., Шаталов В.Е. Теория графов. - М.: Высшая школа, 1976, 392 с. 11 Берзигияров П.К., Султанов В.Г. Технология разработки масштабируемых параллельных вычислений для SMPсистем на базе MPI. // Мат. Всерос. науч.-техн. конф. "Высокопроизводительные вычисления и их приложения.", М., Черноголовка, 2000 г. 210
12
Бершадский А.М., Курилов Л.С., Селиверстов М.Н. Построение систем параллельной обработки на базе кластерных технологий. // Матер. Всеросс. научн.-техн. конф. "Теоретические и прикладные вопросы современных информационных технологий", Улан-Удэ, 2000г., с. 40 - 45. 13 Бигдан В.В., Гусев В.В., Марьянович Т.П., Сахнюк М.А. Становление и развитие имитационного моделирования на Украине. Тр. Междунар. Симпоз. по моделированию систем. – К., 1998, с. 182 – 193. 14 Блэк Ю. Сети ЭВМ: протоколы, стандарты и интерфейсы / Пер. с англ. – М.: Мир, 1990. 506 с. 15 Богуславский Л. Б., Дрожжинов В. И. Основы построения вычислительных сетей для автоматизированных систем. – М.: Энергоатомиздат, 1990. - 256 с. 16 Бусленко Н.П. Моделирование сложных систем – М.: Наука, 1978 – 400с. 17 Бусленко Н.П., Коваленко И.Н., Калашников В.В. Лекции по теории сложных систем – М.: Сов. Радио, 1973, 430с 18 Вендров А.М. Один из подходов к выбору средств проектирования баз данных и приложений. "СУБД", 1995, №3 19 Воеводин В.В. Математические модели и методы в параллельных процессах. М., Наука, Гл. ред. физ. мат. лит., 1986, 296 с. 20 Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. – СПб.: БХВ – Петербург, 2002, 608 с. 21. Вознесенская Т.В. Исследование эффективности методов синхронизации времени для распределенного имитационного моделирования. // Матер. Всерос. конф. ”Высокопроизводительные вычисления и их приложения”. Черноголовка. 2000. С.208-211.
211
22 23 24
25
26 27 28 29 30 31 32 33
210
Вознесенская Т.В. Метод анализа алгоритмов синхронизации времени для распределенного имитационного моделирования системю //cmc.cs.msu.su/labs/lvk Вычислительные системы, сети и телекоммуникации /В.Л. Бройдо. СПб: Питер, 2003. – 688 с.7 Гаскаров Д. В., Истомин Е. П., Кутузов О. И. Сетевые модели распределенных автоматизированных систем. СПб.: Энергоатомиздат, Санкт-Петербургское отделение, 1998. – 353 с. Гергель В.П., Стронгин Р.Г. Основы параллельных вычислений для многопроцессорных вычислительных систем. Учеб. пос. – Нижний Новгород; из-во ННГУ им. Лобачевского, 2000, 176 с. Горбатов В. А. Фундаментальные основы дискретной математики. Информационные основы. - М.: Наука. Физматлит, 2000, 544 с. Горбатов В.А. Теория частично упорядоченных систем. М.: Советское радио, 1976 г., 336 с. Горелик Я.Е., Пранявичус Г.И. Система автоматизированного построения имитационных моделей агрегативных систем САПАС. Каунас: КПИ, 1985 г. Горчинская О.Ю. Designer/2000 - новое поколение CASE-продуктов фирмы ORACLE. "СУБД", 1995, №3. Гультяев А. Визуальное моделирование в среде МАТЛАБ: учебный курс. – СПб.: Питер, 2000, 432 с. Девятков В.В. Практическое применение имитационного моделирования в России и странах СНГ: обзор, анализ перспектив. //www.gpss.ru Динамика систем с дискретными событиями. Тематический выпуск ТИИЭР. – М.: Мир, том 77, № 1, 1989 Дюран Б., Одел П. Кластерный анализ. – М.: Мир, 1977, 128 с.
34
Елисеева И.И., Рукавишников В.О. Группировка, коррелляция, распознавание образов. – М.: Статистика, 1977, 143 с. 35 Емельянов В.В., Ясиновский С.И. Введение в интеллектуальное имитационное моделирование сложных дискретных систем и процессов. // Языки РДО. – М.:АНВИК, 1998, 427 с. 36 Забродин А.В., Левин В.К. Опыт разработки параллельных вычислительных технологий. Создание и развитие семейства МВС. // Матер. Всеросс. науч.-тех. конф. "Высокопроизводительные вычисления и их приложения.", М., Черноголовка, 2000 г. 37 Захаров Г.П. Методы исследования сетей передачи данных. М.: Радио и связь, 1982, 208 с. 38 Зелигер Н.Б., Чугреев О.С., Яновский Г.Г. Проектирование сетей и систем передачи дискретных сообщений. – М.: Радио и связь, 1984, 175 стр. 39 Зиндер Е.З. Бизнес-реинжиниринг и технологии системного проектирования. Уч. пос.. М., ЦИТ, 1996 40 Казаков Ю.П., Смелянский Р.Л. Об организации распределенного имитационного моделирования. // Программирование. 1994. №2. С.45-63. 41 Калашников В.В. Организация моделирования сложных систем. – М.: Знание1982, 64 с. 42. Керженцев Ю. А. и др. Телекоммуникационная инфраструктура систем автоматизированного обмена информацией. – М.: ВНИИ, 1990. – 150 с. 43 Клейнен Дж. Статистические методы в имитационном моделировании. М., Статистика, 1978, с.221-335. 44 Клейнрок Л. Вычислительные системы с очередями. – М.: Мир,1979, 600 с. 45 Коваленко И.Н. Расчет вероятностных характеристик систем. Киев: Техника, 1982 г., 96 с.
211
46 47 48 49 50 51
52
53 54 55 56 57
212
Кофман А., Крюон Р. Массовое обслуживание. Теория и приложение. – М.: Мир, 1965, 302 с. Кульгин М. Технологии корпоративных сетей. СПб.: Питер, 1999. Куперштох В.Л., Миркин Б.Г., Трофимов В.А. Сумма внутренних связей как показатель классификации. // Автоматика и телемеханика, 1976, № 3, стр. 133 – 141. Кутузов О.И., Головин Ю.А. Ускоренное статистическое моделирование сетей обмена информации. Уч. пособие /ГЭТУ СПб., 1997, 64с. Кутузов О.И., Задорожный В.Н., Олзоева С.И. Имитационное моделирование сетей массового обслуживания. Улан-Удэ: ВСГТУ. 2001. 228 с. Кутузов О. И., Хаддад М. Аналитико-статистический метод расчета малых вероятностей потерь в буфере конечной емкости // Телекоммуникационные технологии. 1994. Вып. 1. С. 36 – 48. Кутьин А.Б., Лебедев В.Г., Трахтенгерц Э.А., Шурайц Ю.М. Алгоритмы и анализ распараллеливания программ для параллельных машин с множественным потоком команд. - М., НС по комплекс. пробл. "Кибернетика", 1981, с. 28 - 46. Липаев В.В. Проектирование программных средств М.: Высшая школа, 1990 Литвинов В.В. Математическое обеспечение проектирования вычислительных машин и систем. Киев, Техника, 1982 г., 176 с. Литвинов В.В., Марьянович Т.П. Методы построения имитационных систем. Киев, Наукова думка, 1991, 120 с. Лифшиц А.Р., Биленко А.П. Многоканальные асинхронные системы передачи информации. – М.: Связь, 1974, 232 с. Локальные вычислительные сети: Справочник. В 3-х кн. Книга 3. Организация функционирования, эффектив-
58 59 60 61 62 63 64 65
66 67 68
ность, оптимизация. /Под ред. Назарова С.В. М., Финансы и статистика, 1995, 248 с. Лычкина Н.Н. Технологические возможности современных систем моделирования. Банковские технологии, выпуск 9, 2000 г. Максименков А.В. Взаимодействие задач АСУ при распределенной обработке данных в сети ЭВМ. / Вопросы радиоэлектроники. Сер. АСУПР. 1985. Вып. 4., с. 16 - 27. Международные стандарты, поддерживающие жизненный цикл программных средств. М., МП "Экономика", 1996 Моделирование систем с использованием теории массового обслуживания / Под ред. д.т.н. Д.Н.Колесникова: Учеб. пос. / СПбГПУ. СПб, 2003. – 180 с. Назаров А.В., Лоскутов А.И. Нейросетевые алгоритмы прогнозирования и оптимизации систем. – СПб.: Наука и техника, 2003. – 384 с. Нанс Б. Программирование в локальных сетях. /Пер. с англ., Пермь, издат-во Перм. ун-та, 1992, 756 с. Овчинников Г. Р. К расчету среднего времени задержки пакета в центре коммутации // Техника средств связи. – М., 1984. с. 23-33. Ойхман Е., Евсеев О, Паранджанов С. Методологические основы проектирования информационных систем на базе системы параллельно развивающихся статических и динамических интеллектуальных моделей. Олифер В.Г., Олифер Н.А. Компьютерные сети: принципы, технологии, протоколы. СПб.: Питер, 1999. Опыт создания сетей ЭВМ на базе разнотипных ЭВМ. – М.: ЦЭМИ, 1992. – 107 с. Основы современных компьютерных технологий: Учебн. Пособие./ Под ред. проф. Хомоненко А. Д. – СПб.: КОРОНА принт, 1998. – 448 с.
213
69 70
71 72 73 74 75 76 77 78 79 80
214
Павловский Ю.Н. Имитационные модели и системы. М.: ФАЗИС, ВЦ РАН, 2000, 134 с. Пекунов В.В., Нуждин Н.В. Имитаторы многопроцессорной вычислительной системы на персональном компьютере и работа компьютерных сетей в режиме супермашин. / Матер. Всерос. научн.-техн. конф. "Высокопроизводительные вычисления и их приложения.", М., Черноголовка, 2000 г. Плакс Б.И. Имитационное моделирование систем массового обслуживания: Учеб. пособие. СПбГААП, СПб, 1995, 64 с. Полляк Ю.Г. Вероятностное моделирование на ЭВМ. М., Наука, 1971 г., 399 с. Построение мини- и микро- систем с открытой архитектурой / Под ред. А. Б. Шадрина. – М.: Информприбор, 1991. –500 с. Построение транслятора для многопроцессорных вычислительных систем. /Бабичев А.В., Лебедев В.Г., Пронина В.А., Трахтенгерц Э.А. Кибернетика, 1985, №1, с.38-44. Прицкер А. Введение в имитационное моделирование и язык СЛАМ II. Пер. с англ. М., Мир, 1987, 646 с. Протоколы и методы управления в сетях передачи данных / Под ред. Серф В. и др. – М.: Радио и связь, 1990. – 480 с. Протоколы информационно – вычислительных систем / Под ред. Аничкина. – М.: Радио и связь, 1990. – 502 с. Протоколы информационных сетей. Справочник // Под ред. И. А. Мизина, А. П. Кулешова. – М.: Радио и связь, 1990. – 440 с. Пугачев В.Н. Комбинированные методы определения вероятностных характеристик. – М.: Советское радио, 1973, 256 с. Разработка интеллектуальных систем управления и систем транспортной логистики Санкт-Петербурга. //
СПбГЭТУ (ЛЭТИ) / Под общ. ред. Ю.А. Борцова. -СПб, 1998 г., 133 с. 81 Райтер Р., Вальран Ж.С. Распределенное имитационное моделирование дискретно-событийных систем. М.: Мир. ТИИЭР. Т.77 №1. 1989, с. 245-262. 82 Савин Г.И. Системное моделирование сложных процессов. - М.: ФАЗИС, ВЦ РАН, 2000, 276 с. 83 Сетевое программное обеспечение: Методическое пособие. – М.: Центр информационных технологий, 1994 84 Соболь И.М. Численные методы Монте – Карло – М.,1973.- 212 с. 85 Советов Б. Я. Информационная технология. – М.: Высшая школа, 1994, 368 с. 86 Советов Б.Я., Яковлев С.А. Моделирование систем – М.: Высшая школа, 1998, 315 с. 87 Советов Б. Я., Яковлев С. А. Построение сетей интегрального обслуживания. Л.: Машиностроение, -1990. – 332с. 88 Солодовников В.В, Тумаркин В.И. Теория сложности и проектирования систем управления. – М.: Наука, 1990, 168 с. 89 Телекоммуникационные компьютерные сети России / СП “Эко-Тренз”. – М., 1992. –176 с. – Технологии электронных; Т. 31. 90 Толуев Ю. Записки симуляциониста, любящего и уважающего GPSS. //www.gpss.ru 91 Тормышов С. А. Технология АТМ для профессионалов // Компьютер Пресс. – 1997. - № 3. – С. 168-170. 92 Трахтенгерц Э.А. Введение в теорию анализа и распараллеливания программ ЭВМ в процессе трансляции. М., Наука, 1981 г., 250 с. 93 Трахтенгерц Э.А. Программное обеспечение параллельных процессов. М., Наука, 1987 г., 272 с.
215
94 95 96
97 98 99 100. 101. 102. 103. 104. 105. 106.
216
Уиллис Дэвид. Магистральные коммутаторы АТМ для распределенных корпоративных сетей // Сети и системы связи. 1998. - № 2 (24). – С. 76-82. Ушаков И.А. Вероятностные модели надежности информационно- вычислительных систем. М.: Радио и связь, 1991. – 132 с. Фатеев А.Е., Пороцкий С.М., Дружин В.И. Сравнительный анализ приближенных методов моделирования вычислительных систем. // Управляющие машины и системы. 1991. № 1 – с.52 – 61. Фролов А.В., Фролов Г.В. Локальные сети персональных компьютеров. Использование протоколов IPX, SPX, NETBIOS. М., "Диалог - МИФИ", 1993, 160 с. Что такое Beowulf? (технология организации параллельных вычислений на Linux-кластерах). http://parallel.ru Шеннон Р. Имитационное моделирование систем – искусство и наука – М.: Мир, 1978 Шлюзы и мосты – несколько примеров практической реализации // Компьютер Пресс. – 1990. N7. – 69 c. Якубайтис Э. А. Открытые информационные сети. – М.: Радио и связь, 1991 – 207 с. Яшков С.Ф. Анализ очередей в ЭВМ. – М.: Радио и связь, 1989 – 216 с Barker R. CASE*Method. Entity-Relationship Modelling. Copyright Oracle Corporation UK Limited, Addison-Wesley Publishing Co., 1990. DEC – IBM networks interconnections // Dec Prof. – 1989. – Vol. 8. – N1. – P. 50-58. Swain J.J. “Power Tools for Visualization and DecisionMaking”, OR/MS Today, February 2001 – Survey Zbigniew Dziong. ATM Network Resource Management (ATM Professional Reference Press). – 1997. – 309 p.
Содержание Введение . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Методы моделирования распределенных автоматизированных систем. . . . . . . . . . . . . . . . . . 6 1.1 Распределенные информационные системы управления. 6 1.2. Задачи проектирования РИСУ . . . . . . . . . . . . 16 1.3. Методы моделирования РИСУ . . . . . . . . . . . . 23 1.3.1. Технологическая схема имитационного моделирования систем . . . . . . . . . . . . . .24 1.4. Современные средства имитационного моделирования систем . . . . . . . . . . . . . . . . 28 1.4.1. Проблемы имитационного моделирования систем . . 32 2. Общая концепция распределенного имитационного моделирования РИСУ . . . . . . . . . . . . . . . . . 36 2.1. Современные высокопроизводительные вычислительные системы. . . . . . . . . . . . . . . . 36 2.2. Организация параллельных вычислений в имитационном моделировании РИСУ. . . . . . . . . . 44 2.3. Типовые вычислительные схемы имитации . . . . . . . 46 2.4. Методы теории параллельных вычислений . . . . . . .52 2.4.1. Основные парадигмы параллельных вычислений . . . 55 2.4.2. Программное обеспечение параллельных вычислений 58 2.4.3. Методы распараллеливания программ. . . . . . . 62 2.5. Методы теории распределенных вычислений . . . . . 64 2.6. Организация вычислительного процесса ИМ РИСУ на многопроцессорных ВС . . . . . . . . . . . . . . . 69 3. Распределенное имитационное моделирование РИСУ по модели вычислений MPMD . . . . . . . . . . . . . 73 3.1. Декомпозиция ПО ИМ РИСУ . . . . . . . . . . . . . 81 3.1.1. Формализованное описание имитационной модели РИСУ . . . . . . . . . . . . . . . . . . . . 81 3.1.2. Метод декомпозиции модели РИСУ . . . . . . . 89 3.1.3. Дендрограммы. . . . . . . . . . . . . . . . . 97 217
3.1.4. Алгоритм кластеризации множества виртуальных действий ИМ . . . . . . . . . . . . 99 3.1.5. Результаты декомпозиции ПО ИМ РИСУ . . . . . 102 3.2. Оценка качества вариантов проектов распределенной имитационной модели . . . . . . . . . . . . . . . . . 105 3.3. Выбор оптимального алгоритма синхронизации . . . . 112 3.4. Принципы построения управляющей программы РИМ . .115 3.5. Оптимальное распределение программных блоков ИМ по процессорам вычислительной системы . . . . . . . . 122 3.5.1. Алгоритм выбора наибольшего паросочетания в двудольном графе . . . . . . . . . . . . . . . . . 126 3.6. Автоматизированное средство организации распределенного имитационного моделирования РИСУ . . .129 3.7. Методика организации вычислительного процесса распределенного имитационного моделирования РИСУ . . 131 4. Распределенное имитационное моделирование РИСУ по модели вычислений SPMD . . . . . . . . . . . . . 133 4.1. Аналитико-статистический метод моделирования РИСУ 136 4.2. Метод декомпозиции РИСУ . . . . . . . . . . . . 143 4.2.1. Критерий и свойства оптимального разбиения . . . 147 4.2.2. Назначение рангов УС и КС сети. Выбор порога существенности связей . . . . . . . . . 148 4.2.3. Алгоритм двухступенчатой декомпозиции сети . . .156 4.2.4. Точность оценки исследуемых характеристик . . . 158 4.3. Принципы построения модели виртуального канала . . 160 4.3.1. Путь транспортировки транзактов как объект моделирования . . . . . . . . . . . . . . . . . 163 4.3.2. Построение генератора фоновых потоков . . . . . 167 4.3.3. Алгоритм формирования интенсивностей фоновых потоков . . . . . . . . . . . . . . . . . . 169 4.3.4. Распределение входящего потока на УС . . . . . . 171 4.4. Вопросы адекватности модели виртуального канала . . 174 4.5. Методика ускоренного анализа РИСУ . . . . . . . . 177 4.6. О применимости метода ускоренной имитации РИСУ . 178 218
4.7. Методика организации вычислительного процесса РИМ РИСУ по модели вычислений SPMD . . . . . . . . . . .181 5. Применение методов ускорения моделирования РИСУ .186 5.1. Оценка характеристик функционирования РИСУ с использованием аналитико-статистического метода . . . . .186 5.2. Сравнение затрат машинных ресурсов . . . . . . . . 192 5.3. Моделирование распределенной автоматизированной системы . . . . . . . . . . . . . . . . . . . . . . . 195 5.4. Задача выбора коммуникационного программного обеспечения для РИМ . . . . . . . . . . . . . . . . . 203 Список литературы . . . . . . . . . . . . . . . . . 208
Ключевые слова: распределенное АСУ, имитационное моделирование, распределённое вычисление.
219
Олзоева Сэсэг Ивановна РАСПРЕДЕЛЕННОЕ МОДЕЛИРОВАНИЕ В ЗАДАЧАХ РАЗРАБОТКИ АСУ Научное издание
Редактор Т.А. Стороженко
Подписано в печать 19. 01. 2005 г. Формат 60х84 1/16 Усл. п.л.13,14, уч.-изд. л. 12,7. Печ. Операт., бум. Писч. Тираж 100 экз. Заказ № Издательство ВСГТУ, г. Улан-Удэ, ул. Ключевская, 40, в © ВСГТУ, 2005
184
185