Опубликован: 20.04.2011 | Уровень: для всех | Доступ: платный
Лекция 11:

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

< Лекция 10 || Лекция 11: 1234 || Лекция 12 >
Пример 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.3.2: на шесть каналов поступает два Пуассоновских потока нагрузки (PCT-I) (горизонтальные линии состояний) и энгсетовский поток нагрузки (PCT-II) (вертикальные линии состояний). Параметры определены в Таблице 10.1. Если мы определим условную вероятность состояния (0, 0) равной единице, тогда, используя локальное равновесие вероятностей состояний, мы сможем найти условное состояние q(i, 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. ( 10.22)

Важны только условные значения 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 ( 10.23)

Сначала свертываем 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)\}, ( 10.24)

где

u=min\{n_i+n_j,n\}. ( 10.25)

Заметьте, что производится усечение пространства состояний к 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), ( 10.26)

где для 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 ( 10.27)

где

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)}. ( 10.28)

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

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

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

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) для каждого потока нагрузки. Но при осуществлении этого подхода имеются проблемы вычислений. Свертка, с точки зрения вычисления, очень устойчива, а развертка вычисляется не всегда. Однако мы можем применить развертку в некоторых случаях, например, когда источники нагрузки имеют два состояния - вкл\выкл.

Таблица 10.2. Поток нагрузки Паскаля (Пример 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.3. Применение алгоритма свертки для примера 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 ).

Таблица 10.4. Входные данные для программы расчета 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

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

Таблица 10.5. Выходные данные из программы расчета 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 || Лекция 11: 1234 || Лекция 12 >
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Муслим Джалалудинов
Муслим Джалалудинов
Россия, Махачкала
Дмитрий Свиридов
Дмитрий Свиридов
Россия