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

книги / Моделирование систем. Практикум

.pdf
Скачиваний:
7
Добавлен:
12.11.2023
Размер:
17.79 Mб
Скачать

ных номеров. Каждая новая копия становится членом семейства транзактов, порожденного одним исходным транзактом, который был создан блоком GENERATE.

Блок ASSEMBLE условно относится к блокам уничтожения транзактов. Функция уничтожения проявляется в том, что блок ASSEMBLE объединяет определенное количество транзактов, по­ сле чего из него выходит один транзакт, а все остальные уничтожа­ ются. В то же время этот блок выполняет скорее собирательную функцию, которая бывает необходима при моделировании про­ цесса сбора деталей, сообщений, отдельных частей информации для полного представления объекта моделирования, т. е. системы S. Блок ASSEMBLE осуществляет сборку заданного числа тран­ зактов. Блок ASSEMBLE имеет следующий формат:

ASSEMBLE <А>

Поле <А> объединяет заданное число транзактов, принадлежа­ щих к одному семейству, в один транзакт, который переходит в следующий по номеру блок. Операнд поля <А> может быть поло­ жительным целым числом, именем, СЧА, СЧА с параметром.

Блок TRANSFER относится к блокам, которые изменяют мар­ шруты транзактов. Он является основным средством моделирую­ щего алгоритма, позволяющим направить сообщение к любому блоку модели.

Общий формат записи для блока TRANSFER имеет вид:

TRANSFER <A>,[<B>],[<C>],[<D>]

Блок TRANSFER имеет следующие режимы работы: безуслов­ ный (пробел); статистический (.); BOTH; ALL; PICK; функция (FN); параметр (Р); подпрограмма (SBR); SIM.

Операнд поля <А> может быть положительным целым числом, именем, дробным числом, СЧА, СЧА с параметром. Поля <В> и <С> задают возможные значения номеров (имен по метке) сле­ дующих блоков или их положение. В поле <D> в некоторых случа­ ях указывается параметр перехода к следующему блоку.

Пример 3.5. В систему массового обслуживания ( Q -схем у) поступают пакеты заявок по равномерному закону в интервале 5 ± 2 мин. Обработка заявок, поступивших на первую сортировку, осуществляется также по равномерному закону в интервале 6 ± 2 мин. Далее рассортированные за­ явки проходят параллельную обработку с еще одним этапом сортировки. После обработки заявки собираются в один пакет и выводятся из систе­ мы. Необходимо смоделировать работу системы по обработке 100 паке­ тов.

4*

51

SIMULATE

10 GENERATE 5,3,,100

20 SPLIT 1,CHAN1

30 SEIZE 1

40 ADVANCE 6,2

50 RELEASE 1

60 TRANSFER ,OUT3 70CHAN1 SPLIT 1,CHAN2 80 SEIZE 2

90 ADVANCE 6,2

100 RELEASE 2

П0 TRANSFER ,OUT3 120CHAN2 SEIZE 3 130 ADVANCE 6,2

140 RELEASE 3 150OUT3 ASSEMBLE 3 160 TERMINATE 1 START 100

END

Р и с . 3.9. Программа E X A M 05.G PS

Текст программы приведен под именем EXAM05.GPS на рис. 3.9. В приведенной программе блок TRANSFER используется в режиме безус­ ловного перехода по метке к заданному блоку ASSEMBLE, который осу­ ществляет сборку трех компонентов пакета заявок и выводит один пакет. Таким образом, происходит обработка и формирование 100 пакетов. Первый блок программы SPLIT создает одну копию и отправляет по мет­ ке CHAN 1 на другой блок SPLIT, который также создает одну копию и от­ правляет на сборку в блок ASSEMBLE. Такое копирование транзактов моделирует сортировку информации каждого пакета. Входящий пакет рассортировывается на три части, которые проходят обработку в трех уст­ ройствах с одной и той же временнбй задержкой и потом вновь из них формируется один пакет. Формально в блоке ASSEMBLE собираются 300 частей, из которых собирается 100 пакетов.

Рассматриваемые блоки в программе имеют следующие форматы за­ писи:

— блоки SPLIT:

20 SPLIT 1, CHAN1

70 CHANl SPLIT 1, CHAN2

— блоки TRANSFER:

60 TRANSFER, OUT3

110 TRANSFER, OUT3

— блок ASSEMBLE:

150 OUT3 ASSEMBLE 3

Блок SPLIT под номером 20 копирует один транзакт, отправляет его по метке CHANl на второй блок SPLIT. При этом через первый блок

52

GPSS/PC

R e p o r t f i l e

REPORT.GPS. (V 2 ,

# 3 7349)

0 1 -1 0 -2 0 0 1

0 5 :2 1 :4 9

p a g e 1

START_TIME

£ND_TIME BLOCKS

FA C ILITIES

STORAGES

FR£E_MEMORY

 

0

 

611

16

3

 

0

 

80648

 

LINE

LOC

 

BLOCK_TYPE

ENTRY_ COUNT

CURRENT COUNT

RETRY

10

1

 

GENERATE

"100

 

 

0

0

20

2

 

SPLIT

100

 

 

0

0

30

3

 

SEIZE

100

 

 

0

0

40

4

 

ADVANCE

100

 

 

0

0

50

5

 

RELEASE

100

 

 

0

0

60

6

 

TRANSFER

100

 

 

0

0

70

CHAN1

 

SPLIT

100

 

 

0

0

80

8

 

SEIZE

100

 

 

0

0

90

9

 

ADVANCE

100

 

 

0

0

100

10

 

RELEASE

100

 

 

0

0

110

11

 

TRANSFER

100

 

 

0

0

120

CHAN2

 

SEIZE

100

 

 

0

0

130

13

 

ADVANCE

100

 

 

0

0

140

14

 

RELEASE

100

 

 

0

0

150

OUT3

 

ASSEMBLE

300

 

 

0

0

160

16

 

TERMINATE

100

 

 

0

0

FACILITY

ENTRIES

UTIL

AVE. TIME AVAILABLE

OWNER PEND

INTER RETRY DELAY

1

100

0 .9 7 5

5 .9 6

1

0

0

0

0

0

2

100

0

986

6 .0 3

1

0

0

0

0

0

3

100

0 .9 3 4

5 .7 1

1

0

0

0

0

0

XACT_GROUP

GROUP_SIZE

RETRY

 

 

 

 

 

POSITION

 

 

0

 

0

 

 

 

 

 

Р и с . ЗЛО. Стандартный отчет EX A M 05.RPT

SPLIT проходит транзакт-родитель на следующий по номеру блок (30 SEIZE 1). Второй блок SPLIT также копирует один транзакт, отправляет его по метке на третье устройство (120 CHAN2 SEIZE 3) и пропускает транзакт-родителя на второе устройство (80 SEIZE 2). В блоке ASSEMBLE собираются транзакты после блоков TRANSFER (60 TRANSFER, OUT3 и 110 TRANSFER, OUT3) и блока RELEASE (140 RELEASE 3). С каждым шагом уменьшения числа счетчика завершений в блоке ASSEMBLE собираются три транзакта, а выходит из него только один. За полный цикл моделирования в блоке ASSEMBLE собираются 300 транзактов и выходят из него 100 транзактов. Формально блок ASSEMBLE уничтожает 200 транзактов.

Описанную логику работы программы EXAM05.GPS легко просмот­ реть по файлу стандартного отчета, который имеет имя EXAM05.RPT (рис. 3.10). Основное внимание следует обратить на количество транзак­ тов, входящих в каждый блок модели. Видно, что во все блоки, кроме ASSEMBLE, входило 100 транзактов. В блок ASSEMBLE вошло 300 транзактов, а вышло 100, которые затем вошли в блок TERMINATE и там все уничтожились (выведены из системы). Формально в блоке ASSEMBLE уничтожено 200 транзактов, а по логике работы системы произошло объединение отдельных частей заявок в один общий пакет.

В устройства под номерами 1,2,3 (FACILITY) входило 100 транзактов (тем самым осуществлялась параллельная обработка), среднее время пре­ бывания в них составило 5.96,6.03, 5.71 единиц времени соответственно. Коэффициенты использования этих устройств (часть времени от общего времени моделирования) соответственно равны 0.975, 0.986, 0.934. Пол­ ное время моделирования заняло 611 единиц времени. Наличие поля

53

<D> в блоке GENERATE позволило завести в систему обслуживания 100 пакетов и 100 обработанных пакетов вывести. Причем первый блок SPLIT под номером 20 формально порождает одну копию транзакта и от­ правляет по метке CHAN1 для еще одного копирования (блоком SPLIT под номером 70) и по обработке во втором устройстве (блоки SEIZE, ADVANCE, RELEASE соответственно под номерами 80, 90, 100). Второй блок SPLIT копирует транзакт и отправляет его по метке CHAN2 на третье устройство, которое моделируется блоками SEIZE, ADVANCE, RELEASE (номера блоков 120, 130, 140).

Два блока TRANSFER под номерами 60 и 110 в режиме безусловной передачи отправляют обработанные транзакты в блок сборки ASSEMBLE под номером 150 с меткой OUT3. В блок ASSEMBLE входит также транзакт после третьего устройства. Блок ASSEMBLE принял всего 300 транзактов, а вывел 100 транзактов, что отражает процесс сборки со­ общений в одно новое. Формально же блок ASSEMBLE собрал 300 транзактов, 200 из них уничтожил и 100 транзактов отправил на следую­ щий по номеру блок (блок TERMINATE под номером 160). Каждый сге­ нерированный транзакт расщепляется в конце концов на три и после об­ работки происходит сбор в блоке ASSEMBLE.

Рассмотрим работу блока TRANSFER в режиме статистического вы­ бора.

Пример 3.6. В систему массового обслуживания (Q -схем у) поступают заявки по равномерному закону через 5 ± 2 мин. Обработка заявок осуще­ ствляется двумя обслуживающими каналами. Поступление заявок в тот или иной канал происходит с вероятностью 0.3 и 0.7. Обслуживание зая­ вок каждым каналом происходит по равномерному закону со временем 7 ± 2 мин. Необходимо осуществить обработку 100 заявок при одном и двух прогонах программы.

Программа решения примера 3.6 EXAM06.GPS приведена на рис. 3.11. Здесь предусмотрен оператор очистки данных CLEAR. В приводи­ мой программе первый прогон происходит при закомментированных операторах CLEAR и START 100. Для выполнения двух прогонов про-

10 GENERATE 5,2„100

20 TRANSFER .7,CHAN1,CHAN2

30 CHAN1 SEIZE 1

40 ADVANCE 7,2

50 RELEASE 1

60 TRANSFER,EXIT

70CHAN2 SEIZE 2

80 ADVANCE 7,2

90 RELEASE 2

100 EXIT TERMINATE 1 START 100

;CLEAR ;START 100 END

Р и с . 3.11. Программа EXAM06.GPS

54

граммы используются два оператора START 100 и один оператор CLEAR между ними.

Формат записи блока TRANSFER в режиме статистического выбора имеет вид:

20T R A N SFE R S,C H A N 1,C H A N 2

Вполе <А> записано число 0.7. Это означает, что из общего числа транзактов, входящих в блок TRANSFER под номером 20, в среднем 0.7 по вероятности будут пытаться войти в блок CHAN2. Остальные 0.3 от 100 также по вероятности будут пытаться войти в блок CHAN1. Передача транзактов в блоки происходит по меткам, которые записываются в поля

<В> и <С> соответственно. Блок TRANSFER под номером 60 осуществ­ ляет безусловную передачу транзактов в блок TERMINATE.

Оператор CLEAR записывается в формате без параметров или с пус­ тыми полями данных. Он позволяет осуществлять параллельные машин­ ные эксперименты с моделями систем. Проведение параллельных экспе­ риментов необходимо для систем с вероятностными процессами, для ко­ торых, как правило, необходимо вычисление средних операционных ха­ рактеристик.

Следующие файлы стандартного отчета для программы EXAM06.GPS отражают процессы моделирования при одном и двукратном прогонах при статистическом выборе блока TRANSFER.

Приведем файлы стандартного отчета программы EXAM06.GPS при однократном (рис. 3.12) и при двукратном прогоне (рис. 3.13). Как видно на файлах стандартного отчета (под одним и тем же именем EXAM06.RPT), результаты моделирования заметно различаются: в пер­ вом случае через устройство с меткой CHAN1 прошло и обработалось 28 транзактов, через устройство с меткой CHAN2 прошло и обработалось 72 транзакта. В сумме они дают 100 транзактов, что и требовалось по усло­ вию примера. Во втором случае имеем 38 и 62 транзакта соответственно. В сумме опять получается 100. Разброс обрабатываемых транзактов обу-

GPSS/PC

R e p o rt f i l e

REPORT.GPS. (V 2 ,

# 37349)

0 1 - 1 0 - 2001 05 :2 1 :4 9

p a g e

1

S T A R T _ TIME

END TIME

BLOCKS

FACILITIES STORAGES

FREE

MEMORY

 

 

0

516

10

2

 

0

84464

 

LINE

LOC

BLOCK TYPE

ENTRY COUNT

CURRENT COUNT RETRY

10

1

GENERATE

 

100

 

0

 

0

20

2

TRANSFER

 

100

 

0

 

0

30

CHAN1

SEIZE

 

2B

 

0

 

0

40

4

ADVANCE

 

28

 

0

 

0

50

5

RELEASE

 

2B

 

0

 

0

60

6

TRANSFER

 

28

 

0

 

0

70

CHAN2

SEIZE

 

72

 

0

 

0

60

В

ADVANCE

 

72

 

0

 

0

90

9

RELEASE

 

72

 

0

 

0

100

EXIT

T E R M IN A T E

 

100

 

0

 

0

FACILITY

ENTRIES

UTIL

AVE. TIME AVAILABLE

OWNER PEND

INTER R E T R Y D ELA Y

1

28

0 .3 7 7

6 .9 6

1

0

0

0

0

0

2

72

0 .9 7 6

7 .0 0

1

0

0

0

0

0

XACT_GROUP

GROUP SIZE

RETRY

 

 

 

 

 

POSITION

0

 

0

 

 

 

 

 

Р и с . 3.12. Стандартный отчет EXAM06.GPS при однократном прогоне

55

GPSS/PC

R e p o rt f i l e REPORT.GPS.

(V 2 ,

* 37349)

0 1 - 1 0 - 2001

0 5 :2 1 :1 51

p a g e 1

START_ TIME

END TIME

BLOCKS

FACILITIES

STORAGES

FREE MEMORY

 

"

0

 

514

 

10

 

2

 

0

64464

 

LINE

 

LOG

 

BLOCK_TYPE

ENTRY_COUNT

CURRENT COUNT

RETRY

10

 

1

 

GENERATE

 

100

 

0

 

0

20

 

2

 

TRANSFER

 

100

 

0

 

0

30

 

CHANI

 

SEIZE

 

 

 

38

 

0

 

0

40

 

4

 

ADVANCE

 

 

38

 

0

 

0

SO

 

S

 

RELEASE

 

 

38

 

0

 

0

60

 

6

 

TRANSFER

 

 

38

 

0

 

0

70

 

CHAN2

 

SEIZE

 

 

 

62

 

0

 

0

BO

 

8

 

ADVANCE

 

 

62

 

0

 

0

90

 

9

 

RELEASE

 

 

62

 

0

 

0

100

 

EXIT

 

TERMINATE

100

 

0

 

0

FACILITY

 

ENTRIES

U TIL.

AVE. TIME AVAILABLE

OWNER PEND

INTER RETRY DELAY

1

 

38 0 .5 2 7

 

7 .1 3

1

0

0

0

0

0

2

 

62

0

046

 

7 .0 2

1

0

0

0

0

0

XACTJ3ROUP

 

GROUP SIZE

 

RETRY

 

 

 

 

 

POSITION

 

 

0

 

 

 

0

 

 

 

 

 

Р и с .

3.13. Стандартный

отчет

E X A M 06.G PS

при

двукратном

прогоне

 

 

 

10

G ENERA TE 5,2„100

 

 

 

 

 

 

 

 

20

TR A NSFER BO TH,CH AN 1,CHAN2

 

 

 

 

 

 

30

CHAN1

SEIZE 1

 

 

 

 

 

 

 

 

40

A D VAN CE 5,3

 

 

 

 

 

 

 

 

 

50

RELEASE 1

 

 

 

 

 

 

 

 

 

60

T R A N SF E R ,EXIT

 

 

 

 

 

 

 

 

70

CHAN2

SEIZE 2

 

 

 

 

 

 

 

 

80

AD VANCE 7,2

 

 

 

 

 

 

 

 

 

90

RELEASE 2

 

 

 

 

 

 

100 EXIT TERM IN ATE 1 START 100

END

Р и с . 3.14. П рограмма EX A M 07.G PS

словлен статистическим выбором блока под номером 20 TRANSFER. Пе­ реброс 70 % транзактов в устройство с меткой CHAN2 происходит стати­ стически. Статистика работы устройств также различна: в первом случае (при однократном прогоне) коэффициенты использования каналов рав­ ны 0.377 и 0.976, соответственно для CHAN 1 и CHAN2, среднее время об­ работки равно 6.96 и 7.00 мин; во втором случае (при двукратном прого­ не) коэффициенты использования устройств равны 0.527 и 0.846, соот­ ветственно для CHAN1 и CHAN2, среднее время обработки равно 7.13 и 7.02 мин.

Блок TRANSFER под номером 60 функционирует в режиме безусловной передачи. Он отправляет обработанные транзакты в блок TERMINATE для их уничтожения или, как можно сказать, в реальном случае для вывода сообщений из системы.

Пример 3.7. Блок TRANSFER в режиме BOTH. Пусть в условиях при­ мера 3.6 заявки могут обрабатываться на одном из двух приборов; на 1-м за 5 ± 3 мин, на 2-м за 7 ± 2 мин. Причем предпочтительнее обработка на первом приборе. Программа решения примера 3.7 приведена под именем

56

GPSS/PC

R e p o r t f i l e

REPORT GPS

(V 2 ,

# 37349)

0 2 -1 0 - 2 0 0 1

05 2 1 :1 2

p a g e 1

START_TIME

END TIME

BLOCKS

FACILITIES

STORAGES

FREE_MEMORY

LINE

0

 

~497

10

 

2

 

0

85008

 

LOC

 

BLOCK TYPE

ENTRY_ COUNT

CURRENT COUNT

RETRY

10

1

 

GENERATE

 

'lOO

 

0

 

0

20

2

 

TRANSFER

 

102

 

0

 

0

30

CHANl

 

SEIZE

 

 

65

 

0

 

0

40

4

 

ADVANCE

 

 

6S

 

0

 

0

50

5

 

RELEASE

 

 

65

 

0

 

0

60

6

 

TRANSFER

 

 

65

 

0

 

0

70

CHAN2

 

SEIZE

 

 

3S

 

0

 

0

80

8

 

ADVANCE

 

 

35

 

0

 

0

90

9

 

RELEASE

 

 

35

 

0

 

0

100

EXIT

 

TERMINATE

100

 

0

 

0

FACILITY

ENTRIES

 

UTIL.

AVE. TIME AVAILABLE

OW NER

PEND

INTER RETR

DELAY

1

6S 0 .6 6 8

S 11

1

0

0

0

0

0

2

35

0

472

6

71

1

0

0

0

0

0

XACT_GROUP

GROUP_SIZE

 

RETRY

 

 

 

 

 

POSITION

 

 

 

 

 

0

 

 

 

 

 

Р и с . 3.15 Стандартный отчет EXA M 07.R PT

EXAM07.GPS на рис. 3.14. Формат записи блока TRANSFER в режиме BOTH для программы EXAM07.GPS имеет вид:

20 TR A NSFER BO TH , C H A N l, CH A N 2

Вполе <А> блока TRANSFER стоит зарезервированное слово BOTH.

Вэтом случае каждый входящий в блок TRANSFER транзакт пытается пе­ рейти к блоку, указанному в поле <В> (переход к устройству с меткой CHAN 1). Если это сделать не удается, транзакт пытается перейти к блоку,

указанному в поле <С> (переход к устройству с меткой CHAN2). Если транзакт не может перейти ни к одному из блоков, он остается в блоке TRANSFER и будет повторять в том же порядке попытки перехода при ка­ ждом просмотре интерпретатором G P S S /P C списка текущих событий до тех пор, пока не сможет выйти из блока TRANSFER. Режим работы BOTH блока TRANSFER определяет предпочтительность выбора перехода сооб­ щения к тому или иному объекту моделируемой системы.

Результаты работы блока TRANSFER в режиме BOTH приведены в файле стандартного отчета EXAM07.RPT (рис. 3.15). Здесь отправка транзактов в устройство с меткой CHANl имеет преимущество перед уст­ ройством с меткой CHAN2. Посылка транзактов во второе устройство происходит только в том случае, если 1-й канал занят. Количество прохо­ дящих через первое устройство транзактов может быть изменено при из­ менении времени обслуживания транзактов, т. е. при изменении временнбго интервала, который задается в блоке ADVANCE.

Пример 3.8. Рассмотрим работу блока TRANSFER в режиме ALL. В систему массового обслуживания ( Q -схему) поступают заявки по равно­ мерному закону со временем 5 + 2 мин. Обработка заявок происходит в одном из четырех каналов обслуживания, для которых времена обслужи­ вания составляют: 17 ± 2 мин, 12 ± 2 мин, 9 ± 2 мин и 3 ± 2 мин соответст­ венно. Смоделировать работу системы по обработке 100 заявок четырьмя каналами, когда вновь поступающая заявка обслуживается любым сво­ бодным каналом.

57

60 TRANSFER ,EXIT 70CHAN2 SEIZE 2 80 ADVANCE 12,2 90 RELEASE 2

100

TRANSFER ,EXIT

110CHAN3 SEIZE 3

120

ADVANCE 9,2

130

RELEASE 3

140

TRANSFER,EXIT

150CHAN4 SEIZE 4

160

ADVANCE 3,2

170

RELEASE 4

180

EXIT TERMINATE 1

START 100

Р и с . 3 1 6

П рограмма EX A M 08.G PS

Блок TRANSFER в режиме ALL автоматически анализирует систему и выбирает свободное место по обслуживанию входящих заявок. В этом ре­ жиме транзакт занимает первый блок из совокупности, заданной полями <В>, <С>, <D> (программа EXAM08.GPS на рис. 3.16).

Блок TRANSFER в режиме ALL имеет следующий формат записи:

20TR A N SFER ALL, CH A N 1, CH A N 4,4

Вполе <А> блока TRANSFER задается режим ALL. В поле <В> зада­ ется метка первого анализируемого устройства, а в поле <С> — метка по­ следнего устройства В поле <D> задается число, кратное количеству бло­ ков между каждым из анализируемых устройств. В программе каждое уст­ ройство, начиная с первого, отделено друг от друга четырьмя блоками: SEIZE, ADVANCE, RELEASE, TRANSFER, EXIT. Блоки TRANSFER, EXIT работают в режиме безусловного перехода. В программе EXAM08.GPS время обработки каждого из устройств подобрано так, чтобы были задей­ ствованы все четыре устройства.

Если одно из устройств освобождается быстрее остальных, то это уст­ ройство окажется наиболее загруженным. Различную загрузку каналов без изменения времени обработки можно задать с помощью блоков копи­ рования транзактов SPLIT. Такой вариант работы системы ( Q -схем ы ) представлен в распечатке файла программы EXAM09.GPS на рис 3 17.

В программах EXAM08.GPS и EXAM09.GPS рассмотрены примеры работы блока TRANSFER в режиме ALL. В этом режиме каждый транзакт пытается прежде всего перейти к блоку, указанному в поле <В>. Если транзакт в этот блок войти не может, то последовательно проверяются все блоки в определенном ряду в поисках первого, способного принять этот транзакт, включая блок, указанный в поле <С>. При этом номер каждого проверяемого блока вычисляется как сумма номера предыдущего блока и шага (натурального числа), заданного в поле <D>:

58

 

 

SIMULATE

 

 

 

 

 

 

 

 

 

 

10

 

GENERATE 5,2„100

 

 

 

 

 

 

 

11

 

SPLIT 1,CHAN2

 

 

 

 

 

 

 

 

12

 

SPLIT 1,CHAN3

 

 

 

 

 

 

 

 

20

 

TRANSFER ALL,CHAN1,CHAN4,4

 

 

 

 

 

30CHAN1 SEIZE 1

 

 

 

 

 

 

 

 

40

 

ADVANCE 17,2

 

 

 

 

 

 

 

 

50

 

RELEASE 1

 

 

 

 

 

 

 

 

60

 

TRANSFER,EXIT

 

 

 

 

 

 

 

70CHAN2 SEIZE 2

 

 

 

 

 

 

 

 

80 ADVANCE 12,2

 

 

 

 

 

 

 

 

90 RELEASE 2

 

 

 

 

 

 

 

 

100 TRANSFER,EXIT

 

 

 

 

 

 

 

110CHAN3 SEIZE 3

 

 

 

 

 

 

 

120

ADVANCE 9,2

 

 

 

 

 

 

 

 

130

RELEASE 3

 

 

 

 

 

 

 

 

140

TRANSFER,EXIT

 

 

 

 

 

 

 

150CHAN4 SEIZE 4

 

 

 

 

 

 

 

160

ADVANCE 3,2

 

 

 

 

 

 

 

 

170

RELEASE 4

 

 

 

 

 

 

 

 

180 EXIT TERMINATE 1

 

 

 

 

 

 

 

START 100

 

 

 

 

 

 

 

 

 

 

END

 

 

 

 

 

 

 

 

 

 

Р и с

3 1 7

П рограмма E X A M 09.G PS

 

 

 

GPSS/PC R e p o r t f i l e

REPORT.GPS.

(V 2 ,

# 37349)

02- 1 0 -2 0 0 1 05

21 :1 5

p a g e

1

START_ TIME

END TIME BLOCKS

FACILITIES !STORAGES

FREE MEMORY

 

 

0

 

 

502

 

IB

 

4

 

0

83696

 

LINE

LOC

 

 

BLOCK_TYPE

ENTRY COUNT

CURRENT COUNT RETRY

10

1

 

 

 

GENERATE

 

100

 

0

 

0

20

2

 

 

 

TRANSFER

 

101

 

0

 

0

30

CHAN1

 

 

 

SEIZE

 

 

 

25

 

0

 

0

40

4

 

 

 

ADVANCE

 

 

25

 

0

 

0

50

5

 

 

 

RELEASE

 

 

25

 

0

 

0

60

6

 

 

 

TRANSFER

 

25

 

0

 

0

70

CHAN2

 

 

 

SEIZE

 

 

 

2B

 

0

 

0

80

В

 

 

 

ADVANCE

 

 

28

 

0

 

0

90

9

 

 

 

RELEASE

 

 

28

 

0

 

0

100

10

 

 

 

TRANSFER

 

28

 

0

 

0

110

CHAN3

 

 

 

SEIZE

 

 

 

27

 

0

 

0

120

12

 

 

 

ADVANCE

 

 

27

 

0

 

0

130

13

 

 

 

RELEASE

 

 

27

 

0

 

0

140

14

 

 

 

TRANSFER

 

27

 

0

 

0

150

CHAN4

 

 

 

SEIZE

 

 

 

20

 

0

 

0

160

16

 

 

 

ADVANCE

 

 

20

 

0

 

0

170

17

 

 

 

RELEASE

 

 

20

 

0

 

0

160

EXIT

 

 

 

TERMINATE

 

100

 

0

 

0

FACILITY

ENTRIES

UTIL.

AVE

TIME

AVAILABLE

OWNER PEND

INTER

RETRY DELAY

1

25

0

852

 

17

12

1

0

0

0

0

0

2

2 В

0

651

 

11

66

1

0

0

0

0

0

3

27

0

470

 

В

89

1

0

0

0

0

0

4

20

0

121

 

3

OS

1

0

0

0

0

0

XACT_GROUP

 

GROUP_SIZE

 

RETRY

 

 

 

 

 

POSITION

 

 

 

 

0

 

 

0

 

 

 

 

 

 

Р и с

 

3 1 8

Стандартный отчет

EXA M 08.R PT

 

 

59

N + h, N + 2h, N + 3h.........M ,

где N — номер блока, указанного в поле <В>; h — значение шага, указан­ ного в поле <D>; М — номер последнего блока, указанно в поле <С>. Для рассматриваемых программ шаг равен 4.

Результаты моделирования представлены на рис. 3.18 с именем EXAM08.RPT. Каждое из четырех устройств обслуживает заявки (транзакты). В блоке под номером 20 TRANSFER фигурирует число 101. Это объясняется тем, что какой-то транзакт не мог попасть ни в один из бло­ ков из-за их занятости и поэтому он вновь из этого же блока TRANSFER пытался перейти в один из свободных блоков. Перераспределение транзактов по устройствам в программе EXAM09.GPS осуществляется блока­ ми SPLIT, которые дополнительно загружают устройства. В каждое из устройств вошло соответственно 13, 23, 30, 37 транзактов. В сумме они дают число 103. По условию систему должны покинуть 100 транзактов. Оставшиеся три транзакта остались в трех первых приборах (в поле CURRENT_COUNT). Результаты моделирования приведены на рис. 3.19 именем EXAM09.RPT.

Пример 3.9. Рассмотрим работу блока TRANSFER в режиме PICK. Смоделировать обслуживание 100 заявок, которые поступают в Q -схему каждые 5 ± 2 мин. Обработка заявок может осуществляться четырьмя ка­

налами с равной вероятностью и временем обслуживания

12 ± 2 мин,

9 ± 2 мин,

7 ± 2 мин, 13 ± 2

мин

соответственно.

 

 

 

 

GPSS/PC R e p o r t f i l e

REPORT.GPS

(V 2 ,

#

37349)

0 2 -1 0 -2 0 0 1 0 5 :2 1 .1 7

p a g e 1

START_TIME

END-TIME

BLOCKS

FA C ILITIES STORAGES

FREE MEMORY

LINE

О

 

~ 260

 

20

 

4

0

 

80304

 

LOC

 

BLOCK__TYPE

 

ENTRY

COUNT

CURRENT COUNT

RETRY

10

1

 

GENERATE

 

 

50

 

0

 

0

11

2

 

SPLIT

 

 

 

50

 

0

 

0

12

3

 

SPLIT

 

 

 

50

 

0

 

0

20

4

 

TRANSFER

 

 

56

 

0

 

0

30

CHAN1

 

SEIZE

 

 

 

13

 

0

 

0

40

6

 

ADVANCE

 

 

13

 

1

 

0

50

7

 

RELEASE

 

 

12

 

0

 

0

60

8

 

TRANSFER

 

 

12

 

0

 

0

70

CHAN2

 

SEIZE

 

 

 

23

 

0

 

0

80

10

 

ADVANCE

 

 

23

 

1

 

0

90

11

 

RELEASE

 

 

22

 

0

 

0

100

12

 

TRANSFER

 

 

22

 

0

 

0

110

CHAN3

 

SEIZE

 

 

 

30

 

0

 

0

120

14

 

ADVANCE

 

 

30

 

1

 

0

130

15

 

RELEASE

 

 

29

 

0

 

0

140

16

 

TRANSFER

 

 

29

 

0

 

0

150

CHAN4

 

SEIZE

 

 

 

37

 

0

 

0

160

18

 

ADVANCE

 

 

37

 

0

 

0

170

19

 

RELEASE

 

 

37

 

0

 

0

180

EXIT

 

TERMINATE

 

 

100

 

0

 

0

FACILITY

ENTRIES

 

UTIL.

AVE. TIME

A V A IL A B L E

OWNER PEND

INTER

RETRY

DELA1

1

13

0 .8 2 3

 

1 6 .4 6

 

1

140

0

0

0

0

2

23

0

980

 

1 1 .0 9

 

1

69

0

0

0

27

3

30 0 .9 8 0

 

8 .5 0

 

1

91

0

0

0

20

4

37

0 .4 1 9

 

2 95

 

1

0

0

0

0

0

XACT__G R O U P

G R O U P S I Z E

 

R E T R Y

 

 

 

 

 

 

POSITION

 

 

О

 

 

О

 

 

 

 

 

 

 

Р и с .

3.19. Стандартный

отчет EXAM09.RPT

 

 

60

Соседние файлы в папке книги