Построение структурной схемы модели
В нашем случае мы имеем систему передачи информации , состоящую из :
-передающей станции ;
-ЭВМ ;
-канал передачи информации ;
ЭВМ в свою очередь состоит из : ОЗУ , процессора и буфера формирующего блоки размером в 8 кадров.
При этом в ОЗУ могут храниться кадры 0.5с затем они удаляются, так как считаются устаревшими. Одна из задач – это получение значения объема памяти ОЗУ таким, чтобы система работала без потерь за время работы равного 5с. Для описания модели воспользуемся GPSS world.Так же необходимо определить характеристики каждого из узлов ЭВМ.
Формализация и алгоритмизация модели
Схема прохождения транзактов имеет вид :
При этом возникают 2-е очереди : между оператором Adopt(присвоение транзактам общего семейства) и ОЗУ, между буфером(объединяющего транзакты по 8) и шиной передачи данных.
Алгоритм
1.Генерируется транзакт
2.Присвоение транзакту 5-ого семейства
3.Постановка транзакта в очередь
4.Вход в ОЗУ
5.Временная отметка 1
6.Выход из очереди
7.Проверка занятости процессора: ДА- переход к пункту 8 ; НЕТ- ожидание в 7.
8.Временная отметка 2
9.Выход из памяти
10.Вычисление разности временных отметок
11.Если разность больше или равняется 500 то переход к пункту 12; НЕТ –к пункту 13
12.Удаление транзакта
13.Занятие процессора
14.Задержка 25+2
15.Освобождение процессора
16.Формирование блоков по 8
17.Начало очереди
18.Вход в канал передачи кадров
19.Выход из очереди
20.Задержка 160+20
21.Выход из канала
22.Удаление транзактов
23.Повторение 1-22 в течение 5000 единиц моделього времени.
Имитационный эксперимент
Замечание: при получении результатов мы пришли к выводу что максимально необходимый объем ОЗУ для работы без потерь равен 19 единицам .
Текст программы
RAM equ 1 --присвоение имени памяти
CPU4 equ 1 --присвоение имени процессору
HBUS equ 2 --присвоение имени каналу данных
LN1 equ 1 --присвоение имени 1 очереди(канала)
LN2 equ 2 --присвоение имени 2 очереди(канала)
RAM STORAGE 19 --значение памяти
GENERATE 10,3 --производство заявок
ADOPT 5 --присвоение транзактам 5 ансамбля
QUEUE LN1 --начало 1 очереди
ENTER RAM --вход в память
MARK 1 --временная отметка
DEPART LN1 --конец 1 очереди
GATE NU CPU4 --проверка занятости устройства
MARK 2 --временная отметка
LEAVE RAM --выход из памяти
VR1 VARIABLE (P2-P1) --арифметическая операция
TEST GE V$VR1,500,MOD –-проверка времени нахождения в ОЗУ
TERMINATE --вывод кадров из модели
MOD ADVANCE --продолжить
SEIZE CPU4 --занятие процессора
ADVANCE 25,2 --задержка на обработку
RELEASE CPU4 --освобождение процессора
ASSEMBLE 8 --формирование блоков по 8
QUEUE LN --начало 2 очереди
SEIZE HBUS --вход в канал
DEPART LN2 --конец 2 очереди
ADVANCE 160,20 --передача по каналу
RELEASE HBUS --выход из канала
TERMINATE --вывод кадров из модели
GENERATE 5000 --счетчик времени (таймер)
TERMINATE 1
START 1,,,1
Листинг результатов моделирования
GPSS World Simulation Report - XP.133.1
Monday, April 12, 2004 23:56:12
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 5000.000 24 2 1
NAME VALUE
CPU4 1.000
HBUS 2.000
LN1 1.000
LN2 2.000
MOD 12.000
RAM 1.000
VR1 10005.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 497 0 0
2 ADOPT 497 0 0
3 QUEUE 497 277 0
4 ENTER 220 0 0
5 MARK 220 0 0
6 DEPART 220 19 0
7 GATE 201 0 0
8 MARK 201 0 0
9 LEAVE 201 0 0
10 TEST 201 0 0
11 TERMINATE 0 0 0
MOD 12 ADVANCE 201 0 0
13 SEIZE 201 0 0
14 ADVANCE 201 1 0
15 RELEASE 200 0 0
16 ASSEMBLE 200 0 0
17 QUEUE 25 0 0
18 SEIZE 25 0 0
19 DEPART 25 0 0
20 ADVANCE 25 1 0
21 RELEASE 24 0 0
22 TERMINATE 24 0 0
23 GENERATE 1 0 0
24 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
CPU4 201 0.998 24.816 1 202 0 0 19 0
HBUS 25 0.764 152.760 1 194 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
LN1 277 277 497 32 129.277 1300.573 1390.075 0
LN2 1 0 25 25 0.000 0.000 0.000 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
RAM 19 0 0 19 220 1 18.362 0.966 0 277
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
499 0 5003.198 499 0 1
202 0 5020.646 5 14 15 1 4519.700
2 4994.830
194 0 5163.469 5 20 21 1 4325.490
2 4793.517
500 0 10000.000 500 0 23
Заключение
После проведения имитационного эксперимента мы пришли к выводу, что необходимый объем ОЗУ для работы без потерь равен 19 единицам . Увеличение ее на 1-у уже приводит к удалению 5 транзактов , уменьшение в свою очередь приведет к росту числа транзактов стоящих в очереди на вход в ОЗУ. Следовательно, естественным образом выполняется условия пребывания транзактов в ОЗУ не более 500 единиц модельного времени. При этом на входе в ОЗУ образуется очередь максимальное пребывание, в которой равно 277 транзактов, при этом общее количество вошедших 497 транзактов.
Процессор сумел за 5000 единиц модельного времени обработать лишь 201 из 497 сгенерированных транзактов, время обработки находится в заданном пределе.
После объединения транзактов в группы по 8 , по каналу передачи было передано 25 пакетов. Предположение о возникновении очереди между буфером и каналом несостоятельны , так как 8*25=200 единиц модельного времени (при грубой оценки) больше задержки 160+20 единиц модельного времени у канала. Эксперимент подтвердил это предположение, в очереди максимум 1 пакет.
В результате выполнения курсовое работы мы убедились,GPSS - это универсальная система имитационного моделирования дискретных объектов и процессов и одноименный входной язык, предназначенные для построения моделей и проведения вычислительного эксперимента. Язык GPSS ориентирован на класс объектов, которые можно представить в виде систем массового обслуживания. В него входят специальные средства, позволяющие описывать поведение исследуемых систем в динамике.
Язык GPSS не требует специальной подготовки в области программирования, а наличие специальной оболочки (интегрированной среды разработчика) позволяет до минимума свести взаимодействие пользователя с инструментальной ЭВМ и ее операционной системой. Однако построение моделей и организация вычислительного эксперимента требуют некоторых знаний в области теории массового обслуживания, теории вероятностей и математической статистики. |