Лизован в виде программы для ЭВМ. Многократно "прогоняя" им в условиях случайных потоков событий на входе и в самой системе, можно накопить статистическую информацию об изменении существенных переменных состоя
Вид материала | Документы |
Содержание3.1. Основные понятия имитационного моделирования. |
- Представление информации в ЭВМ, 73.88kb.
- Программа по дисциплине теория вероятностей и математическая статистика, 95.11kb.
- Массивы переменных как однородные статические структуры данных. Строки символов. Инициализация, 70.39kb.
- Реферат на тему: "Внешние устройства персонального компьютера.", 375.1kb.
- Задача прогнозирования значений временного ряда чаще всего предполагает использование, 148.11kb.
- Программы для ЭВМ «eset nod32 Антивирус» и«eset nod32 Smart Security» «Правообладатель», 246.17kb.
- Роль и место складирования в логистической системе, 64.95kb.
- Ровождалось коренным пересмотром принципов реализации управленческих процессов, что, 130.18kb.
- Представление изображений, 398.28kb.
- Учебное пособие (экспериментальный, 430.37kb.
Егоров Е.А.
ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ
Аналитические модели (АМ) - предполагают наличие математичес-
кого описания процессов, протекающих в оригинале. Обычно строятся при
жесткий ограничениях на параметры оригинала и внешней среды.
АМ позволяют получать зависимость Pi = f(ALFA1,..,ALFAn).
Пример. Модели массового обслуживания в основном строятся в предполо-
жении простейших потоков событий.
Имитационные модели (ИМ) - являются более универсальными и
могут быть построены при отсутствии математической модели оригинала.
Идея имитационного моделирования очень проста, заключается в том, что
строится некий алгоритм поведения подсистем и отдельных элементов сис-
тем во времени. При анализе производительности интересно только состо-
яние подсистем (работает / не работает). Этот алгоритм может быть реа-
лизован в виде программы для ЭВМ. Многократно "прогоняя" ИМ в условиях
случайных потоков событий на входе и в самой системе, можно накопить
статистическую информацию об изменении существенных переменных состоя-
ния ИМ. Статистическая обработка этой информации позволяет получить
статистические оценки показателей эффективности. В отличие от АМ, ИМ
обладает принципиальной методической погрешностью, существенно завися-
щей от объема выборки и, соответственно, от времени наблюдения за ИМ.
Пример. MU
+--------+ o
LA --->|ЦП - ОП |---> LA Оригинал - однопроцессорная система опе-
| +--------+ п ративной обработки без буферирования за-
----------------> LA просов.
Аналитическая модель. Имитационная модель.
+--+ LA +--+ o C1 C2
|S0|----->|S1| п| C3
+--+<-----+--+ Вых. поток +----+---+-+---
MU +--+ +--+
| |C1| |C2|
1 ЦП - ОП +-+--+--+--+---
P0 = ----;
1+RO |
RO Вх. поток +--------------
Р1 = RO * Р0 = ----;
1+RO | ||
C1 C2C3
3.1. ОСНОВНЫЕ ПОНЯТИЯ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ.
ИМ строится в том случае, если нет математического описания
процессов, протекающих в исследуемом объекте. Суть имитационного
моделирования:
- воспроизведение с необходимой достоверностью поведения отдель-
ных элементов системы в процессе реализации ею функции системы;
- накопление статистических данных о поведении элементов;
- последующая статистическая обработка этих данных для
получения статистических оценок количественных характеристик
законов распределения оцениваемых показателей эффективности.
ВС - сложная система со стохастическим поведением. Возможны
различные аспекты анализа поведения ВС:
- при анализе производительности случайным является поток
запросов на обслуживание, случайна также трудоемкость запроса,
определяемая числом операций, которые необходимы для выполнения
программы, обрабатывающей запрос пользователя;
- при анализе надежности случайны процессы отказов элементов
ВС (процесс деградации ВС), случайны также интервалы времени, необ-
ходимого для ремонта отказавших элементов (процессы восстановления).
Уровни моделирования:
- системное моделирование - моделирование на уровне системы
(анализ производительности отдельных элементов и системы в целом);
- моделирование на уровне архитектуры (анализ эффективности
системы команд, точностной анализ);
- моделирование на уровне регистровых передач (анализ коррект-
ности микропрограмм операций);
- логическое моделирование - моделирование на уровне логических
схем (анализ корректности ЛС, выявление критических состояний,
вызванных задержками ЛЭ (статический риск, динамический риск)).
- схемо-техническое моделирование - моделирование на уровне прин-
ципиальных схем логических элементов с учетом топологии и конкретной
технологии производства БИС, СБИС, ССБИС,....
Основное внимание в курсе уделено системному моделированию, при
котором исследуется такой важный показатель эффективности как
производительность. Введем ряд понятий ИМ системного уровня.
+ +
Производительность---| работа | индексы
| |--------| производительности
| | время |
| + +
+--- время индекс
реактивности
Активность - элементарная работа, рассматриваемая в рамках
данной ИМ, как неделимая.
Процесс - логически связанная некоторой функцией
последовательность активностей.
Событие - факт начала или завершения некоторой активности. По-
нятие активности и процесса взаимосвязаны. Переходя с одного уровня
детализации на другой, можно рассматривать активность как процесс
более низкого уровня и, напротив, рассматривать процесс как актив-
ность более высокого уровня.
Уровень ОС
Процесс- A1 A2 A3 A1 - инициация задания
задание -+----+----+----+----+--> A2 - исполнение
/ \ A3 - завершение
/ \
/ \
/ \
Процесс- /A21 A22 A23 \ A21 - акт-сть счета (ЦП, ОП)
программа -+----+----+----+----+--> A22 - обмен (ОП <-> диск)
ЦП / \ A23 - счет ЦП - ОП
/ \
/ \
Процесс- /A221 A222 A223\ A221 - позиционирование
программа -+----+----+----+----+--> A222 - ожидание зоны
обмена A223 - обмен данными
ИМ системного уровня предполагает описание функционирования
системы в терминах активности, событий или процессов на некотором
языке программирования. В принципе модель может быть построена на
любом универсальном языке программирования, однако компактность и
соответственно время разработки модели возрастают по мере специали-
зации языка. Часто специализация обеспечивается расширением универ-
сального языка высокого уровня (FORTRAN, PASCAL, C) специальными
операторами. Существует много специальных языков моделирования, час-
то имеющих проблемную ориентацию. Языки моделирования относят к раз-
личным группам в зависимости от основных объектов языка:
- языки, ориентированные на активности,
- языки, ориентированные на события,
- языки, ориентированные на процессы.
Общая проблема реализации языков моделирования различных типов:
Необходимость реализации в ИМ параллелизма, характерного для
сложных ВС. В системах с мультипрограммным режимом обработки может
развиваться параллельно несколько процессов, связанных с различными
заданиями. ОС реализует алгоритмы диспетчеризации, т.е. управления
вычислительным процессом и распределения ресурсов между конкурирую-
щими процессами т.о., чтобы обеспечить наилучшее качество функциони-
рования (для систем с диалоговым режимом обработки цель - минимиза-
ция времени обработки, для систем с пакетным режимом обработки -
максимизация загрузка оборудования).
Проблема псевдопараллелизма вызвана тем, что реально параллель-
ные процессы в оригинале необходимо имитировать на инструментальной
ЭВМ, которая может реализовать лишь последовательные процессы (расс-
матриваются однопроцессорные ЭВМ). Для реализации псевдопараллелизма
надо определенным образом организовать последовательное выполнение
процедур, относящихся к различным активностям, процессам или событи-
ям, протекающим параллельно во времени.
Время в ИМ
Физическое tф, реальное tр - время в объекте моделирования.
Модельное tм - системное время.
Инструментальное tи - в инструментальной ЭВМ, на которой
реализуется ИМ.
tф - непрерывное время.
tм - дискретное время(иногда удобно рассматривать его как без-
размерное: tм = 0, 1, 2, 3, 4, ...).
Масштаб времени.
tм
4| tф
| | Mt = ----
3| +---+ tм
| |
2| +---+ Mt = 1 - реальное время
| | Mt > 1 - ускоренное время
1| +---+ DELTAt Mt < 1 - замедленное время
| | |<->| DELTAt - шаг квантования
0+---+---+---+---+----
1 2 3 4 tф
Соотношения между tи и tм определяется степенью детализации
процессов и характеристиками инструментальной ЭВМ.
Рассмотрим взаимосвязь трех видов времени. Пусть в исследуемой
системе наступают события трех типов. Каждому из событий в ИМ
будут соответствовать определенные процедуры, требующие выполнения
на инструментальной ЭВМ соответствующих программ.
А1 А2 А3 А4 Приоритеты
+-+---+-----+---+------- tф
| B > C > A
| b1 b2 b3 b4
+----+----+---+---+----- tф Квантование приводит к тому, что
| события, происходящие в разные
| c1 c2 c3 c4 моменты физического времени, могут
+--+----+--+-----+------ tф быть отнесены к одному моменту мо-
| a1 a2 b2 a3 b4 дельного времени. Последователь-
| c1 b1 c2 c3 b3 a4 c4 ность обработки этих событий в ин-
+--+--+--+--+--+--+--+-- tм струментальном времени определя-
| |c1 3 4 5 6 7 ется приоритетами событий.
| |a1
| |b1
| |a2
| |c2
| |b2
| |c3
|tи
V
Проблема псевдопараллелизма.
Решение этой проблемы связано с реализацией системы модельного
(системного) времени TIME (системных часов).
Известна реализация системы времени по методу "DELTA t", в кото-
рой системные часы получают приращение с постоянным шагом DELTAt,
причем для каждого нового значения TIME выполняется проверка на на-
личие событий из множества возможных событий {E1, E2, ..., En}, от-
носящихся к данному моменту времени. Часы останавливаются по условию
TIME > TLIM, где TLIM - длина интервала моделирования.
+------+
|начало|
+---+--+
+----------+-----------+
| TIME:=0; |
+----------+-----------+
+------------------------>|
| /\
| /TIME\ Да
| / > \-----------------------+
| \ TLIM / |
| \ / +---------+--------+
| \/ |обработка(статис.)|
| | Нет | формирование про-|
| +------+------+ | токола испытаний |
| | i = 1 | +---------+--------+
| +------+------+ |
| +----------------->| +---+---+
| | /\ | конец |
| | / \ +-------+
| | / P(Ei) \
| | \ /
| | \ /
| | \/
| | +----------+---------+
| | +----+----+ +----+----+
| | |процедура| |процедура|
| | | E1 | | En |
| | +----+----+ +----+----+
| | +----------+---------+
| | +---------------+-----------------+
| | |планирование событий, логически|
| | |следующих за реализуемым событием|
| | | ПС(E, атрибуты события, DELTAt) |
| | +---------------+-----------------+
| | +------+------+
| | | i = 1 |
| | +------+------+
| | /\
| | Да / \
| +------------ / i <= n \
| \ /
| \ /
| \/
| +----------+---------+
| |TIME = TIME + DELTAt|
| +----------+---------+
+-------------------------+
Этот механизм прост в реализации, но не эффективен из-за того,
что приходится выполнять проверки, результаты которых с большой ве-
роятностью отрицательны. Причем эта вероятность тем больше, чем
меньше квант DELTAt.
Псевдопараллелизм в большинстве используемых систем моделирова-
ния решается с помощью планирования событий, по так называемому ме-
тоду "DELTA Z". Для этого в системах моделирования формируется спи-
сок (календарь) событий. Обычно - односвязный список событий из мно-
жества возможных событий {E1, E2, ..., En}, , упорядоченных по вре-
мени.
+--+----------------+-+-+
Календарь событий (КС) |Ei|атрибуты события|T|.|
Т - время наступления +--+----------------+-+++
события. +-------------------------+
В голове списка должен быть | +--+----------------+-+-+
элемент с миниимальным | |Ej|атрибуты события|T| |
Т, содержащий сведения | +--+----------------+-+-+
о ближайшем по времени |
событии. | +---------------------+
| +--+----------------+-+++
+->|Ek|атрибуты события|T|.|
+--+----------------+-+-+
Операции над КС.
1. Планирование будущего события. Реализуется процедурой
ПС {E,атрибуты события, DELTAt (приращение t)}
с параметрами:
Е - номер планируемого события;
DELTAt - время, через которое должно наступить планируемое собы-
тие по отнощению к текущему времени TIME.
TIME T TIME -текущее время
--+-----+--- T - планируемый момент наступления
|<--->| события.
DELTAt
2. Удаление из списка ближайшего события. Реализуется процедурой
УБС{E, атрибуты события, Т}
которая возвращает в вызывающую программу параметры:
E - номер ближайшего события;
T - время наступления ближайшего события.
Организация псевдопараллелизма по методу "DELTA Z" представляет-
ся следующим алгоритмом.
+------+
|начало|
+---+--+
+------------+-------------+
| TIME = 0; планирование |
| начального события |
| ПС(E1,атрибуты Е1,DELTAt)|
+------------+-------------+
+-------------------->|
| +------------+-------------+
| | удаление ближайшего |
| | события |
| | УБС(E,атрибуты E,T) |
| +------------+-------------+
| /\
| /TIME\ Да
| / > \-----------------+
| \ TLIM / |
| \ / +---------+--------+
| \/ |обработка(статис.)|
| | Нет | формирование про-|
| | | токола испытаний |
| +------+------+ +---------+--------+
| | TIME := T | |
| +------+------+ +---+---+
| | | конец |
| /\ +-------+
| / \
| / E \
| \ /
| \ /
| \/
| +----------+---------+
| +----+----+ +----+----+
| |процедура| |процедура|
| | E1 | | En |
| +----+----+ +----+----+
| +----------+---------+
| +---------------+-----------------+
| |планирование событий, логически|
| |следующих за реализуемым событием|
| | ПС(E, атрибуты события, DELTAt) |
| +---------------+-----------------+
+---------------------+
Приведенная БСА соответствует переводу часов в дискретные
моменты времени, соответствующие возможным событиям в системе.
Достоинством этого метода является более эффективное использование
ресурсов инструментальной ЭВМ.
Основные этапы ИМ.
+->1. Постановка задачи.
|+>2. Формирование и построение концептуальной модели
|| (КМ). На этом этапе должны быть приняты
|| принципиальные решения об ограничениях,
|| принимаемых для построения моделей ОМ
|| (объект моделирования). При исследовании
|| производительности ВС концептуальной моделью
|| является обычно СМО. Для формализации может быть
|| применен язык Q-схем или схем с очередями.
||
|| Объекты: источники заявок +-+
|| |И|--->
|| +-+ LA
|| каналы обслуживания +-+
|| --->|K|--->
|| +-+ MU
|| очереди (накопители) +-----+
|| --->|||||||---
|| +-----+n=const
||
|| с бесконечным числом мест n: -----+ n=бесконеч-
|| ---> ||||||---
|| -----+ ность
||
||>3. Выбор языка ИМ и построение модели.
|+-4. Тестирование ИМ.
+->5. Планирование эксперимента.
| Цель: построить план эксперимента,
| обеспечивающий получение максимальной информации
| об объекте с минимальными затратами ресурсов
| инструментальной ЭВМ.
+->6. Модельный эксперимент.
| (накопление и статистическая обработка
| результатов моделирования).
+--7. Интерпретация результатов модельного
эксперимента.
3.2. Основные сведение о языке ИМ GPSS
(General Purpose System Simulator).
Язык разработан в 1961 году фирмой IBM вслед за разработкой
компилятора с языка ФОРТРАН. Представляет собой Фортран-ориентиро-
ванную версию языка ИМ. Первые реализации GPSS строились в виде
препроцессора, т. е. выходным текстом программ, анализирующих пред-
ложения GPSS, были тексты на Фортране. Существует много версий GPSS,
являющегося наиболее распространенным языком данного класса. В нас-
тоящее время разработаны полные версии GPSS для ПЭВМ.
GPSS предназначен для моделирования систем с материальными и
информационными потоками. Можно описывать систему и управлять марш-
рутами прохождения через объекты систем специальных динамических
элементов - транзактов (транзакт, транзакция - сообщение). Транзакт
может восприниматься как динамическая единица материального или ин-
формационного потока, способная перемещаться от объекта к объекту и
имитировать последовательность обслуживания, которую получает тран-
закт за время пребывания его в системе.
Все операторы GPSS условно делятся на классы.
- динамические (связанные с транзактами);
- аппаратно-ориентированные - им в исследуемой системе соот-
ветствует устройство, занятое обслуживанием, т. е. выполнением рабо-
ты того или иного свойства (связаны с активностями);
- статистические - реализуют сбор и обработку статистической
информации;
- операционные - предназначены для управления потоками транзак-
тов;
- разные (не связанные определенной функцией).
Общий формат предложений GPSS.
Номер строки___{Метка}___Оператор___Операнды;{Комментарии}
до 10 цифр до 20симво- A, B, C,
лов: цифры,_. D, E
Каждому исполняемому оператору может быть сопоставлен блок со
стандартизованным графическим изображением. Это позволяет на этапе
построения моделей до написания текстов программ построить блок ди-
аграмм, отображающих последовательность продвижения динамических
объектов.
3.2.1. Динамические объекты GPSS. Транзактно-
ориентированные блоки (операторы).
Транзакт - динамический объект, соответствующий заявке на обс-
луживание в СМО.
GPSS располагает средствами для порождения (генерации) транзак-
тов, последовательного продвижения их от объекта к объекту, их за-
держки на время, соответствующее длительности активности, уничтоже-
ние (удаление из системы) транзактов.
Оператор GENERATE
-----------------
Q-схема Блок-диаграмма Оператор Примечание
+-----+
+--+ LA | +--------+ GENERATE_A,B,C,D,E
|ИС+------> |A, B, С, D, E |
+--+ +-----+--------+
V
Оператор GENERATE позволяет описывать входной поток, операнды харак-
теризуют свойства входного потока транзактов. Следует иметь в виду,
что модельное время в GPSS - целое без знака 0, 1, 2, ... Следова-
тельно, все параметры закона распределения случайных интервалов меж-
ду соседними событиями в потоке, имеющие смысл времени, должны быть
с помощью масштаба времени приведены к целому формату.
Если параметры А,В - const, то оператор GENERATE описывает рав-
нономерный закон распределения длины интервала между соседними собы-
тиями в потоке.
1
--- +-------------+ А - среднее (МО) = 1 / LA
2*В | S - площадь | А >= В
0 +------+------+
А-В А А+В S = 2B*h = 1, h = 1 / (2*B)
В - может быть отличен от const и тогда он рассматривается как