
- •"Компьютерное моделирование процессов и систем"
- •"Компьютерное моделирование процессов и систем"
- •Содержание
- •Введение
- •1Характеристики сложных систем и задачи их исследования
- •1.1Основные понятия и определения. Понятие системы.
- •1.2Структура системы.
- •1.3Элементы и подсистемы.
- •1.4Функция системы и ее структура.
- •1.5Способы управления.
- •1.6Характеристики сложных систем
- •1.7Основные задачи исследования сложных систем
- •1.8Этапы анализа
- •1.9Виды моделирования систем
- •1.10Возможности и эффективность моделирования систем на эвм.
- •1.11Виды обеспечения имитационного моделирования.
- •1.12Подбор функции методом наименьших квадратов.
- •1.13Методы формирования случайных величин
- •1.14Мультипликативный способ получения равномерно распределенных случайных величин из интервала (0,1).
- •1.15Особенности вычислительных систем как объектов моделирования. Режимы работы вычислительных систем. Режимы использования.
- •1.16Структурная организация вычислительных систем.
- •1.17Рабочая нагрузка вс. Потоки заявок.
- •1.18Параметры потока заявок.
- •1.19Управление вычислительной нагрузкой и ресурсами вс.
- •1.20Функциональные характеристики вс.
- •1.21Разработка модели вс. Выбор уровня детализации.
- •1.22Подбор параметров модели. Количественные параметры.
- •2Моделирование дискретных систем на gрss
- •2.1Введение в gрss.
- •2.2Системы обслуживания с одним прибором и очередью.
- •2.3Элементы процедуры решения (моделирования).
- •2.4 Модельный таймер, завершение моделирования.
- •2.5 Одновременные события
- •2.6Выводы.
- •2.7Основные концепции моделирования на gрss.
- •2.8Списки gрss ( цепи ).
- •2.9Стандартные числовые и логические атрибуты gрss.
- •2.10Стандартные числовые атрибуты устройств.
- •2.11Стандартные числовые атрибуты накопителей.
- •2.12 Логические ключи
- •2.13Статистические объекты.
- •2.18Общий подход к моделированию.
- •2.19Основные карты и блоки gрss.
- •2.20Правила описания модели на gрss в лабораторной работе.
- •2.21Перенаправление потока заявок.
- •2.22Функции.
- •2.23Арифметические переменные variable fvariable
- •2.24Табулирование переменных.
- •2.25Многоканальные устройства (накопители )
- •2.26Работа с прерываниями.
- •2.27Управление логическими переключателями.
- •2.28Блок проверки gate
- •2.29Блок test
- •2.30Работа с ячейками.
- •2.31Работа с сча заявок
- •2.32Блок sрlit
- •2.33Блок assemble
- •2.34Блок gather
- •2.35Блок match
- •2.36Блок looр
- •2.37Блок присваивания приоритетов рriority
- •2.38Списки пользователя
- •2.39Блок mark
- •2.40Блок count
- •2.41Блок select
- •2.42Карта установки начальных значений генераторов случайных чисел rmult
- •2.43Матрицы
- •3Аналитические расчеты систем массового обслуживания
- •3.1Аналитическое моделирование вычислительных систем
- •3.2Модель размножения - гибели.
- •3.3Характеристики одноканальных систем массового обслуживания.
- •3.4Характеристики сложных смо.
- •3.5Многоканальные системы
- •3.6Системы с произвольным распределением длительности обслуживания.
- •3.7Система с отказами.
- •3.8Методы приближенной оценки характеристик систем массового обслуживания.
- •3.9Стохастические сетевые модели для вс.
- •3.10Стохастические сетевые модели.
- •3.11Экспоненциальные стохастические сети
- •3.12Характеристики разомкнутых систем
- •3.13Характеристики замкнутых систем.
- •4Литература
2.34Блок gather
Блок GATHER имеет следующий формат записи:
GATHER <A>
Блок GATE накапливает заданное число сообщений, принадлежащих к одному семейству. Ни одно из накапливаемых сообщений не уничтожается. Когда в блоке GATHER накопится заданное число сообщений, все эти сообщения одновременно попытаются войти в следующий по номеру блок. Сообщения никогда не задерживаются на входе блока GATHER. Одновременно в одном блоке GATHER может происходить накопление сообщений нескольких семейств.
При входе сообщения в блок GATHER, интерпретатор просматривает семейство, к которому оно принадлежит, и проверяет, находится ли в данном блоке GATHER другое сообщение из того же семейства.
Поле А задает число сообщений, принадлежащих к одному семейству, которое нужно накопить. Операнд А может быть именем, положительным целым, СЧА, СЧА*<параметр>. Если вычисленное значение счетчика накапливания нулевое или отрицательное, происходит ошибка выполнения. Начальное значение счетчика должно быть больше или равно единице. Если в блок GATHER не вошло заданное число сообщений, сообщения, находящиеся в блоке, остаются в состоянии синхронизации.
Если первое сообщение является единственным членом семейства, происходит ошибка выполнения.
При входе первого из накапливаемых сообщений в блок GATHER
выполняются операции, аналогичные операциям, выполняемым при входе исходного сообщения в блок ASSEMBLE. Счетчик числа накапливаемых сообщений, начальное значение которого задается полем А блока GATHER, уменьшается на единицу. Сообщение удаляется из списка текущих событий и переходит в состояние синхронизации.
Счетчики Nj и Wj блока GATHER увеличиваются на единицу. Индикаторы списков устанавливаются в "0", а индикатор синхронизации устанавливается в единицу. Затем интерпретатор переходит к обработке следующего сообщения в списке текущих событий.
При входе последующих сообщений в блок GATHER обнаруживается, что в блоке уже есть одно или несколько сообщений из того же семейства, участвующих в накоплении. Значение счетчика числа накапливаемых сообщений уменьшается на единицу. Если значение счетчика положительное, входящее сообщение удаляется из списка текущих событий.
Сообщение включается в список накапливаемых сообщений, где сообщения располагаются в порядке поступления (первым входит, первым выходит). Счетчики Nj и Wj увеличиваются на единицу. Если значение числа накапливаемых сообщений после вычитания единицы стало равным нулю, все накапливаемые сообщения возвращаются в список текущих событий, и каждое из них становится последним среди сообщений с таким же значением приоритета. Сообщения возвращаются в список текущих событий в следующем порядке:
первым возвращается в список текущих событий первое из накапливаемых сообщений;
остальные накопленные сообщения возвращаются в список текущих событий в том порядке, в каком они поступили в блок GATHER.
Последним возвращается сообщение, при входе которого в блок GATHER значение счетчика стало равным нулю.
Завершение процесса накопления сообщений приводит к изменению состояния процедуры просмотра, т.е. устанавливается флаг изменения состояния. После того, как все накопленные сообщения (за исключением сообщений, прерванных на одном или нескольких устройствах) возвращаются в список текущих событий, интерпретатор возвращается к началу списка. Таким образом, обеспечивается обработка всех возвращенных в список сообщений в тот же момент условного времени, когда завершается процесс накопления.
Сообщения, прерванные в блоке GATHER
Допустим, что одно из сообщений, участвующих в процессе накопления, занимает некоторое устройство. Может случиться так, что во время прерывания этого сообщения в блоке GATHER, другое сообщение вызовет прерывание на устройстве, занятом первым сообщением. Тогда для прерванного сообщения выполняются точно такие же операции, как для сообщения, прерванного во время пребывания в блоке ASSEMBLE.
Вход прерванных сообщений в блок GATHER
В момент, когда некоторое сообщение генерирует прерывание на каком-либо устройстве, сообщение, занимающее это устройство, может находиться в списке текущих событий. В этом случае для прерванных сообщений при входе в блок GATHER выполняются точно такие же операции, как и для прерванных сообщений, входящих в блок ASSEMBLE.