
4
.docМинистерство образования и науки Российской Федерации
Юго-западный Государственный Университет
Кафедра «Вычислительная техника»
Лабораторная работа №4
МОДЕЛИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ С ПОМОЩЬЮ СИСТЕМЫ GPSS/PC
Выполнил: студент гр. ВМ-91:
Кирсанова Ю.В.
Проверил : преподаватель:
Шеин В. В.
Курск 2012
Задание 1
Требуется промоделировать решение задач в двухпроцессорной ЭВМ с общей памятью, разделенной на восемь блоков. Каждой задаче отводится при ее решении один блок. Интервалы времени между поступлениями задач распределены равномерно в интервале [2,14] единиц времени, время обработки порции информации подчинено экспоненциальному закону с интенсивностью v1=5 в процессоре CPU1 и с v2=2 в процессоре CPU2. Между обработкой порций с вероятностью 0.6 возможно обращение к внешней памяти, в которой время обслуживания распределено равномерно в диапазоне [2,8]. С вероятностью 0.4 задачи оказываются решенными и покидают систему. Моделирование выполнить на отрезке времени, соответствующем решению не менее 100 задач.
Листинг программы:
MEM STORAGE 8
expon FUNCTION RN1,C12
0,0/.2,.22/.4,.51/.5,.69/.6,.92/.7,1.2/.8,1.61/
.9,2.3/.95,3/.99,4.6/.999,6.9/1,100
GENERATE 2,FN$EXPon,,500
QUEUE A1
TEST G A1,7,m7
ENTER MEM,1
DEPART A1
M6 QUEUE A2
TRANSFER BOTH,met1,m2
met1 SEIZE CPU1
DEPART A2
ADVANCE 5,FN$expon
RELEASE CPU1
TRANSFER ,M3
M2 SEIZE CPU2
DEPART A2
ADVANCE 2,FN$expon
RELEASE CPU2
M3 TRANSFER .6,M5,M4
M4 QUEUE A3
SEIZE DISK
DEPART A3
ADVANCE 5,3
RELEASE DISK
TRANSFER ,M6
M5 LEAVE MEM,1
TRANSFER ,m8
m7 QUEUE count_tran
DEPART count_tran
m8 TERMINATE 1
Результат моделирования:
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 560.919 28 3 1
NAME VALUE
A2 10003.000
A3 10006.000
COUNT_TRAN 10002.000
CPU1 10004.000
CPU2 10005.000
DISK 10007.000
EXPON 10001.000
M2 13.000
M3 17.000
M4 18.000
M5 24.000
M6 6.000
M7 26.000
M8 28.000
MEM 10000.000
MET1 8.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 241 0 0
2 QUEUE 241 0 0
3 TEST 241 133 0
4 ENTER 101 1 0
5 DEPART 100 0 0
M6 6 QUEUE 211 0 0
7 TRANSFER 211 1 0
MET1 8 SEIZE 83 0 0
9 DEPART 83 0 0
10 ADVANCE 83 1 0
11 RELEASE 82 0 0
12 TRANSFER 82 0 0
M2 13 SEIZE 127 0 0
14 DEPART 127 0 0
15 ADVANCE 127 0 0
16 RELEASE 127 0 0
M3 17 TRANSFER 209 0 0
M4 18 QUEUE 116 4 0
19 SEIZE 112 0 0
20 DEPART 112 0 0
21 ADVANCE 112 1 0
22 RELEASE 111 0 0
23 TRANSFER 111 0 0
M5 24 LEAVE 93 0 0
25 TRANSFER 93 0 0
M7 26 QUEUE 7 0 0
27 DEPART 7 0 0
M8 28 TERMINATE 100 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
CPU1 83 0.811 5.483 1 105 0 0 1 0
CPU2 127 0.466 2.058 1 0 0 0 1 0
DISK 112 0.968 4.848 1 102 0 0 0 4
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 1 1 1 0 0.992 556.327 556.327 0
2 1 1 1 0 0.992 556.248 556.248 0
3 1 1 1 0 0.990 555.220 555.220 0
4 1 1 1 0 0.988 554.073 554.073 0
5 1 1 1 0 0.986 552.887 552.887 0
6 1 1 1 0 0.984 551.820 551.820 0
7 1 1 1 0 0.983 551.192 551.192 0
8 1 0 1 1 0.000 0.000 0.000 0
9 1 0 1 1 0.000 0.000 0.000 0
10 1 0 1 1 0.000 0.000 0.000 0
11 1 0 1 1 0.000 0.000 0.000 0
12 1 0 1 1 0.000 0.000 0.000 0
13 1 0 1 1 0.000 0.000 0.000 0
14 1 0 1 1 0.000 0.000 0.000 0
15 1 0 1 1 0.000 0.000 0.000 0
16 1 0 1 1 0.000 0.000 0.000 0
17 1 0 1 1 0.000 0.000 0.000 0
18 1 0 1 0 0.014 8.125 8.125 0
19 1 0 1 0 0.025 14.276 14.276 0
20 1 0 1 0 0.022 12.198 12.198 0
21 1 0 1 0 0.021 11.833 11.833 0
22 1 0 1 0 0.021 11.876 11.876 0
23 1 0 1 0 0.030 16.895 16.895 0
24 1 0 1 0 0.036 20.468 20.468 0
25 1 0 1 0 0.061 33.960 33.960 0
26 1 0 1 0 0.081 45.184 45.184 0
27 1 0 1 0 0.083 46.724 46.724 0
28 1 0 1 0 0.083 46.564 46.564 0
29 1 0 1 0 0.089 49.905 49.905 0
30 1 0 1 0 0.085 47.461 47.461 0
31 1 0 1 0 0.114 64.117 64.117 0
32 1 0 1 0 0.131 73.759 73.759 0
33 1 0 1 0 0.129 72.139 72.139 0
34 1 0 1 0 0.128 71.831 71.831 0
35 1 0 1 0 0.115 64.425 64.425 0
36 1 0 1 0 0.145 81.485 81.485 0
37 1 0 1 0 0.147 82.598 82.598 0
38 1 0 1 0 0.149 83.425 83.425 0
39 1 0 1 0 0.149 83.576 83.576 0
40 1 0 1 0 0.147 82.387 82.387 0
41 1 0 1 0 0.150 84.329 84.329 0
42 1 0 1 0 0.147 82.438 82.438 0
43 1 0 1 0 0.173 96.792 96.792 0
44 1 0 1 0 0.169 94.843 94.843 0
45 1 0 1 0 0.162 90.730 90.730 0
46 1 0 1 0 0.159 89.352 89.352 0
47 1 0 1 0 0.170 95.091 95.091 0
48 1 0 1 0 0.187 104.842 104.842 0
49 1 0 1 0 0.203 114.111 114.111 0
50 1 0 1 0 0.210 117.730 117.730 0
51 1 0 1 0 0.218 122.308 122.308 0
52 1 0 1 0 0.210 118.053 118.053 0
53 1 0 1 0 0.218 122.230 122.230 0
54 1 0 1 0 0.221 123.796 123.796 0
55 1 0 1 0 0.231 129.622 129.622 0
56 1 0 1 0 0.263 147.422 147.422 0
57 1 0 1 0 0.269 151.000 151.000 0
58 1 0 1 0 0.304 170.612 170.612 0
59 1 0 1 0 0.313 175.833 175.833 0
60 1 0 1 0 0.320 179.382 179.382 0
61 1 0 1 0 0.325 182.499 182.499 0
62 1 0 1 0 0.330 184.876 184.876 0
63 1 0 1 0 0.328 184.255 184.255 0
64 1 0 1 0 0.325 182.453 182.453 0
65 1 0 1 0 0.325 182.167 182.167 0
66 1 0 1 0 0.321 180.149 180.149 0
67 1 0 1 0 0.316 177.099 177.099 0
68 1 0 1 0 0.320 179.345 179.345 0
69 1 0 1 0 0.323 181.266 181.266 0
70 1 0 1 0 0.326 183.016 183.016 0
71 1 0 1 0 0.326 182.602 182.602 0
72 1 0 1 0 0.322 180.543 180.543 0
200 1 1 1 0 0.237 132.737 132.737 0
201 1 1 1 0 0.236 132.280 132.280 0
202 1 1 1 0 0.232 130.133 130.133 0
203 1 1 1 0 0.230 128.877 128.877 0
204 1 1 1 0 0.227 127.441 127.441 0
205 1 1 1 0 0.226 126.601 126.601 0
206 1 1 1 0 0.224 125.733 125.733 0
207 1 1 1 0 0.210 117.667 117.667 0
208 1 1 1 0 0.204 114.577 114.577 0
209 1 1 1 0 0.197 110.412 110.412 0
210 1 1 1 0 0.194 108.592 108.592 0
211 1 1 1 0 0.190 106.403 106.403 0
212 1 1 1 0 0.173 97.247 97.247 0
213 1 1 1 0 0.172 96.651 96.651 0
214 1 1 1 0 0.164 92.175 92.175 0
215 1 1 1 0 0.164 91.950 91.950 0
216 1 1 1 0 0.158 88.720 88.720 0
217 1 1 1 0 0.158 88.694 88.694 0
218 1 1 1 0 0.154 86.456 86.456 0
219 1 1 1 0 0.154 86.408 86.408 0
220 1 1 1 0 0.144 80.891 80.891 0
221 1 1 1 0 0.143 80.102 80.102 0
222 1 1 1 0 0.141 78.886 78.886 0
223 1 1 1 0 0.137 76.924 76.924 0
224 1 1 1 0 0.114 64.071 64.071 0
225 1 1 1 0 0.111 62.188 62.188 0
226 1 1 1 0 0.108 60.740 60.740 0
227 1 1 1 0 0.107 60.152 60.152 0
228 1 1 1 0 0.106 59.222 59.222 0
229 1 1 1 0 0.102 57.464 57.464 0
230 1 1 1 0 0.102 57.137 57.137 0
231 1 1 1 0 0.093 51.950 51.950 0
232 1 1 1 0 0.090 50.506 50.506 0
233 1 1 1 0 0.088 49.297 49.297 0
234 1 1 1 0 0.087 48.986 48.986 0
235 1 1 1 0 0.085 47.580 47.580 0
236 1 1 1 0 0.084 47.373 47.373 0
237 1 1 1 0 0.083 46.298 46.298 0
238 1 1 1 0 0.078 43.929 43.929 0
239 1 1 1 0 0.076 42.741 42.741 0
240 1 1 1 0 0.074 41.383 41.383 0
241 1 1 1 0 0.074 41.289 41.289 0
COUNT_TRAN 1 0 7 7 0.000 0.000 0.000 0
A2 4 1 211 149 0.262 0.697 2.372 0
A3 7 4 116 1 5.178 25.039 25.257 0
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
MEM 8 0 0 8 101 1 7.686 0.961 0 133
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
107 0 215.334 107 7 7
108 0 223.872 108 4 5
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
102 0 566.034 102 21 22
105 0 569.888 105 10 11
242 0 697.375 242 0 1
Вывод: CPU1 работает медленнее CPU2 и поэтому необходимо часть нагрузки с первого процессора передать на второй.
Задание 2
Промоделировать работу устройства дисковой памяти при наличии и одного канала и трех дисководов. Запросы поступают равновероятные ко всем дисководам. Обработка запроса включает установку головки (при этом канал не требуется) и обмен данными через канал. Интервалы времени между поступлениями запросов распределены по экспоненциальному закону с v=6. Время установки головки равномерно распределено в интервале 0-50мс. Время обмена данными равно 1.7мс (за единицу времени принять 1.7мс).
Листинг программы:
EXPon FUNCTION RN1,C12
0,0/.2,.22/.4,.51/.5,.69/.6,.92/.7,1.2/.8,1.61/
.9,2.3/.95,3/.99,4.6/.999,6.9/1,100
GENERATE 6,FN$EXPon
TRANSFER .5,met11,mett13
met11 TRANSFER .5,M4,M3
mett13 TRANSFER .5,met4,met5
met5 QUEUE A1
SEIZE DISK1
DEPART A1
ASSIGN 1,DISK1
ADVANCE 25,25
TRANSFER ,M5
met4 QUEUE A2
SEIZE DISK2
DEPART A2
ASSIGN 1,DISK2
ADVANCE 25,25
TRANSFER ,M5
M3 QUEUE A3
SEIZE DISK3
DEPART A3
ASSIGN 1,DISK3
ADVANCE 25,25
TRANSFER ,M5
M4 QUEUE A4
SEIZE DISK4
DEPART A4
ASSIGN 1,DISK4
ADVANCE 25,25
M5 QUEUE A5
SEIZE CAN
DEPART A5
ADVANCE 1
RELEASE CAN
RELEASE P1
TERMINATE 1
Результат моделирования:
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 15.895 34 3 0
NAME VALUE
A2 10003.000
A3 10001.000
A4 UNSPECIFIED
A5 10005.000
CAN 10006.000
DISK1 UNSPECIFIED
DISK2 10004.000
DISK3 10002.000
DISK4 UNSPECIFIED
EXPON 10000.000
M3 17.000
M4 23.000
M5 28.000
MET11 3.000
MET4 11.000
MET5 5.000
METT13 4.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 2 0 0
2 TRANSFER 2 0 0
MET11 3 TRANSFER 1 0 0
METT13 4 TRANSFER 1 0 0
MET5 5 QUEUE 0 0 0
6 SEIZE 0 0 0
7 DEPART 0 0 0
8 ASSIGN 0 0 0
9 ADVANCE 0 0 0
10 TRANSFER 0 0 0
MET4 11 QUEUE 1 0 0
12 SEIZE 1 0 0
13 DEPART 1 0 0
14 ASSIGN 1 0 0
15 ADVANCE 1 0 0
16 TRANSFER 1 0 0
M3 17 QUEUE 1 0 0
18 SEIZE 1 0 0
19 DEPART 1 0 0
20 ASSIGN 1 0 0
21 ADVANCE 1 0 0
22 TRANSFER 1 0 0
M4 23 QUEUE 0 0 0
24 SEIZE 0 0 0
25 DEPART 0 0 0
26 ASSIGN 0 0 0
27 ADVANCE 0 0 0
M5 28 QUEUE 2 0 0
29 SEIZE 2 1 0
30 DEPART 1 0 0
31 ADVANCE 1 0 0
32 RELEASE 1 0 0
33 RELEASE 1 0 0
34 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
DISK3 1 0.133 2.119 1 0 0 0 0 0
DISK2 1 0.118 1.881 1 2 0 0 0 0
CAN 2 0.063 0.500 1 2 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
A3 1 0 1 1 0.000 0.000 0.000 0
A2 1 0 1 1 0.000 0.000 0.000 0
A5 1 1 2 1 0.026 0.205 0.410 0
CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE
2 0 14.015 2 29 30 1 10004.000
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
3 0 17.455 3 0 1