Аппаратная категория

 

 

ЛЕКЦИЯ 4

 

 

Аппаратная категория

Устройство – это объект, который может находиться в одном из двух состояний: либо быть свободным, либо занятым только одним транзактом. Изменять… SEIZE A RELEASE A

Статистическая категория

QUEUE A,B DEPART A,B В операнде А указывается идентификатор очереди, а в операнд В можно указать количество занимаемых (блок QUEUE) или…

Программа

BUF STORAGE 1000 GENERATE 10,4 *Генерация транзактов, время поступления между которыми распределено *по равномерному закону в диапазоне от 6 до 14…

Отчет

 

 

GPSS World Simulation Report - 1.3.1

 

 

Thursday, November 01, 2007 09:34:39

 

* В первой строке отчёта указывается дата *«прогона» модели и получения отчёта.

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1014.346 7 1 1

 

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

 

 

NAME VALUE

BUF 10000.000

PK 10001.000

 

* В левом столбце данных строк отчёта указывается *имя объекта, а в правом номер, присвоенный ему при *трансляции.

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 100 0 0

2 ENTER 100 0 0

3 SEIZE 100 0 0

4 LEAVE 100 0 0

5 ADVANCE 100 0 0

6 RELEASE 100 0 0

7 TERMINATE 100 0 0

 

* В приведённом фрагменте отчёта в пяти столбцах *указываются следующие данные: в первом столбце - номер *блока, присвоенный ему при трансляции (командам номер *не присваивается); во втором – наименование типа *блока; в третьем – количество входов транзактов в *блоки; в четвёртом количество транзактов, находившихся *в блоках на момент окончания моделирования; в пятом – *количество транзактов, ожидающих выполнения *специфических условий, зависящих от состояний *конкретных блоков.

 

 

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

PK 100 0.801 8.127 1 0 0 0 0 0

 

* Для устройств в десяти столбцах отчёта *указываются следующие данные: в первом столбце – *идентификатор устройства (имя или номер); во втором – *количество транзактов, входивших в устройство; в *третьем – коэффициент использования устройства в долях *от единицы; в четвёртом – среднее время занятия *устройства одним транзактом; в пятом – состояние *устройства в момент завершения моделирования по *доступности, 1 означает,что устройство доступно, 0 – *не доступно; в шестом – номер транзакта, занимающего *устройство; в седьмом – количество транзактов, *ожидающих возможности занять устройство с прерыванием *других транзактов; в восьмом – количество транзактов, *выполнение которых прервано на данном устройстве; в *девятом – количество транзактов, ожидающих выполнения *специфического условия, которое зависит от данного *устройства; в десятом – количество транзактов, *ожидающих возможности занять данное устройство, в т.ч. *с помощью дркгих блоков.

 

 

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

BUF 1000000 1000000 0 2 100 1 0.211 0.000 0 0

 

* Для памятей в 11-и столбцах отчёта указываются *следующие данные: в превом столбце – идентификатор *памяти; во втором - заданный объём памяти командой *STORAGE; в третьем – количество неиспользуемых мест в *памяти на момент завершения моделирования; в четвёртом *- минимальное количество занятых мест в памяти за всё *время моделирования; в пятом – максимальное количество *мест, занимавшихся в памяти за всё время *моделирования; в шестом – количество входов транзактов *в память; в седьмом – состояние памяти в момент *завершения моделирования, 1 означает доступное *состояние, 0 – недоступное; в восьмом – взвешенное во *времени среднее содержимое памяти; в девятом – *коэффициент использования памяти; в десятом – *количество транзактов, ожидающих выполнения *специфического условия, зависящего от состояния данной *памяти; в одиннадцатом – количество транзактов, *ожидающих в блоке ENTER на момент завершения *моделирования.

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

101 0 1020.882 101 0 1

* Для списка будущих событий в восьми столбцах *отчёта указываются следующие данные: в первом столбце *– номер каждого транзакта, находящегося в списке *будущих событий; во втором – приоритет транзакта; в *третьем – время, когда планируется вывод транзакта из *блока; в четвёртом – номер семейства данного *транзакта; в пятом - номер блока, в котором находился *транзакт на момент завершения моделирования; в шестом *– номер следующего блока, в который должен поступить *данный транзакт; в седьмом – идентификатор параметров; *в восьмом – содержимое параметра.

* По содержимому отчёта сделаем заключение, что *среднее время обслуживания устройством одного *транзакта – 8.127 сравнительно ненамного отличается от *заданного среднего значения – 8.0; коэффициент *использования устройства – 0.801 также не на много *отличается от отношения среднеговремени обслуживания к *среднему времени между поступлением транзактов – 0.8. *Таким образом можно сделать заключение о том, что *результаты моделирования не противоречат здравому *смыслу. По статистическим данным по функционпрованию *памяти отметим, что средняя длина памяти равна – *0.211, а максимальная – 2 транзактам.

 

 

Пример 4.2. Система массового обслуживания «Генератор транзактов – очередь – устройство»

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

 

PK
BUF
GT
Решённые

задачи

10±4 Неогран. 8±5

Равномерный длины Равномерный

закон закон

 

Завершить моделирование после

решения 100 задач

 

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

 

 

Пусть в условиях предыдущего примера вместо памяти требуется использовать очередь и протабулировать время пребывания транзакта в системе и в очереди. Для этого перед блоком GENERATE введем команды

VREMJ TABLE M1,3,1,30 и

OCHER QTABLE BUF,0,2,10

В первой таблице будет регистрироваться время пребывания транзакта в модели, минимальное регистрируемое время равно 3 единицам, вес одного интервала таблицы равен 1, количество интервалов таблицы 30, максимальное время, которое будет зарегистрировано в интервалах таблицы будет 3+1*30=33.

Во второй таблице будет регистрироваться время ожидания транзакта в очереди с именем BUF, минимальное регистрируемое время равно 0 единицам, вес одного интервала таблицы равен 2, количество интервалов таблицы 10, максимальное время, которое будет зарегистрировано в интервалах таблицы будет 0+2*10=20. Отметим, что таблицы для регистрации времени ожидания можно использовать только для очередей и нельзя использовать для памятей и списков пользователей. Которые применяются для регистрации времени ожидания.

 

Вместо ENTER пишем QUEUE, вместо LEAVE пишем DEPART. После RELEASE и перед TERMINATE пишем FINAL TABULATE VREMJ

 

.

Программа

OCHER QTABLE BUF,0,2,10 GENERATE 10,4 *Генерация транзактов, время поступления между которыми распределено *по равномерному закону в диапазоне от 6 до 14…

Отчет

 

Пояснения к отчёту дадим только для объектов, не встречавшихся в предыдущем примере.

GPSS World Simulation Report - 2.4.1

 

 

Thursday, November 01, 2007 09:34:59

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1014.346 8 1 1

 

 

NAME VALUE

BUF 10001.000

FINAL 7.000

PK 10002.000

VREMJ 10000.000

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 100 0 0

2 QUEUE 100 0 0

3 SEIZE 100 0 0

4 DEPART 100 0 0

5 ADVANCE 100 0 0

6 RELEASE 100 0 0

FINAL 7 TABULATE 100 0 0

8 TERMINATE 100 0 0

 

 

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

PK 100 0.801 8.127 1 0 0 0 0 0

 

 

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

BUF 2 0 100 60 0.211 2.145 5.363 0

 

* Для очередей в девяти столбцах приводятся *следующие данные: в первом столбце – идентификатор *очереди; во втором – максимальное содержимое очереди *за время моделирования; в третьем – текущее содержимое *очереди в момент завершения моделирования; в четвёртом *– общее количество транзактов,входивших в очередь; в *пятом – общее количество транзактов, входивших в *очередь, с нулевым временем ожидания; в шестом – *взвешенное по времени моделирования среднее количество *транзактов в очереди; в седьмом – среднее время *ожидания в очереди одного транзакта; в восьмом – *среднее время ожидания в очереди одного транзакта без *учёта транзактов с нулевым временем задержки; в *девятом – количество транзактов, ожидающих выполнения *специфического условия, зависящего от состояния *очереди.

 

 

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

VREMJ 10.272 5.121 0

3.000 - 4.000 5 5.00

4.000 - 5.000 8 13.00

5.000 - 6.000 6 19.00

6.000 - 7.000 6 25.00

7.000 - 8.000 9 34.00

8.000 - 9.000 6 40.00

9.000 - 10.000 11 51.00

10.000 - 11.000 13 64.00

11.000 - 12.000 13 77.00

12.000 - 13.000 10 87.00

13.000 - 14.000 0 87.00

14.000 - 15.000 2 89.00

15.000 - 16.000 1 90.00

16.000 - 17.000 1 91.00

17.000 - 18.000 1 92.00

18.000 - 19.000 2 94.00

19.000 - 20.000 1 95.00

20.000 - 21.000 0 95.00

21.000 - 22.000 1 96.00

22.000 - 23.000 0 96.00

23.000 - 24.000 1 97.00

24.000 - 25.000 0 97.00

25.000 - 26.000 0 97.00

26.000 - 27.000 1 98.00

27.000 - 28.000 0 98.00

28.000 - 29.000 0 98.00

29.000 - 30.000 1 99.00

30.000 - 31.000 1 100.00

 

* В шапке таблицы указывается идентификатор *таблицы; среднее значение аргумента таблицы; *стандартное отклонение аргумента таблицы. Для *введённых интервалов таблицы указываются следующие *данные: нижняя и верхняя границы интервала таблицы; *количество транзактов, ожидающих выполнения *специфического условия, зависящего от состояния *таблицы; количество элементов, попавших в данный *интервал таблицы; накопленная частота попадания *элементов в данный интервал таблицы.

 

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

101 0 1020.882 101 0 1

* По содержимому отчётов к примерам 6.1 6.2 *сделаем вывод о близости полученных результатов *моделирования при использовании памяти и очереди для *имитации функционирования очереди. Ввод в модель *таблицы расширяет возможности анализа распределения *времени пребывания транзакта в моделируемой системе.

 

Пример 4.3. Система массового обслуживания с транзактами двух приоритетов

Пусть в условиях примера 4.1 появляется еще один поток клиентов, имеющих приоритет в обслуживании по сравнению с основным потоком. Структурная схема примера представлена на рис.4.3.

 

PK
BUF
GT
Решённые

задачи

10±4 Неогран. 8±5

Равномерный длины Равномерный

закон закон

 

PK
BUF
GT
Решённые

задачи

150±60 Неогран. Экспоненциальный

Равномерный длины закон со средним 25

закон

 

Прерванные задачи

 

 

Завершить моделирование после

решения 100 задач

 

 

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

 

Программа

  BUF STORAGE 1000000 GENERATE 10,4

Отчет

 

 

GPSS World Simulation Report - 3.35.1

 

 

Friday, November 02, 2007 09:49:37

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 1006.460 16 1 1

 

 

NAME VALUE

BUF 10000.000

FINAL 16.000

OTKAZ 15.000

PK 10001.000

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 96 0 0

2 ENTER 96 1 0

3 SEIZE 95 1 0

4 LEAVE 94 0 0

5 ADVANCE 94 0 0

6 RELEASE 89 0 0

7 TERMINATE 89 0 0

8 GENERATE 6 0 0

9 QUEUE 6 0 0

10 PREEMPT 6 0 0

11 DEPART 6 0 0

12 ADVANCE 6 0 0

13 RETURN 6 0 0

14 TRANSFER 6 0 0

OTKAZ 15 TERMINATE 5 0 0

FINAL 16 TERMINATE 6 0 0

 

 

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

PK 101 0.830 8.270 1 102 0 0 0 1

 

 

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

BUF 1 0 6 6 0.000 0.000 0.000 0

 

 

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY

BUF 1000000 999998 0 3 96 1 0.401 0.000 0 0

 

 

CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE

102 0 992.827 102 3 4

 

 

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

104 0 1012.264 104 0 1

99 1 1052.049 99 0 8

В приведённом отчёте по примеру 4.3 по сравнению с предыдущими примерами имеется список текущих событий, состоящий из восьми столбцов. В первом столбце указывается номер транзакта, находящегося в списке; во втором – приоритет транзакта; в третьем – время входа транзакта в систему; в четвёртом – номер семейства данного транзакта; в пятом – номер блока, в котором находится транзакт в момент завершения моделирования; в шестом – номер следующего блока, в который должен перейти данный транзакт; в седьмом индефикатор параметра; в восьмом – содержимое параметра.

По содержимому отчёта отметим, что в программе для неприоритетных транзактов для имитации очереди использована память с именем BUF, а для приоритетных – очередь с тем же именем. Всего в модели обслужено 89 неприоритетных транзактов и 6 приоритетных. Обслуживание 5 неприоритетных транзактов прервано и они выведены из системы без обслуживания. Всего до завершния моделирования из системы выведено 100 транзактов.

 

Пример 4.4. Система массового обслуживания с транзактами двух приоритетов

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

PREEMPT PK,PR,OTKAZ,,RЕ, на запись

PREEMPT PK,PR и удаляется блок

OTKAZ TERMINATE 1.

 

 

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

 

PK
BUF
GT
Решённые

задачи

10±4 Неогран. 8±5

Равномерный длины Равномерный

закон закон

 

PK
BUF
GT
Решённые

задачи

150±60 Неогран. Экспоненциальный

Равномерный длины закон со средним 25

закон

 

Завершить моделирование после

решения 100 задач

 

 

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

 

Программа

  BUF STORAGE 1000000 GENERATE 10,4

Пример 4.5. Система массового обслуживания «Генератор транзактов – очередь – устройство».

Информационная система (ИС), представлена в формализованном виде системой массового обслуживания «Генератор транзактов – очередь – устройство». Очередь имитируется объектом типа «очередь».

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

 

 
 

 


10±6 Неогран. 9±7

Равномерный длины Равномерный

закон закон

 

Завершить моделирование после

решения 201 задачи

 

 

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

 

Программа

 

VROGID QTABLE BUF,0,5,8

VRPREB TABLE M1,2,5,8

GENERATE 10,6

QUEUE BUF

SEIZE PK

DEPART BUF

ADVANCE 9,7

RELEASE PK

TABULATE VRPREB

TERMINATE 1

 

Отчёт

 

 

GPSS World Simulation Report - 1.17.2

 

 

Sunday, February 17, 2008 12:45:56

 

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 2071.092 8 1 0

 

 

NAME VALUE

BUF 10001.000

PK 10003.000

VROGID 10000.000

VRPREB 10002.000

 

 

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 202 0 0

2 QUEUE 202 0 0

3 SEIZE 202 1 0

4 DEPART 201 0 0

5 ADVANCE 201 0 0

6 RELEASE 201 0 0

7 TABULATE 201 0 0

8 TERMINATE 201 0 0

 

 

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

PK 202 0.855 8.764 1 202 0 0 0 0

 

 

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

BUF 4 1 202 78 0.545 5.590 9.107 0

 

 

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

VROGID 5.611 7.103 0

─ - 0.000 78 38.81

0.000 - 5.000 44 60.70

5.000 - 10.000 34 77.61

10.000 - 15.000 22 88.56

15.000 - 20.000 10 93.53

20.000 - 25.000 8 97.51

25.000 - 30.000 4 99.50

30.000 - ─ 1 100.00

 

 

VRPREB 14.418 7.741 0

2.000 - 7.000 33 16.42

7.000 - 12.000 49 40.80

12.000 - 17.000 65 73.13

17.000 - 22.000 23 84.58

22.000 - 27.000 12 90.55

27.000 - 32.000 13 97.01

32.000 - ─ 6 100.00

 

 

CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE

202 0 2069.634 202 3 4

 

 

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

203 0 2083.652 203 0 1

 

Рис.4.6. Диаграмма блоков

Рис.4.7. Временная диаграмма поступления транзактов в систему

 

 

Рис.4.8. Временная диаграмма изменения состояния очереди (количества транзактов в очереди)

Рис.4.9. Временная диаграмма изменения состояния устройства (количества транзактов в устройстве)
Рис.4.10. Временная диаграмма изменения состояния системы (количества транзактов в системе)
Рис.4.11. Временная диаграмма вывода транзактов из системы
Рис.4.12. Диаграмма времени ожидания транзактов в очереди

Рис.4.13. Диаграмма времени пребывания транзактов в системе