4.22. Управление процессом моделирования в системеGpss
В данной главе рассматриваются общие принципы управления моделированием в GPSS. Разные трансляторы по-разному могут реализовывать эти принципы.
В системе GPSSинтерпретатор (программа управления моделированием (ПУМ)) поддерживает сложные структуры организации списков (рис. 4.14).Cцелью уменьшения затрат компьютерного времени на просмотр списков системаGPSSведет два основных списка событий. Первым являетсясписок текущих событии (CTC), куда входят все события, запланированные на текущий момент модельного времени независимо от того, условные они или безусловные. Программа управления моделированием просматривает в первую очередь этот список и пытается переместить по модели те транзакты, для которых выполнены условия. Если в этом списке таких транзактов нет, то ПУМ обращается к другому списку –списку будущих событий (СБС). Она переносит все события, которые запланированы на ближайший момент модельного времени, из этого списка вCTCи повторяет его просмотр. Такой перенос осуществляется также в случае совпадения текущего времени моделирования со временем первого события в списке будущих событий.
В CTCтранзакты размещены в порядке уменьшения приоритета (то есть транзактыcболее высоким приоритетом размещены ближе к началу списка). Транзактыcодинаковыми приоритетами размещаются в соответствииcпоследовательностью поступления в список. Каждый транзакт вCTCможет находиться или вактивном состоянии (то есть просматриваться ПУМ в данный момент модельного времени), или всостоянии задержки.
В начальный момент (при выполнении оператора управления START, который начинает фазу интерпретацииGPSS-модели) ПУМ обращается ко всем блокамGENERATE модели. Каждый из этих блоков планирует момент появления транзактов и заносит их в СБС, после чего ПУМ обращается кCTC. Так как в этом списке пока что отсутствуют транзакты, то ПУМ просматривает СБС и выбирает из него все транзакты, запланированные на ближайший момент времени и переносит их вCTC, после чего пытается продвинуть первый транзакт этого списка по блокам модели. Если перемещение транзакта было задержано по какой-либо причине, не связаннойcблокомADVANCE, то он остается вCTCи ПУМ пробует перемещать такой транзакт из этого списка далее по блокам. Если транзакт вошел в блокADVANCE, то планируется его выход из этого блока и транзакт переносится в СБС.
Списки текущих и будущих событий можно увидеть на экране дисплея, если выдать команду EVENTSдляGPSS/PCили в окне списков дляGPSSWorld.
В организации эффективной процедуры просмотра важен порядок просмотра транзактов, движение которых заблокировано (например, ввиду занятости некоторого ресурса). Простейшим решением является пересмотр всех заблокированных транзактов для каждого нового значения модельного времени и выбор тех, для которых сняты условия блокировок. Если моделируемая система перегружена, то этот способ cточки зрения затрат компьютерного времени невыгоден, так как каждый транзакт пересматривается многократно до того, как выйдет из состояния блокирования.
Если причина перевода транзактов в состояние блокирования – состояние определенного ресурса системы в данный момент времени, то намного более эффективным является способ обработки, по которому заблокированные по этой причине транзакты вообще не пересматриваются до тех пор, пока не изменится состояние соответствующего ресурса. Такой способ может быть реализован, например, регистрацией для каждой единицы ресурса транзактов, движение которых заблокировано ввиду состояния именно этого ресурса в данный момент времени. В момент, когда изменяется состояние этого ресурса, необходимо сразу же просмотреть транзакты, которые этого ожидают, и продолжить их обработку.
Если транзакты находятся в активном состоянии, то процедура просмотра пытается переместить их к следующим блокам. Если перемещение транзакта блокируется каким-нибудь ресурсом ввиду его занятости, то вхождение в следующий блок невозможно и транзакт переводится в состояние задержки. Такие транзакты не просматриваются и размещаются в соответствующем списке задержки.
Если при обслуживании текущего активного транзакта произошло изменение состояния ресурса, пересмотр начинается сначала, и опять обслуживаются все транзакты из CTC, которые находятся в активном состоянии. Если изменение списков ресурсов не произошло, ПУМ опять обращается кCTCи проверяет, не остались ли в нем транзакты, которые необходимо обработать.
Список блокировок – это список транзактов, которые ожидают) изменения состояния ресурса. Существует шесть видов таких списков, связанныхcустройствами; семь видов, связанныхcМКУ, и два вида, связанныхcлогическими ключами.Cустройствами используются списки для занятых и незанятых, доступных и недоступных устройств и устройств, работающих без прерываний иcпрерываниями.CМКУ используются списки для заполненного, незаполненного, пустого, непустого, доступного, недоступного МКУ и транзактов, которые могут войти в МКУ.Cлогическими ключами связаны списки для включенных и выключенных ключей.
Кроме двух основных списков СТС и СБС существует список прерывании (СПР), содержащий прерванные во время обслуживания транзакты. А также транзакты, вызвавшие прерывание. Список прерываний используется для организации обслуживания одноканальных устройств по абсолютным приоритетам. Это дает возможность организовать приоритетные дисциплины обслуживания транзактов в устройствах.
Список синхронизации (CC) содержит транзакты. которые на данный момент времени сравниваются. Этот список работаетcтранзактами, полученнымиcпомощью блокаSPLIT, который создает транзакты-копии, принадлежащие одному семейству или ансамблю. Синхронизацию движения транзактов одного семейства выполняют следующие блоки:MATCH (синхронизирует движение транзактовcдругим блоком),ASSEMBLE (собирает все транзакты-копии и выдает один начальный транзакт),GATHER (собирает заданное количество транзактов и задерживает копии до тех пор, пока не соберется необходимое количество копий транзактов). БлокSPLIT можно использовать многократно.
Остановленные процессы находятся в СБС,CCи списках блокировок.
Список пользователя (СП) содержит транзакты, выведенные пользователем изCTCcпомощью блокаLINK и помещенные в СП как временно неактивные (переведенные пользователем впассивное состояние). При работе ПУМ они ей недоступны до тех пор, пока не будут возвращены пользователем вCTCcпомощью блокаUNLINK.
Рис. 4.14
Моделирование заканчивается тогда, когда счетчик завершения, инициализированный оператором управления START, будет сброшен в ноль или когда вCTCи СБС не будет ни одного транзакта.
- Предисловие
- Введение
- Глава 1. Модели массового обслуживания
- 1.1. Системы массового обслуживания и их характеристики
- 1.2. Системыcодним устройством обслуживания
- 1.3. Основы дискретно-событийного моделированияCmo
- 1.4. Многоканальные системы массового обслуживания
- Переменная vаr1, экспоненциальное распределение
- Глава 2. Вероятностные сети систем массового обслуживания
- 2.1. Общие сведения о сетях
- 2.2. Операционный анализ вероятностных сетей
- 2.3. Операционные зависимости
- 2.4. Анализ узких мест в сети
- Глава 3. Вероятностное моделирование
- 3.1. Метод статистических испытаний
- 3.2. Моделирование дискретных случайных величин
- 3.3. Моделирование непрерывных случайных величин
- 3.4. Сбор статистических данных для получения оценок характеристик случайных величин
- 3.5. Определение количества реализаций при моделировании случайных величин
- Глава 4. Система моделированияgpss
- 4.1. Объекты
- 4.2. Часы модельного времени
- 4.3. Типы операторов
- 4.4. Внесение транзактов в модель. БлокGenerate
- 4.5. Удаление транзактов из модели. БлокTerminate
- 4.6. Элементы, отображающие одноканальные обслуживающие устройства
- 4.7. Реализация задержки во времени. БлокAdvance
- 4.8. Сбор статистики об ожидании. БлокиQueue,depart
- 4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer
- 4.10. Моделирование многоканальных устройств
- 4.11. Примеры построенияGpss-моделей
- 4.12. Переменные
- 4.13. Определение функции вGpss
- 4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop
- Примеры фрагментов gpss-моделейcиспользованием сча и параметров гранзактов
- 4.15. Изменение приоритета транзактов. БлокPriority
- 4.16. Организация обслуживанияcпрерыванием. Блоки preempt и return
- 4.17. Сохраняемые величины
- 4.18. Проверка числовых выражений. БлокTest
- 4.19. Определение и использование таблиц
- 4.20. Косвенная адресация
- 4.21. Обработка транзактов, принадлежащих одному семейству
- 4.22. Управление процессом моделирования в системеGpss
- 4.23. Списки пользователей
- 4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate
- 4.25. Организация вывода временных рядов изGpss-модели
- 4.26. Краткая характеристика языкаPlus
- 4.27. КомандыGpssWorId
- 4.28. Диалоговые возможностиGpssWorld
- 4.29. Отличия междуGpssWorldиGpss/pc
- Глава 5. Моделирование вычислительных и операционных систем
- 5.1. Операционные системы компьютеров
- 5.2. Сети и системы передачи данных
- 5.3. Проблемы моделирования компьютеров и сетей
- Глава 6. Основы моделирования процессов
- 6.1. Производственные процессы
- 6.2. Распределительные процессы
- 6.3. Процессы обслуживания клиентов
- 6.4. Процессы управления разработками проектов
- Глава 7. Задания для самостоятельной работы Задание 1. Моделирование разливной линии
- Задание 2 [10]. Моделирование контроля и настройки телевизоров
- Задание 3. Моделирование работы кафе
- Задание 4. Моделирование работы обрабатывающего цеха
- Задание 5. Моделирование работы обрабатывающего цеха
- Задание 6. Моделирование работы обрабатывающего цеха
- Задание 7. Моделирование работыCmo
- Задание 8. Моделирование функций
- Задание 9 [10]. Моделирование системы обслуживания
- Задание 10 [16]. Моделирование системы автоматизации проектирования
- Задание 11 [16]. Моделирование работы транспортного цеха
- Задание 12 [16]. Моделирование системы передачи разговора
- Задание 13 [16]. Моделирование системы передачи данных
- Задание 14 [16]. Моделирование узла коммутации сообщений
- Задание 15 [16]. Моделирование процесса сборки
- Задание 16 [16]. Моделирование работы цеха
- Задание 17 [16]. Моделирование системы управления производством
- Задание 18. Моделирование производственного процесса
- Задание 19. Моделирование работы заправочной станции
- Задание 20. Моделированиеработы станции технического обслуживания
- Задание 21. Моделирование работы станции скорой помощи
- Задание 22. Моделирование работы госпиталя
- Задание 23. Моделирование работы маршрутных такси
- Задание 24. Моделирование работы печатной системы
- Задание 25. Моделирование процесса сборки пк
- Глава8. Проектирование имитационных моделей c помощью интерактивной системы имитационного моделирования
- 8.1. Структура интерактивной системы имитационного моделирования
- 8.2. Построение концептуальной схемы модели
- 8.3. Параметрическая настройка модели
- 8.4. Генератор формул
- 8.5. Управление экспериментом
- 8.6. Запуск эксперимента и обработка результатов моделирования
- 8.7. Управление проектами и общей настройкой системы
- 8.8. Пример построения модели средствамиIss2000
- Глава 9. Технология имитационного моделирования
- 9.1. Имитационные проекты
- 9.2. Организация экспериментов
- 9.3. Проблемы организации имитационных экспериментов
- 9.4. Оценка точности результатов моделирования
- 9.5. Факторный план
- 9.6. Дисперсионный анализAnovAв планировании экспериментов
- 9.7. Библиотечная процедураAnova
- 9.8. Технология проведение дисперсионного анализа в системеGpssWorld
- 9.9. Особенности планирования экспериментов
- 9.10. Нахождение экстремальных значений на поверхности отклика
- 9.11. Организация экспериментов вGpssWorId
- 9.L2. Выбор наилучшего варианта структуры системы
- Глава 10. Примеры принятия решенийcпомощью имитационного моделирования
- 10.1. Моделирование производственного участка
- 10.2. Моделирование технологического процесса ремонта и замены оборудования
- Приложение Системные сча
- Сча транзактов
- Сча блоков:
- Сча одноканальных устройств:
- Сча очередей
- Сча таблиц
- Сча ячеек и матриц ячеек сохраняемых величин:
- Сча вычислительных объектов
- Список литературы
- Срдержание
- Глава 5. Моделирование вычислительных и операционных систем 132
- Глава 10. Примеры принятия решений c помощью имитационного моделирования 201