Модель системы массового обслуживания на GPSS (работа 1)

    Постановка задачи.

В студенческом машинном зале расположены две мини-ЭВМ и одно уст­ройство подготовки данных (УПД). Студенты приходят с интервалом 8±3 мин. и треть из них хочет испытать УПД и ЭВМ, а остальные только ЭВМ. Допустимое количество студентов в машинном зале 4 чел., включая работающего на УПД.

Работа на УПД занимает 9±4 мин. Работа на ЭВМ - 15±10 мин.; 20% рабо­тавших на ЭВМ возвращаются для повторного использования УПД и ЭВМ и ос­таются при этом в машинном зале.

Если студент пришел в машинный зал, а там уже есть 4 чел., то он ждет не более 15±2 мин. в очереди в машинный зал и, если нет возможности в течение этого времени начать работать, то он уходит.

Смоделировать работу в машинном зале в течение 48 часов.

Определить:

    загрузку УПД и обеих ЭВМ,

    максимальную длину очереди в машинный зал,

    среднее время ожидания в очереди в машинный зал,

    распределение общего времени работы студента в машинном зале,

    количество студентов, которые не дождались возможности поработать и ушли.

    Решение задачи.

      Текст программы.

Текст программы полностью приведен в конце данного документа.

      Схема решения в терминах предметной области.

Собираясь приступить к работе в машинном зале, студент подходит к нему и проверяет, есть ли очередь в машинный зал. Если таковой нет, то он ищет в по­следнем свободное место, а если очередь есть, то становится в ее конец. Затем, либо входит в машинный зал, либо создает очередь, состоящую из одного чело­века (его самого). После этого ждет в течение 15±2 мин. Если за это время место в зале не освобождается, студент уходит, в противном же случае, он покидает очередь и попадает в машинный зал.

Работа студента в машинном зале происходит следующим образом. Сту­дент определяет, приступить ли ему к работе УПД, а затем на одной из ЭВМ (по условию задачи, число таких студентов составляет треть от общего числа посети­телей) или пройти сразу к ЭВМ (все остальные). После работы на ЭВМ каждый студент может либо покинуть машинный зал, либо приступить к повторной работе (20%), теперь уже точно на УПД и ЭВМ.

      Схема решения в терминах GPSS.

        Переменные и параметры.

В качестве студентов в рамках данной модели будут рассматриваться тран­закты.

VB1 – значение максимально возможного времени ожидания студента в очереди; вычисляется для каждого транзакта в отдельности.

X1 – счетчик системного времени в минутах.

P1 – параметр транзакта, определяющий его время вхождения в оче­редь.

P2 – параметр, изображающий характеристику “нетерпеливости” студента как максимальное время пребывания транзакта в очереди.

P3 – время пребывания студента в очереди: меняется в процессе движения транзакта внутри очереди.

X2 – используется для промежуточных вычислений.

X3 – количество транзактов, пребывающих в очереди.

        Устройства, очереди и накопители.

OZD – очередь в машинный зал.

CCL – накопитель емкостью в четыре транзакта, изображающий машинный зал.

UPD – устройство, изображающее УПД.

COM – накопитель емкостью в два транзакта, изображающий пару мини-ЭВМ.

MWT – таблица распределения общего времени работы студента в машин­ном зале.

        Комментарии к программе.

Подробные комментарии приведены в тексте программы в конце данного документа. Однако стоит отметить, что в рамках модели, минимальной (и основ­ной) единицей времени является минута; а также то, что транзакт не попадает в очередь, если она отсутствует и есть место в машинном зале.

      Результаты.

Получены следующие результаты:

    Загрузка УПД – 55,2%

    Загрузка ЭВМ – 96,5%

    Максимальная длина очереди – 4 чел.

    Среднее время ожидания в очереди – 9,02 мин.

    Количество ушедших студентов – 78

    Распределение общего времени работы студентов в машинном зале приведено в таблице 2.1.

Таблица 2.1

Интервалы времени

Число студентов

Суммарная вероятность

0 – 15

36

12.59

15 – 30

106

49,65

30 – 45

78

76,92

45 – 60

15

82,72

60 – 75

23

90,21

75 – 90

16

95,80

90 – 105

7

98,25

105 – 120

3

99,30

120 - 135

2

100,00

    Исследование адекватности модели.

      Метод исследования.

Рассмотренный далее метод не претендует на абсолютную точность, но, тем не менее, позволяет примерно оценить соответствие модели реальной ситуации.

Метод заключается в использовании внесения изменений в начальные дан­ные. При этом анализируются изменения получаемых результатов.

      Применение метода к поставленной задаче.

Вся информация по измененным входным данным и полученным результа­там представлена в таблице 3.1 Знаком “|” отделяются значения для исходной за­дачи от значений для задачи, получаемой в результате внесения изменений.

Таблица 3.1

Параметр

Загрузка УПД, %

Загрузка ЭВМ, %

Макси­мальная длина оче­реди, чел.

Среднее время ожидания, мин.

Число ушедших студентов, чел.

Время работы системы

48 | 100

часов

55,2 | 53,7

96,5 | 97,4

4 | 4

9,02 | 8,81

78 | 152

Число мини-ЭВМ

2 | 1

шт.

55,2 | 29,7

96,5 | 99,6

4 | 4

9,02 | 11,87

78 | 203

Число человек в зале

4 | 2

55,2 | 41,2

96,5 | 74,0

4 | 4

9,02 | 9,83

78 | 116

Интервал между приходами студентов

8±3 | 1

55,2 | 56,2

96,5 | 99,3

4 | 19

9,02 | 15,10

78 | 2545

Число желающих использовать УПД и ЭВМ

33 | 50

%

55,2 | 66,6

96,5 | 95,8

4 | 4

9,02 | 8,30

78 | 56

Приведенные здесь результаты показывают, что полученная модель с достаточной точностью отображает реальную ситуацию в рамках поставленной задачи.

10 SIMULATE 20 GENERATE 8,3 ãåíåðàöèÿ òðàíçàêòîâ, èçîáðàæàþùèõ ñòóäåíòîâ 30 VB1 VARIABLE RN1/200+13 âû÷èñëåíèå ìàêñèìàëüíî âîçìîæíîãî âðåìåíè ïðåáûâàíèÿ ñòóäåíòà â ; î÷åðåäè 40 ASSIGN 3,0 ðàçíèöà ìåæäó âðåìåíåì âñòðàèâàíèÿ ñòóäåíòà â î÷åðåäü è òåêóùèì ; ìîìåíòîì 50 ASSIGN 2,V$VB1 çàïèñü ìàêñèìàëüíîãî âðåìåíè 60 ASSIGN 1,X1 âðåìÿ âõîæäåíèÿ ñòóäåíòà â î÷åðåäü 70 TEST NE X3,0,ENR åñëè î÷åðåäü ïóñòà, ïåðåéòè ê ïðîâåðêå çàíÿòîñòè ìàøèííîãî çàëà 80 ENO QUEUE OZD ðåãèñòðàöèÿ â î÷åðåäè 90 SAVEVALUE 3+,1 óâåëè÷åíèå ðàçìåðà î÷åðåäè 100 ADC ADVANCE 1 çàäåðæêà ñòóäåíòà â îæèäàíèè ñâîáîäíîãî ìåñòà â ìàøèííîì çàëå 110 GATE SF CCL,DPT åñëè â ìàøèííîì çàëå åñòü ìåñòî, ïîêèíóòü î÷åðåäü 120 SAVEVALUE 2,X1 çàïèñü òåêóùåãî âðåìåíè 130 SAVEVALUE 2-,P1 âû÷èñëåíèå ðàçíèöû ìåæäó òåêóùèì âðåìåíåì è âðåìåíåì âõîæäåíèÿ 140 ASSIGN 3,X2 è çàïèñü ðàçíèöû 150 TEST LE P3,P2,DPT åñëè ðàçíèöà ïðåâûñèëà âðåìÿ îæèäàíèÿ, ïîêèíóòü î÷åðåäü, 160 TRANSFER ,ADC â ïðîòèâíîì ñëó÷àå, ñíîâà æäàòü îäíó ìèíóòó 170 DPT SAVEVALUE 3-,1 óìåíüøåíèå ÷èñëà ñòóäåíòîâ â î÷åðåäè 180 DEPART OZD ñòóäåíò ïîêèäàåò î÷åðåäü 190 TEST G P3,P2,EN1 åñëè ðàçíèöà íå ïðåâûøàåò âðåìåíè îæèäàíèÿ, çàíÿòü ìåñòî â çàëå, 200 TERMINATE â ïðîòèâíîì ñëó÷àå, ïîêèíóòü ìàøèííûé çàë 210 ENR GATE SNF CCL,ENO åñëè â ìàøèííîì çàëå íåò ìåñò, âñòàòü â î÷åðåäü, 220 EN1 ENTER CCL â ïðîòèâíîì ñëó÷àå, çàíÿòü ñâîáîäíîå ìåñòî 230 MARK îòìåòêà íà÷àëà ðàáîòû ñòóäåíòà â ìàøèííîì çàëå 240 TRANSFER .333,CP1,UP1 òðåòü ñòóäåíòîâ âûïîëíÿåò ðàáîòó íà ÓÏÄ è ÝÂÌ, îñòàëüíûå òîëü- ; êî íà ÝÂÌ 250 UP1 SEIZE UPD ñòóäåíò çàíèìàåò ìåñòî íà ÓÏÄ 260 ADVANCE 9,4 è ðàáîòàåò íåêîòîðîå âðåìÿ, 270 RELEASE UPD çàòåì ïîêèäàåò ÓÏÄ è 280 CP1 ENTER COM çàíèìàåò ìåñòî çà îäíîé èç äâóõ ÝÂÌ, 290 ADVANCE 15,10 ðàáîòàåò â òå÷åíèè íåñêîëüêèõ ìèíóò è 300 LEAVE COM ïîêèäàåò ÝÂÌ 310 TRANSFER .200,LVE,UP1 20% ñòóäåíòîâ âîçâðàùàþòñÿ äëÿ ïîâòîðíîãî èñïîëüçîâàíèÿ ÓÏÄ è ; ÝÂÌ 320 LVE LEAVE CCL ñòóäåíò ïîêèäàåò ìàøèííûé çàë 330 TABULATE MWT ôèêñàöèÿ âðåìåíè ïðåáûâàíèÿ ñòóäåíòà â ìàøèííîì çàëå 340 TERMINATE ñòóäåíò óõîäèò 350 GENERATE 1 ìîäåëèðîâàíèå âðåìåíè ðàáîòû ñèñòåìû 360 SAVEVALUE 1+,1 ñ÷åò÷èê âðåìåíè (â ìèíóòàõ) 370 TRM TERMINATE 1 îäíà ìèíóòà ñèñòåìíîãî âðåìåíè ïðîøëà 380 CCL STORAGE 4 âìåñòèòåëüíîñòü ìàøèííîãî çàëà 390 COM STORAGE 2 êîëè÷åñòâî ÝÂÌ 400 MWT TABLE M1,15,15,15 îïèñàíèå òàáëèöû ðàñïðåäåëåíèÿ îáùåãî âðåìåíè ðàáîòû ñòóäåíòà ; â ìàøèííîì çàëå 410 START 2880 ðàáîòà ñèñòåìû â òå÷åíèè 48 ÷àñîâ (60*48=2880 ÷àñîâ)