Управление семействами транзактов в языке GPSS.



В GPSS можно создавать семейства (копии) транзактов и имитировать их параллельную обработку.

SPLIT A,[B],[C] – создает семейство (дополнительно А копий) текущего транзакта и отправляет их к оператору с меткой В, а при его отсутствии к следующему по порядку оператору. Операнд С задаст номер параметра транзакта для хранения номера копии. Номера присваиваются последовательно.

ASSEMBLE A - объединяет А копий одного семейства в 1 транзакт, который далее движется вместо копий

GATHER A – ждет прихода А копий одного семейства, которые затем одновременно продолжают движение по сети.

B MATCH A – в паре с другим оператором A MATCH B – синхронизирует движение 2 транзактов с целью обеспечения одновременного прохождения ими указанных точек модели. А- метка сопряженного с ним оператора A MATCH B. Обе копии продолжают двигаться только после того как и та и другая достигнет своего оператора MATCH.

Пример: новая деталь поступит через 10+-3 ед времени и обрабатывается параллельно 2 рабочими каждым в течении 9 +-5

GENERATE 10,3

SPLIT 1, WORKER_2

WORKER_1 SEIZE 1

ADVANCE 9,5

RELEASE 1

TRANSFER ,END

WORKER_2 SEIZE 2

ADVANCE 9,5

RELEASE 2

END ASSEMBLE 2

TERMINATE 1

START 1000df.

 

 


Дата добавления: 2018-02-15; просмотров: 385;