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

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

< Лекция 10 || Лекция 11: 1234 || Лекция 12 >
Пример 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.30)
Таблица 10.6. Входные данные для примера 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.7. Выход для Примера 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). ( 10.31)

Тогда среднее число каналов, занятых потоком 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. ( 10.32)

Левая сторона - поток поступления заявок типа 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). ( 10.33)

Полная вероятность состояния 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 ( 10.34)

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

Вышеупомянутая модель может легко быть обобщена на 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. ( 10.35)

С правой стороны первый элемент предполагает, что все источники типа 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} ( 10.36)

где

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) ( 10.37)
p_i(x)=0 \qquad x < d_i. ( 10.38)

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

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

Выше мы использовали параметры (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.40)

Потери по времени. Для Пуассоновского процесса поступления вызовов мы имеем (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) ( 10.41)

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

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

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

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

C_i=\frac{A_i*d_i-Y_i}{A_i*d_i}. ( 10.43)

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

Y=\sum_{j=1}^NY_i, ( 10.44)

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

C=\frac{A-Y}{A}, ( 10.45)

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

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

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

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

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

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

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

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

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

Таблица 10.8. Пример 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.9. Пример 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 каналов одновременно.
  • Когда число потоков нагрузки и каналов увеличивается, число состояний также очень быстро увеличивается, и мы не сможем оценить систему, вычисляя отдельные вероятности состояния. Для того, чтобы обеспечить возможность вычислений систем с большим числом состояний применяются два алгоритма - алгоритм свертки и алгоритм пространства состояний.
  • Алгоритм свертки основан на сборке потоков нагрузки, где мы заканчиваем потоком нагрузки, который является сборкой всех потоков нагрузки, кроме того, которым мы интересуемся.
  • Алгоритм, основанный на пространстве состояний, состоит в том, чтобы соединить пространство состояний в глобальную вероятность состояния. Примером таких алгоритмов могут служить алгоритм Фортета-Гранджеяна (для Пуассоновского потока) и обобщенный алгоритм (для биноминального, паскалевского и Пуассоновского потоков).
< Лекция 10 || Лекция 11: 1234 || Лекция 12 >
Нияз Сабиров
Нияз Сабиров

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

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

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

Владислав Ветошкин
Владислав Ветошкин
Россия, Ижевск, Ижевский государственный технический университет имени А.Т. Калашникова, 2011
Саламат Исахан
Саламат Исахан
Россия, Turkistan