Разработка телетрафика и планирование сетей

Многомерные системы с потерями

Разбить на страницы
Показывать лекцию целиком

Многомерная B-формула Эрланга

Мы рассматриваем группу n пучков каналов (каналы, слоты), которым предлагают два независимых PCT-I потока нагрузки: $$(\lambda_1, \mu_1) $$ и $$(\lambda_2, \mu_3) $$. Предлагаемая нагрузка $$A_1 =\lambda_1/\mu_1,$$ соответственно $$A_2 = \lambda_2 /\mu_2.$$

Обозначим состояние системы $$(i, j)$$, где $$i$$ - число вызовов от потока 1, а $$j$$ - число вызовов от потока 2. Выполняются следующие ограничения:

$$0 \le i \le n,\\ 0 \le j \le n,\\ 0 \le i+j \le n.$$

Диаграмма переходов состояний показана на рис.10.1. Согласно предположению о статистическом равновесии, вероятности состояний могут быть получены решением глобальных уравнений равновесия для каждого узла (уравнения узла), всего $$(n + 1) (n + 2)/2$$ уравнения.

(рис 10.1) Двухмерная диаграмма переходов состояний для системы с потерями с n каналами, которым предлагают два PCT- I потока нагрузки.

Это эквивалентно диаграмме переходов состояний для системы с потерями $$M/H_2 /n$$, где гиперэкспоненциальное распределение $$H_2$$ дается в (10.7)

Как мы увидим в следующей секции, эта диаграмма соответствует обратимому марковскому процессу, который имеет локальное равновесие и, кроме того, решение имеет форму произведения ( product form ). Мы можем легко показать, что глобальные уравнения равновесия удовлетворяют следующим вероятностям состояния, которые могут быть записаны в форме произведения:

$$p(i,j)=p(i)*p(j),\\ =Q*\frac{A_i^1}{i!}*\frac{A_2^j}{j!},$$

где $$p (i)$$ и $$p (j)$$ - одномерные усеченные Пуассоновские распределения, Q - нормировочные константы, и $$(i, j)$$ выполняют вышеупомянутые ограничения (10.1). Поскольку рассматриваются Пуассоновские потоки вызовов, которые обладают свойством PASTA (Пуассоновское поступление вызовов, наблюдаемое за среднее время), потери по времени, потери по вызовам и потери по нагрузке равны между собой для обоих потоков нагрузки, и они равняются $$P (i + j = n)$$.

Биноминальным разложением или сверткой двух Пуассоновских распределений мы находим следующие объединенные вероятности состояний, где $$Q$$ получено нормализацией:

$$p(i+j=x)=Q*\frac{(A_1+A_2)^x}{x!},$$ $$Q^{-1}=\sum_{v=0}^n\frac{(A_1+A_2)^v}{v!}.$$

Это усеченное Пуассоновское распределение (7.9) с предложенной нагрузкой:

$$A=A_1+A_2$$

Мы можем также интерпретировать эту модель как систему Эрланга с потерями с одним Пуассоновским потоком вызовов и гиперраспределенными временами пребывания в системе следующим образом. Полный процесс поступления вызовов - суперпозиция двух Пуассоновских процессов с полной интенсивностью поступления:

$$\lambda=\lambda_1+\lambda_2,$$

и распределение времени пребывания в системе является гиперраспределенным:

$$f(t)=\frac{\lambda_1}{\lambda_1+\lambda_2}*\mu_1*e^{-\mu_1t}+\frac{\lambda_2}{\lambda_1+\lambda_2}*\mu_2*e^{-\mu_2t}.$$

Мы присваиваем веса эти двум экспоненциальным распределениям согласно относительному числу вызовов в единицу времени. Среднее время обслуживания и распределение времени пребывания в системе является гиперраспределенным:

$$m_1=\frac{\lambda_1}{\lambda_1+\lambda_2}*\frac{1}{\mu_1}+\frac{\lambda_2}{\lambda_1 +\lambda_2}*\frac{1}{\mu_2}=\frac{A_1+A_2}{\lambda_1+ \lambda_2},\\ m_1=\frac{A}{\lambda}$$

и соответствует предложенной нагрузке.

Таким образом, мы показали, что система с потерями Эрланга справедлива для гиперраспределенных времен пребывания в системе.

Можно обобщить вышеупомянутую модель на $$N$$ потоков нагрузки:

$$p(i_1, i_2, \dots, i_N)=Q*\frac{A_1^{i_1}}{i_1!}*\frac{A_2^{i_2}}{i_2!} \dots \frac{A_N^{i_N}}{i_N!}, 0 \le i_j \le n, \sum_{j=1}^Ni_j \le n,$$

Данная модель является общей многомерной B-формулой Эрланга. Обобщая (10.3), мы замечаем, что глобальные вероятности состояния могут быть вычислены следующей рекурсией, где q(x) обозначает вероятность относительного состояния, и $$p(x)$$ - абсолютные вероятности состояния:

$$q(x)=\frac 1x \sum_{j=1}^N A_j*q(x-1), q(0)=1,$$ $$Q(n)=\sum_{i=0}^n q(i),\\ p(x)=\frac{q(x)}{Q(n)}, 0 \le x \le n.$$

Если использовать рекурсию с нормированием (секция 7.4), то мы получаем рекурсивную формулу B- Эрланга. Формула (10.10) подобна уравнениям равновесия для Пуассоновского случая, когда:

$$A=\sum_{j=1}^NA_j$$

Потери по времени - $$E = p(n)$$, и в соответствии со свойствами потока PASTA, потери по времени также равны потерям по вызовам и по нагрузке. Числовые оценки мы рассмотрим в секции 10.4. Многомерные системы были сначала упомянуты Эрлангом и более тщательно рассмотрены Иенсоном в Erlangbook (Jensen, 1948 ).

Обратимые марковские процессы

В предыдущей секции мы рассматривали двухмерную диаграмму переходов состояний. Для увеличивающегося числа потоков нагрузки число состояний (и следовательно уравнений) увеличивается очень быстро. Однако, можно упростить проблему, используя структуру диаграммы переходов состояний. Рассмотрим двухмерную диаграмму переходов состояний, показанную в рис. 10.2. Для четырех соседних состояний поток в направлении по часовой стрелке должен равняться потоку в противоположном направлении (Kingman, 1969 [64]), (Sutton, 1980 [95]). Взглянем на рис. 10.2.

(рис 10.2) Критерии Колмогорова - необходимое и достаточное условие для обратимости двухмерного марковского процесса: циркулирующий поток среди четырех соседних состояний в этом квадрате равняется нулю. Поток по часовой стрелке равняется потоку против часовой стрелки (10.12).

По часовой стрелке:

$$[i,j] \to [i ,j+1]: p((i ,j)* \lambda_2 (i ,j)\\ [i ,j +1] \to [i+1 ,j+1]: p(i ,j +1)*\lambda_1(i ,j +1)\\ [i+1 ,j+1] \to [i+1 ,j]: p(i+1 ,j+1)*\mu_2(i+1 ,j+1)\\ [i+1 ,j] \to [i ,j]: p(i+1,j)*\mu_1(i+1,j),$$

Против часовой стрелки:

$$[i,j] \to [i+1 ,j]: \qquad p(i ,j)* \lambda_1 (i ,j)\\ [i+1 ,j ] \to [i+1 ,j+1]: \qquad p(i+1 ,j)*\lambda_2(i+1 ,j )\\ [i+1 ,j+1] \to [i ,j+1]: \qquad p(i+1 ,j+1)*\mu_1(i+1 ,j+1)\\ [i ,j+1] \to [i ,j]: \qquad p(i,j+1)*\mu_2(i,j+1)$$

Мы можем сократить оба выражения на вероятности состояния и затем получить условие (10.12). Необходимое и достаточное условие для обратимости - что следующие два выражения являются равными.

По часовой стрелке:

$$\lambda_2(i ,j)*\lambda_1(i ,j+1)*\mu_2(i+1,j+1)*\mu_1(i+1,j)$$

Против часовой стрелки:

$$\lambda_1(i ,j)*\lambda_2(i+1,j)*\mu_1(i+1,j+1)*\mu_2(i,j+1).$$

Если эти два выражения равны, то имеется локальное или частичное равновесие. Таким образом, необходимым условием для обратимости является то, что если есть поток (стрелка) от состояния i к состоянию j, тогда должен также быть поток (стрелка) от состояния j до состояния i. Мы можем применить уравнения сечения между любыми двумя подключенными состояниями. Итак, из рисунка 10.2 мы получаем:

$$p(i ,j)*\lambda_1(i ,j)=p(i+1,j)*\mu_1(i+1,j).$$

Мы можем выразить любую вероятность состояния $$p(i, j)$$ с помощью вероятности состояния $$p(0, 0)$$, выбирая любой путь между этими двумя состояниями ( критерии Колмогорова ). Мы можем, например, выбрать путь:

$$(0,0),(1,0),\dots,(i,0),(i,1),\dots,( i ,j),$$

Тогда получаем следующее уравнение равновесия:

$$p(i ,j)=\frac{\lambda_1(0,0)}{\mu_1(1,0)}*\frac{\lambda_1(1,0)}{\mu_1(2,0)} \dots \frac{\lambda_1(i-1,0)}{\mu_1(i,0)}*\frac{\lambda_2(i,0)}{\mu_2(i,1)}*\frac{\lambda_2(i,1)}{\mu_2(i,2)} \dots \frac{\lambda_2(i,j-1)}{\mu_2(i ,j)}*p(0,0)$$

Мы находим $$p(0, 0)$$ нормировкой полной вероятности событий. Условие для обратимости будет выполнено во многих случаях, например, для:

$$\lambda_1(i ,j)=\lambda_1(i), \qquad \mu_1(i ,j)=i*\mu_1,$$ $$\lambda_2(i ,j)=\lambda_2(j), \qquad \mu_2(i ,j)=j*\mu_2.$$

Если мы рассматриваем многомерную систему с потерями, имеющую N потоков нагрузки, то любым потоком нагрузки может быть зависимый от состояния Пуассоновский процесс. В конкретном потоке могут быть нагрузки типа BPP (Бернулли, Пуассон, Паскаль). Для N - мерных систем условия обратимости аналогичны (10.12). Критерий Колмогорова должен выполняться для всех возможных путей. Практически, мы не испытываем никаких проблем, потому что решение, полученное согласно предположению об обратимости, будет правильным решением тогда и только тогда, когда выполнены уравнения равновесия узла. В следующей секции мы используем это как основание, чтобы ввести общую многомерную модель нагрузки.

Многомерные Системы с потерями

В этой секции мы рассматриваем обобщения классической теории телетрафика для систем, которые состоят из нескольких типов потоков нагрузки, поступающих на единственный канал или группу каналов или пучков каналов. Каждый поток нагрузки может иметь отдельные параметры и может быть зависимыми от состояния Пуассоновскими потоками вызовов с ограниченными классами и мультислотовым трафиком. Этот общий класс моделей нечувствителен к распределению времени пребывания в системе, которое может быть классом. Мы вводим обобщения по одному и представляем маленькое социологическое исследование, чтобы проиллюстрировать основные идеи.

Ограничение класса

По сравнению со случаем, который рассматривают в секции 10.1, мы теперь ограничим число одновременных запросов для каждого потока нагрузки (класса). Таким образом, не будет полной доступности, но в отличие от систем перегрузки, где физически существует доступ только к заданным каналам, теперь возможно использование всех каналов, но в любой момент мы можем занять только ограниченное их число. Это обеспечивает сервисная защита (защита числа виртуальных каналов = ограничение на класс обслуживания = приоритетная пороговая стратегия). Таким образом, мы вводим ограничения числа одновременных вызовов в классе j следующим образом:

$$0 \le i_j \le n_j \le n, j=1,2, \dots, N,$$

где

$$\sum_{j=1}^N n_j > n.$$

Если последнее ограничение не выполнено, то мы получаем отдельные группы, соответствующие N обычным независимым одномерным системам с потерями. Из-за ограничений диаграмма переходов состояний усечена. Для двух потоков нагрузки она показана на рис.10.3.

(рис 10.3) Структура диаграммы переходов состояний для двухмерной нагрузки, обрабатываемая с ограничениями класса (см. 10.18). При вычислении вероятностей равновесия состояние (i, j) может быть выражено состоянием (i, j-1), рекурсивно состоянием (1, 0), (i-1, 0) и, наконец (0, 0) (см.10.15)

Заметим, что усеченная диаграмма переходов состояний все еще является обратимой и что значение p(i, j) относительно значения $$p(0,0)$$ при усечении не изменяется. Изменяется только нормировочная константа. Фактически, из-за локального свойства равновесия мы можем удалить любое состояние, не изменяя вышеупомянутые свойства. Можно рассмотреть больше общих ограничений класса к наборам потоков нагрузки так, чтобы любой поток нагрузки имел минимум (гарантируемый) числа распределенных каналов.

Обобщенные процессы обслуживания нагрузки

Мы можем рассматривать PCT-I нагрузку только как в секции 10.1. Каждый поток нагрузки может быть зависимым от состояния, например, Пуассоновский поток вызовов с линейной зависимостью от состояния и своей скоростью выхода из системы (гибели), см. (10.16) и (10.17)

Система удовлетворяет условиям обратимости, см. (10.12). Таким образом, форма произведения также существует для BPP -потоков нагрузки и более общих Пуассоновских процессов, зависимых от состояния. Если все потоки нагрузки - энгсетовские (Биноминальные) процессы, то мы получаем многомерную формулу Энгсета (Jensen, 1948). Как уже упомянуто выше, система нечувствительна к распределениям времени пребывания в системе. Каждый поток нагрузки может иметь свое собственное отдельное распределение времени пребывания в системе.

Мультислотовая нагрузка

В системах с интеграцией служб требуемая пропускная способность может зависеть от типа обслуживания. Например, для обслуживания телефонного соединения с передачей только речи требуется один канал (слот), тогда как, например, для передачи видеоизображения может потребоваться $$d$$ каналов одновременно. Мы получаем дополнительные ограничения:

$$0 \le d_j*i_j \le n_j \le n, j=1,2, \dots, N,$$

и

$$0 \le \sum_{j=1}^N d_j*i_j \le n,$$

где $$i_j$$ - фактическое число вызовов типа $$j$$. Результирующая диаграмма переходов состояний будет обратима, и будет иметь форму произведения.

Ограничения соответствуют, например, физической модели, показанной в рис.10.5.

Предложенная нагрузка $$A_j$$ обычно определяется как среднее число попыток вызова на среднее время пребывания в системе. Если мы измеряем обслуженную нагрузку $$Y_j$$ как среднее число занятых каналов, то потерянная нагрузка, измеренная в каналах, получается:

$$A_l=\sum_{j=1}^NA_jd_j-\sum_{j=1}^NY_j$$
Два потока нагрузки: Пуассоновский процесс (Пример 7.5.1) и Биноминальный процесс (Пример 8.5.1) - поступает на один и тот же пучок каналов.
Поток 1: Нагрузка PCT-I Поток 2: Нагрузка РСТ-П
$$\lambda_1=2$$ вызова/единица времени $$S-2=4$$ источника
$$\gamma_2=1/3$$ вызова / в единицу времени / свободный источник
$$\mu_1=1(\mbox {единица времени}^{-1})$$ $$\mu_2=1 \mbox{ единица времени }^{-1}$$
$$\beta_2=\gamma_2/\mu_2=1/3$$ Эрл./свободный источник
$$Z_1=1$$ (пиковость) $$Z_21/(1+\beta_2)=3/4$$ (пиковость)
$$d_1=1$$ канал/вызов $$d_2=2$$ канал/вызов
$$A_1=\lambda_1/\mu_1=2$$ Эрл $$A_2=S_2*\beta_2/(1+\beta_2)=1$$ Эрл
$$n_1=6=n$$ $$n_2=6=n$$

Пример 10.3.1: Модель Роннблома (Rцnnblom's model)

Первый пример модели мультислотового трафика был опубликован Роннбломом (1958 [92]). Статья рассматривает внешнюю нагрузку (исходящую и входящую) и внутреннюю нагрузку в учрежденческой телефонной станции ( PABX ) с двусторонними каналами. Внешняя нагрузка занимает только один канал на вызов. Внутренняя нагрузка занимает и исходящий канал, и входящий канал и таким образом требует двух каналов одновременно. Роннблом показал, что эта модель имеет форму произведения.

Пример 10.3.2: Два потока нагрузки

Проиллюстрируем вышеупомянутые модели маленьким исследованием. Мы рассматриваем пучок из 6 каналов, на который поступают два потока нагрузки, указанные в таблице 10.1. Пусть второй поток нагрузки - поток мультислотового трафика. Пусть в нашей системе может быть не более трех вызовов типа 2.

Мы должны определить только предложенную нагрузку, не определяя абсолютные значения интенсивности поступления и скорости обслуживания. Предложенная нагрузка, как обычно, определяется как нагрузка, которую несет пучок из бесконечного числа каналов.

На рис.10.4 показана двухмерная диаграмма переходов состояний. Полная сумма всех вероятностей состояний равняется 20,1704. После нормализации мы находим $$p(0, 0) = 0,0496$$ а также следующие вероятности состояния и безусловные вероятности состояний $$p(i,\cdot) $$ и $$p(\cdot, j) $$.

(рис 10.4) Пример 10.3.2: на шесть каналов поступает два Пуассоновских потока нагрузки (PCT-I) (горизонтальные линии состояний) и энгсетовский поток нагрузки (PCT-II) (вертикальные линии состояний). Параметры определены в Таблице 10.1. Если мы определим условную вероятность состояния (0, 0) равной единице, тогда, используя локальное равновесие вероятностей состояний, мы сможем найти условное состояние q(i, j), показанное ниже
$$p(i,j)$$ $$i=0$$ $$i=1$$ $$i=2$$ $$i=3$$ $$i=4$$ $$i=5$$ $$i=6$$ $$p(\cdot, j)$$
j=6 0.0073 0.0073
j=4 0.0331 0.0661 0.0661 0.1653
j=2 0.0661 0.1322 0.1322 0.0881 0.0441 0.4627
j=0 0.0496 0.0992 0.0992 0.0661 0.0331 0.0132 0.0044 0.3647
$$p(i,\cdot)$$ 0.1561 0.2975 0.2975 0.1542 0.0771 0.0132 0.0044 1.0000

Глобальные вероятности состояния получаются:

$$p(0)=p(0,0)=0.0496\\ p(1)=p(1,0)=0.0992\\ p(2)=p(0,1)+p(2,0)=0.1653\\ p(3)=p(1,2)+p(3,0)=0.1983\\ p(4)=p(0,4)+p(2,2)+p(4,0)=0.1983\\ p(5)=p(1,4)+p(3,2)+p(5,0)=0.1675\\ p(6)=p(0,6)+p(2,4)+p(4,2)+p(6,0)=0.1219$$

Критерии качества работы для потока 1

В соответствии со свойствами потока PASTA потери по времени ( $$E_1$$ ), потери по вызовам ( $$B_1$$ ) и по нагрузке ( $$C_1$$ ) - равны. Мы найдем потери по времени $$E_1$$:

$$E_1=p(6,0)+p(4,2)+p(2,4)+p(0,6)=p(6),\\ E_1=B_1=C_1=0.1219,\\ Y_1=1.7562.$$

Критерии качества работы для потока 2

Потери по времени $$E_2$$ (соотношение времени блокировки системы для потока 2):

$$E_2=p(0,6)+p(1,4)+p(2,4)+p(3,2)+p(4,2)+p(5,0)+p(6,0)\\ =p(5)+p(6),\\ E_2=0,2894$$

Потери по вызовам $$B_2$$ (соотношение попыток вызова, блокированных для потока 2):

Общее количество попыток вызова в единицу времени получено из безусловного (одномерного) распределения:

$$x_t=\frac 43*0.3647+\frac 33*0.4627+\frac 23*0.1653+\frac 13*0.0073=1.0616$$

Число блокированных попыток вызова в единицу времени получается:

$$x_l=\frac 43*\{p(5,0)+p(6,0)\}+\frac 33*\{p(3,2)+p(4,2)\}+\frac 23*\{p(1,4)+p(2,4)\}+\frac 13*p(0,6)=0.2462$$

Следовательно,

$$B_2=\frac{x_l}{x_t}=0.2320.$$

Потери по нагрузке $$C_2$$ (соотношение блокированной и предложенной нагрузки):

Обслуженная нагрузка, измеренная для канала, получена из безусловного (одномерного) распределения:

$$Y_2=\sum_{j=0}^6 j*p(\cdot, j),\\ Y_2=2*0.4627+4*0.1653+6*0.0073,\\ Y_2=1.6306 Эрл.$$

Предложенная нагрузка, измеренная на канал, равна $$d_2 \times A_2=2$$ Эрл. (Таблица. 10.1). Следовательно, мы имеем:

$$C_2=\frac{2-1.6306}{2}=0.1848.$$

Рассмотренный выше пример имеет только 2 потока и 6 каналов, и общее количество состояний равняется 16 (рис.10.4). Когда число потоков нагрузки и каналов увеличивается, число состояний очень быстро увеличивается, и невозможно оценить систему, вычисляя отдельные вероятности состояния. В следующей секции мы вводим алгоритм свертки для систем с потерями, который устраняет эту проблему увеличения состояний.

Алгоритм свертки для систем с потерями

Теперь рассмотрим группу пучков каналов с общим количеством n гомогенных пучков каналов. Гомогенными мы в данном случае называем каналы, имеющие одну ту же скорость. На группу пучков каналов поступают N различных типов вызовов, называемых потоками, или классами. Вызов типа i требует $$d_i$$ пучков каналов (каналы, слоты) в течение всего времени обслуживания, то есть занятия и освобождения одновременно всех каналов $$d_i$$.

Процессы поступления вызовов - общие зависимые от состояния Пуассоновские процессы. Для i -того процесса поступления вызовов интенсивность прибытия в состоянии $$x_i \times d_i,$$ то есть когда вызовы $$x_i$$ типа i обслуживаются, интенсивность равна $$\lambda_i (x_i)$$. Мы можем ограничить число xi одновременных вызовов типа i так, чтобы:

$$0 \le x_i * d_i \le n_i \le n.$$

Будет естественно потребовать, чтобы $$n_i$$ было составным числом, кратным $$d_i.$$ Эта модель описывает, например, систему, показанную на рис.10.5.

(рис 10.5)

Обобщение классического телетрафика показывает нагрузку BPP и мультислотовый трафик. Параметры $$\lambda_i$$ и $$Z_i$$ описывают нагрузку BPP, тогда как $$d_i$$ обозначает число требуемых слотов.

Упомянутая выше система может быть оценена эффективным способом - алгоритмом свертки, впервые введенным в (Iversen, 1987 [40]). Сначала опишем алгоритм, а затем объясним на примере дальнейшие детали. Алгоритм свертки близко связан с формой произведения.

Алгоритм

Алгоритм представлен следующими тремя шагами.

Шаг 1. Вычислите вероятности состояния каждого потока нагрузки, как будто он является единственным в системе, то есть мы рассматриваем классические системы с потерями, как это отображается в Лекциях 7 и 8. Для нагрузки потока i мы находим:

$$P_i=\{p_i(0), p_i(1), \dots, p_i(n_i)\}, i=1,2, \dots, N.$$

Важны только условные значения $$p_i (x)$$, так что мы можем выбрать $$q_i (0) = 1$$ и вычислить значения $$q_i (x)$$ относительно $$q_i (0)$$. Если элемент $$q_i (x)$$ становится больше, чем K (например $$10^{10}$$ ), тогда мы можем разделить все значения $$q_i(j); 0 \le j \le x$$, на K. Чтобы избежать любых проблем вычислений, в дальнейшем желательно нормировать условные вероятности состояний так, чтобы:

$$p_i(0)=\frac{q_i(j)}{Q_i}, j=0,1, \dots, n_i, \\ Q_i=\sum_{j=0}^{n_i} q_i(j).$$

Шаг 2. Последовательным свертыванием (оператор свертывания *) мы вычисляем совокупную вероятность состояния для полной системы за исключением потока нагрузки i:

$$Q_{N/i}=P_1*P_2* \dots P_{i-1}*P_{i+1}* \dots *P_N$$

Сначала свертываем $$P_1$$ и $$P_2$$ и получаем $$P_{12}$$ который свертывается с $$P_3,$$ и т.д. Оба закона - коммутативный и ассоциативный - справедливы для оператора свертывания и определены обычным способом (секция 3.2):

$$P_i*P_j=\{p_i(0)*p_j(0), \sum_{x=0}^1p_i(x)*p_j(1-x), \dots , \sum_{x=0}^up_i(x)*p_j(u-x)\},$$

где

$$u=min\{n_i+n_j,n\}.$$

Заметьте, что производится усечение пространства состояний к $$n$$ состояниям. Даже если $$P_i$$ и $$P_j$$ нормированы, результат свертки в общем случае не нормирован из-за усечения. Его рекомендуется нормировать после каждого свертывания, чтобы избежать любых проблем при вычислении в течение этого шага и на следующем.

Шаг 3. Вычислите потери по времени $$E_i,$$ потери по вызовам $$B_i $$ и потери по нагрузке $$C_i$$ потока $$i$$. Это может быть сделано в процессе свертки:

$$Q_N=Q_{N/i}*P_i.$$

Свертка заканчивается:

$$Q_N(j)=\sum_{x=0}^jQ_{N/i}(j-x)*p_i(x)=\sum_{x=0}^jp_x^i(j),$$

где для $$p_x^i(j)i$$ обозначает поток нагрузки, $$j$$ - общее количество занятых каналов и $$x$$ - число каналов, занятых потоком $$i$$. Шаги 2-3 повторяются для каждого потока нагрузки.

Далее мы получаем формулы для $$E_i , B_i,$$ и $$C_i.$$

Потери по времени $$E_i$$ для нагрузки потока i получаются:

$$E_i=\sum_{j \in S_{E^i}}p_x^i(j)/Q$$

где

$$S_E^i=\{(x,j)|x \le j \le n \wedge (x > n_i-d_i) \vee (j > n-d_i)\},$$

Суммирование по всем $$S_{E^i}$$ расширенным состояниям, где вызовы, принадлежащие классу $$i$$, блокированы: набор $$(x > n_i - d_i) $$ соответствует состоянию, в котором поток нагрузки, $$i$$ использовал свою квоту, и соответственно число состояний с меньше чем $$d_i$$ свободных каналов. $$Q$$ - нормировочная константа:

$$Q=\sum_{j=0}Q_N(j).$$

(На этом этапе мы обычно нормируем вероятности состояния так, чтобы $$Q=1$$ )

$$B_i$$ потери по вызовам для нагрузки потока $$i$$ - это отношение числа блокированных попыток вызова к общему числу попыток вызовов (оба числа берутся для потока нагрузки $$i$$ в единицу времени). Мы находим:

$$B_i=\frac{\sum_{S_{E^i}}\lambda_i(x)*p_x^i(j)}{\sum_{j-0}^{n_j}\sum_{x=0}^j\lambda_i(x)*p_x^i(j)}.$$

Потери по нагрузке $$C_i.$$ Мы определяем их, как обычно предложенную нагрузку, которую обслуживает бесконечная группа пучков каналов. Обслуженная нагрузка для нагрузки потока $$i$$:

$$Y_i=\sum_{j=0}^{n_j}\sum_{x=0}^jx*p_x^i(j).$$

Таким образом, мы находим:

$$C_i=\frac{A_i-Y_i}{A_i}.$$

Алгоритм реализован в программном обеспечении ATMOS (Листов, Сааби, Иверсен (Listov, Saabye и Iversen, 1989 [74]). Требование к памяти (накопителю) пропорционально $$n$$. Она используется для вычисления вероятности состояния потока нагрузки, когда это необходимо. Практически мы используем память, пропорциональную $$n \times N$$, потому что сохраняем промежуточные результаты свертывания для более позднего повторного использования. Можно показать (Иверсен и Степанов, 1997 [42]), что нам необходимо ( $$4 \times N - 6$$ ) свертывания, когда мы вычисляем характеристики нагрузки для всех $$N$$ потоков нагрузки. Таким образом, время вычисления подчиняется линейной зависимости от $$N$$ и квадратичной для $$n$$.

Пример 10.4.1: развертка

В принципе мы можем получить $$Q_{N/i}$$ из $$Q_N$$ разверткой и затем в течение повторной свертки $$P_i$$ вычислить критерии качества работы. При этом способе мы не должны повторять все свертки (10.23) для каждого потока нагрузки. Но при осуществлении этого подхода имеются проблемы вычислений. Свертка, с точки зрения вычисления, очень устойчива, а развертка вычисляется не всегда. Однако мы можем применить развертку в некоторых случаях, например, когда источники нагрузки имеют два состояния - вкл\выкл.

Поток нагрузки Паскаля (Пример 8.7.2) поступает на тот же пучок каналов, что и два потока нагрузки Таблицы. 10.1
Поток 3: Нагрузка с распределением Паскаля (Отрицательное Биноминальное распределение)
$$S_3=-2$$ источника
$$\gamma_3=-1/3$$ вызова/единица времени
$$\mu_3=1$$ (единица времени -1)
$$\beta_3=\gamma_3/\mu_3=-1/3$$ Эрл. на свободный источник
$$Z_3=1/(1+ \beta_3)=3/2$$
$$d_3=1$$ канал/вызов
$$A_3=S_3*(1-Z_3)=1 Эрл $$
$$n_3=4$$ (максимальное # одновременные вызовы)

Пример 10.4.2: Три потока нагрузки

Мы сначала проиллюстрируем алгоритм небольшим примером, где детально покажем вычисления. Рассмотрим систему с 6 каналами и 3 потоками нагрузки. В дополнение к двум потокам в Примере 10.3.2 складываем поток Паскаля с ограничением класса, как показано в Таблице 10.2 (см. Пример 8.7.2). Мы хотим вычислить критерии качества работы потока нагрузки 3.

Шаг 1. Вычисляем $$p_i$$ вероятностей состояния $$(j) $$ каждого потока нагрузки $$i=1,2,3, j=(1,2,\dots, B_j) $$, как будто он существут один. Результаты даются в Таблице 10.3.

Шаг 2. Оцениваем свертывание $$p_1(J)с p_2 (k), p_1* p_2$$, усекаем пространство состояний до $$n = 6$$, нормализуем вероятности так, чтобы мы получить $$p_{12}$$, показанное в Таблице 10.3. Заметим, что это - результат, полученный в Примере 10.3.2.

Шаг 3. Свертываем $$p_{12} (J)сp_3 (k) $$, усекаем в $$n$$ и получаем $$q_{123}(j) $$, как показано в Таблице 10.3. Потери по времени $$E_3$$ получены из детальных вероятностей состояния.

В потоке нагрузки 3 (единственный слот) потери по времени возникают, по опыту, в двух случаях: либо когда все шесть каналов заняты, либо когда поток нагрузки занимает 4 канала (максимальное распределение). Из детальных вероятностей состояния мы получаем:

$$E_3=\frac{q_{123}(6)+p_3(4)*\{p_{12}(0)+p_{12}(1)\}}{0.8678}\\ =\frac{0.1535+0.0279*\{0.0496+0.0992\}}{0.8678},\\ E_3=0.1817$$
Применение алгоритма свертки для примера 10.4.2. Вероятности состояния для отдельных потоков нагрузки были вычислены в примерах 7.5.1, 8.5.1 и 8.7.2
Состояние Вероятности $$q_{12}(j)$$ Нормализованная Вероятности $$q_{123}(j)$$ Нормализованная
$$j$$ $$p_1(j)$$ $$p_2(j)$$ $$p_1*p_2$$ $$p_{12}(j)$$ $$p_3(j)$$ $$p_{12}*p_3$$ $$p_{123}(j)$$
0 0.1360 0.3176 0.0432 0.0496 0.4525 0.0224 0.0259
1 0.2719 0.0000 0.0864 0.0992 0.3017 0.0599 0.0689
2 0.2719 0.4235 0.1440 0.1653 0.1508 0.1122 0.1293
3 0.1813 0.0000 0.1727 0.1983 0.0670 0.1579 0.1819
4 0.0906 0.2118 0.1727 0.1983 0.0279 0.1825 0.2104
5 0.0363 0.0000 0.1459 0.1675 0.0000 0.1794 0.2067
6 0.0121 0.0471 0.1062 0.1219 0.0000 0.1535 0.1769
Всего 1.0000 1.0000 0.8711 1.0000 1.0000 0.8678 1.0000

Заметим, что состояния $$\{p_3 (4) * p_{12} (2)\} $$, включены в состояние $$q_{123} (6) $$. Обслуженная нагрузка для потока нагрузки 3 получена в процессе свертывания $$p_3 (i) $$ и $$p_12} (j) $$ и равна:

$$Y_3=\frac{1}{0.8678}\left \{ \sum_{i=1}^4i*p_3(i) \sum_{j=0}^{6-i}p_{12}(j) \right \},\\ Y_3=\frac{0.6174}{0.8678}=0.7115.$$

Потери по нагрузке:

$$C_3=\frac{1-0.7115}{1},\\ C_3=0.2885.$$

Потери по вызовам равны:

$$B_3=\frac{x_l}{x_t},$$

где $$x_l'$$ является числом вызовов, потерянных в единицу времени, и $$x_t $$ - общее количество попыток вызова в единицу времени. Используя нормализованные вероятности, из Таблицы 10.3 мы получаем:

$$\{\lambda_3(i)=(S_3-i)\lambda_3\}\\ x_l=\lambda_3(0)*\{p_3(0)*p_{12}(6)\}\\ \qquad +\lambda_3(1)*\{p_3(1)*p_{12}(5)\}\\ \qquad +\lambda_3(2)*\{p_3(2)*p_{12}(4)\}\\ \qquad +\lambda_3(3)*\{p_3(3)*p_{12}(3)\}\\ \qquad +\lambda_3(4)*p_3(4)*\{p_{12}(2)+p_{12}(1)+p_{12}(0)\},\\ x_l=0.2503.\\ x_t=\lambda_3(0)*p_3(0)*\sum_{j=0}^5p_{12}(j)\\ \qquad +\lambda_3(1)*p_3(1)*\sum_{j=0}^5p_{12}(j)\\ \qquad +\lambda_3(2)*p_3(2)*\sum_{j=0}^4 p_{12}(j)\\ \qquad +\lambda_3(3)*p_3(3)*\sum_{j=0}^3 p_{12}(j)\\ \qquad +\lambda_3(4)*p_3(4)*\sum_{j=0}^2p_{12}(j),\\ x_t=1.1763$$

Тем же способом, обмениваясь результатом свертки нагрузки потока, находим критерии качества работы потока 1 и 2. Общее количество микросостояний в этом примере - 47. Методом свертки уменьшаем число состояния так, чтобы нам никогда не понадобилось более, чем два вектора по $$п +1$$ состоянию каждый, то есть 14 состояний.

Используя программу расчета -ATMOS, получаем следующие результаты, показанные в Таблице 10.4 и Таблице 10.5. Полные потери могут быть разбиты на потери из-за ограничения класса ( $$n_i$$ ) и потери из-за ограниченного числа каналов ( $$n$$ ).

Входные данные для программы расчета ATMOS для примера 10.4.2 с тремя потоками нагрузки
Вход Общее число каналов $$n=6$$
Предложенная нагрузка Пиковость Максимальное размещение Размер слота Среднее время пребывания в системе Источники Бета
$$i$$ $$A_i$$ $$Z_i$$ $$n_i$$ $$d_i$$ $$\mu_i^{-1}$$ $$S_i$$ $$\beta_i$$
1 2.0000 1.00 6 1 1.00 $$\infty$$ 0
2 2.0000 0.75 6 2 1.00 4 0.3333
3 1.0000 1.50 4 1 1.00 -2 -0.3333

Потери по времени, потери по нагрузке, обслуженная нагрузка на выходе:

Выходные данные из программы расчета ATMOS для входных данных в Таблице 10.4
Выход Потери по вызовам Потери по нагрузке Потери по времени Обслуженная нагрузка
$$i$$ $$B_i$$ $$C_i$$ $$E_i$$ $$Y_i$$
1 1.769 200E-01 1.769 200E-01 1.769 200E-01 1.646 160
2 3.346 853E-01 2.739 344E-01 3.836 316E-01 1.452 131
3 2.127 890E-01 2.884 898E-01 1.817 079E-01 0.711 510
Итого 2.380 397E-01 3.809 801

Пример 10.4.3: Крупномасштабный пример

Чтобы проиллюстрировать программу расчета ATMOS, рассмотрим в Таблице 10.6 и Таблице 10.7 пример с 1536 пучками каналов и 24 потоками нагрузки. Заметим, что потери по времени независимы от пиковости $$Z_i$$ и пропорциональны размеру слота $$d_i$$, поэтому мы часто имеем:

$$p(j)\approx p(j-1) \approx \dots \approx p(j-d_i) \quad for \quad d_i << j$$
Входные данные для примера 10.4.3 с 24 потоками нагрузки и 1536 каналов. Максимальное число одновременных вызовов типа $$i (n )$$ в этом примере $$n = 1536$$ (полная доступность).
Вход Общее число # $$n=1536$$
Предложенная нагрузка Пиковость Допустимый максимум Канал/вызов Среднее время пребывания в системе Источники
$$i$$ $$A_i$$ $$Z_i$$ $$n_i$$ $$d_i$$ $$\mu_i$$ $$S$$ $$\beta$$
1 64.000 0.200 1536 1 1.000 80.000 4.000
2 64.000 0.500 15.36 1 1.000 128.000 1.000
3 64.000 1.000 1536 1 1.000 $$\infty$$ 0.000
4 64.000 2.000 1536 1 1.000 -64.000 -0.500
5 64.000 4.000 1536 1 1.000 -21.333 -0.750
6 64.000 8.000 1536 1 1.000 -9.143 -0.875
7 32.000 0.200 1536 2 1.000 40.000 4.000
8 32.000 0.500 1536 2 1.000 64.000 1.000
9 32.000 1.000 1536 2 1.000 $$\infty$$ 0.000
10 32.000 2.000 1536 2 1.000 -32.000 -0.500
11 32.000 4.000 1536 2 1.000 -10.667 -0.750
12 32.000 8.000 1536 2 1.000 -4.571 -0.875
13 16.000 0.200 1536 4 1.000 20.000 4.000
14 16.000 0.500 1536 4 1.000 32.000 1.000
15 16.000 1.000 1536 4 1.000 $$\infty$$ 0.000
16 16.000 2.000 1536 4 1.000 -16.000 -0.500
17 16.000 4.000 1536 4 1.000 -5.333 -0.750
18 16.000 8.000 1536 4 1.000 -2.286 -0.875
19 8.000 0.200 1536 8 1.000 10.000 4.000
20 8.000 0.500 1536 8 1.000 16.000 1.000
21 8.000 1.000 1536 8 1.000 $$\infty$$ 0.000
22 8.000 2.000 1536 8 1.000 -8.000 -0.500
23 8.000 4.000 1536 8 1.000 -2.667 -0.750
24 8.000 8.000 1536 8 1.000 -1.143 -0.875

Очевидно, что потери по времени зависят только от глобальных вероятностей состояния. Потери по вызовам почти равны потерям по времени. Они мало зависят от размера слота. Можно также ожидать, что потери по вызовам равны потерям по времени с одним удаленным источником ( теорема прибытия ). В таблице с выходными данными в самом правом столбце приведены относительные потери по нагрузке, разделенные на ( $$d_i \times Z_i$$ ), с использованием для нагрузки Пуассона единственного слота ( $$d_i = Z_i = 1$$ ). Заметим, что потери по нагрузке пропорциональны $$d_i \times Z_i,$$ - это является обычным предположением при использовании метода эквивалентной случайной нагрузки ( ERT - Equivalent Random Traffic) (см. Лекция 9). Средняя величина предложенной нагрузки увеличивается линейно с размером слота, тогда как дисперсия увеличивается пропорционально квадрату размера слота. Пиковость (дисперсия/математическое ожидание) - отношение для мультислотового трафика, п оэтому увеличивается линейно с размером слота. Мы, таким образом, отмечаем, что потери по нагрузке намного более существенны, чем потери по времени и потери по вызовам, для того, чтобы характеризовать рабочие характеристики системы. Если вычислять полную перегрузку по нагрузке, используя метод Фредерикса и Хэйварда (секция 9.3), то мы устанавливаем, что полные потери по нагрузке равняются 6.114 % (см. Пример 9.3.2 и таблицу 10.7). Точное значение - 5.950 %.

Выход для Примера 10.4.3 с входными данными, приведенными в Таблице 10.6. Как уже упоминалось ранее в Примере 9.3.2 (результаты метода Фредерикса-Хайварда), полные потери равняются 6,114 %. Полные потери по нагрузке 5,950 % получены на основании полной обслуженной и предложенной нагрузок.
Выход Потери по вызовам Потери по нагрузке Потери по времени Обслуженная нагрузка Значение
$$i$$ $$B_i$$ $$C_i$$ $$E_i$$ $$Y_i$$ $$C_i/(d_iZ_i)$$
1 6.187744E-0.3 1.243705E-03 6.227392E-03 63.920403 0.9986
2 6.202616E-03 3.110956E-03 6.227392E-03 63.800899 0.9991
3 6.227392E-03 6.227392E-03 6.227392E-03 63.601447 1.0000
4 6.276886E-03 1.247546E-02 6.227392E-03 63.201570 1.0017
5 6.375517E-03 2.502346E-02 6.227392E-03 62.398499 1.0046
6 6.570378E-03 5.025181E-02 6.227392E-03 60.783884 1.0087
7 1.230795E-02 2.486068E-03 1.246554E-02 63.840892 0.9980
8 1.236708E-02 6.222014E-03 1.246554E-02 63.601791 0.9991
9 1.246554E-02 1.246554E-02 1.246554E-02 63.202205 1.0009
10 1.266184E-02 2.500705E-02 1.246554E-02 62.399549 1.0039
11 1.305003E-02 5.023347E-02 1.246554E-02 60.785058 1.0083
12 1.379446E-02 1.006379E-01 1.246554E-02 57.559172 1.0100
13 2.434998E-02 4.966747E-03 2.497245E-02 63.682128 0.9970
14 2.458374E-02 1.244484E-02 2.497245E-02 63.203530 0.9992
15 2.497245E-02 2.497245E-02 2.497245E-02 62.401763 1.0025
16 2.574255E-02 5.019301E-02 2.497245E-02 60.787647 1.0075
17 2.722449E-02 1.006755E-01 2.497245E-02 57556771 1.0104
18 2.980277E-02 1.972682E-01 2.497245E-02 51.374835 0.9899
19 4.766901E-02 9.911790E-03 5.009699E-02 63.365645 0.9948
20 4.858283E-02 2.489618E-02 5.009699E-02 62.406645 0.9995
21 5.009699E-02 5.009699E-02 5.009699E-02 60.793792 1.0056
22 5.303142E-02 1.007214E-01 5.009699E-02 57.553828 1.0109
23 5.818489E-02 1.981513E-01 5.009699E-02 51.318316 0.9942
24 6.525455E-02 3.583491E-01 5.009699E-02 41.065660 0.8991
Итого 5.950135E-02 1444.605

Алгоритм, основанный на преобразовании пространства состояний.

Алгоритм свертки основан на соединении потоков нагрузки, где мы заканчиваем потоком нагрузки, который является сборкой всех потоков нагрузки, кроме того, которым мы интересуемся. Другой подход состоит в том, чтобы собрать пространство состояний в глобальную вероятность состояния.

Алгоритм Фортета-Гранджеяна

В случае Пуассоновских потоков вызовов, обобщая (10.10), можно упростить алгоритм. Обозначим $$p_i (x) $$ вклад потока в глобальную вероятность состояния $$p(x) $$:

$$p(x)=\sum_{i=1}^Np_i(x).$$

Тогда среднее число каналов, занятых потоком $$i$$, когда система находится в глобальном состоянии $$x$$, равно $$x \times p_i (x) $$. Пусть поток нагрузки i имеет размер слота $$d_i.$$ Из-за обратимости мы получим локальное равновесие для каждого типа нагрузки. Уравнение локального равновесия:

$$\frac{xp_i(x)}{d_i}\mu_i=\lambda_i*p(x-d_i), \qquad x=d_i, d_i+1, \dots, n.$$

Левая сторона - поток поступления заявок типа $$i$$ из состояния $$[x] $$ к состоянию $$[x- d_i] $$. Правая сторона - поток убывающих заявок типа $$i$$ от глобального состояния $$[x -d_i ] $$ к состоянию $$[x] $$. Не имеет значения, является ли $$x$$ кратным числом целого числа $$d_i,$$ так как мы рассматриваем только средние значения. Из (10.32) мы получаем:

$$p_i(x)=\frac 1x d_iA_i*p(x-d_i).$$

Полная вероятность состояния $$p(x) $$ получена суммированием по всем потокам нагрузки (10.31):

$$p(x)=\frac 1x \sum_{i=1}^N d_iA_ip(x-d_i), \qquad p(x)=0 \qquad for \qquad x < 0$$

Обобщенный алгоритм

Вышеупомянутая модель может легко быть обобщена на BPP-нагрузку (Iversen, 2005 [44] ):

$$\frac{xp_i(x)}{d_i}*\mu_i=p(x-d_i)*S_i \gamma_i \qquad p_i(x-d_i)*\frac{x-d_i}{d_i}*\gamma_i.$$

С правой стороны первый элемент предполагает, что все источники типа $$i$$ свободны в течение единицы времени.

Чтобы получить значение $$p(x) $$, делим правую и левую часть на

$$\frac{x \mu_i}{d_i}$$

Таким образом, мы получаем:

$$p(x)=\begin{cases} 0 x <\\ p(0) x=0\\ \sum_{i=1}^Np_i(x) x=1,2,\dots, n \end{cases}$$

где

$$p_i(x)=\frac{d_i}{x}*\frac{S_i \gamma_i}{\mu_i}*p(x-d_i)-\frac{x-d_i}{x}*\frac{\gamma_i}{\mu_i}*p_i(x-d_i)$$ $$p_i(x)=0 \qquad x < d_i.$$

Вероятность состояния $$p(0) $$ получена из условия нормировки:

$$\sum_{j=0}^np(j)=\sum_{j=0}^n \sum_{i=1}^N p_i(j)=1$$

Выше мы использовали параметры $$(S_i ;\beta_i) $$, чтобы характеризовать потоки нагрузки. Альтернативно можно также использовать $$(A_i , Z_i ) $$, связанные с $$(S_i , \beta_i) $$ ) формулами (8.20) {(8.23). Тогда (10.37) получается:

$$p_i(x)=\frac{d_i}{x}*\frac{A_i}{Z_i}*p(x-d_i)-\frac{x-d_i}{x}*\frac{1-Z_I}{Z_i}*p_i(x-d_I)$$

Потери по времени. Для Пуассоновского процесса поступления вызовов мы имеем (10.34). Для практической оценки формулы будем использовать нормализацию на каждом шаге, как это показано в секции 7.4.1. Она заканчивается очень точным и эффективным алгоритмом. При этом способе требуется малое число операций, требуемых объемов и конфигураций памяти, так как мы должны хранить только $$d_i$$ предыдущих вероятностей состояний потока нагрузки $$i$$ и $$max \{d_i\}$$ предыдущих значений глобальных вероятностей состояния. Число операций линейно зависит от числа каналов.

Критерии качества работы

С помощью этого алгоритма мы способны получить критерии качества работы для каждого отдельного потока нагрузки.

Попытки вызова потока $$i$$ требуют $$d_i$$ свободных каналов и будут блокированы с вероятностью:

$$E_i=\sum_{x=n-d_i+1}^n p(i)$$

Потери по нагрузке

Из вероятностей состояний $$p_i(x) $$ мы получаем полную обслуженную нагрузку потока $$i$$:

$$Y_i=\sum_{j=1}^N xp_i(x).$$

Тогда потери по нагрузке потока $$i$$ получаются:

$$C_i=\frac{A_i*d_i-Y_i}{A_i*d_i}.$$

Полная обслуженная нагрузка:

$$Y=\sum_{j=1}^NY_i,$$

так что полные потери по нагрузке равны:

$$C=\frac{A-Y}{A},$$

где $$A$$ - полная предложенная нагрузка, измеряемая в каналах:

$$A=\sum_{j=1}^N d_iA_i.$$

Потери по вызовам

Они могут быть получены из потерь по нагрузке с использованием (8.47):

$$B_i=\frac{(1+\beta_i)C_i}{1+\beta_i C_i}.$$

Полные потери по вызовам не могут быть получены по этой формуле, так как мы не имеем глобального значения $$\beta$$.

Имея значение отдельной обслуженной нагрузки и потерь по вызовам по каждому потоку, мы можем найти общее количество предлагаемых вызовов и принятых каждым потоком запросов и определить полные потери по вызовам.

Пример 10.5.1: Обобщенный алгоритм

Применим обобщенный алгоритм для Примера 10.3.2. Таблица 10.8 показывает ненормирование вероятности состояния, когда мы принимаем, что нулевое состояние равняется единице. Таблица 10.9 показывает нормированные вероятности состояния и обслуженную нагрузку для каждого

Пример 10.5.1: вероятность относительного состояния для примера 10.3.2 с применением обобщенного алгоритма.
Состояние Пуассон Энгсет Всего
$$x$$ $$q_1(x)$$ $$q_2(x)$$ $$q(x)$$
0 0 0 1
1 $$\frac 21*2=2$$ 0 2
2 $$\frac 22*2=2$$ $$\frac 22*\frac 43*1-0=\frac 43$$ $$\frac{10}{3}$$
3 $$\frac 23*\frac{10}{3}=\frac{20}{9}$$ $$\frac 23*\frac 43*2-0=\frac{16}{9}$$ 4
4 $$\frac 24*4=2$$ $$\frac 24*\frac 43*\frac{10}{3}-\frac 24 *\frac 13*\frac 43=2$$ 4
5 $$\frac 25*4=\frac 85$$ $$\frac 25*\frac 43*4-\frac 35*\frac 13*\frac{16}{9}=\frac{16}{9}$$ $$\frac{152}{45}$$
6 $$\frac 25*\frac{152}{45}=\frac{152}{135}$$ $$\frac26* \frac 43*4-\frac 46*\frac 13*2=\frac{180}{135}$$ $$\frac{332}{135}$$
Всего $$\frac{2723}{135}$$
Пример 10.5.1: абсолютные вероятности состояния и обслуженная нагрузка $$y_i(x) = x \times p_i(x) $$ для примера 10.3.2, полученные с помощью обобщенного алгоритма.
Состояние Пуассон Энгсет Всего
$$x$$ $$p_1(x)$$ $$x*p_1(x)$$ $$p_2(x)$$ $$x*p_2(x)$$ $$p(x)$$ $$y-x*p(x)$$
0 0.0000 0.0000 0.0000 0.0000 0.0496 0.0000
1 0.0992 0.0992 0.0000 0.0000 0.0992 0.0992
2 0.0992 0.1983 0.0661 0.1322 0.1653 0.3305
3 0.1102 0.3305 0.0881 0.2644 0.1983 0.5949
4 0.0992 0.3966 0.0992 0.3966 0.1983 0.7932
5 0.0793 0.3966 0.0881 0.4407 0.1675 0.8373
6 0.0558 0.3349 0.0661 0.3966 0.1219 0.7315
Всего 1.7562 1.6306 1.0000 3.3867

потока в каждом состоянии. В компьютерной программе мы нормализовали бы вероятности состояния после каждой итерации (увеличивая число линий на единицу) и вычислили бы объединенную полную нагрузку для каждого потока. Это значение нагрузки должно быть, конечно, также быть нормализовано на каждом шаге. Поэтому мы должны хранить только предыдущие значения $$d_i$$ и обслуженную нагрузку каждого потока нагрузки.

Мы получаем следующие критерии качества работы, которые, естественно, совпадают с уже полученным результатом алгоритма свертки.

$$E_1=p(6)=0.1219\\ E_2=p(5)+p(6)=0.2894\\ C_1=\frac{2*1-1.7562}{2*1}=0.1219\\ C_2=\frac{1*2-1.6306}{1*2}=0.1847\\ B_1=\frac{(1+0)*0.1219}{1+0*0.1219}=0.1219\\ B_1=\frac{(1+1/3)*0.1847}{1+(1/3)*0.1847}=0.2320$$

Заключительные замечания

Алгоритм свертки для систем с потерями был сначала издан в (Iversen, 1987 [40]). Подобный подход к менее общей модели был издан в двух статьях Россом и Цангом (1990 [90]), (1990 [91]) независимо от первоначальной статьи 1987 г., даже притом, что она была известна авторам.

Обобщенный алгоритм в секции 10.5.2 новый, и включает алгоритм Делброука (Делброук, 1983 [22]), который более сложен для проведения оценок. По сравнению со всеми другими алгоритмами обобщенный алгоритм требует намного меньше памяти и операций. Нормализуя вероятности состояния в каждой итерации, мы получаем очень точный и простой алгоритм. В принципе, можно применить обобщенный алгоритм для нагрузки BPP для вычисления глобальных вероятностей состояния для $$(N-1) $$ потока нагрузки и затем использовать алгоритм свертывания, чтобы вычислить критерии качества работы для остающегося потока нагрузки, который мы хотим оценить.

Алгоритм свертки - более общий инструмент, чем обобщенный алгоритм, поскольку учитывает минимальное и максимальное распределение каналов для каждого потока нагрузки. Обобщенный алгоритм не сохраняет запись фактического числа запросов для каждого потока. Алгоритм свертывания, кроме того, учитывает зависимые от состояния произвольные процессы поступления вызовов.

Краткие итоги

  • В мультисервисных системах каждый класс услуг соответствует потоку нагрузки. Несколько потоков нагрузки предлагаются одной и той группе пучков каналов.
  • Классическая многомерная B-формула потерь Эрланга рассматривает группу n пучков каналов (каналы, слоты), которым предлагают несколько независимых случайных потоков нагрузки.
  • Диаграмма переходов состояний соответствует обратимому марковскому процессу, который имеет локальное равновесие и, кроме того, решение имеет форму произведения.
  • Система с потерями Эрланга справедлива для гиперраспределенных времен пребывания в системе. Модель на $$N$$ потоков нагрузки:

    $$p(i_1, i_2, \dots, i_N)=Q*\frac{A_1^{i_1}}{i_1!}*\frac{A_2^{i_2}}{i_2!}*\dots *\frac{A_N^{i_N}}{i_N!}, \qquad 0 \le i_j \le n, \quad \sum_{j=1}^N i_j \le n,$$

    является общей многомерной B-формулой Эрланга.

  • Для увеличивающегося числа потоков нагрузки число состояний (и следовательно уравнений) увеличивается очень быстро. Однако, мы можем упростить проблему, используя структуру обратимой диаграммы переходов состояний.
  • Необходимым и достаточным условием для обратимости является то, что в диаграмме поток в направлении по часовой стрелке должен равняться потоку в противоположном направлении.
  • Ограничения класса заключается в том, что физически мы имеем доступ ко всем каналам, но в любой момент можем занять только ограниченное их число. Таким образом, вводятся ограничения числа одновременных вызовов в классе
  • При мультислотовом трафике требуемая пропускная способность может зависеть от типа обслуживания. Например, для обслуживания телефонного соединения с передачей только речи требуется один канал (слот), тогда как, например, для передачи видеоизображения может потребоваться $$d$$ каналов одновременно.
  • Когда число потоков нагрузки и каналов увеличивается, число состояний также очень быстро увеличивается, и мы не сможем оценить систему, вычисляя отдельные вероятности состояния. Для того, чтобы обеспечить возможность вычислений систем с большим числом состояний применяются два алгоритма - алгоритм свертки и алгоритм пространства состояний.
  • Алгоритм свертки основан на сборке потоков нагрузки, где мы заканчиваем потоком нагрузки, который является сборкой всех потоков нагрузки, кроме того, которым мы интересуемся.
  • Алгоритм, основанный на пространстве состояний, состоит в том, чтобы соединить пространство состояний в глобальную вероятность состояния. Примером таких алгоритмов могут служить алгоритм Фортета-Гранджеяна (для Пуассоновского потока) и обобщенный алгоритм (для биноминального, паскалевского и Пуассоновского потоков).
  • Страницы:

    Многомерная B-формула Эрланга

    Мы рассматриваем группу n пучков каналов (каналы, слоты), которым предлагают два независимых PCT-I потока нагрузки: $$(\lambda_1, \mu_1) $$ и $$(\lambda_2, \mu_3) $$. Предлагаемая нагрузка $$A_1 =\lambda_1/\mu_1,$$ соответственно $$A_2 = \lambda_2 /\mu_2.$$

    Обозначим состояние системы $$(i, j)$$, где $$i$$ - число вызовов от потока 1, а $$j$$ - число вызовов от потока 2. Выполняются следующие ограничения:

    $$0 \le i \le n,\\ 0 \le j \le n,\\ 0 \le i+j \le n.$$

    Диаграмма переходов состояний показана на рис.10.1. Согласно предположению о статистическом равновесии, вероятности состояний могут быть получены решением глобальных уравнений равновесия для каждого узла (уравнения узла), всего $$(n + 1) (n + 2)/2$$ уравнения.

    (рис 10.1) Двухмерная диаграмма переходов состояний для системы с потерями с n каналами, которым предлагают два PCT- I потока нагрузки.

    Это эквивалентно диаграмме переходов состояний для системы с потерями $$M/H_2 /n$$, где гиперэкспоненциальное распределение $$H_2$$ дается в (10.7)

    Как мы увидим в следующей секции, эта диаграмма соответствует обратимому марковскому процессу, который имеет локальное равновесие и, кроме того, решение имеет форму произведения ( product form ). Мы можем легко показать, что глобальные уравнения равновесия удовлетворяют следующим вероятностям состояния, которые могут быть записаны в форме произведения:

    $$p(i,j)=p(i)*p(j),\\ =Q*\frac{A_i^1}{i!}*\frac{A_2^j}{j!},$$

    где $$p (i)$$ и $$p (j)$$ - одномерные усеченные Пуассоновские распределения, Q - нормировочные константы, и $$(i, j)$$ выполняют вышеупомянутые ограничения (10.1). Поскольку рассматриваются Пуассоновские потоки вызовов, которые обладают свойством PASTA (Пуассоновское поступление вызовов, наблюдаемое за среднее время), потери по времени, потери по вызовам и потери по нагрузке равны между собой для обоих потоков нагрузки, и они равняются $$P (i + j = n)$$.

    Биноминальным разложением или сверткой двух Пуассоновских распределений мы находим следующие объединенные вероятности состояний, где $$Q$$ получено нормализацией:

    $$p(i+j=x)=Q*\frac{(A_1+A_2)^x}{x!},$$ $$Q^{-1}=\sum_{v=0}^n\frac{(A_1+A_2)^v}{v!}.$$

    Это усеченное Пуассоновское распределение (7.9) с предложенной нагрузкой:

    $$A=A_1+A_2$$

    Мы можем также интерпретировать эту модель как систему Эрланга с потерями с одним Пуассоновским потоком вызовов и гиперраспределенными временами пребывания в системе следующим образом. Полный процесс поступления вызовов - суперпозиция двух Пуассоновских процессов с полной интенсивностью поступления:

    $$\lambda=\lambda_1+\lambda_2,$$

    и распределение времени пребывания в системе является гиперраспределенным:

    $$f(t)=\frac{\lambda_1}{\lambda_1+\lambda_2}*\mu_1*e^{-\mu_1t}+\frac{\lambda_2}{\lambda_1+\lambda_2}*\mu_2*e^{-\mu_2t}.$$

    Мы присваиваем веса эти двум экспоненциальным распределениям согласно относительному числу вызовов в единицу времени. Среднее время обслуживания и распределение времени пребывания в системе является гиперраспределенным:

    $$m_1=\frac{\lambda_1}{\lambda_1+\lambda_2}*\frac{1}{\mu_1}+\frac{\lambda_2}{\lambda_1 +\lambda_2}*\frac{1}{\mu_2}=\frac{A_1+A_2}{\lambda_1+ \lambda_2},\\ m_1=\frac{A}{\lambda}$$

    и соответствует предложенной нагрузке.

    Таким образом, мы показали, что система с потерями Эрланга справедлива для гиперраспределенных времен пребывания в системе.

    Можно обобщить вышеупомянутую модель на $$N$$ потоков нагрузки:

    $$p(i_1, i_2, \dots, i_N)=Q*\frac{A_1^{i_1}}{i_1!}*\frac{A_2^{i_2}}{i_2!} \dots \frac{A_N^{i_N}}{i_N!}, 0 \le i_j \le n, \sum_{j=1}^Ni_j \le n,$$

    Данная модель является общей многомерной B-формулой Эрланга. Обобщая (10.3), мы замечаем, что глобальные вероятности состояния могут быть вычислены следующей рекурсией, где q(x) обозначает вероятность относительного состояния, и $$p(x)$$ - абсолютные вероятности состояния:

    $$q(x)=\frac 1x \sum_{j=1}^N A_j*q(x-1), q(0)=1,$$ $$Q(n)=\sum_{i=0}^n q(i),\\ p(x)=\frac{q(x)}{Q(n)}, 0 \le x \le n.$$

    Если использовать рекурсию с нормированием (секция 7.4), то мы получаем рекурсивную формулу B- Эрланга. Формула (10.10) подобна уравнениям равновесия для Пуассоновского случая, когда:

    $$A=\sum_{j=1}^NA_j$$

    Потери по времени - $$E = p(n)$$, и в соответствии со свойствами потока PASTA, потери по времени также равны потерям по вызовам и по нагрузке. Числовые оценки мы рассмотрим в секции 10.4. Многомерные системы были сначала упомянуты Эрлангом и более тщательно рассмотрены Иенсоном в Erlangbook (Jensen, 1948 ).

    Обратимые марковские процессы

    В предыдущей секции мы рассматривали двухмерную диаграмму переходов состояний. Для увеличивающегося числа потоков нагрузки число состояний (и следовательно уравнений) увеличивается очень быстро. Однако, можно упростить проблему, используя структуру диаграммы переходов состояний. Рассмотрим двухмерную диаграмму переходов состояний, показанную в рис. 10.2. Для четырех соседних состояний поток в направлении по часовой стрелке должен равняться потоку в противоположном направлении (Kingman, 1969 [64]), (Sutton, 1980 [95]). Взглянем на рис. 10.2.

    (рис 10.2) Критерии Колмогорова - необходимое и достаточное условие для обратимости двухмерного марковского процесса: циркулирующий поток среди четырех соседних состояний в этом квадрате равняется нулю. Поток по часовой стрелке равняется потоку против часовой стрелки (10.12).

    По часовой стрелке:

    $$[i,j] \to [i ,j+1]: p((i ,j)* \lambda_2 (i ,j)\\ [i ,j +1] \to [i+1 ,j+1]: p(i ,j +1)*\lambda_1(i ,j +1)\\ [i+1 ,j+1] \to [i+1 ,j]: p(i+1 ,j+1)*\mu_2(i+1 ,j+1)\\ [i+1 ,j] \to [i ,j]: p(i+1,j)*\mu_1(i+1,j),$$

    Против часовой стрелки:

    $$[i,j] \to [i+1 ,j]: \qquad p(i ,j)* \lambda_1 (i ,j)\\ [i+1 ,j ] \to [i+1 ,j+1]: \qquad p(i+1 ,j)*\lambda_2(i+1 ,j )\\ [i+1 ,j+1] \to [i ,j+1]: \qquad p(i+1 ,j+1)*\mu_1(i+1 ,j+1)\\ [i ,j+1] \to [i ,j]: \qquad p(i,j+1)*\mu_2(i,j+1)$$

    Мы можем сократить оба выражения на вероятности состояния и затем получить условие (10.12). Необходимое и достаточное условие для обратимости - что следующие два выражения являются равными.

    По часовой стрелке:

    $$\lambda_2(i ,j)*\lambda_1(i ,j+1)*\mu_2(i+1,j+1)*\mu_1(i+1,j)$$

    Против часовой стрелки:

    $$\lambda_1(i ,j)*\lambda_2(i+1,j)*\mu_1(i+1,j+1)*\mu_2(i,j+1).$$

    Если эти два выражения равны, то имеется локальное или частичное равновесие. Таким образом, необходимым условием для обратимости является то, что если есть поток (стрелка) от состояния i к состоянию j, тогда должен также быть поток (стрелка) от состояния j до состояния i. Мы можем применить уравнения сечения между любыми двумя подключенными состояниями. Итак, из рисунка 10.2 мы получаем:

    $$p(i ,j)*\lambda_1(i ,j)=p(i+1,j)*\mu_1(i+1,j).$$

    Мы можем выразить любую вероятность состояния $$p(i, j)$$ с помощью вероятности состояния $$p(0, 0)$$, выбирая любой путь между этими двумя состояниями ( критерии Колмогорова ). Мы можем, например, выбрать путь:

    $$(0,0),(1,0),\dots,(i,0),(i,1),\dots,( i ,j),$$

    Тогда получаем следующее уравнение равновесия:

    $$p(i ,j)=\frac{\lambda_1(0,0)}{\mu_1(1,0)}*\frac{\lambda_1(1,0)}{\mu_1(2,0)} \dots \frac{\lambda_1(i-1,0)}{\mu_1(i,0)}*\frac{\lambda_2(i,0)}{\mu_2(i,1)}*\frac{\lambda_2(i,1)}{\mu_2(i,2)} \dots \frac{\lambda_2(i,j-1)}{\mu_2(i ,j)}*p(0,0)$$

    Мы находим $$p(0, 0)$$ нормировкой полной вероятности событий. Условие для обратимости будет выполнено во многих случаях, например, для:

    $$\lambda_1(i ,j)=\lambda_1(i), \qquad \mu_1(i ,j)=i*\mu_1,$$ $$\lambda_2(i ,j)=\lambda_2(j), \qquad \mu_2(i ,j)=j*\mu_2.$$

    Если мы рассматриваем многомерную систему с потерями, имеющую N потоков нагрузки, то любым потоком нагрузки может быть зависимый от состояния Пуассоновский процесс. В конкретном потоке могут быть нагрузки типа BPP (Бернулли, Пуассон, Паскаль). Для N - мерных систем условия обратимости аналогичны (10.12). Критерий Колмогорова должен выполняться для всех возможных путей. Практически, мы не испытываем никаких проблем, потому что решение, полученное согласно предположению об обратимости, будет правильным решением тогда и только тогда, когда выполнены уравнения равновесия узла. В следующей секции мы используем это как основание, чтобы ввести общую многомерную модель нагрузки.

    Многомерные Системы с потерями

    В этой секции мы рассматриваем обобщения классической теории телетрафика для систем, которые состоят из нескольких типов потоков нагрузки, поступающих на единственный канал или группу каналов или пучков каналов. Каждый поток нагрузки может иметь отдельные параметры и может быть зависимыми от состояния Пуассоновскими потоками вызовов с ограниченными классами и мультислотовым трафиком. Этот общий класс моделей нечувствителен к распределению времени пребывания в системе, которое может быть классом. Мы вводим обобщения по одному и представляем маленькое социологическое исследование, чтобы проиллюстрировать основные идеи.

    Ограничение класса

    По сравнению со случаем, который рассматривают в секции 10.1, мы теперь ограничим число одновременных запросов для каждого потока нагрузки (класса). Таким образом, не будет полной доступности, но в отличие от систем перегрузки, где физически существует доступ только к заданным каналам, теперь возможно использование всех каналов, но в любой момент мы можем занять только ограниченное их число. Это обеспечивает сервисная защита (защита числа виртуальных каналов = ограничение на класс обслуживания = приоритетная пороговая стратегия). Таким образом, мы вводим ограничения числа одновременных вызовов в классе j следующим образом:

    $$0 \le i_j \le n_j \le n, j=1,2, \dots, N,$$

    где

    $$\sum_{j=1}^N n_j > n.$$

    Если последнее ограничение не выполнено, то мы получаем отдельные группы, соответствующие N обычным независимым одномерным системам с потерями. Из-за ограничений диаграмма переходов состояний усечена. Для двух потоков нагрузки она показана на рис.10.3.

    (рис 10.3) Структура диаграммы переходов состояний для двухмерной нагрузки, обрабатываемая с ограничениями класса (см. 10.18). При вычислении вероятностей равновесия состояние (i, j) может быть выражено состоянием (i, j-1), рекурсивно состоянием (1, 0), (i-1, 0) и, наконец (0, 0) (см.10.15)

    Заметим, что усеченная диаграмма переходов состояний все еще является обратимой и что значение p(i, j) относительно значения $$p(0,0)$$ при усечении не изменяется. Изменяется только нормировочная константа. Фактически, из-за локального свойства равновесия мы можем удалить любое состояние, не изменяя вышеупомянутые свойства. Можно рассмотреть больше общих ограничений класса к наборам потоков нагрузки так, чтобы любой поток нагрузки имел минимум (гарантируемый) числа распределенных каналов.

    Обобщенные процессы обслуживания нагрузки

    Мы можем рассматривать PCT-I нагрузку только как в секции 10.1. Каждый поток нагрузки может быть зависимым от состояния, например, Пуассоновский поток вызовов с линейной зависимостью от состояния и своей скоростью выхода из системы (гибели), см. (10.16) и (10.17)

    Система удовлетворяет условиям обратимости, см. (10.12). Таким образом, форма произведения также существует для BPP -потоков нагрузки и более общих Пуассоновских процессов, зависимых от состояния. Если все потоки нагрузки - энгсетовские (Биноминальные) процессы, то мы получаем многомерную формулу Энгсета (Jensen, 1948). Как уже упомянуто выше, система нечувствительна к распределениям времени пребывания в системе. Каждый поток нагрузки может иметь свое собственное отдельное распределение времени пребывания в системе.

    Мультислотовая нагрузка

    В системах с интеграцией служб требуемая пропускная способность может зависеть от типа обслуживания. Например, для обслуживания телефонного соединения с передачей только речи требуется один канал (слот), тогда как, например, для передачи видеоизображения может потребоваться $$d$$ каналов одновременно. Мы получаем дополнительные ограничения:

    $$0 \le d_j*i_j \le n_j \le n, j=1,2, \dots, N,$$

    и

    $$0 \le \sum_{j=1}^N d_j*i_j \le n,$$

    где $$i_j$$ - фактическое число вызовов типа $$j$$. Результирующая диаграмма переходов состояний будет обратима, и будет иметь форму произведения.

    Ограничения соответствуют, например, физической модели, показанной в рис.10.5.

    Предложенная нагрузка $$A_j$$ обычно определяется как среднее число попыток вызова на среднее время пребывания в системе. Если мы измеряем обслуженную нагрузку $$Y_j$$ как среднее число занятых каналов, то потерянная нагрузка, измеренная в каналах, получается:

    $$A_l=\sum_{j=1}^NA_jd_j-\sum_{j=1}^NY_j$$
    Два потока нагрузки: Пуассоновский процесс (Пример 7.5.1) и Биноминальный процесс (Пример 8.5.1) - поступает на один и тот же пучок каналов.
    Поток 1: Нагрузка PCT-I Поток 2: Нагрузка РСТ-П
    $$\lambda_1=2$$ вызова/единица времени $$S-2=4$$ источника
    $$\gamma_2=1/3$$ вызова / в единицу времени / свободный источник
    $$\mu_1=1(\mbox {единица времени}^{-1})$$ $$\mu_2=1 \mbox{ единица времени }^{-1}$$
    $$\beta_2=\gamma_2/\mu_2=1/3$$ Эрл./свободный источник
    $$Z_1=1$$ (пиковость) $$Z_21/(1+\beta_2)=3/4$$ (пиковость)
    $$d_1=1$$ канал/вызов $$d_2=2$$ канал/вызов
    $$A_1=\lambda_1/\mu_1=2$$ Эрл $$A_2=S_2*\beta_2/(1+\beta_2)=1$$ Эрл
    $$n_1=6=n$$ $$n_2=6=n$$

    Пример 10.3.1: Модель Роннблома (Rцnnblom's model)

    Первый пример модели мультислотового трафика был опубликован Роннбломом (1958 [92]). Статья рассматривает внешнюю нагрузку (исходящую и входящую) и внутреннюю нагрузку в учрежденческой телефонной станции ( PABX ) с двусторонними каналами. Внешняя нагрузка занимает только один канал на вызов. Внутренняя нагрузка занимает и исходящий канал, и входящий канал и таким образом требует двух каналов одновременно. Роннблом показал, что эта модель имеет форму произведения.

    Пример 10.3.2: Два потока нагрузки

    Проиллюстрируем вышеупомянутые модели маленьким исследованием. Мы рассматриваем пучок из 6 каналов, на который поступают два потока нагрузки, указанные в таблице 10.1. Пусть второй поток нагрузки - поток мультислотового трафика. Пусть в нашей системе может быть не более трех вызовов типа 2.

    Мы должны определить только предложенную нагрузку, не определяя абсолютные значения интенсивности поступления и скорости обслуживания. Предложенная нагрузка, как обычно, определяется как нагрузка, которую несет пучок из бесконечного числа каналов.

    На рис.10.4 показана двухмерная диаграмма переходов состояний. Полная сумма всех вероятностей состояний равняется 20,1704. После нормализации мы находим $$p(0, 0) = 0,0496$$ а также следующие вероятности состояния и безусловные вероятности состояний $$p(i,\cdot) $$ и $$p(\cdot, j) $$.

    (рис 10.4) Пример 10.3.2: на шесть каналов поступает два Пуассоновских потока нагрузки (PCT-I) (горизонтальные линии состояний) и энгсетовский поток нагрузки (PCT-II) (вертикальные линии состояний). Параметры определены в Таблице 10.1. Если мы определим условную вероятность состояния (0, 0) равной единице, тогда, используя локальное равновесие вероятностей состояний, мы сможем найти условное состояние q(i, j), показанное ниже
    $$p(i,j)$$ $$i=0$$ $$i=1$$ $$i=2$$ $$i=3$$ $$i=4$$ $$i=5$$ $$i=6$$ $$p(\cdot, j)$$
    j=6 0.0073 0.0073
    j=4 0.0331 0.0661 0.0661 0.1653
    j=2 0.0661 0.1322 0.1322 0.0881 0.0441 0.4627
    j=0 0.0496 0.0992 0.0992 0.0661 0.0331 0.0132 0.0044 0.3647
    $$p(i,\cdot)$$ 0.1561 0.2975 0.2975 0.1542 0.0771 0.0132 0.0044 1.0000

    Глобальные вероятности состояния получаются:

    $$p(0)=p(0,0)=0.0496\\ p(1)=p(1,0)=0.0992\\ p(2)=p(0,1)+p(2,0)=0.1653\\ p(3)=p(1,2)+p(3,0)=0.1983\\ p(4)=p(0,4)+p(2,2)+p(4,0)=0.1983\\ p(5)=p(1,4)+p(3,2)+p(5,0)=0.1675\\ p(6)=p(0,6)+p(2,4)+p(4,2)+p(6,0)=0.1219$$

    Критерии качества работы для потока 1

    В соответствии со свойствами потока PASTA потери по времени ( $$E_1$$ ), потери по вызовам ( $$B_1$$ ) и по нагрузке ( $$C_1$$ ) - равны. Мы найдем потери по времени $$E_1$$:

    $$E_1=p(6,0)+p(4,2)+p(2,4)+p(0,6)=p(6),\\ E_1=B_1=C_1=0.1219,\\ Y_1=1.7562.$$

    Критерии качества работы для потока 2

    Потери по времени $$E_2$$ (соотношение времени блокировки системы для потока 2):

    $$E_2=p(0,6)+p(1,4)+p(2,4)+p(3,2)+p(4,2)+p(5,0)+p(6,0)\\ =p(5)+p(6),\\ E_2=0,2894$$

    Потери по вызовам $$B_2$$ (соотношение попыток вызова, блокированных для потока 2):

    Общее количество попыток вызова в единицу времени получено из безусловного (одномерного) распределения:

    $$x_t=\frac 43*0.3647+\frac 33*0.4627+\frac 23*0.1653+\frac 13*0.0073=1.0616$$

    Число блокированных попыток вызова в единицу времени получается:

    $$x_l=\frac 43*\{p(5,0)+p(6,0)\}+\frac 33*\{p(3,2)+p(4,2)\}+\frac 23*\{p(1,4)+p(2,4)\}+\frac 13*p(0,6)=0.2462$$

    Следовательно,

    $$B_2=\frac{x_l}{x_t}=0.2320.$$

    Потери по нагрузке $$C_2$$ (соотношение блокированной и предложенной нагрузки):

    Обслуженная нагрузка, измеренная для канала, получена из безусловного (одномерного) распределения:

    $$Y_2=\sum_{j=0}^6 j*p(\cdot, j),\\ Y_2=2*0.4627+4*0.1653+6*0.0073,\\ Y_2=1.6306 Эрл.$$

    Предложенная нагрузка, измеренная на канал, равна $$d_2 \times A_2=2$$ Эрл. (Таблица. 10.1). Следовательно, мы имеем:

    $$C_2=\frac{2-1.6306}{2}=0.1848.$$

    Рассмотренный выше пример имеет только 2 потока и 6 каналов, и общее количество состояний равняется 16 (рис.10.4). Когда число потоков нагрузки и каналов увеличивается, число состояний очень быстро увеличивается, и невозможно оценить систему, вычисляя отдельные вероятности состояния. В следующей секции мы вводим алгоритм свертки для систем с потерями, который устраняет эту проблему увеличения состояний.

    Алгоритм свертки для систем с потерями

    Теперь рассмотрим группу пучков каналов с общим количеством n гомогенных пучков каналов. Гомогенными мы в данном случае называем каналы, имеющие одну ту же скорость. На группу пучков каналов поступают N различных типов вызовов, называемых потоками, или классами. Вызов типа i требует $$d_i$$ пучков каналов (каналы, слоты) в течение всего времени обслуживания, то есть занятия и освобождения одновременно всех каналов $$d_i$$.

    Процессы поступления вызовов - общие зависимые от состояния Пуассоновские процессы. Для i -того процесса поступления вызовов интенсивность прибытия в состоянии $$x_i \times d_i,$$ то есть когда вызовы $$x_i$$ типа i обслуживаются, интенсивность равна $$\lambda_i (x_i)$$. Мы можем ограничить число xi одновременных вызовов типа i так, чтобы:

    $$0 \le x_i * d_i \le n_i \le n.$$

    Будет естественно потребовать, чтобы $$n_i$$ было составным числом, кратным $$d_i.$$ Эта модель описывает, например, систему, показанную на рис.10.5.

    (рис 10.5)

    Обобщение классического телетрафика показывает нагрузку BPP и мультислотовый трафик. Параметры $$\lambda_i$$ и $$Z_i$$ описывают нагрузку BPP, тогда как $$d_i$$ обозначает число требуемых слотов.

    Упомянутая выше система может быть оценена эффективным способом - алгоритмом свертки, впервые введенным в (Iversen, 1987 [40]). Сначала опишем алгоритм, а затем объясним на примере дальнейшие детали. Алгоритм свертки близко связан с формой произведения.

    Алгоритм

    Алгоритм представлен следующими тремя шагами.

    Шаг 1. Вычислите вероятности состояния каждого потока нагрузки, как будто он является единственным в системе, то есть мы рассматриваем классические системы с потерями, как это отображается в Лекциях 7 и 8. Для нагрузки потока i мы находим:

    $$P_i=\{p_i(0), p_i(1), \dots, p_i(n_i)\}, i=1,2, \dots, N.$$

    Важны только условные значения $$p_i (x)$$, так что мы можем выбрать $$q_i (0) = 1$$ и вычислить значения $$q_i (x)$$ относительно $$q_i (0)$$. Если элемент $$q_i (x)$$ становится больше, чем K (например $$10^{10}$$ ), тогда мы можем разделить все значения $$q_i(j); 0 \le j \le x$$, на K. Чтобы избежать любых проблем вычислений, в дальнейшем желательно нормировать условные вероятности состояний так, чтобы:

    $$p_i(0)=\frac{q_i(j)}{Q_i}, j=0,1, \dots, n_i, \\ Q_i=\sum_{j=0}^{n_i} q_i(j).$$

    Шаг 2. Последовательным свертыванием (оператор свертывания *) мы вычисляем совокупную вероятность состояния для полной системы за исключением потока нагрузки i:

    $$Q_{N/i}=P_1*P_2* \dots P_{i-1}*P_{i+1}* \dots *P_N$$

    Сначала свертываем $$P_1$$ и $$P_2$$ и получаем $$P_{12}$$ который свертывается с $$P_3,$$ и т.д. Оба закона - коммутативный и ассоциативный - справедливы для оператора свертывания и определены обычным способом (секция 3.2):

    $$P_i*P_j=\{p_i(0)*p_j(0), \sum_{x=0}^1p_i(x)*p_j(1-x), \dots , \sum_{x=0}^up_i(x)*p_j(u-x)\},$$

    где

    $$u=min\{n_i+n_j,n\}.$$

    Заметьте, что производится усечение пространства состояний к $$n$$ состояниям. Даже если $$P_i$$ и $$P_j$$ нормированы, результат свертки в общем случае не нормирован из-за усечения. Его рекомендуется нормировать после каждого свертывания, чтобы избежать любых проблем при вычислении в течение этого шага и на следующем.

    Шаг 3. Вычислите потери по времени $$E_i,$$ потери по вызовам $$B_i $$ и потери по нагрузке $$C_i$$ потока $$i$$. Это может быть сделано в процессе свертки:

    $$Q_N=Q_{N/i}*P_i.$$

    Свертка заканчивается:

    $$Q_N(j)=\sum_{x=0}^jQ_{N/i}(j-x)*p_i(x)=\sum_{x=0}^jp_x^i(j),$$

    где для $$p_x^i(j)i$$ обозначает поток нагрузки, $$j$$ - общее количество занятых каналов и $$x$$ - число каналов, занятых потоком $$i$$. Шаги 2-3 повторяются для каждого потока нагрузки.

    Далее мы получаем формулы для $$E_i , B_i,$$ и $$C_i.$$

    Потери по времени $$E_i$$ для нагрузки потока i получаются:

    $$E_i=\sum_{j \in S_{E^i}}p_x^i(j)/Q$$

    где

    $$S_E^i=\{(x,j)|x \le j \le n \wedge (x > n_i-d_i) \vee (j > n-d_i)\},$$

    Суммирование по всем $$S_{E^i}$$ расширенным состояниям, где вызовы, принадлежащие классу $$i$$, блокированы: набор $$(x > n_i - d_i) $$ соответствует состоянию, в котором поток нагрузки, $$i$$ использовал свою квоту, и соответственно число состояний с меньше чем $$d_i$$ свободных каналов. $$Q$$ - нормировочная константа:

    $$Q=\sum_{j=0}Q_N(j).$$

    (На этом этапе мы обычно нормируем вероятности состояния так, чтобы $$Q=1$$ )

    $$B_i$$ потери по вызовам для нагрузки потока $$i$$ - это отношение числа блокированных попыток вызова к общему числу попыток вызовов (оба числа берутся для потока нагрузки $$i$$ в единицу времени). Мы находим:

    $$B_i=\frac{\sum_{S_{E^i}}\lambda_i(x)*p_x^i(j)}{\sum_{j-0}^{n_j}\sum_{x=0}^j\lambda_i(x)*p_x^i(j)}.$$

    Потери по нагрузке $$C_i.$$ Мы определяем их, как обычно предложенную нагрузку, которую обслуживает бесконечная группа пучков каналов. Обслуженная нагрузка для нагрузки потока $$i$$:

    $$Y_i=\sum_{j=0}^{n_j}\sum_{x=0}^jx*p_x^i(j).$$

    Таким образом, мы находим:

    $$C_i=\frac{A_i-Y_i}{A_i}.$$

    Алгоритм реализован в программном обеспечении ATMOS (Листов, Сааби, Иверсен (Listov, Saabye и Iversen, 1989 [74]). Требование к памяти (накопителю) пропорционально $$n$$. Она используется для вычисления вероятности состояния потока нагрузки, когда это необходимо. Практически мы используем память, пропорциональную $$n \times N$$, потому что сохраняем промежуточные результаты свертывания для более позднего повторного использования. Можно показать (Иверсен и Степанов, 1997 [42]), что нам необходимо ( $$4 \times N - 6$$ ) свертывания, когда мы вычисляем характеристики нагрузки для всех $$N$$ потоков нагрузки. Таким образом, время вычисления подчиняется линейной зависимости от $$N$$ и квадратичной для $$n$$.

    Пример 10.4.1: развертка

    В принципе мы можем получить $$Q_{N/i}$$ из $$Q_N$$ разверткой и затем в течение повторной свертки $$P_i$$ вычислить критерии качества работы. При этом способе мы не должны повторять все свертки (10.23) для каждого потока нагрузки. Но при осуществлении этого подхода имеются проблемы вычислений. Свертка, с точки зрения вычисления, очень устойчива, а развертка вычисляется не всегда. Однако мы можем применить развертку в некоторых случаях, например, когда источники нагрузки имеют два состояния - вкл\выкл.

    Поток нагрузки Паскаля (Пример 8.7.2) поступает на тот же пучок каналов, что и два потока нагрузки Таблицы. 10.1
    Поток 3: Нагрузка с распределением Паскаля (Отрицательное Биноминальное распределение)
    $$S_3=-2$$ источника
    $$\gamma_3=-1/3$$ вызова/единица времени
    $$\mu_3=1$$ (единица времени -1)
    $$\beta_3=\gamma_3/\mu_3=-1/3$$ Эрл. на свободный источник
    $$Z_3=1/(1+ \beta_3)=3/2$$
    $$d_3=1$$ канал/вызов
    $$A_3=S_3*(1-Z_3)=1 Эрл $$
    $$n_3=4$$ (максимальное # одновременные вызовы)

    Пример 10.4.2: Три потока нагрузки

    Мы сначала проиллюстрируем алгоритм небольшим примером, где детально покажем вычисления. Рассмотрим систему с 6 каналами и 3 потоками нагрузки. В дополнение к двум потокам в Примере 10.3.2 складываем поток Паскаля с ограничением класса, как показано в Таблице 10.2 (см. Пример 8.7.2). Мы хотим вычислить критерии качества работы потока нагрузки 3.

    Шаг 1. Вычисляем $$p_i$$ вероятностей состояния $$(j) $$ каждого потока нагрузки $$i=1,2,3, j=(1,2,\dots, B_j) $$, как будто он существут один. Результаты даются в Таблице 10.3.

    Шаг 2. Оцениваем свертывание $$p_1(J)с p_2 (k), p_1* p_2$$, усекаем пространство состояний до $$n = 6$$, нормализуем вероятности так, чтобы мы получить $$p_{12}$$, показанное в Таблице 10.3. Заметим, что это - результат, полученный в Примере 10.3.2.

    Шаг 3. Свертываем $$p_{12} (J)сp_3 (k) $$, усекаем в $$n$$ и получаем $$q_{123}(j) $$, как показано в Таблице 10.3. Потери по времени $$E_3$$ получены из детальных вероятностей состояния.

    В потоке нагрузки 3 (единственный слот) потери по времени возникают, по опыту, в двух случаях: либо когда все шесть каналов заняты, либо когда поток нагрузки занимает 4 канала (максимальное распределение). Из детальных вероятностей состояния мы получаем:

    $$E_3=\frac{q_{123}(6)+p_3(4)*\{p_{12}(0)+p_{12}(1)\}}{0.8678}\\ =\frac{0.1535+0.0279*\{0.0496+0.0992\}}{0.8678},\\ E_3=0.1817$$
    Применение алгоритма свертки для примера 10.4.2. Вероятности состояния для отдельных потоков нагрузки были вычислены в примерах 7.5.1, 8.5.1 и 8.7.2
    Состояние Вероятности $$q_{12}(j)$$ Нормализованная Вероятности $$q_{123}(j)$$ Нормализованная
    $$j$$ $$p_1(j)$$ $$p_2(j)$$ $$p_1*p_2$$ $$p_{12}(j)$$ $$p_3(j)$$ $$p_{12}*p_3$$ $$p_{123}(j)$$
    0 0.1360 0.3176 0.0432 0.0496 0.4525 0.0224 0.0259
    1 0.2719 0.0000 0.0864 0.0992 0.3017 0.0599 0.0689
    2 0.2719 0.4235 0.1440 0.1653 0.1508 0.1122 0.1293
    3 0.1813 0.0000 0.1727 0.1983 0.0670 0.1579 0.1819
    4 0.0906 0.2118 0.1727 0.1983 0.0279 0.1825 0.2104
    5 0.0363 0.0000 0.1459 0.1675 0.0000 0.1794 0.2067
    6 0.0121 0.0471 0.1062 0.1219 0.0000 0.1535 0.1769
    Всего 1.0000 1.0000 0.8711 1.0000 1.0000 0.8678 1.0000

    Заметим, что состояния $$\{p_3 (4) * p_{12} (2)\} $$, включены в состояние $$q_{123} (6) $$. Обслуженная нагрузка для потока нагрузки 3 получена в процессе свертывания $$p_3 (i) $$ и $$p_12} (j) $$ и равна:

    $$Y_3=\frac{1}{0.8678}\left \{ \sum_{i=1}^4i*p_3(i) \sum_{j=0}^{6-i}p_{12}(j) \right \},\\ Y_3=\frac{0.6174}{0.8678}=0.7115.$$

    Потери по нагрузке:

    $$C_3=\frac{1-0.7115}{1},\\ C_3=0.2885.$$

    Потери по вызовам равны:

    $$B_3=\frac{x_l}{x_t},$$

    где $$x_l'$$ является числом вызовов, потерянных в единицу времени, и $$x_t $$ - общее количество попыток вызова в единицу времени. Используя нормализованные вероятности, из Таблицы 10.3 мы получаем:

    $$\{\lambda_3(i)=(S_3-i)\lambda_3\}\\ x_l=\lambda_3(0)*\{p_3(0)*p_{12}(6)\}\\ \qquad +\lambda_3(1)*\{p_3(1)*p_{12}(5)\}\\ \qquad +\lambda_3(2)*\{p_3(2)*p_{12}(4)\}\\ \qquad +\lambda_3(3)*\{p_3(3)*p_{12}(3)\}\\ \qquad +\lambda_3(4)*p_3(4)*\{p_{12}(2)+p_{12}(1)+p_{12}(0)\},\\ x_l=0.2503.\\ x_t=\lambda_3(0)*p_3(0)*\sum_{j=0}^5p_{12}(j)\\ \qquad +\lambda_3(1)*p_3(1)*\sum_{j=0}^5p_{12}(j)\\ \qquad +\lambda_3(2)*p_3(2)*\sum_{j=0}^4 p_{12}(j)\\ \qquad +\lambda_3(3)*p_3(3)*\sum_{j=0}^3 p_{12}(j)\\ \qquad +\lambda_3(4)*p_3(4)*\sum_{j=0}^2p_{12}(j),\\ x_t=1.1763$$

    Тем же способом, обмениваясь результатом свертки нагрузки потока, находим критерии качества работы потока 1 и 2. Общее количество микросостояний в этом примере - 47. Методом свертки уменьшаем число состояния так, чтобы нам никогда не понадобилось более, чем два вектора по $$п +1$$ состоянию каждый, то есть 14 состояний.

    Используя программу расчета -ATMOS, получаем следующие результаты, показанные в Таблице 10.4 и Таблице 10.5. Полные потери могут быть разбиты на потери из-за ограничения класса ( $$n_i$$ ) и потери из-за ограниченного числа каналов ( $$n$$ ).

    Входные данные для программы расчета ATMOS для примера 10.4.2 с тремя потоками нагрузки
    Вход Общее число каналов $$n=6$$
    Предложенная нагрузка Пиковость Максимальное размещение Размер слота Среднее время пребывания в системе Источники Бета
    $$i$$ $$A_i$$ $$Z_i$$ $$n_i$$ $$d_i$$ $$\mu_i^{-1}$$ $$S_i$$ $$\beta_i$$
    1 2.0000 1.00 6 1 1.00 $$\infty$$ 0
    2 2.0000 0.75 6 2 1.00 4 0.3333
    3 1.0000 1.50 4 1 1.00 -2 -0.3333

    Потери по времени, потери по нагрузке, обслуженная нагрузка на выходе:

    Выходные данные из программы расчета ATMOS для входных данных в Таблице 10.4
    Выход Потери по вызовам Потери по нагрузке Потери по времени Обслуженная нагрузка
    $$i$$ $$B_i$$ $$C_i$$ $$E_i$$ $$Y_i$$
    1 1.769 200E-01 1.769 200E-01 1.769 200E-01 1.646 160
    2 3.346 853E-01 2.739 344E-01 3.836 316E-01 1.452 131
    3 2.127 890E-01 2.884 898E-01 1.817 079E-01 0.711 510
    Итого 2.380 397E-01 3.809 801

    Пример 10.4.3: Крупномасштабный пример

    Чтобы проиллюстрировать программу расчета ATMOS, рассмотрим в Таблице 10.6 и Таблице 10.7 пример с 1536 пучками каналов и 24 потоками нагрузки. Заметим, что потери по времени независимы от пиковости $$Z_i$$ и пропорциональны размеру слота $$d_i$$, поэтому мы часто имеем:

    $$p(j)\approx p(j-1) \approx \dots \approx p(j-d_i) \quad for \quad d_i << j$$
    Входные данные для примера 10.4.3 с 24 потоками нагрузки и 1536 каналов. Максимальное число одновременных вызовов типа $$i (n )$$ в этом примере $$n = 1536$$ (полная доступность).
    Вход Общее число # $$n=1536$$
    Предложенная нагрузка Пиковость Допустимый максимум Канал/вызов Среднее время пребывания в системе Источники
    $$i$$ $$A_i$$ $$Z_i$$ $$n_i$$ $$d_i$$ $$\mu_i$$ $$S$$ $$\beta$$
    1 64.000 0.200 1536 1 1.000 80.000 4.000
    2 64.000 0.500 15.36 1 1.000 128.000 1.000
    3 64.000 1.000 1536 1 1.000 $$\infty$$ 0.000
    4 64.000 2.000 1536 1 1.000 -64.000 -0.500
    5 64.000 4.000 1536 1 1.000 -21.333 -0.750
    6 64.000 8.000 1536 1 1.000 -9.143 -0.875
    7 32.000 0.200 1536 2 1.000 40.000 4.000
    8 32.000 0.500 1536 2 1.000 64.000 1.000
    9 32.000 1.000 1536 2 1.000 $$\infty$$ 0.000
    10 32.000 2.000 1536 2 1.000 -32.000 -0.500
    11 32.000 4.000 1536 2 1.000 -10.667 -0.750
    12 32.000 8.000 1536 2 1.000 -4.571 -0.875
    13 16.000 0.200 1536 4 1.000 20.000 4.000
    14 16.000 0.500 1536 4 1.000 32.000 1.000
    15 16.000 1.000 1536 4 1.000 $$\infty$$ 0.000
    16 16.000 2.000 1536 4 1.000 -16.000 -0.500
    17 16.000 4.000 1536 4 1.000 -5.333 -0.750
    18 16.000 8.000 1536 4 1.000 -2.286 -0.875
    19 8.000 0.200 1536 8 1.000 10.000 4.000
    20 8.000 0.500 1536 8 1.000 16.000 1.000
    21 8.000 1.000 1536 8 1.000 $$\infty$$ 0.000
    22 8.000 2.000 1536 8 1.000 -8.000 -0.500
    23 8.000 4.000 1536 8 1.000 -2.667 -0.750
    24 8.000 8.000 1536 8 1.000 -1.143 -0.875

    Очевидно, что потери по времени зависят только от глобальных вероятностей состояния. Потери по вызовам почти равны потерям по времени. Они мало зависят от размера слота. Можно также ожидать, что потери по вызовам равны потерям по времени с одним удаленным источником ( теорема прибытия ). В таблице с выходными данными в самом правом столбце приведены относительные потери по нагрузке, разделенные на ( $$d_i \times Z_i$$ ), с использованием для нагрузки Пуассона единственного слота ( $$d_i = Z_i = 1$$ ). Заметим, что потери по нагрузке пропорциональны $$d_i \times Z_i,$$ - это является обычным предположением при использовании метода эквивалентной случайной нагрузки ( ERT - Equivalent Random Traffic) (см. Лекция 9). Средняя величина предложенной нагрузки увеличивается линейно с размером слота, тогда как дисперсия увеличивается пропорционально квадрату размера слота. Пиковость (дисперсия/математическое ожидание) - отношение для мультислотового трафика, п оэтому увеличивается линейно с размером слота. Мы, таким образом, отмечаем, что потери по нагрузке намного более существенны, чем потери по времени и потери по вызовам, для того, чтобы характеризовать рабочие характеристики системы. Если вычислять полную перегрузку по нагрузке, используя метод Фредерикса и Хэйварда (секция 9.3), то мы устанавливаем, что полные потери по нагрузке равняются 6.114 % (см. Пример 9.3.2 и таблицу 10.7). Точное значение - 5.950 %.

    Выход для Примера 10.4.3 с входными данными, приведенными в Таблице 10.6. Как уже упоминалось ранее в Примере 9.3.2 (результаты метода Фредерикса-Хайварда), полные потери равняются 6,114 %. Полные потери по нагрузке 5,950 % получены на основании полной обслуженной и предложенной нагрузок.
    Выход Потери по вызовам Потери по нагрузке Потери по времени Обслуженная нагрузка Значение
    $$i$$ $$B_i$$ $$C_i$$ $$E_i$$ $$Y_i$$ $$C_i/(d_iZ_i)$$
    1 6.187744E-0.3 1.243705E-03 6.227392E-03 63.920403 0.9986
    2 6.202616E-03 3.110956E-03 6.227392E-03 63.800899 0.9991
    3 6.227392E-03 6.227392E-03 6.227392E-03 63.601447 1.0000
    4 6.276886E-03 1.247546E-02 6.227392E-03 63.201570 1.0017
    5 6.375517E-03 2.502346E-02 6.227392E-03 62.398499 1.0046
    6 6.570378E-03 5.025181E-02 6.227392E-03 60.783884 1.0087
    7 1.230795E-02 2.486068E-03 1.246554E-02 63.840892 0.9980
    8 1.236708E-02 6.222014E-03 1.246554E-02 63.601791 0.9991
    9 1.246554E-02 1.246554E-02 1.246554E-02 63.202205 1.0009
    10 1.266184E-02 2.500705E-02 1.246554E-02 62.399549 1.0039
    11 1.305003E-02 5.023347E-02 1.246554E-02 60.785058 1.0083
    12 1.379446E-02 1.006379E-01 1.246554E-02 57.559172 1.0100
    13 2.434998E-02 4.966747E-03 2.497245E-02 63.682128 0.9970
    14 2.458374E-02 1.244484E-02 2.497245E-02 63.203530 0.9992
    15 2.497245E-02 2.497245E-02 2.497245E-02 62.401763 1.0025
    16 2.574255E-02 5.019301E-02 2.497245E-02 60.787647 1.0075
    17 2.722449E-02 1.006755E-01 2.497245E-02 57556771 1.0104
    18 2.980277E-02 1.972682E-01 2.497245E-02 51.374835 0.9899
    19 4.766901E-02 9.911790E-03 5.009699E-02 63.365645 0.9948
    20 4.858283E-02 2.489618E-02 5.009699E-02 62.406645 0.9995
    21 5.009699E-02 5.009699E-02 5.009699E-02 60.793792 1.0056
    22 5.303142E-02 1.007214E-01 5.009699E-02 57.553828 1.0109
    23 5.818489E-02 1.981513E-01 5.009699E-02 51.318316 0.9942
    24 6.525455E-02 3.583491E-01 5.009699E-02 41.065660 0.8991
    Итого 5.950135E-02 1444.605

    Алгоритм, основанный на преобразовании пространства состояний.

    Алгоритм свертки основан на соединении потоков нагрузки, где мы заканчиваем потоком нагрузки, который является сборкой всех потоков нагрузки, кроме того, которым мы интересуемся. Другой подход состоит в том, чтобы собрать пространство состояний в глобальную вероятность состояния.

    Алгоритм Фортета-Гранджеяна

    В случае Пуассоновских потоков вызовов, обобщая (10.10), можно упростить алгоритм. Обозначим $$p_i (x) $$ вклад потока в глобальную вероятность состояния $$p(x) $$:

    $$p(x)=\sum_{i=1}^Np_i(x).$$

    Тогда среднее число каналов, занятых потоком $$i$$, когда система находится в глобальном состоянии $$x$$, равно $$x \times p_i (x) $$. Пусть поток нагрузки i имеет размер слота $$d_i.$$ Из-за обратимости мы получим локальное равновесие для каждого типа нагрузки. Уравнение локального равновесия:

    $$\frac{xp_i(x)}{d_i}\mu_i=\lambda_i*p(x-d_i), \qquad x=d_i, d_i+1, \dots, n.$$

    Левая сторона - поток поступления заявок типа $$i$$ из состояния $$[x] $$ к состоянию $$[x- d_i] $$. Правая сторона - поток убывающих заявок типа $$i$$ от глобального состояния $$[x -d_i ] $$ к состоянию $$[x] $$. Не имеет значения, является ли $$x$$ кратным числом целого числа $$d_i,$$ так как мы рассматриваем только средние значения. Из (10.32) мы получаем:

    $$p_i(x)=\frac 1x d_iA_i*p(x-d_i).$$

    Полная вероятность состояния $$p(x) $$ получена суммированием по всем потокам нагрузки (10.31):

    $$p(x)=\frac 1x \sum_{i=1}^N d_iA_ip(x-d_i), \qquad p(x)=0 \qquad for \qquad x < 0$$

    Обобщенный алгоритм

    Вышеупомянутая модель может легко быть обобщена на BPP-нагрузку (Iversen, 2005 [44] ):

    $$\frac{xp_i(x)}{d_i}*\mu_i=p(x-d_i)*S_i \gamma_i \qquad p_i(x-d_i)*\frac{x-d_i}{d_i}*\gamma_i.$$

    С правой стороны первый элемент предполагает, что все источники типа $$i$$ свободны в течение единицы времени.

    Чтобы получить значение $$p(x) $$, делим правую и левую часть на

    $$\frac{x \mu_i}{d_i}$$

    Таким образом, мы получаем:

    $$p(x)=\begin{cases} 0 x <\\ p(0) x=0\\ \sum_{i=1}^Np_i(x) x=1,2,\dots, n \end{cases}$$

    где

    $$p_i(x)=\frac{d_i}{x}*\frac{S_i \gamma_i}{\mu_i}*p(x-d_i)-\frac{x-d_i}{x}*\frac{\gamma_i}{\mu_i}*p_i(x-d_i)$$ $$p_i(x)=0 \qquad x < d_i.$$

    Вероятность состояния $$p(0) $$ получена из условия нормировки:

    $$\sum_{j=0}^np(j)=\sum_{j=0}^n \sum_{i=1}^N p_i(j)=1$$

    Выше мы использовали параметры $$(S_i ;\beta_i) $$, чтобы характеризовать потоки нагрузки. Альтернативно можно также использовать $$(A_i , Z_i ) $$, связанные с $$(S_i , \beta_i) $$ ) формулами (8.20) {(8.23). Тогда (10.37) получается:

    $$p_i(x)=\frac{d_i}{x}*\frac{A_i}{Z_i}*p(x-d_i)-\frac{x-d_i}{x}*\frac{1-Z_I}{Z_i}*p_i(x-d_I)$$

    Потери по времени. Для Пуассоновского процесса поступления вызовов мы имеем (10.34). Для практической оценки формулы будем использовать нормализацию на каждом шаге, как это показано в секции 7.4.1. Она заканчивается очень точным и эффективным алгоритмом. При этом способе требуется малое число операций, требуемых объемов и конфигураций памяти, так как мы должны хранить только $$d_i$$ предыдущих вероятностей состояний потока нагрузки $$i$$ и $$max \{d_i\}$$ предыдущих значений глобальных вероятностей состояния. Число операций линейно зависит от числа каналов.

    Критерии качества работы

    С помощью этого алгоритма мы способны получить критерии качества работы для каждого отдельного потока нагрузки.

    Попытки вызова потока $$i$$ требуют $$d_i$$ свободных каналов и будут блокированы с вероятностью:

    $$E_i=\sum_{x=n-d_i+1}^n p(i)$$

    Потери по нагрузке

    Из вероятностей состояний $$p_i(x) $$ мы получаем полную обслуженную нагрузку потока $$i$$:

    $$Y_i=\sum_{j=1}^N xp_i(x).$$

    Тогда потери по нагрузке потока $$i$$ получаются:

    $$C_i=\frac{A_i*d_i-Y_i}{A_i*d_i}.$$

    Полная обслуженная нагрузка:

    $$Y=\sum_{j=1}^NY_i,$$

    так что полные потери по нагрузке равны:

    $$C=\frac{A-Y}{A},$$

    где $$A$$ - полная предложенная нагрузка, измеряемая в каналах:

    $$A=\sum_{j=1}^N d_iA_i.$$

    Потери по вызовам

    Они могут быть получены из потерь по нагрузке с использованием (8.47):

    $$B_i=\frac{(1+\beta_i)C_i}{1+\beta_i C_i}.$$

    Полные потери по вызовам не могут быть получены по этой формуле, так как мы не имеем глобального значения $$\beta$$.

    Имея значение отдельной обслуженной нагрузки и потерь по вызовам по каждому потоку, мы можем найти общее количество предлагаемых вызовов и принятых каждым потоком запросов и определить полные потери по вызовам.

    Пример 10.5.1: Обобщенный алгоритм

    Применим обобщенный алгоритм для Примера 10.3.2. Таблица 10.8 показывает ненормирование вероятности состояния, когда мы принимаем, что нулевое состояние равняется единице. Таблица 10.9 показывает нормированные вероятности состояния и обслуженную нагрузку для каждого

    Пример 10.5.1: вероятность относительного состояния для примера 10.3.2 с применением обобщенного алгоритма.
    Состояние Пуассон Энгсет Всего
    $$x$$ $$q_1(x)$$ $$q_2(x)$$ $$q(x)$$
    0 0 0 1
    1 $$\frac 21*2=2$$ 0 2
    2 $$\frac 22*2=2$$ $$\frac 22*\frac 43*1-0=\frac 43$$ $$\frac{10}{3}$$
    3 $$\frac 23*\frac{10}{3}=\frac{20}{9}$$ $$\frac 23*\frac 43*2-0=\frac{16}{9}$$ 4
    4 $$\frac 24*4=2$$ $$\frac 24*\frac 43*\frac{10}{3}-\frac 24 *\frac 13*\frac 43=2$$ 4
    5 $$\frac 25*4=\frac 85$$ $$\frac 25*\frac 43*4-\frac 35*\frac 13*\frac{16}{9}=\frac{16}{9}$$ $$\frac{152}{45}$$
    6 $$\frac 25*\frac{152}{45}=\frac{152}{135}$$ $$\frac26* \frac 43*4-\frac 46*\frac 13*2=\frac{180}{135}$$ $$\frac{332}{135}$$
    Всего $$\frac{2723}{135}$$
    Пример 10.5.1: абсолютные вероятности состояния и обслуженная нагрузка $$y_i(x) = x \times p_i(x) $$ для примера 10.3.2, полученные с помощью обобщенного алгоритма.
    Состояние Пуассон Энгсет Всего
    $$x$$ $$p_1(x)$$ $$x*p_1(x)$$ $$p_2(x)$$ $$x*p_2(x)$$ $$p(x)$$ $$y-x*p(x)$$
    0 0.0000 0.0000 0.0000 0.0000 0.0496 0.0000
    1 0.0992 0.0992 0.0000 0.0000 0.0992 0.0992
    2 0.0992 0.1983 0.0661 0.1322 0.1653 0.3305
    3 0.1102 0.3305 0.0881 0.2644 0.1983 0.5949
    4 0.0992 0.3966 0.0992 0.3966 0.1983 0.7932
    5 0.0793 0.3966 0.0881 0.4407 0.1675 0.8373
    6 0.0558 0.3349 0.0661 0.3966 0.1219 0.7315
    Всего 1.7562 1.6306 1.0000 3.3867

    потока в каждом состоянии. В компьютерной программе мы нормализовали бы вероятности состояния после каждой итерации (увеличивая число линий на единицу) и вычислили бы объединенную полную нагрузку для каждого потока. Это значение нагрузки должно быть, конечно, также быть нормализовано на каждом шаге. Поэтому мы должны хранить только предыдущие значения $$d_i$$ и обслуженную нагрузку каждого потока нагрузки.

    Мы получаем следующие критерии качества работы, которые, естественно, совпадают с уже полученным результатом алгоритма свертки.

    $$E_1=p(6)=0.1219\\ E_2=p(5)+p(6)=0.2894\\ C_1=\frac{2*1-1.7562}{2*1}=0.1219\\ C_2=\frac{1*2-1.6306}{1*2}=0.1847\\ B_1=\frac{(1+0)*0.1219}{1+0*0.1219}=0.1219\\ B_1=\frac{(1+1/3)*0.1847}{1+(1/3)*0.1847}=0.2320$$

    Заключительные замечания

    Алгоритм свертки для систем с потерями был сначала издан в (Iversen, 1987 [40]). Подобный подход к менее общей модели был издан в двух статьях Россом и Цангом (1990 [90]), (1990 [91]) независимо от первоначальной статьи 1987 г., даже притом, что она была известна авторам.

    Обобщенный алгоритм в секции 10.5.2 новый, и включает алгоритм Делброука (Делброук, 1983 [22]), который более сложен для проведения оценок. По сравнению со всеми другими алгоритмами обобщенный алгоритм требует намного меньше памяти и операций. Нормализуя вероятности состояния в каждой итерации, мы получаем очень точный и простой алгоритм. В принципе, можно применить обобщенный алгоритм для нагрузки BPP для вычисления глобальных вероятностей состояния для $$(N-1) $$ потока нагрузки и затем использовать алгоритм свертывания, чтобы вычислить критерии качества работы для остающегося потока нагрузки, который мы хотим оценить.

    Алгоритм свертки - более общий инструмент, чем обобщенный алгоритм, поскольку учитывает минимальное и максимальное распределение каналов для каждого потока нагрузки. Обобщенный алгоритм не сохраняет запись фактического числа запросов для каждого потока. Алгоритм свертывания, кроме того, учитывает зависимые от состояния произвольные процессы поступления вызовов.

    Краткие итоги

  • В мультисервисных системах каждый класс услуг соответствует потоку нагрузки. Несколько потоков нагрузки предлагаются одной и той группе пучков каналов.
  • Классическая многомерная B-формула потерь Эрланга рассматривает группу n пучков каналов (каналы, слоты), которым предлагают несколько независимых случайных потоков нагрузки.
  • Диаграмма переходов состояний соответствует обратимому марковскому процессу, который имеет локальное равновесие и, кроме того, решение имеет форму произведения.
  • Система с потерями Эрланга справедлива для гиперраспределенных времен пребывания в системе. Модель на $$N$$ потоков нагрузки:

    $$p(i_1, i_2, \dots, i_N)=Q*\frac{A_1^{i_1}}{i_1!}*\frac{A_2^{i_2}}{i_2!}*\dots *\frac{A_N^{i_N}}{i_N!}, \qquad 0 \le i_j \le n, \quad \sum_{j=1}^N i_j \le n,$$

    является общей многомерной B-формулой Эрланга.

  • Для увеличивающегося числа потоков нагрузки число состояний (и следовательно уравнений) увеличивается очень быстро. Однако, мы можем упростить проблему, используя структуру обратимой диаграммы переходов состояний.
  • Необходимым и достаточным условием для обратимости является то, что в диаграмме поток в направлении по часовой стрелке должен равняться потоку в противоположном направлении.
  • Ограничения класса заключается в том, что физически мы имеем доступ ко всем каналам, но в любой момент можем занять только ограниченное их число. Таким образом, вводятся ограничения числа одновременных вызовов в классе
  • При мультислотовом трафике требуемая пропускная способность может зависеть от типа обслуживания. Например, для обслуживания телефонного соединения с передачей только речи требуется один канал (слот), тогда как, например, для передачи видеоизображения может потребоваться $$d$$ каналов одновременно.
  • Когда число потоков нагрузки и каналов увеличивается, число состояний также очень быстро увеличивается, и мы не сможем оценить систему, вычисляя отдельные вероятности состояния. Для того, чтобы обеспечить возможность вычислений систем с большим числом состояний применяются два алгоритма - алгоритм свертки и алгоритм пространства состояний.
  • Алгоритм свертки основан на сборке потоков нагрузки, где мы заканчиваем потоком нагрузки, который является сборкой всех потоков нагрузки, кроме того, которым мы интересуемся.
  • Алгоритм, основанный на пространстве состояний, состоит в том, чтобы соединить пространство состояний в глобальную вероятность состояния. Примером таких алгоритмов могут служить алгоритм Фортета-Гранджеяна (для Пуассоновского потока) и обобщенный алгоритм (для биноминального, паскалевского и Пуассоновского потоков).
  • Вернуться к учебному плану