УСТРОЙСТВО ДЛЯ МОДЕЛИРОВАНИЯ СИСТЕМ МАССОВОГО ОБСЛУЖИВАНИЯ
DEVICE TO MODEL SYSTEMS OF MASS SERVICE

Изобретение относится к области вычислительной техники, предназначено для моделирования процесса обслуживания двух потоков заявок с различными приоритетами и может быть использовано в устройствах, моделирующих работу систем массового обслуживания.
Известно устройство для моделирования системы массового обслуживания [SU №1325561 U1, класс G06F 15/20, 1987.07.23], содержащее генератор потока заявок, счетчик поступающих заявок, счетчик заявок, получивших отказ в обслуживании, блок случайных временных задержек, реверсивный счетчик занятых каналов, реверсивный счетчик длины очереди, четыре элемента И, три элемента запрета, два элемента ИЛИ.
Недостатком известного устройства является ограниченность применения в электронном моделировании для исследования реальных систем массового обслуживания при обслуживании неоднородного входящего потока задач.
Наиболее близким к заявляемому является устройство для моделирования процесса обслуживания заявок с различными приоритетами [SU №962969 U1, класс G06F 15/20, 1982.09.30], содержащее два генератора импульсов со случайным интервалом следования, три элемента И, два триггера, элемент запрета и ограничительный диод, причем вход заявок высокого приоритета соединен с первым входом первого элемента И, выход которого подключен к первому входу первого триггера, входу запуска первого генератора импульсов со случайным интервалом следования и управляющему входу второго генератора импульсов со случайным интервалом следования, выход первого генератора импульсов со случайным интервалом следования является первым выходом устройства и соединен с первым входом третьего элемента И и вторым входом первого триггера, первый выход которого подключен к второму входу первого элемента И, а второй выход соединен с управляющим входом элемента запрета, информационный вход которого соединен с выходом второго элемента И, а выход подключен к первому входу второго триггера и через ограничительный диод - к выходу третьего элемента И и входу запуска второго генератора импульсов со случайным интервалом следования, выход которого является вторым выходом устройства и подключен к второму входу второго триггера, первый выход которого соединен с вторым входом третьего элемента И, а второй выход подключен к одному из входов второго элемента И, другой вход которого является входом заявок низкого приоритета.
Недостатком данного устройства являются то, что при высокой интенсивности поступления на обслуживание заявок высокого приоритета по отношению к заявкам низкого приоритета обслуживание последних может никогда не закончиться, так как при поступлении заявки высокого приоритета в период обслуживания заявки низкого приоритета обслуживание последней прекращается, а по окончании обслуживания заявки высокого приоритета, обслуживание заявки низкого приоритета возобновляется сначала, а не продолжается с момента приостановления.
Техническим результатом является обеспечение возможности обслуживания до окончания заявки низкого приоритета несмотря на высокую интенсивность поступления на обслуживание заявок высокого приоритета, так как по окончании обслуживания заявки высокого приоритета обслуживание заявки низкого приоритета продолжается с момента после приостановления обслуживания.
Технический результат достигается тем, что в устройство для моделирования процесса обслуживания заявок с различными приоритетами, содержащее три элемента И и два триггера, причем вход заявок высокого приоритета соединен с первым входом первого элемента И, выход которого подключен к первому входу первого триггера, второй выход которого подключен к второму входу первого элемента И, второй выход второго триггера подключен к одному из входов второго элемента И, другой вход которого является входом заявок низкого приоритета, дополнительно введены три элемента ИЛИ, два элемента ИЛИ_НЕ, четыре элемента И, два вычитающих счетчика, две группы элементов И по N элементов в каждой группе, где N равно числу разрядов вычитающего счетчика, датчик случайных чисел и генератор тактовых импульсов, выход которого подключен к объединенным первым входам третьего, четвертого, шестого и седьмого элементов И и первой и второй группы элементов И, второй выход первого триггера подключен к второму входу третьего элемента И и третьему входу второго элемента И, выход которого подключен к второму входу второго триггера и второму входу первого элемента ИЛИ, первый вход которого подключен к первому входу первого триггера, а выход - к входу датчика случайных чисел, выход которого подключен к информационным входам первой и второй группы элементов И, первый выход первого триггера подключен к второму входу первой группы элементов И и второму входу шестого элемента И, выход которого подключен к второму входу первого триггера и является первым выходом устройства, второй выход которого подключен к выходу седьмого элемента И и второму входу второго триггера, первый выход которого подключен к второму входу седьмого элемента И и второму входу второй группы элементов И, информационные выходы которой подключены к информационным входам второго вычитающего счетчика, счетный вход которого подключен к выходу пятого элемента И, первый вход которого подключен к выходу третьего элемента И, второй вход пятого элемента И подключен к выходу третьего элемента ИЛИ, группа входов которого подключена к выходам второго вычитающего счетчика 7.2 и группе входов второго элемента ИЛИ_НЕ 4.2, выход которого подключен к третьему входу седьмого элемента И и третьему входу второй группы элементов И, информационные выходы первой группы элементов И подключены к информационным входам первого вычитающего счетчика, счетный вход которого подключен к выходу четвертого элемента И, второй вход которого подключен к выходу второго элемента ИЛИ, группа входов которого подключена к выходам первого вычитающего счетчика и группе входов первого элемента ИЛИ_НЕ, выход которого подключен к третьему входу шестого элемента И и третьему входу первой группы элементов И.
Введение указанных дополнительных элементов и последовательности их подключения позволяют обеспечить возможность обслуживания до окончания заявки низкого приоритета несмотря на высокую интенсивность поступления на обслуживание заявок высокого приоритета, так как по окончании обслуживания заявки высокого приоритета обслуживание заявки низкого приоритета продолжается с момента после прекращения обслуживания.
На фиг.1 представлена функциональная схема устройства.
Устройство содержит (фиг.1) семь элементов И 1.1…1.7, два триггера 2.1 и 2.2, три элемента ИЛИ 3.1…3.3, два элемента ИЛИ_НЕ 4.1, 4.2, датчик 5 случайных чисел, две группы элементов И 6.1 и 6.2, два вычитающих счетчика 7.1 и 7.2 и генератор тактовых импульсов 8.
Устройство содержит семь элементов И 1.1…1.7, два триггера 2.1, 2.2, три элемента ИЛИ 3.1…3.3, два элемента ИЛИ_НЕ 4.1, 4.2, датчик 5 случайных чисел, две группы элементов И 6.1 и 6.2 элементов И по N элементов в каждой группе, где N равно числу разрядов вычитающего счетчика, два вычитающих счетчика 7.1 и 7.2 и генератор тактовых импульсов 8, причем вход заявок высокого приоритета соединен с первым входом первого элемента И 1.1, выход которого подключен к первому входу первого триггера 2.1, второй выход которого подключен к второму входу первого элемента И 1.1, второй выход второго триггера 2.2 подключен к одному из входов второго элемента И 1.2, другой вход которого является входом заявок низкого приоритета, выход генератора тактовых импульсов 7 подключен к объединенным первым входам третьего 1.3, четвертого 1.4, шестого 1.6 и седьмого 1.7 элементов И и первой 6.1 и второй 6.2 группы элементов И, второй выход первого триггера 2.1 подключен к второму входу третьего элемента И 1.3 и третьему входу второго элемента И 1.2, выход которого подключен к второму входу второго триггера 2.2 и второму входу первого элемента ИЛИ 3.1, первый вход которого подключен к первому входу первого триггера 2.1, а выход - к входу датчика 5 случайных чисел, выход которого подключен к информационным входам первой 6.1 и второй 6.2 группы элементов И, первый выход первого триггера 2.1 подключен к второму входу первой 6.1 группы элементов И и второму входу шестого элемента И 1.6, выход которого подключен к второму входу первого триггера 2.1 и является первым выходом устройства, второй выход которого подключен к выходу седьмого элемента И 1.7 и второму входу второго триггера 2.2, первый выход которого подключен к второму входу седьмого элемента И 1.7 и второму входу второй 6.2 группы элементов И, информационные выходы которой подключены к информационным входам второго вычитающего счетчика 7.2, счетный вход которого подключен к выходу пятого элемента И 1.5, первый вход которого подключен к выходу третьего элемента И 1.3, второй вход пятого элемента И 1.5 подключен к выходу третьего элемента ИЛИ 3.3, группа входов которого подключена к выходам второго вычитающего счетчика 7.2 и группе входов второго элемента ИЛИ_НЕ 4.2, выход которого подключен к третьему входу седьмого элемента И 1.7 и третьему входу второй 6.2 группы элементов И, информационные выходы первой 6.1 группы элементов И подключены к информационным входам первого вычитающего счетчика 7.1, счетный вход которого подключен к выходу четвертого элемента И 1.4, второй вход которого подключен к выходу второго элемента ИЛИ 3.2, группа входов которого подключена к выходам первого вычитающего счетчика 7.1 и группе входов первого элемента ИЛИ_НЕ 4.1, выход которого подключен к третьему входу шестого элемента И 1.6 и третьему входу первой 6.1 группы элементов И.
Вербальной моделью работы устройства является следующая. Два случайных потока заявок на обслуживание поступают на один обслуживающий прибор. Потоки заявок на обслуживание представляют случайные импульсные последовательности, интервалы между которыми распределены по определенным (разным или одним и тем же) законам.
Заявки на обслуживание с меньшим приоритетом принимаются к обслуживанию в случае отсутствия заявок с более высоким приоритетом.
Заявкам одного и того же приоритета, поступившим в момент занятости обслуживающего прибора, в обслуживании отказывается. Если заявка с более высоким приоритетом поступила в период обслуживания заявки с меньшим приоритетом, то обслуживание заявки с меньшим приоритетом приостанавливается, а обслуживается заявка с более высоким приоритетом. После освобождения обслуживающего прибора обслуживание принятой ранее к обслуживанию заявки с меньшим приоритетом продолжается.
Моделью обслуживающего прибора является датчик 4 случайных чисел. Закон распределения случайных чисел на его выходе может быть разным или одним и тем же для каждой в отдельности заявки, так как он моделирует время обслуживания заявки.
Устройство может работать в трех режимах: обслуживание заявок низкого приоритета; обслуживание заявок высокого приоритета; обслуживание заявок высокого приоритета, поступивших в период обслуживания заявок низкого приоритета.
Устройство работает следующим образом. В исходном состоянии во всех трех режимах триггеры 2.1 и 2.2 устанавливаются в положение, при котором на выходах, подключенных к второму входу первого элемента И 1.1 и первому входу второго элемента И 1.2, имеется высокий потенциал, а с выходов вычитающих счетчиков 7.1 и 7.2 выдается код нуля. Предполагается, что после выдачи случайного числа датчик 5 случайных чисел обнуляется.
Обслуживание заявок низкого приоритета
Импульсы с входа заявок низкого приоритета устройства поступают на второй вход второго элемента И 1.2, а с его выхода на первый вход второго триггера 2.2, который переводится в положение, при котором второй элемент И 1.2 закрывается до момента окончания обслуживания поступившей заявки. Поступившие в этот момент заявки с входа заявок низкого приоритета к обслуживанию не принимаются и теряются. Импульс выхода второго элемента И 1.2 через первый элемент ИЛИ 3.1 запускает датчик 5 случайных чисел, который вырабатывает случайное число. Сформированное по определенному закону случайное число через открытую вторую 6.2 группу элементов И поступает на информационный вход второго вычитающего счетчика 7.2 и по тактовому импульсу с генератора 8 записывается в него. С выходов второго вычитающего счетчика 7.2 на входы третьего элемента ИЛИ 3.3 и второго элемента ИЛИ_НЕ 4.2 будет выдаваться код числа, не равный нулю. Запрещающий сигнал с выхода второго элемента ИЛИ_НЕ 4.2 поступает на третий вход второй 6.2 группы элементов И и ее закрывает. По каждому тактовому импульсу, поступающему с генератора 8 через третий 1.3 и пятый 1.5 элементы И на счетный вход второго вычитающего счетчика 7.2, производится вычитание единицы из его записанного значения. Как только значение второго вычитающего счетчика 7.2 станет равным нулю, что указывает на окончание обслуживания заявки, через третий 3.3 элемент ИЛИ и пятый 1.5 элемент И счетный вход второго вычитающего счетчика 7.2 закрывается. С выходов второго вычитающего счетчика 7.2 код нуля поступает на входы третьего элемента ИЛИ 3.3 и второго элемента ИЛИ_НЕ 4.2. Сигнал с выхода второго элемента ИЛИ_НЕ 4.2 поступает на третий вход седьмого элемента И 1.7 и на третий вход второй 6.2 группы элементов И и открывает ее. По тактовому импульсу с генератора 8 сигнал с выхода шестого элемента И 1.6 поступает на выход устройства и на второй вход второго триггера 2.2, переводя его в исходное состояние, при котором открывается второй элемент И 1.2. При поступлении с входа очередной заявки низкого приоритета устройства процесс обслуживания повторяется.
Обслуживание заявок высокого приоритета
Импульсы с входа заявок высокого приоритета устройства поступают на первый вход первого элемента И 1.1, а с его выхода на первый вход первого триггера 2.1, который переводится в положение, при котором первый 1.1 и второй 1.2 элементы И закрываются до момента окончания обслуживания поступившей заявки высокого приоритета. Поступившие в этот момент заявки с входа заявок высокого приоритета и низкого приоритета к обслуживанию не принимаются и теряются. Импульс выхода первого элемента И 1.1 через первый элемент ИЛИ 3.1 запускает датчик 5 случайных чисел, который вырабатывает случайное число. Сформированное по определенному закону случайное число через открытую первую 6.1 группу элементов И поступает на информационный вход первого вычитающего счетчика 7.1 и по тактовому импульсу с генератора 8 записывается в него. С выходов первого вычитающего счетчика 7.1 на входы второго элемента ИЛИ 3.2 и первого элемента ИЛИ_НЕ 4.1 будет выдаваться код числа, не равный нулю. Запрещающий сигнал с выхода первого элемента ИЛИ_НЕ 4.1 поступает на третий вход первой 6.1 группы элементов И и ее закрывает. По каждому тактовому импульсу, поступающему с генератора 8 через четвертый 1.4 элемент И на счетный вход первого вычитающего счетчика 7.1, производится вычитание единицы из его записанного значения. Как только значение первого вычитающего счетчика 7.1 станет равным нулю, что указывает на окончание обслуживания заявки, через второй 3.2 элемент ИЛИ и четвертый 1.4 элемент И счетный вход первого вычитающего счетчика 7.1 закрывается. С выходов первого вычитающего счетчика 7.1 код нуля поступает на входы второго элемента ИЛИ 3.2 и первого элемента ИЛИ_НЕ 4.1. Сигнал с выхода первого элемента ИЛИ_НЕ 4.1 поступает на третий вход шестого элемента И 1.6 и на третий вход второй 6.2 группы элементов И и открывает ее. По тактовому импульсу с генератора 8 сигнал с выхода шестого элемента И 1.6 поступает на выход устройства и на второй вход первого триггера 2.1, переводя его в исходное состояние, при котором открываются первый 1.1 и второй 1.2 элементы И. При поступлении с входа очередной заявки высокого приоритета устройства процесс обслуживания повторяется.
Обслуживание заявок высокого приоритета, поступивших в период обслуживания заявок низкого приоритета
Заявка низкого приоритета с входа через открытые элементы И 1.2 и ИЛИ 3.1 запускает датчик случайных чисел 5 и открывает второй триггер 2.2. Датчик случайных чисел 5 вырабатывает случайное число, которое через открытую вторую группу 6.2 элементов И записывается во второй вычитающий счетчик 7.2. По тактовым импульсам с генератора 8 через открытые элементы И 1.3 и 1.5 происходит вычитание единицы с второго вычитающего счетчика 7.2 обслуживания заявки низкого приоритета.
Заявка высокого приоритета, поступившая с входа устройства до окончания обслуживания заявки низкого приоритета, через открытые элементы И 1.1 и ИЛИ 3.1 запускает датчик случайных чисел 5 и открывает первый триггер 2.1. Сигналом с второго выхода первого триггера 2.1 первый 1.1, второй 1.2 и третий 1.3 элементы И закрываются до момента окончания обслуживания поступившей заявки высокого приоритета. Через закрытый третий 1.3 элемент И импульсы с генератора 8 не поступают на счетный вход второго вычитающего счетчика 7.2. (чем имитируется приостановление обслуживания заявки с низким приоритетом). В таком состоянии устройство удерживается до окончания обслуживания заявки с высоким приоритетом. После появления импульса на выходе шестого элемента И 1.6, имитирующего окончание обслуживания заявки высшего приоритета, опрокидывается первый триггер 2.1, открывая первый 1.1, второй 1.2 и третий 1.3 элементы И. Через открытый третий 1.3 элемент И импульсы с генератора 8 поступают на счетный вход второго вычитающего счетчика 7.2. Тем самым имитируется продолжение обслуживание заявки с низким приоритетом, прерванное поступлением высокоприоритетной заявки. После появления импульса на выходе шестого элемента И 1.6 устройство возвращается в исходное состояние.
При повторном поступлении заявки высокого приоритета с входа устройства до окончания обслуживания низкоприоритетной заявки ее обслуживание снова приостанавливается и затем возобновляется после окончания обслуживания заявки высокого приоритета с момента после приостановления обслуживания. Работа устройства повторяется аналогичным образом. В результате заявка низкого приоритета будет обязательно за определенное время обслужена.
Таким образом, в устройстве обеспечивается возможность обслуживания до окончания заявки низкого приоритета несмотря на высокую интенсивность поступления на обслуживание заявок высокого приоритета, так как по окончании обслуживания заявки высокого приоритета обслуживание заявки низкого приоритета продолжается с момента после приостановления обслуживания.