Приветствую!
Есть программа на GPSS которая генерирует транзакты и по очереди шлёт на разные узлы. Технология гиперкуб, широковещательный тип. Первый узел шлёт транзакты по очереди, а нужно сделать рандомно на все узлы. Что в коде нужно заменить или дописать?
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 ; Запуск - начальное время счётчика завршений