Пример 5.10. Система массового обслуживания с отказами по с прогнозированному времени обслуживания
Структурная схема примера представлена на рис.5.10.
|
| ||||
| |||||
Решённые задачи
Равномерный На 5 мест Равномерный
закон 10±4 закон 12±5
Отказ, если спрогнозированное время обслуживания
превысит 15 единиц времени
Завершить моделирование после решения 100 задач
Рис. 5.10. Структурная схема примера 5.10
Программа
GENERATE 10,4
ASSIGN PROGNOZ,(7+10#RN1/999)
TEST LE P$PROGNOZ,15,OTKAZ
QUEUE BUF
SEIZE PK
DEPART BUF
ADVANCE P$PROGNOZ
RELEASE PK
TERMINATE 1
OTKAZ TERMINATE 1
START 100
Отчет
GPSS World Simulation Report - Untitled Model 1.3.1
Sunday, March 11, 2012 18:49:29
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 996.092 10 1 0
Пример 5.9. СМО с транзактами двух приоритетов
Пусть в условиях примера 4.4 появляется еще один вид отказов, транзак-там с нулевым приоритетом, если ПК занят транзактом с 1 приоритетом. Структурная схема примера представлена на рис.5.9.
|
|
|
Решённые задачи
Равномерный Неогран. Равномерный
закон 10±4 длины закон 8±5
Прерванные задачи
|
|
|
Решённые задачи
Равномерный Неогран. Экспоненциальный
закон 150±60 длины закон со средним 25
Прерванные задачи
Завершить моделирование после решения 100 задач
Рис. 5.9. Структурная схема примера 5.9
Программа
BUF STORAGE 1000000
GENERATE 10,4
GATE NI PK,OTKAZ1
ENTER BUF
SEIZE PK
LEAVE BUF
ADVANCE (UNIFORM (1,3,13))
RELEASE PK
TERMINATE 1
OTKAZ1 TERMINATE 1
GENERATE (UNIFORM (2,90,210)),,,,1
QUEUE BUF
PREEMPT PK,PR,OTKAZ,,RE
DEPART BUF
ADVANCE (EXPONENTIAL (3,0,25))
RETURN pk
FINAL TERMINATE 1
OTKAZ TERMINATE 1
START 100
GPSS World Simulation Report - Priorit 2.32.1
Thursday, March 08, 2012 09:11:13
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 1006.460 17 1 1
NAME VALUE
BUF 10000.000
FINAL 16.000
OTKAZ 17.000
OTKAZ1 9.000
PK 10001.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 96 0 0
2 GATE 96 0 0
3 ENTER 96 1 0
4 SEIZE 95 1 0
5 LEAVE 94 0 0
6 ADVANCE 94 0 0
7 RELEASE 89 0 0
8 TERMINATE 89 0 0
OTKAZ1 9 TERMINATE 0 0 0
10 GENERATE 6 0 0
11 QUEUE 6 0 0
12 PREEMPT 6 0 0
13 DEPART 6 0 0
14 ADVANCE 6 0 0
15 RETURN 6 0 0
FINAL 16 TERMINATE 6 0 0
OTKAZ 17 TERMINATE 5 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
PK 101 0.830 8.270 1 102 0 0 0 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
BUF 1 0 6 6 0.000 0.000 0.000 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF 1000000 999998 0 3 96 1 0.401 0.000 0 0
По программе отметим, что она составлена корректно, однако результат не удовлетворительный. Нет отказов по занятости РК приоритетным транзактом. Это можно объяснить наличием ошибок в трансляторе, скорее всего в некорректном выполнении блока PREEMPT. Поэтому попробуем другую модификацию программной модели с заменой блока GATE на блок TEST.
Пример 5.10. СМО с транзактами двух приоритетов
Модификацируем программную модель примера 5.9 с заменой блока GATE на блок TEST. Структурная схема примера представлена на рис.5.10.
|
|
|
Решённые задачи
Равномерный Неогран. Равномерный
закон 10±4 длины закон 8±5
Прерванные задачи
|
|
|
Решённые задачи
Равномерный Неогран. Экспоненциальный
закон 150±60 длины закон со средним 25
Прерванные задачи
Завершить моделирование после решения 100 задач
Рис. 5.10. Структурная схема примера 5.10
Программа
BUF STORAGE 1000000
GENERATE 10,4
TEST E FI$PK,0,OTKAZ1
ENTER BUF
SEIZE PK
LEAVE BUF
ADVANCE (UNIFORM (1,3,13))
RELEASE PK
TERMINATE 1
OTKAZ1 TERMINATE 1
GENERATE (UNIFORM (2,90,210)),,,,1
QUEUE BUF
PREEMPT PK,PR,OTKAZ,,RE
DEPART BUF
ADVANCE (EXPONENTIAL (3,0,25))
RETURN pk
FINAL TERMINATE 1
OTKAZ TERMINATE 1
START 100
GPSS World Simulation Report - Untitled Model 1.2.1
Thursday, March 08, 2012 13:04:30
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 1006.460 17 1 1
NAME VALUE
BUF 10000.000
FINAL 16.000
OTKAZ 17.000
OTKAZ1 9.000
PK 10001.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 96 0 0
2 TEST 96 0 0
3 ENTER 96 1 0
4 SEIZE 95 1 0
5 LEAVE 94 0 0
6 ADVANCE 94 0 0
7 RELEASE 89 0 0
8 TERMINATE 89 0 0
OTKAZ1 9 TERMINATE 0 0 0
10 GENERATE 6 0 0
11 QUEUE 6 0 0
12 PREEMPT 6 0 0
13 DEPART 6 0 0
14 ADVANCE 6 0 0
15 RETURN 6 0 0
FINAL 16 TERMINATE 6 0 0
OTKAZ 17 TERMINATE 5 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
PK 101 0.830 8.270 1 102 0 0 0 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
BUF 1 0 6 6 0.000 0.000 0.000 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF 1000000 999998 0 3 96 1 0.401 0.000 0 0
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
102 0 992.827 102 4 5
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
104 0 1012.264 104 0 1
99 1 1052.049 99 0 10
Снова получен неудовлетворительный результат. Опять нет отказов по занятости РК приоритетным транзактом. Объяснение точно такое же, как и в предыдущем случае. Поэтому попробуем ещё одну модификацию программной модели, смирившись с наличием ошибки, которую мы не можем исправить.
Пример 5.11. СМО с транзактами двух приоритетов
Модификацируем программную модель примера 5.9. Удалим блок TEST в предыдущем примере, а занятость РК приоритетным транзктом будем проверять по состоянию логического ключа. Структурная схема примера представлена на рис.5.11.
|
|
|
Решённые задачи
Равномерный Неогран. Равномерный
закон 10±4 длины закон 8±5
Прерванные задачи
|
|
|
Решённые задачи
Равномерный Неогран. Экспоненциальный
закон 150±60 длины закон со средним 25
Прерванные задачи
Завершить моделирование после решения 100 задач
Рис. 5.11. Структурная схема примера 5.11
Программа
BUF STORAGE 1000000
GENERATE 10,4
GATE LR DOSTUP,OTKAZ1
ENTER BUF
SEIZE PK
LEAVE BUF
ADVANCE (UNIFORM (1,3,13))
RELEASE PK
TERMINATE 1
OTKAZ1 TERMINATE 1
GENERATE (UNIFORM (2,90,210)),,,,1
QUEUE BUF
PREEMPT PK,PR,OTKAZ,,RE
LOGIC S DOSTUP
DEPART BUF
ADVANCE (EXPONENTIAL (3,0,25))
RETURN PK
LOGIC R DOSTUP
FINAL TERMINATE 1
OTKAZ TERMINATE 1
START 100
GPSS World Simulation Report - Untitled Model 1.1.1
Thursday, March 08, 2012 13:33:43
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 974.478 19 1 1
NAME VALUE
BUF 10000.000
DOSTUP 10001.000
FINAL 18.000
OTKAZ 19.000
OTKAZ1 9.000
PK 10002.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 96 0 0
2 GATE 96 0 0
3 ENTER 82 1 0
4 SEIZE 81 0 0
5 LEAVE 81 0 0
6 ADVANCE 81 0 0
7 RELEASE 75 0 0
8 TERMINATE 75 0 0
OTKAZ1 9 TERMINATE 14 0 0
10 GENERATE 6 0 0
11 QUEUE 6 0 0
12 PREEMPT 6 0 0
13 LOGIC 6 0 0
14 DEPART 6 0 0
15 ADVANCE 6 1 0
16 RETURN 5 0 0
17 LOGIC 5 0 0
FINAL 18 TERMINATE 5 0 0
OTKAZ 19 TERMINATE 6 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
PK 87 0.781 8.752 1 90 0 0 0 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
BUF 1 0 6 6 0.000 0.000 0.000 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF 1000000 999999 0 2 82 1 0.234 0.000 0 0
LOGICSWITCH VALUE RETRY
DOSTUP 1 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
104 0 983.713 104 0 1
90 1 991.166 90 15 16
102 1 1052.049 102 0 10
Как следует из отчёта по последней модификации наконец то появи-лось 14 отказов по занятости РК приоритетным транзактом, что и ожидалось.
Впрочем это не единственная возможность построения модели по заданным условиям прерывания
Пример 5.12. СМО с транзактами двух приоритетов
Модификацируем программную модель примера 5.11. Вместо логического ключа используем ячейку Х. Структурная схема примера представлена на рис.5.12.
|
|
|
Решённые задачи
Равномерный Неогран. Равномерный
закон 10±4 длины закон 8±5
Прерванные задачи
|
|
|
Решённые задачи
Равномерный Неогран. Экспоненциальный
закон 150±60 длины закон со средним 25
Прерванные задачи
Завершить моделирование после решения 100 задач
Рис. 5.12. Структурная схема примера 5.12
Программа
BUF STORAGE 1000000
GENERATE 10,4
TEST E X$DOSTUP,0,OTKAZ1
ENTER BUF
SEIZE PK
LEAVE BUF
ADVANCE (UNIFORM (1,3,13))
RELEASE PK
TERMINATE 1
OTKAZ1 TERMINATE 1
GENERATE (UNIFORM (2,90,210)),,,,1
QUEUE BUF
PREEMPT PK,PR,OTKAZ,,RE
SAVEVALUE DOSTUP,1
DEPART BUF
ADVANCE (EXPONENTIAL (3,0,25))
RETURN PK
SAVEVALUE DOSTUP,0
FINAL TERMINATE 1
OTKAZ TERMINATE 1
START 100
GPSS World Simulation Report - Untitled Model 1.2.1
Thursday, March 08, 2012 13:58:29
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 974.478 19 1 1
NAME VALUE
BUF 10000.000
DOSTUP 10001.000
FINAL 18.000
OTKAZ 19.000
OTKAZ1 9.000
PK 10002.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 96 0 0
2 TEST 96 0 0
3 ENTER 82 1 0
4 SEIZE 81 0 0
5 LEAVE 81 0 0
6 ADVANCE 81 0 0
7 RELEASE 75 0 0
8 TERMINATE 75 0 0
OTKAZ1 9 TERMINATE 14 0 0
10 GENERATE 6 0 0
11 QUEUE 6 0 0
12 PREEMPT 6 0 0
13 SAVEVALUE 6 0 0
14 DEPART 6 0 0
15 ADVANCE 6 1 0
16 RETURN 5 0 0
17 SAVEVALUE 5 0 0
FINAL 18 TERMINATE 5 0 0
OTKAZ 19 TERMINATE 6 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
PK 87 0.781 8.752 1 90 0 0 0 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
BUF 1 0 6 6 0.000 0.000 0.000 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
BUF 1000000 999999 0 2 82 1 0.234 0.000 0 0
SAVEVALUE RETRY VALUE
DOSTUP 0 1.000
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
104 0 983.713 104 0 1
90 1 991.166 90 15 16
102 1 1052.049 102 0 10
Полученные результаты примера 5.12 совпадают с результатами предыдущего примера поэтому обе модификации можно считать корректными.