Введение
В математических моделях (ММ) сложных объектов, представленных в виде систем массового обслуживания (СМО), фигурируют средства обслуживания, называемые обслуживающими аппаратами (ОА), и обслуживаемые заявки, называемые транзактами. Так, в модели производственной линии ОА отображают рабочие места, а транзакты - поступающие на обработку датали, материалы, инструмент.
Состояние СМО характеризуется состояниями ОА, транзактов и очередей к ОА. Состояние ОА описывается двоичной переменной, которая может принимать значения "занят" или "свободен". Переменная, характеризующая состояние транзакта, может иметь значения "обслуживания" или "ожидания". Состояние очереди характеризуется количеством находящихся в ней транзактов.
Имитационная модель СМО представляет собой алгоритм, отражающий поведение СМО, т.е. отражающий изменения состояния СМО во времени при заданных потоках заявок, поступающих на входы системы. Параметры входных потоков заявок - внешние параметры СМО. Выходными параметрами являются величины, характеризующие свойства системы - качество ее функционирования. Примеры выходных параметров: производительность СМО - среднее число заявок, обслуживаемых в единицу времени; коэффициенты загрузки оборудования - отношение времен обслуживания к общему времени в каждом ОА; среднее время обслуживания одной заявки. Основное свойство ОА, учитываемое в модели СМО, - это затраты времени на обслуживание, поэтому внутренними параметрами в модели СМО являются величины, характеризующие это свойство ОА. Обычно время обслуживания рассматривается как случайная величина и в качестве внутренних параметров фигурируют параметры законов распределения этой величины.
Имитационное моделирование позволяет исследовать СМО при различных типах входных потоков и интенсивностях поступления заявок на входы, при вариациях параметров ОА, при различных дисциплинах обслуживания заявок. Дисциплина обслуживания - правило, по которому заявки поступают из очередей на обслуживание. Величина, характеризующее право на первоочередное обслуживание, называется приоритетом. В моделях СМО заявки, приходящие на вход занятого ОА, образуют очереди, отдельные для заявок каждого приоритета. При освобождении ОА на обслуживание принимается заявка из непустой очереди с наиболее высоким приоритетом.
Основной тип ОА - устройства, именно в них происходит обработка транзактов с затратами времени. К ОА относятся также накопители (памяти), отображающие средства хранения обрабатываемых деталей в производствееных линиях или обрабатываемых данных в вычислительных системах. Накопители характеризуются не временами обслуживания заявок, а емкостью - максимально возможным количеством одновременно находящихся в накопителе заявок.
К элементам имитационных моделей СМО кроме ОА относят также узлы и источники заявок. Связи ОА между собой реализуют узлы, т.е. характерезуют правила, по которым заявки направляются к тому или иному ОА.
Для описания моделей СМО при их исследовании на ЭВМ разработаны специальные языки имитационного моделирования. Существуют общецелевые языки, ориентированные на описание широкого класса СМО в различных предметных областях, и специализированные языки, предназначенные для анализа систем определенного типа.
Сложные функции моделирующего алгоритма могут быть реализованы средствами универсальных языков программирования (Паскаль, Си), что предоставляет неограниченные возможности в разработке, отладке и использовании модели. Однако подобная гибкость приобретается ценой больших усилий, затрачиваемых на разработку и программирование весьма сложных моделирующих алгоритмов, оперирующих со списковыми структурами данных. Альтернативой этому является использование специализированных языков имитационного моделирования.
Специализированные языки имеют средства описания структуры и процесса функционирования моделируемой системы, что значительно облегчает и упрощает программирование имитационных моделей, поскольку основные функции моделирующего алгоритма при этом реализуются автоматически. Программы имитационных моделей на специализированных языках моделирования близки к описаниям моделируемых систем на естественном языке, что позволяет конструировать сложные имитационные модели пользователям, не являющимся профессиональными программистами.
Одним из наиболее эффективных и распространенных языков моделирования сложных дискретных систем является в настоящее время язык GPSS. Он может быть с наибольшим успехом использован для моделирования систем, формализуемых в виде систем массового обслуживания. В качестве объектов языка используются аналоги таких стандартных компонентов СМО, как заявки, обслуживающие приборы, очереди и т.п. Достаточный набор подобных компонентов позволяет конструировать сложные имитационные модели, сохраняя привычную терминологию СМО.
2.Построение модели.
2.1. Описание сети в виде Системы Массового Обслуживания
Рис.1 Структурная схема.
При входе заявок в систему она поступает во входной буфер , где они накапливаются . лале заявки распределяются по двум входным буферам компьютеров первого сегмента системы. Распределение заявок происходит по критерию минимума входной очереди входных буферов. После обработки в первом сегменте заявки направляются во второй сегмент системы, который состоит из своего входного буфера и одного компьютера . Далее заявка после обработок выходит из системы.
3. Имитационный эксперимент.
3.1. Текст программы.
SEGM1 EQU 6 1-й сегмент
PROC EQU 1 Процессор 1-го сегмента
PROC3 EQU 7 Процессор 2-го сегмента
BUF1 EQU 1 буфер 1-го процессора 1-го сегмента
BUF2 EQU 2 Буфер 2-го процессора 2-го сегмента
BUF3 EQU 3 буфер процессора 2-го сегмента
IN_BUF EQU 4 Входной буфер системы
SEGM1 STORAGE 16
IN_BUF STORAGE 500 Объём входного буфера системы
BUF1 STORAGE 500 Объём буфера 1-го процессора 1 сегмента
BUF2 STORAGE 500 Объём буфера 2-го процессора 1 сегмента
BUF3 STORAGE 500 Объём буфера процессора 2-го сегмента
GENERATE 8 Генерация потока транзактов
ENTER IN_BUF Вход пакета во входной буфер системы
ENTER SEGM1 Вход пакета в первый сегмент
SELECT MIN PROC,1,2,,S Выбор номера устройства в S параметр
ENTER P$PROC вход пакета в буфер процессора
LEAVE IN_BUF выход потока из входного буфера
SEIZE P$PROC Вход потока данных в процессор
B ADVANCE 20,5 Обработка данных
TRANSFER .93,,D Перенаправление транзактов в сл. сбоя
QUEUE P$PROC Поступление в очередь на обработку
DEPART P$PROC Выход из очереди
TRANSFER ,B
D RELEASE P$PROC Освобождение проц. 1-го сегмента
LEAVE P$PROC Выход потока из проц. 1-го сегмента
LEAVE SEGM1 Выход потока из 1-го сегмента
ENTER BUF3 Вход потока в буфер проц. 2-го сегмента
SEIZE PROC3 Вход потока данных в процессор
C ADVANCE 6,2 Обработка данных
TRANSFER .95,,A Перенаправление транзактов в сл. сбоя
QUEUE PROC3 Поступление в очередь на обработку
DEPART PROC3 Выход из очереди
TRANSFER ,C
A RELEASE PROC3 Освобождение проц. 1-го сегмента
LEAVE BUF3 Выход потока из буфера проц. 2-го сегм.
TERMINATE Удаление обработанного транз. Из модели
GENERATE 4000 Моделирование продолжается в течение
TERMINATE 1 4000 ед. модельного времени
START 1 Установка счётчика завершения
3.2. Выходные данные.
GPSS World Simulation Report - Сбродоff.5.1
Thursday, May 20, 2004 01:01:35
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 4000.000 27 3 5
NAME VALUE
A 23.000
B 8.000
BUF1 1.000
BUF2 2.000
BUF3 3.000
C 18.000
D 13.000
IN_BUF 4.000
PROC 1.000
PROC3 7.000
SEGM1 6.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 499 0 0
2 ENTER 499 115 0
3 ENTER 384 0 0
4 SELECT 384 0 0
5 ENTER 384 0 0
6 LEAVE 384 14 0
7 SEIZE 370 0 0
B 8 ADVANCE 400 2 0
9 TRANSFER 398 0 0
10 QUEUE 30 0 0
11 DEPART 30 0 0
12 TRANSFER 30 0 0
D 13 RELEASE 368 0 0
14 LEAVE 368 0 0
15 LEAVE 368 0 0
16 ENTER 368 0 0
17 SEIZE 368 0 0
C 18 ADVANCE 382 1 0
19 TRANSFER 381 0 0
20 QUEUE 14 0 0
21 DEPART 14 0 0
22 TRANSFER 14 0 0
A 23 RELEASE 367 0 0
24 LEAVE 367 0 0
25 TERMINATE 367 0 0
26 GENERATE 1 0 0
27 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
1 189 0.998 21.122 1 369 0 0 0 7
2 181 0.996 22.004 1 372 0 0 0 7
PROC3 368 0.566 6.151 1 370 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 1 0 12 12 0.000 0.000 0.000 0
2 1 0 18 18 0.000 0.000 0.000 0
PROC3 1 0 14 14 0.000 0.000 0.000 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF1 500 492 0 8 196 1 7.558 0.015 0 0
BUF2 500 492 0 8 188 1 7.490 0.015 0 0
BUF3 500 499 0 2 368 1 0.648 0.001 0 0
IN_BUF 500 385 0 117 499 1 51.198 0.102 0 0
SEGM1 16 0 0 16 384 1 15.049 0.941 0 115
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
501 0 4000.000 501 0 1
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
370 0 4005.155 370 18 19
PROC 2.000
369 0 4010.224 369 8 9
PROC 1.000
372 0 4020.432 372 8 9
PROC 2.000
502 0 8000.000 502 0 26
4. Заключение.
Развитие микроэлектроники и вычислительной техники привело в последнее время к появлению вычислительных систем , объединяющих в своём составе ряд процессоров. Использование таких систем на практике позволило значительно расширить область применения вычислительной техники , однако усложнился процесс проектирования и требования к разработчикам стали выше. Имитационное моделирование представляет собой незаменимый инструмент анализа принимаемых проектных решений , что позволило сократить сроки проектирования и повысить качество создаваемых многопроцессорных систем.
Используемая в данной курсовой работе система GPSS PC позволяет решать многие практические вопросы анализа проектируемых объектов на базе персональных ЭВМ . Система GPSS PC и её входной язык GPSS являются одним из наиболее эффективных и распространённых программных средств моделирования вычислительных систем , формализуемых в виде систем массового обслуживания.
В ходе работы система была смоделирована в течение 4 мс. Моделирование показало необходимый объём буферов памяти в системе. Ммнимальный объём входного буфера 117 транзактов , объёмы буферов процессоров 1-го сегмента – 8 транзактов , объём буфера процессора 2-го сегмента – 2 транзакта. |