Пример 7.5. Выбор устройства по наименьшему количеству обслуженных транзактов, если выбранное устройство занято транзакт ожидает его освобождения в общей очереди

Структурная схема примера представлена на рис.7.5.

 
 


 

BUF
PK2
GT

Решённые задачи

           
   
   
 
 


 

Равномерный Неогран. ·

закон 10±3 длины ·

·

 
 
PK8


 

 

Равномерный

pакон 75±50

 

Время функционирования всех элементов модели распределено по равномерному закону.

Протабулировать время решения задач, Останов после вывода из модели 100 задач.

 

Рис.7.5. Структурная схема примера 7.5

 

Программа

 

VREMA TABLE M1,50,10,20

GENERATE 10,3

QUEUE BUF

SELECT MIN VIBOR,1,8,,FC

*Транзакт, вошедший в блок SELECT, просматривает все РК с первого по

*восьмой и записывает в параметр с именем VIBOR номер выбранного РК,

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

SEIZE P$VIBOR

*Транзакт занимает устройство, номер которого указан в параметре с

*именем VIBOR

DEPART BUF

ADVANCE 75,50

RELEASE *$VIBOR

*Транзакт покидает устройство, номер которого указан в параметре с

*именем VIBOR

TABULATE VREMA

TERMINATE 1

START 100

 

Отчёт

GPSS World Simulation Report - Untitled Model 1.2.1

 

 

Monday, March 12, 2012 08:54:51

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1298.325 9 8 0

 

 

NAME VALUE

BUF 10001.000

VIBOR 10002.000

VREMA 10000.000

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 128 0 0

2 QUEUE 128 0 0

3 SELECT 128 24 0

4 SEIZE 104 0 0

5 DEPART 104 0 0

6 ADVANCE 104 4 0

7 RELEASE 100 0 0

8 TABULATE 100 0 0

9 TERMINATE 100 0 0

 

 

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

1 13 0.907 90.542 1 75 0 0 0 24

2 13 0.815 81.437 1 0 0 0 0 0

3 13 0.641 63.988 1 120 0 0 0 0

4 13 0.768 76.743 1 0 0 0 0 0

5 13 0.593 59.244 1 0 0 0 0 0

6 13 0.646 64.557 1 0 0 0 0 0

7 13 0.867 86.587 1 124 0 0 0 0

8 13 0.790 78.852 1 114 0 0 0 0

 

 

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

BUF 24 24 128 55 9.931 100.736 176.633 0

 

 

TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%

VREMA 137.378 115.950 0

_ - 50.000 19 19.00

50.000 - 60.000 6 25.00

60.000 - 70.000 5 30.00

70.000 - 80.000 7 37.00

80.000 - 90.000 6 43.00

90.000 - 100.000 7 50.00

100.000 - 110.000 7 57.00

110.000 - 120.000 8 65.00

120.000 - 130.000 2 67.00

130.000 - 140.000 4 71.00

140.000 - 150.000 1 72.00

150.000 - 160.000 1 73.00

160.000 - 170.000 2 75.00

170.000 - 180.000 2 77.00

180.000 - 190.000 2 79.00

190.000 - 200.000 1 80.00

200.000 - 210.000 0 80.00

210.000 - 220.000 3 83.00

220.000 - 230.000 0 83.00

230.000 - _ 17 100.00

 

По содержимому стандартного отчёта сделаем выводы, что устройства загружены менее равномерно чем в примере 7.2. Коэффициент использования первого, наиболее загруженного устройства, – 0,907; пятого, наименее загруженного устройства,– 0,594. Разница в загрузке устройств – 0,314 увеличилась по сравнению с примером 7.2 примерно в 4 раза. В систему для обслуживания поступило 128 транзактов, из них 100 обслужено; 4 находятся на обслуживании и 24 в очереди.

Отметим недостатки в ухудшении результативных показателей эффективности работы системы. Так по сравнению с примером 7.2: средняя длина очереди возросла с 0,755 до 9,931; время ожидания в очереди с 7,597 до 100.376; среднее время пребывания транзакта в системе с 84,339 до 137,378 и стандартное отклонение времени пребывания транзакта в системе с 31,840 до 115,950. Серьёзное ухудшение этих показателей по сравнению с примером 7.2 объясняется дисциплиной выбора и главным образом потому, что мы выбираем устройство без учёта его занятости на момент выбора, что приводит к увеличению времени ожидания. Отметим, что результативные показатели эффективности немного лучше, чем в примере 7.3, уступая этому примеру по равномерности коэффициентов использования устройств.

 

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