Проектирование компьютерных сетей методами имитационного моделирования

       

Моделирование процессов в многоканальной системе с отказами


В многоканальной системе одновременно могут обслуживаться n  заявок, где n — число обслуживающих приборов, устройств, например, группа однотипных станков, линий и другого оборудования, выполняющих идентичные операции. Любая следующая заявка, заставшая все приборы занятыми, получает отказ в обслуживании. На примере трехприборной системы (рис. 3.3) показан случай, когда во время обслуживания первой заявки, поступившей в момент времени

, в систему поступило две заявки в моменты
,
,

которые начали обслуживаться соответственно вторым и  третьим приборами (устройствами, станками). В момент времени t’2, первый прибор освободился, но во время занятого состояния второго и третьего приборов на него поступила следующая заявка. При наличии в системе не более трех заявок отказов от обслуживания не происходит. Однако при поступлении в систему любой заявки, заставшей все три прибора занятыми (моменты t14, t15), они теряются.

На рис. 3.4 показана блок-схема алгоритма моделирования n — канальной системы с потерями. Принятые обозначения:

n — количество обслуживающих приборов;

t1(п)массив времени поступления заявок на отдельные приборы;

t2(n)— массив времени окончания обслуживания заявок на отдельных приборах;

Z (n)— массив состояний отдельных приборов (при Z (i)

=0  i  прибор свободен, а при  Z (i) = I — занят).

Остальные обозначения ( t1 , t2 , Nn , Nоб

, N, Tм, ?з, ?об ) соответствуют обозначениям одноприборной модели.

В начальный момент времени все приборы свободны ( Z (i) = 0,

i=1,n), t1(n)=t2 (n) =?, Nоб=Nn=0    (блок I).

Первая сгенерированная заявка поступает в первый прибор ( t1 = ?з, блоки 2, 3).

В рассматриваемой модели любая сгенерированная заявка или сразу же начинает обслуживаться в   i   приборе, или теряется. Соответственно в блоке выбора минимальных времен, соответствующих смене ситуаций в системе, фигурирует только одно значение времени t1, соответствующее текущему моменту времени появления следующей заявки. В то же время в разных приборах могут одновременно обслуживаться несколько заявок.
Таким образом, в блоке выбора минимального времени должны сравниваться значения времени t1 и  t2(i) . Выбор меньшего из них может производиться путем их сортировки, т.е. записи в порядке возрастания их значений (блок 4).

В случае   t1=min,  в блоках 6-9 производится определение прибора с меньшим номером, свободного от обслуживания ( Z ( i ) = 0 ). Если  i ? N, то заявка принимается на обслуживание в i  прибор ( Z (i) = I, блок II). Процесс обслуживания заключается в генерации времени обслуживания ?об, определения момента конца обслуживания t2(i)=t1(i)+?об генерации времени до поступления следующей заявки т3 и текущего момента времени поступления этой заявки t1(i)=t1(i)+?з (блоки 12-15). Сформированные значения t1

и t2(i) поступают в блок 4 выбора минимальных времен, где производится сортировка массива с учетом поступивших новых значений времени. В случае перебора состояний приборов окажется, что все они заняты ( i > N блок 10), то поступившая заявка теряется (  Nn= Nn+1 блок 16). Затем генерируется время поступления следующей заявки t1, (блоки 17, 16).

При минимальном времени окончания обслуживания заявки в i приборе ( t2(i) = min , t2(i) < Тм ) фиксируется число обслуженных заявок ( Nоб = Nоб + 1), находится время пребывания заявки в системе tпр = t2(i)— t1(i), после чего устанавливаются исходные данные для

освободившегося прибора (Z (i) = 0, t1(i) = t2(i) = ? ) (блоки 21-24). Следует заметить, что блок 22, в котором определяется время пребывания заявки в системе, может быть опущен, так как это время будет соответствовать задаваемому времени ?об . Введение этого блока позволяет контролировать соответствие вырабатываемых ЭВМ случайных чисел с заданным законом.

По окончании моделирования (t2 > Тм ) осуществляется вывод на печать полученных результатов —  Nn , Nоб,  N,   Рn = N / Nn, гистограммы распределения  tпр в случае надобности.


Содержание раздела