"Многоканальная система массового обслуживания с очередью"
Типичный вариант использования многоканального устройства показан на рис. 23.1. Кроме блоков ЕNТЕR - АDVANCE - LEAVЕ (ВОЙТИ - ЗАДЕРЖАТЬСЯ - ВЫЙТИ), есть блоки QUЕUЕ - DEPART , которые собирают информацию об ожидании перед блоком ЕNТЕR (эта пара блоков необязательна). Необходимо рассмотреть два варианта обслуживания при моделировании системы, показанной на рис. 23.1. Первый - метод выбора прибора пользователем; второй - метод выбора пользователя прибором.
Рис.23.1. Типичный пример моделирования с использованием многоканального устройства.
Очень часто при параллельном обслуживании перед каждым прибором образуется очередь. Когда пользователь приходит на обслуживание, он оценивает ситуацию и принимает решение, Именно в этом, наиболее часто используемом случае, название элемента STORAGE, которое должно бы быть переведено как НАКОПИТЕЛЬ, не соответствует его назначению. Вот почему при переводе этот элемент назвали многоканальным устройством.
Рис. 23.2. Пример системы многоканального обслуживания с одной очередью.
Приборы, которые являются частью многоканального устройства, не имеют своей индивидуальности. Это означает, что нет возможности разделить очереди по каждому прибору. Следовательно, реализуется концепция: если подошла очередь какого-либо пользователя, то он идет на обслуживание к любому свободному прибору. Это эквивалентно наличию единственной очереди перед устройством с многоканальным обслуживанием. Приходящий пользователь просто становится в очередь. Когда под ходит его очередь, он идет на любой свободный прибор (рис. 23.2).
При этом следует заметить, что хотя пользователи не могут выбирать прибор, приборы могут выбрать пользователей. Приборы выбирают из очереди пользователей, упорядоченных по приоритетному признаку. Когда прибор освобождается, он выбирает пользователя по принципу "первым пришел - первым обслужен внутри приоритетного класса".
Приборы, которые моделируются многоканальным устройством, реализуют в GPSS такой выбор автоматически.
Это происходит потому, что транзакты, ожидающие входа в блок ЕNТЕR (см. рис. 23.1), отсортированы в цепи текущих событий в порядке убывания их уровней приоритетов. После прохождения транзактом блока LЕАVЕ освобождение одного или более приборов вызывает возобновление просмотра цепи текущих событий. Свободный прибор занимается высокоприоритетным транзактом, причем тем из них, который ждет дольше всех. Эта ситуация проиллюстрирована на рис. 23.3.
Рис.23.3. Многоканальная система массового обслуживания с одной очередью и приоритетами.