Пример 5.7. Система массового обслуживания с отказами по ограничению количества мест в очереди
TEST L X$UKAZ,0,VTOR
INITIAL X$UKAZ,-1
GENERATE 10,6
SAVEVALUE UKAZ,(X$UKAZ#(-1))
QUEUE BUF
PERV SEIZE PK1
DEPART BUF
ADVANCE 9,5
RELEASE PK1
TERMINATE 1
VTOR SEIZE PK2
DEPART BUF
ADVANCE 10,6
RELEASE PK2
TERMINATE
START 100
GPSS World Simulation Report - Untitled Model 1.3.1
Sunday, March 11, 2012 10:09:57
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 2010.579 14 2 0
NAME VALUE
BUF 10001.000
PERV 5.000
PK1 10003.000
PK2 10002.000
UKAZ 10000.000
VTOR 10.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 199 0 0
2 SAVEVALUE 199 0 0
3 QUEUE 199 0 0
4 TEST 199 0 0
PERV 5 SEIZE 99 0 0
6 DEPART 99 0 0
7 ADVANCE 99 0 0
8 RELEASE 99 0 0
9 TERMINATE 99 0 0
VTOR 10 SEIZE 100 0 0
11 DEPART 100 0 0
12 ADVANCE 100 0 0
13 RELEASE 100 0 0
14 TERMINATE 100 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
PK2 100 0.516 10.380 1 0 0 0 0 0
PK1 99 0.426 8.651 1 0 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
BUF 1 0 199 190 0.010 0.101 2.233 0
SAVEVALUE RETRY VALUE
UKAZ 0 1.000
Пусть в условиях примера 4.1 количество мест в памяти ограничено пятью. И если транзакт застает все места занятыми, то он получает отказ. Структурная схема примера представлена на рис.5.7.
|
|
|
Решённые задачи
Равномерный На 5 мест Равномерный
закон 10±4 закон 15±5
Отказ, если поступивший в систему транзакт
застает в памяти все места занятыми
Завершить моделирование после решения 100 задач
Рис. 5.7. Структурная схема примера 5.7
Программа
BUF STORAGE 5
GENERATE 10,4
GATE SNF BUF, OTKAZ
*Транзакт, вошедший в блок GATE, проверяет условие SNF и если память с *именем BUF не заполнена, то он переходит к следующему блоку и занимает *одно место в памяти. Если же условие SNF не выполняется, то транзакт *передается к метке OTKAZ.
ENTER BUF
SEIZE PK
LEAVE BUF
ADVANCE 15,5
REALESE PK
TERMINATE 1
OTKAZ TERMINATE 1
START 100
Отчет
GPSS World Simulation Report - 8.1.4.1
Friday, November 16, 2007 15:25:46
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 1067.428 9 1 1
NAME VALUE
BUF 10000.000
OTKAZ 9.000
PK 10002.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 106 0 0
2 GATE 106 0 0
3 ENTER 74 5 0
4 SEIZE 69 0 0
5 LEAVE 69 0 0
6 ADVANCE 69 1 0
7 RELEASE 68 0 0
8 TERMINATE 68 0 0
OTKAZ 9 TERMINATE 32 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
PK 69 0.988 15.285 1 99 0 0 0 5
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF 5 0 0 5 74 1 4.317 0.863 0 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
99 0 1067.829 99 6 7
107 0 1080.524 107 0 1
По содержимому отчёта отметим, что количество отказов 32 транзактам из 106 поступивших, представляется сравнительно высоким, что можно объяснить тем, что среднее время обслуживания в полтора раза превышает время между поступлением транзактов.