Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

отчет 5 лаб Гпсс

.docx
Скачиваний:
9
Добавлен:
01.02.2022
Размер:
17.88 Кб
Скачать

Министерство образования и науки Кыргызской Республики

Кыргызский Государственный Технический Университет им. И. Раззакова

Факультет Информационных Технологий

Кафедра:”Информатика и вычислительная техника”

Отчет

По лабораторной работе №5

По дисциплине: Язык моделирования GPSS

Выполнил:

Проверила: Бакасова П.С.

Бишкек 2020

Задание 5: Для ускорения прохождения коротких заданий на ЭВМ выбран пакетный режим работы с квантованием времени процессора. Это значит, что всем заданиям пакета по очереди представляется процессор на одинаковое время 10 с (круговой циклический алгоритм разделения времени). Если в течение этого времени заканчивается выполнение задания, оно покидает систему и освобождает процессор. Если же очередного кванта времени не хватает для завершения задания, оно помещается в конец очереди-пакета. Последнее задание пакета выполняется без прерываний. Пакет считается готовым к вводу ЭВМ, если в нем содержится 5 задний. Новый пакет вводится в ЭВМ после окончания обработки предыдущего. Задания поступают в систему с интервалом времени 60±30 с и характеризуется временем работы процессора 50±45 с. Смоделировать процесс обработки 200 заданий. Определить максимальную длину очереди готовых к обработке пакетов и коэффициент загрузки ЭВМ. Сравнить время прохождения коротких заданий, требующих до 10 с времени работы процессора, с временем прохождения длинных заданий, требующих свыше 90 с времени работы процессора.

Код

initial x$isFree,1 ;чтобы узнать свободен ли процессор

initial x$countOfShortTasks,0 ; счетчик для коротких заданий

initial x$countOfLongTasks,0 ; счетчик для длинных заданий

initial x$totalTimeOfShortTasks,0 ;общая время выполнения коротких заданий

initial x$totalTimeOfLongTasks,0 ;общая время выполнения длинных заданий

generate 60,30,0,200 ;поступление заданий

assign time,(uniform(1,5,95)) ; время работы процессора 50±45 с

test l p$time,10,L_ifLongTask ; короткое или длинное задание

savevalue countOfShortTasks+,1

savevalue totalTimeOfShortTasks+,p$time

transfer ,L_continue

L_ifLongTask test g p$time,90,L_continue ; короткое или длинное задание

savevalue countOfLongTasks+,1

savevalue totalTimeOfLongTasks+,time

L_continue queue allTasks ;чтобы вычислить длину очереди готовых к обработке пакетов

test e x$isFree,1 ; свободен ли эвм 1 - свободен 0 - занят

depart allTasks ;

queue countOfTasks ; для эвм, максимум может быть 5 заданий

test ge q$countOfTasks,5 ;проверка достаточно ли заданий для образования пакета

seize evm ;ЭВМ

savevalue isFree,0 ; эвм уже не свободен

evm_loop test e q$countOfTasks,1,L_next; если это последнее задание

advance p$time

depart countOfTasks

release evm

savevalue isFree,1 ;эвм свободен

terminate 1

L_next test le p$time,10,L_else ;если для обработки требуется меньше 10с

advance p$time ; выполняем и удаляем этот транзакт

depart countOfTasks ; убрать из очереди

release evm ;

terminate 1

L_else advance 10 ;обработали 10 сек

assign time-,10 ;уменьшили время на 10 сек

release evm ; убрать из начала очереди

seize evm ;поставить в конец очереди

transfer ,evm_loop ;цикл

start 200 ;200 заданий

вывод

GPSS World Simulation Report - LB5_cont.5.1

Wednesday, December 02, 2020 12:14:20

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 12449.314 32 1 0

NAME VALUE

ALLTASKS 10006.000

COUNTOFLONGTASKS 10002.000

COUNTOFSHORTTASKS 10001.000

COUNTOFTASKS 10007.000

EVM 10008.000

EVM_LOOP 17.000

ISFREE 10000.000

L_CONTINUE 10.000

L_ELSE 28.000

L_IFLONGTASK 7.000

L_NEXT 23.000

TIME 10005.000

TOTALTIMEOFLONGTASKS 10004.000

TOTALTIMEOFSHORTTASKS 10003.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 200 0 0

2 ASSIGN 200 0 0

3 TEST 200 0 0

4 SAVEVALUE 11 0 0

5 SAVEVALUE 11 0 0

6 TRANSFER 11 0 0

L_IFLONGTASK 7 TEST 189 0 0

8 SAVEVALUE 17 0 0

9 SAVEVALUE 17 0 0

L_CONTINUE 10 QUEUE 200 0 0

11 TEST 200 0 0

12 DEPART 200 0 0

13 QUEUE 200 0 0

14 TEST 200 0 0

15 SEIZE 200 0 0

16 SAVEVALUE 200 0 0

EVM_LOOP 17 TEST 1055 0 0

18 ADVANCE 40 0 0

19 DEPART 40 0 0

20 RELEASE 40 0 0

21 SAVEVALUE 40 0 0

22 TERMINATE 40 0 0

L_NEXT 23 TEST 1015 0 0

24 ADVANCE 160 0 0

25 DEPART 160 0 0

26 RELEASE 160 0 0

27 TERMINATE 160 0 0

L_ELSE 28 ADVANCE 855 0 0

29 ASSIGN 855 0 0

30 RELEASE 855 0 0

31 SEIZE 855 0 0

32 TRANSFER 855 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

EVM 1055 0.801 9.451 1 0 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY

ALLTASKS 6 0 200 54 1.330 82.806 113.432 0

COUNTOFTASKS 5 0 200 0 3.622 225.451 225.451 0

SAVEVALUE RETRY VALUE

ISFREE 0 1.000

COUNTOFSHORTTASKS 0 11.000

COUNTOFLONGTASKS 0 17.000

TOTALTIMEOFSHORTTASKS 0 80.118

TOTALTIMEOFLONGTASKS 0 1565.536

Длина очереди готовых к обработке пакетов = 6

Среднее время выполнения короткого задания равна = 80 / 11 = 7,27

Среднее время выполнения длинного задания равна = 1565/ 17 = 92,06

Сравнение показывает, что длинное задание в среднем выполняется дольше на 84.79 сек.

Соседние файлы в предмете GPSS