Цель работы: Моделирование многоканальных систем массового
обслуживания.
Лабораторное задание: Разработка, исследование и оптимизация
структуры АТС заданной конфигурации.
Структура АТС включает:
1. Терминалы операторов T1,
Т2, Тn.
2. Канал передачи данных К1
между терминалом и МЭВМ.
3. Многопроцессорная ЭВМ
(МЭВМ).
4. База данных.
5. Канал передачи данных К2
между МЭВМ и БД.
Работа АТС
Оператор с любого терминала вводит заявку об оплате
услуг клиента в один из процессоров МЭВМ. Процессор выполняет необходимые
вычисления и переписывает результаты в базу данных. Квитанция об оплате
возвращается оператору в виде отклика. При заданных законах поступления заявок
с терминалов, времен задержек в каналах К1, К2, времени задержек в МЭВМ и БД
разработать оптимальную структуру АТС. Оптимизация должна проводится по двум
критериям: минимальное время отклика и минимальная стоимость АТС. Для оптимизации
возможно варьирование скоростей в каналах К1 и К2, числа процессоров МЭВМ и
типа БД. При этом следует исходить из сложившейся практики стоимостной оценки –
увеличение производительности на 100% ведет к 150% увеличению стоимости.
Время моделирования 8 часов работы оператора.
Числовые данные в таблице соответствуют секундам.
Варианты заданий
N бр
|
Кол-во терминалов
|
Закон генерации заявок
|
Задержка в К1
|
Задержка в К2
|
Время задержки в МЭВМ
|
Время задержки в БД
|
6
|
6
|
L=9
|
L=22
|
12
|
M=17, D=5
|
11 (+-4)
|
Ход работы
Листинг
программы:
MEVM storage
1 ;колличество процессоров
TRANSIT TABLE M1,1000,1000,30
Generate (POISSON(1,9)) ;закон генерации заявок
Seize
K1
Advance
(POISSON(1,22)) ;задержка в к1
Release
K1
enter
MEVM
ADVANCE
(NORMAL (1, 17, 5 )) ;задержка в
МЭВМ
leave
MEVM
Seize
K2
Advance
12 ; задержка в к2
Release
K2
Seize
DB
ADVANCE
11,4
;задержка в БД
Release
DB
TABULATE TRANSIT
Terminate
Generate (POISSON(1,9)) ;закон генерации заявок
Seize
K1
Advance
(POISSON(1,22)) ;задержка в к1
Release
K1
enter
MEVM
ADVANCE
(NORMAL (1, 17,
5 )) ;задержка в МЭВМ
leave
MEVM
Seize
K2
Advance
12 ; задержка
в к2
Release
K2
Seize
DB
ADVANCE
11,4
;задержка в БД
Release
DB
TABULATE TRANSIT
Terminate
Generate (POISSON(1,9)) ;закон генерации заявок
Seize
K1
Advance
(POISSON(1,22)) ;задержка в к1
Release
K1
enter
MEVM
ADVANCE
(NORMAL (1, 17,
5 )) ;задержка в МЭВМ
leave
MEVM
Seize
K2
Advance
12 ; задержка
в к2
Release
K2
Seize
DB
ADVANCE
11,4 ;задержка в БД
Release
DB
TABULATE TRANSIT
Terminate
Generate (POISSON(1,9)) ;закон генерации заявок
Seize
K1
Advance
(POISSON(1,22)) ;задержка в к1
Release
K1
enter
MEVM
ADVANCE
(NORMAL (1, 17,
5 )) ;задержка в МЭВМ
leave
MEVM
Seize
K2
Advance
12 ; задержка
в к2
Release
K2
Seize
DB
ADVANCE
11,4
;задержка в БД
Release
DB
TABULATE TRANSIT
Terminate
Generate (POISSON(1,9)) ;закон генерации заявок
Seize
K1
Advance
(POISSON(1,22)) ;задержка в к1
Release
K1
enter
MEVM
ADVANCE
(NORMAL (1, 17,
5 )) ;задержка в МЭВМ
leave
MEVM
Seize
K2
Advance
12 ; задержка
в к2
Release
K2
Seize
DB
ADVANCE
11,4
;задержка в БД
Release
DB
TABULATE TRANSIT
Terminate
Generate (POISSON(1,9)) ;закон генерации заявок
Seize
K1
Advance
(POISSON(1,22)) ;задержка в к1
Release
K1
enter
MEVM
ADVANCE
(NORMAL (1, 17,
5 )) ;задержка в МЭВМ
leave
MEVM
Seize
K2
Advance
12 ; задержка
в к2
Release
K2
Seize
DB
ADVANCE
11,4
;задержка в БД
Release
DB
TABULATE TRANSIT
Terminate
Generate
28800
Terminate
1
Отчет
GPSS World
Simulation Report - Untitled Model 1.1.1
Thursday, April
18, 2013 08:15:44
START TIME END TIME BLOCKS
FACILITIES STORAGES
0.000 28800.000 92
3 1
NAME VALUE
DB 10004.000
K1 10002.000
MEVM 10000.000
TRANSIT 10001.000
LABEL LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 3219 3000 0
2 SEIZE 219 0 0
3 ADVANCE 219 1 0
4 RELEASE 218 0 0
5 ENTER 218 0 0
6 ADVANCE 218 0 0
7 LEAVE 218 0 0
8 SEIZE 218 0 0
9 ADVANCE 218 0 0
10 RELEASE 218 0 0
11 SEIZE 218 0 0
12 ADVANCE 218 1 0
13 RELEASE 217 0 0
14 TABULATE 217 0 0
15 TERMINATE 217 0 0
16 GENERATE 3215 3005 0
17 SEIZE 210 0 0
18 ADVANCE 210 0 0
19 RELEASE 210 0 0
20 ENTER 210 0 0
21 ADVANCE 210 0 0
22 LEAVE 210 0 0
23 SEIZE 210 0 0
24 ADVANCE 210 0 0
25 RELEASE 210 0 0
26 SEIZE 210 0 0
27 ADVANCE 210 0 0
28 RELEASE 210 0 0
29 TABULATE 210 0 0
30 TERMINATE 210 0 0
31
GENERATE 3203 2978 0
32 SEIZE 225 0 0
33 ADVANCE 225 0 0
34 RELEASE 225 1
0
35 ENTER 224 0 0
36 ADVANCE 224 0 0
37 LEAVE 224 0 0
38 SEIZE 224 0 0
39 ADVANCE 224 0 0
40 RELEASE 224 0 0
41 SEIZE 224 0 0
42
ADVANCE 224 0 0
43 RELEASE 224 0 0
44 TABULATE 224 0 0
45 TERMINATE 224 0 0
46 GENERATE 3219 2994 0
47 SEIZE 225 0 0
48 ADVANCE 225 0 0
49 RELEASE
225 0 0
50 ENTER 225 0 0
51 ADVANCE 225 1 0
52 LEAVE 224 0 0
53
SEIZE 224 0 0
54 ADVANCE 224 0 0
55 RELEASE 224 0 0
56 SEIZE 224 0
0
57 ADVANCE 224 0 0
58 RELEASE 224 0 0
59 TABULATE 224 0 0
60 TERMINATE 224 0 0
61 GENERATE 3197 2979 0
62 SEIZE 218 0 0
63 ADVANCE 218 0 0
64
RELEASE 218 0 0
65 ENTER 218 0 0
66 ADVANCE 218 0 0
67 LEAVE 218 0
0
68 SEIZE 218 0 0
69 ADVANCE 218 0 0
70 RELEASE 218 0 0
71 SEIZE
218 0 0
72 ADVANCE 218 0 0
73 RELEASE 218 0 0
74 TABULATE 218 0 0
75
TERMINATE 218 0 0
76 GENERATE 3188 2975 0
77 SEIZE 213 0 0
78 ADVANCE 213 0
0
79 RELEASE 213 0 0
80 ENTER 213 0 0
81 ADVANCE 213 0 0
82 LEAVE 213 0 0
83 SEIZE 213 0 0
84 ADVANCE 213 0 0
85 RELEASE 213 0 0
86 SEIZE 213 0 0
87 ADVANCE 213 0 0
88 RELEASE 213 0 0
89 TABULATE 213 0
0
90 TERMINATE 213 0 0
91 GENERATE 1 0 0
92 TERMINATE 1 0 0
FACILITY ENTRIES UTIL.
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
K1 1310 1.000
21.982 1 1314
0 0 0
17931
DB 1307 0.495
10.906 1 1307
0 0 0
0
STORAGE CAP. REM. MIN.
MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
MEVM 1 0
0 1 1308
1 0.774 0.774
0 1
TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%
TRANSIT 13389.025 7759.781 0
_ -
1000.000 48 3.68
1000.000 -
2000.000 49 7.43
2000.000 -
3000.000 50 11.26
3000.000 -
4000.000 49 15.01
4000.000 -
5000.000 50 18.84
5000.000
- 6000.000 46 22.36
6000.000 -
7000.000 47 25.96
7000.000 -
8000.000 55 30.17
8000.000 -
9000.000 49 33.92
9000.000 -
10000.000 47 37.52
10000.000 -
11000.000 49 41.27
11000.000 -
12000.000 49
45.02
12000.000 -
13000.000 50 48.85
13000.000 -
14000.000 48 52.53
14000.000 -
15000.000 49 56.28
15000.000 -
16000.000 46 59.80
16000.000 -
17000.000 47 63.40
17000.000 -
18000.000 49 67.15
18000.000 -
19000.000 52 71.13
19000.000 -
20000.000 47 74.73
20000.000 -
21000.000 48 78.41
21000.000
- 22000.000 46 81.93
22000.000 -
23000.000 47 85.53
23000.000 -
24000.000 50 89.36
24000.000 -
25000.000 46 92.88
25000.000 -
26000.000 51 96.78
26000.000 -
27000.000 42 100.00
Из отчёта видно, что слишком большая
задержка в канале 1.Через канал прошло 1310 осталось 17931. Всё что не задерживается в
нём проходит без задержки
Отчет1
увеличили пропускную способность канала 1
:
LABEL LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 3220 0 0
2 SEIZE 3220 0 0
3 ADVANCE 3220 0 0
4
RELEASE 3220 2934 0
5 ENTER 286 0 0
6 ADVANCE 286 0 0
7 LEAVE 286 0
0
8 SEIZE 286 0 0
9 ADVANCE 286 0 0
10 RELEASE 286 0 0
11 SEIZE
286 0 0
12 ADVANCE 286 0 0
13 RELEASE 286 0 0
14 TABULATE 286 0 0
15
TERMINATE 286 0 0
16 GENERATE 3207 0 0
17 SEIZE 3207 0 0
18 ADVANCE 3207 0
0
19 RELEASE 3207 2918 0
20 ENTER 289 0 0
21 ADVANCE 289 0 0
22 LEAVE
289 0 0
23 SEIZE 289 0 0
24 ADVANCE 289 0 0
25 RELEASE 289 0 0
26
SEIZE 289 0 0
27 ADVANCE 289 1 0
28 RELEASE 288 0 0
29 TABULATE 288 0
0
30 TERMINATE 288 0 0
31 GENERATE 3211 1 0
32 SEIZE 3210 0 0
33 ADVANCE 3210 0 0
34 RELEASE 3210 2938 0
35 ENTER 272 0 0
36 ADVANCE 272 0 0
37 LEAVE 272 0 0
38 SEIZE 272 0 0
39 ADVANCE 272 0 0
40 RELEASE 272 0
0
41 SEIZE 272 0 0
42 ADVANCE 272 0 0
43 RELEASE 272 0 0
44 TABULATE 272 0 0
45 TERMINATE 272 0 0
46 GENERATE 3192 0 0
47 SEIZE 3192 0 0
48 ADVANCE 3192 1 0
49 RELEASE 3191 2911 0
50 ENTER 280 0 0
51 ADVANCE 280 0
0
52 LEAVE 280 0 0
53 SEIZE 280 0 0
54 ADVANCE 280 0 0
55 RELEASE 280 0 0
56 SEIZE 280 0 0
57 ADVANCE 280 0 0
58 RELEASE 280 0 0
59 TABULATE 280 0 0
60 TERMINATE 280 0 0
61 GENERATE 3223 0 0
62 SEIZE 3223 0 0
63 ADVANCE 3223 0 0
64 RELEASE 3223 2937 0
65 ENTER 286 0 0
66 ADVANCE 286 0 0
67 LEAVE 286 0 0
68 SEIZE 286 0 0
69 ADVANCE 286 0 0
70 RELEASE 286 0 0
71 SEIZE 286 0 0
72 ADVANCE 286 0 0
73 RELEASE 286 0 0
74 TABULATE 286 0 0
75 TERMINATE 286 0 0
76 GENERATE 3178 0 0
77 SEIZE 3178 0 0
78 ADVANCE 3178 0 0
79 RELEASE 3178 2896 0
80 ENTER 282 0 0
81 ADVANCE 282 1 0
82 LEAVE 281 0 0
83 SEIZE 281 0 0
84 ADVANCE 281 0 0
85 RELEASE 281 0 0
86 SEIZE 281 0 0
87 ADVANCE 281 0 0
88 RELEASE 281 0 0
89 TABULATE 281 0 0
90 TERMINATE 281 0 0
91 GENERATE 1 0 0
92 TERMINATE 1 0 0
FACILITY ENTRIES UTIL.
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
K1 19230 0.662
0.992 1 19231
0 0 0
1
DB 1694 0.645
10.971 1 1696
0 0 0
0
STORAGE CAP. REM. MIN.
MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
MEVM 1 0
0 1 1695
1 1.000 1.000
0 17534
После увеличения пропускной
способности канала 1 мы видим что ЭВМ обработала только 1695 не обработано 17534.
Отчет2
увеличили количество процессоров и их быстродействие :
LABEL LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1
GENERATE 3185 0 0
2 SEIZE 3185 0 0
3 ADVANCE 3185 0 0
4 RELEASE 3185 0
0
5 ENTER 3185 0 0
6 ADVANCE 3185 7 0
7 LEAVE 3178 2788 0
8 SEIZE 390 0 0
9 ADVANCE 390 0 0
10 RELEASE 390 0 0
11 SEIZE 390 0 0
12 ADVANCE 390 0 0
13 RELEASE 390 0 0
14 TABULATE 390 0 0
15 TERMINATE 390 0
0
16 GENERATE 3220 0 0
17 SEIZE 3220 0 0
18 ADVANCE 3220 0 0
19 RELEASE 3220 0 0
20 ENTER 3220 0 0
21 ADVANCE 3220 5 0
22 LEAVE 3215 2808 0
23 SEIZE 407 0 0
24 ADVANCE 407 1 0
25 RELEASE 406 0 0
26 SEIZE 406 0
0
27 ADVANCE 406 0 0
28 RELEASE 406 0 0
29 TABULATE 406 0 0
30 TERMINATE 406 0 0
31 GENERATE 3178 0 0
32 SEIZE 3178 0 0
33 ADVANCE 3178 0 0
34 RELEASE 3178 0 0
35 ENTER 3178 0 0
36 ADVANCE 3178 5 0
37 LEAVE 3173 2769 0
38 SEIZE 404 0 0
39 ADVANCE 404 0 0
40 RELEASE 404 0 0
41 SEIZE 404 0 0
42 ADVANCE 404 0 0
43 RELEASE 404 0 0
44 TABULATE 404 0 0
45 TERMINATE 404 0 0
46 GENERATE 3167 0 0
47 SEIZE 3167 0 0
48 ADVANCE 3167 0 0
49 RELEASE 3167 0 0
50 ENTER 3167 0 0
51 ADVANCE 3167 5 0
52 LEAVE 3162 2760 0
53 SEIZE 402 0 0
54 ADVANCE 402 0 0
55 RELEASE 402 0 0
56 SEIZE 402 0 0
57 ADVANCE 402 0 0
58 RELEASE 402 0 0
59 TABULATE 402 0 0
60 TERMINATE 402 0 0
61 GENERATE 3194 0 0
62 SEIZE 3194 0 0
63 ADVANCE 3194 0 0
64 RELEASE 3194 0 0
65 ENTER 3194 0 0
66 ADVANCE 3194 6 0
67 LEAVE 3188 2787 0
68 SEIZE 401 0 0
69 ADVANCE 401 0 0
70 RELEASE 401
0 0
71 SEIZE 401 0 0
72 ADVANCE 401 1 0
73 RELEASE 400 0 0
74 TABULATE 400 0 0
75 TERMINATE 400 0 0
76 GENERATE 3214 0 0
77 SEIZE 3214 0 0
78 ADVANCE 3214 0 0
79 RELEASE 3214 0 0
80 ENTER 3214 0 0
81 ADVANCE 3214 5 0
82 LEAVE 3209 2817 0
83 SEIZE 392 0 0
84 ADVANCE 392 0 0
85
RELEASE 392 0 0
86 SEIZE 392 0 0
87 ADVANCE 392 0 0
88 RELEASE 392 0
0
89 TABULATE 392 0 0
90 TERMINATE 392 0 0
91 GENERATE 1 0 0
92 TERMINATE 1 0 0
FACILITY ENTRIES UTIL.
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
K1 19158 0.798
1.200 1 0
0 0 0
0
DB 2395 0.913
10.979 1 2396
0 0 0
0
STORAGE CAP. REM. MIN.
MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
MEVM 36 3
0 36 19158
1 33.245 0.923
0 0
Очень много заявок
остаётся в канале 2 (16729).
Отчет3
увеличим пропускную способность канала 2 и базы данных :
GPSS World Simulation Report -
Untitled Model 1.21.1
Thursday, April
18, 2013 09:17:56
START TIME END TIME
BLOCKS FACILITIES STORAGES
0.000 28800.000 92
3 1
NAME VALUE
DB 10004.000
K1 10002.000
K2 10003.000
MEVM 10000.000
TRANSIT 10001.000
LABEL LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE
3220 0 0
2 SEIZE 3220 0 0
3 ADVANCE 3220 0 0
4 RELEASE 3220 0 0
5
ENTER 3220 0 0
6 ADVANCE 3220 6 0
7 LEAVE 3214 0 0
8 SEIZE 3214 0
0
9 ADVANCE 3214 1 0
10 RELEASE 3213 0 0
11 SEIZE 3213 0 0
12 ADVANCE
3213 0 0
13 RELEASE 3213 0 0
14 TABULATE 3213 0 0
15 TERMINATE 3213 0 0
16
GENERATE 3186 0 0
17 SEIZE 3186 0 0
18 ADVANCE 3186 0 0
19 RELEASE 3186 0
0
20 ENTER 3186 0 0
21 ADVANCE 3186 5 0
22 LEAVE 3181 0 0
23 SEIZE 3181 0 0
24 ADVANCE 3181 0 0
25 RELEASE 3181 0 0
26 SEIZE 3181 0 0
27 ADVANCE 3181 1 0
28 RELEASE 3180 0 0
29 TABULATE 3180 0 0
30 TERMINATE 3180 0 0
31 GENERATE 3206 0 0
32 SEIZE 3206 0 0
33 ADVANCE 3206 0 0
34 RELEASE 3206 0 0
35 ENTER 3206 0 0
36 ADVANCE 3206 7 0
37 LEAVE 3199 0 0
38 SEIZE 3199 0 0
39 ADVANCE 3199 0 0
40 RELEASE 3199 0 0
41 SEIZE 3199 0 0
42 ADVANCE 3199 0 0
43 RELEASE 3199 0 0
44 TABULATE 3199 0 0
45 TERMINATE 3199 0 0
46 GENERATE 3184 0 0
47 SEIZE 3184 0 0
48 ADVANCE 3184 0 0
49 RELEASE 3184 0 0
50 ENTER 3184 0 0
51 ADVANCE 3184 7 0
52
LEAVE 3177 0 0
53 SEIZE 3177 0 0
54 ADVANCE 3177 0 0
55 RELEASE 3177 0
0
56 SEIZE 3177 0 0
57 ADVANCE 3177 0 0
58 RELEASE 3177 0 0
59 TABULATE 3177 0 0
60 TERMINATE 3177 0 0
61 GENERATE 3170 0 0
62 SEIZE 3170 0 0
63
ADVANCE 3170 0 0
64 RELEASE 3170 0 0
65 ENTER 3170 0 0
66 ADVANCE 3170 6 0
67 LEAVE 3164 0 0
68 SEIZE 3164 0 0
69 ADVANCE 3164 0 0
70 RELEASE
3164 0 0
71 SEIZE 3164 0 0
72 ADVANCE 3164 0 0
73 RELEASE 3164 0 0
74
TABULATE 3164 0 0
75 TERMINATE 3164 0 0
76 GENERATE 3157 0 0
77 SEIZE 3157 0 0
78 ADVANCE 3157 0 0
79 RELEASE 3157 0 0
80 ENTER 3157 0 0
81 ADVANCE
3157 4 0
82 LEAVE 3153 0 0
83 SEIZE 3153 0 0
84 ADVANCE 3153 0 0
85
RELEASE 3153 0 0
86 SEIZE 3153 0 0
87 ADVANCE 3153 0 0
88 RELEASE 3153 0
0
89 TABULATE 3153 0 0
90 TERMINATE 3153 0 0
91 GENERATE 1 0 0
92 TERMINATE 1 0 0
FACILITY ENTRIES UTIL.
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
K1 19123 0.793
1.195 1 0
0 0 0
0
K2 19088 0.828
1.250 1 19086
0 0
0 0
DB 19087 0.795
1.200 1 19085
0 0 0
0
STORAGE CAP. REM. MIN.
MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
MEVM 36 1
0 36 19123
1 33.178 0.922
0 0
TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%
TRANSIT 58.140 5.931 0
0.000 -
_ 19086 100.00
Вывод: В ходе выполнения данной лабораторной работы мы
научились моделировать многоканальные системы массового обслуживания и модифицировать вычислительные системы (ВС) для
определения оптимальной конфигурации.
Комментариев нет:
Отправить комментарий