Answer the question
In order to leave comments, you need to log in
How to randomly send transactions in GPSS?
Greetings!
There is a GPSS program that generates transactions and sends them in turn to different nodes. Hypercube technology, broadcast type. The first node sends transactions in turn, but you need to do it randomly to all nodes. What needs to be changed or added in the code?
GENERATE 16,2 ; Генерируем таранзакты на отрезке 14-18
QUEUE LQ1 ; Стать в очередь LQ1 (QUEUE - для сбора и обработки статистической информации)
SEIZE U1 ; Занаять одноканальное устройство с именем U1
DEPART LQ1 ; Уйти из очереди LQ1
ADVANCE 16,2 ; Задержать транзакт на случайное время 14-18 (транз переводится из ТС в БС)
RELEASE U1 ; Освободить одноканал устр с именем U1
SPLIT 1,L3 ; Если отказ до делаем копию и направляем в блок 3
QUEUE LQ2 ; Становимся в очередь
SEIZE U2 ; Занимаем устройство
DEPART LQ2 ; Уходим из очереди
ADVANCE 16,2 ; Задерживаем транзакт
RELEASE U2 ; Освобождаем устройство
QUEUE LQ3 ; Становимся в очередь
SEIZE U3 ; Занимаем устройство
DEPART LQ3 ; Уходим из очереди
ADVANCE 16,2 ; Задерживаем транзакт
RELEASE U3 ; Освободим устройство
QUEUE LQ4 ; Становимся в очередь 4
SEIZE U4 ; Занимаем устройство
DEPART LQ4 ; Уходим из очереди
ADVANCE 16,2 ; Задерживаем транзакт
RELEASE U4 ; Освободим устройство
QUEUE LQ5 ; Станем в очередь
SEIZE U5 ; Занимаем устройство
DEPART LQ5 ; Уходим из очереди
ADVANCE 16,2 ; Задерживаем транзакт
RELEASE U5 ; Освобождаем устройство
TRANSFER ,AS ; Изменяем направление перемещения транзактов. Безусловная передача так как задан второй операнд
L3 QUEUE LQ6 ; Блок 3 - Становимся в очередь
SEIZE U6 ; Занимаем устройство
DEPART LQ6 ; Уходим из очереди
ADVANCE 16,2 ; Задерживаем транзакт
RELEASE U6 ; Освобождаем устройство
QUEUE LQ7 ; Становимся в очередь
SEIZE U7 ; Занимаем устройство
DEPART LQ7 ; Уходим из очереди
ADVANCE 16,2 ; ЗАдерживаем транзакт
RELEASE U7 ; Освобождаем устройство
AS ASSEMBLE 2 ; Собираем все пакеты в одном месте
QUEUE LQ8 ; Станем в очередь
SEIZE U8 ; Займём устройство
DEPART LQ8 ; Уходим из очереди
ADVANCE 16,2 ; Задержка по времени
RELEASE U8 ; Освободим устройство
TERMINATE 1 ; Удаляем 1 транзакт (вычитаем 1 из счётчика завершений)
START 100 ; Запуск - начальное время счётчика завршений
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question