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

Системы с ожиданием

< Лекция 12 || Лекция 13: 123 || Лекция 14 >
Аннотация: В этой лекции мы рассматриваем нагрузку систем с n идентичными обслуживающими приборами и бесконечным числом мест ожидания. Когда все n обслуживающих приборов заняты, поступивший вызовов ставится в очередь и ждет, пока не освободится хотя бы один обслуживающий прибор. Когда хотя бы один обслуживающий прибор свободен, клиенты не могут оставаться в очереди (полная доступность).

Мы рассмотрим те же самые два случая потоков нагрузки, о которых говорили в Лекциях 7 и 8.

  1. Пуассоновский поток вызовов (бесконечное число источников) и экспоненциально распределенное время обслуживания ( PCT-I ). Эта самая важная система организация очереди называется Эрланговская система с ожиданием. Используя систему обозначений, которую мы введем позже в секции 13.1, назовем Эрланговскую систему с ожиданием - M/M/n. В этой системе обслуженная нагрузка равна предложенной нагрузке, поскольку попытки вызова не блокируются. Положительная вероятность времени ожидания означает необходимость вычисления:

    • длины очереди;
    • среднего времена ожидания;
    • функции увеличения.

    С этими параметрами мы будем иметь дело в секции 12.2. В секции12.3 будет показано, как для оптимизации системы может быть применен Принцип Мо. В секции 12.4. вычисляется распределение времени ожидания для основной дисциплины обслуживания - Первый Прибыл Первый обслужен ( FCFS * - First Come First Served).

  2. Ограниченное число источников и экспоненциально распределенное время обслуживания ( PCT-II ). Эта модель Пальма, называемая моделью восстановления машин, рассмотрена в секции 12.5. (проблема взаимного влияния машин) и широко применяется для того, чтобы планировать сети, например, компьютерные сети, терминальные сети. Модель восстановления машин оптимизирована в секции 12.6.

Система с ожиданием Эрланга M/M/n

Рассмотрим систему с ожиданием M/M/n. Она обслуживает Пуассоновский поток вызовов ( M ), имеет экспоненциальное время обслуживания ( M ) и n обслуживающих приборов при бесконечном числе мест ожидания. Состояние системы определяется как общее количество пользователей в системе (или в обслуживании, или ожидающих в очереди).

 Диаграмма переходов состояний M/M/n системы с ожиданием, имеющей n серверов и неограниченное число мест ожидания.

Рис. 12.1. Диаграмма переходов состояний M/M/n системы с ожиданием, имеющей n серверов и неограниченное число мест ожидания.

Нас интересуют вероятности устойчивых состояний системы. В секции 7.4 дана диаграмма переходов между состояниями (рис.12.1). Принимая, что диаграмма находится в статистическом равновесии, получаем:

\lambda *p(0)=\mu *p(1),\\
\lambda *p(1)=2 \mu *p(2),\\
\qquad \qquad \vdots \qquad \vdots \qquad \vdots\\
\lambda * p(i)=(i+1) \mu * p(i+1),\\
\qquad \qquad \vdots \qquad \vdots \qquad \vdots\\
\lambda *p(n-1)=n \mu *p(n),\\
\lambda*p(n)=n \mu*p(n+1),\\
\qquad \qquad \vdots \qquad \vdots \qquad \vdots\\
\lambda*p(n+j)=n \mu*p(n+j+1). ( 12.1)

Если A = \lambda / \mu - это предложенная нагрузка, то мы имеем:

p(i)=\begin{cases}
p(0)*\frac{A^i}{i!}, & 0 \le i \le n,\\
p(n)*\left ( \frac An \right )^{i-n}=p(0)*\frac{A^i}{n!*n^{i-n}}, & i \ge n.
\end{cases} ( 12.2)

С помощью нормировки вероятностей состояний получаем:

1=\sum_{i=0}^{\infty}p(i),\\
1=p(0)*\left \{ 1+\frac A1+\frac{A^2}{2!}+ \dots + \frac{A^n}{n!} \left (1+\frac A1+ \frac{A^2}{n^2}+\dots \right ) \right \}.

Внутренние фигурные скобки содержат геометрическую прогрессию с коэффициентом прогрессии A/n. Условие нормализации может быть выполнено только для:

A < n ( 12.3)

Статистическое равновесие получено лишь для A/n. Иначе очередь будет увеличиваться до бесконечности. Мы получаем значение p_0:

p(0)=\frac{1}{\sum_{i=0}^{n-1} \frac{A^i}{i!}+\frac{A^n}{n!} \frac{n}{n-A}}, A < n. ( 12.4)

Уравнения (12.2) и (12.4) показывают вероятности устойчивых состояний.

Характеристики нагрузки систем с ожиданием

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

C-формула Эрланга

Когда Пуассоновский поток вызовов не зависит от состояния системы, вероятность того, что произвольный вызов должен будет ждать обслуживания в очереди, равна пропорции времени, когда заняты все обслуживающие приборы ( свойство PASTA ). Время ожидания - случайная величина, которая обозначается W. Для произвольного поступления вызовов имеем:

E_{2,n}(A)=\frac{\frac{A^n}{n!} \frac{n}{n-A}}{1+\frac A1+\frac{A^2}{2!}+\dots+\frac{A^{n-1}}{(n-1)!}+\frac{A^n}{n!} \frac{n}{n-A}}, A < n. ( 12.6)

Эта вероятность ожидания зависит только от A, т.е.произведения \lambda и s. Формула имеет несколько названий: C-формула Эрланга, вторая формула Эрланга или формула Эрланга для систем с ожиданием. Она имеет различные обозначения в литературе:

E_{2,n}(A)=D=D_n(A)=p\{W > 0\}.

Клиенты либо обслуживаются немедленно, либо помещаются в очередь. Вероятность, что клиент обслуживается немедленно, равна:

S_n=1-E_{2,n}(A).

Обслуженная нагрузка Y равняется предложенной нагрузке A, так как ни одному вызову не отказывается в обслуживании, а процесс поступления вызовов - Пуассоновский процесс:

Y=\sum_{i=1}^n ip(i)+\sum_{i=n+1}^{\infty}np(i)\\
=\sum_{i=1}^n \frac{\lambda}{\mu}p(i-1)+\sum_{i=n+1}^{\infty} \frac{\lambda}{\mu}p(i-1)\\
=\frac{\lambda}{\mu}=A, ( 12.7)

Здесь применено уравнение равновесия.

Длина очереди - случайная величина L. Вероятность наличия клиентов в очереди в случайной точке времени:

p\{L > 0\}=\sum_{i=n+1}^{\infty}=\frac{\frac An}{1-\frac An}*p(n),\\
p\{L > 0\}=\frac{A}{n-A}p(n)=\frac AnE_{2,n}(A). ( 12.8)

Здесь использовалось (12.5).

Числовая оценка

Формула подобна B-формуле (7.10) Эрланга, за исключением коэффициента n/(n-A) в последнем элементе. Поскольку существует очень точная рекурсивная формула для числовой оценки B-формулы Эрланга (7.29), можно использовать следующие отношения для того, чтобы получить числовые значения для C-формулы:

E_{2,n}(A)=\frac{n*E_{1,n}(A)}{n-A(1-E_{1,n}(A))}\\
=\frac{E_{1,n}(A)}{1-A\{1-E_{1,n}(A)\}/n}, \quad A < n. ( 12.9)

где элемент A\{1-E_{1,n} (A)\}/n - средняя обслуженная нагрузка на канал в соответствующей системе с потерями. Для A \ge n мы имеем E_{2,n} (A) = 1. Это - вероятность того, что все клиенты поставлены на ожидание. C-формула Эрланга может быть выражена B-формулой:

\frac{1}{E_{2,n}(A)}=\frac{1}{E_{1,n}(A)}-\frac{1}{E_{1,n-1}(A)}, ( 12.10)
I_{2,n}=I_{1,n}(A)-I_{1,n-1}(A), ( 12.11)

где I - инверсия вероятности (7.30).

I_{n,2}(A)=\frac{1}{E_{2,n}(A)}.

C-формула Эрланга была сведена в таблицу в Принципе Мо (Jensen, 1950 [50] ) и показана на рис.12.2.

 C-формула Эрланга для системы с ожиданием M/M/n.

Рис. 12.2. C-формула Эрланга для системы с ожиданием M/M/n.

Вероятность E_{2,n} (A) для положительного времени ожидания показана как функция предложенной нагрузки для различных значений числа обслуживающих приборов n.

Средняя длина очереди

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

Средняя длина очереди в произвольный момент времени

Длина очереди L в произвольной момент времени называется виртуальной длиной очереди. Для произвольного клиента длина очереди определяется как свойство PASTA, т.е. Пуассоновский поток вызовов (математическое ожидание по времени = математическое ожидание по вызовам). Мы получаем среднюю длину очереди:

L_n = E \{L\} в произвольный момент времени:

L_n=0*\sum_{i=0}p(i)+\sum_{i=n+1}^{\infty}(i-n)p(i)\\
=\sum_{i=n+1}^{\infty}i-n)p(n) \left (\frac An \right )^{i-n}\\
=p(n)*\sum_{i=1}^{\infty}i (\frac{A}{n})^{i-n}\\
=p(n)*\frac An \sum_{i=1}^{\infty} \frac{\partial}{\partial (A/n)} \left \{ \left (\frac An \right)^i \right \}.

Поскольку A/n \le  c \le 1, ряд является равномерно сходящимся, оператор дифференцирования может быть вынесен за сумму:

L_n=p(n) \frac An \frac{\partial}{\partial (\frac An)} \left \{ \frac{\frac An}{1-(\frac An)} \right \}=p(n)*\frac{\frac An}{\{1-(\frac An)\}^2}\\
=p(n)*\frac{n}{n-A}*\frac{A}{n-A},\\
L_n=E_{2,n}(A)*\frac{A}{n-A}. ( 12.12)

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

Средняя длина очереди, со временем ожидания больше нуля

Математическое ожидание времени и в этом случае равно математическому ожиданию вызова. Условная средняя длина очереди будет:

L_{nq}=\frac{\sum_{i=n+1}^{\infty}(i-n)p(i)}{\sum_{i=n+1}^{\infty}p(i)}\\
=\frac{p(n)*\frac{\frac An}{(1-\frac An)^2}}{p(n) \frac{A}{n-A}}\\
=\frac{n}{n-A} ( 12.13)

Применяя (12.8) и (12.12), получаем:

L_{nq}=\frac{L_n}{p\{L > 0\}},

где L - случайная переменная, обозначающая длину очереди.

Средние времена ожидания

Здесь представляют интерес две характеристики:

  • среднее время ожидания W для всех клиентов;
  • среднее времени ожидания w для клиентов, для которых время ожидания имеет положительное значение.

Первая является индикатором уровня обслуживания целой системы, тогда как вторая относится к задержанным вызовам.

Математические ожидания времени будут равны математическим ожиданиям по вызовам из-за свойства PASTA.

Среднее время ожидания для всех вызовов

Формула Литла говорит, что средняя длина очереди равна интенсивности прибытия, умноженной на среднее время ожидания:

L_n=\lambda W_n ( 12.14)

где L_n=L_n(A) и W_n=W_n(A). Рассматривая процесс поступления вызовов, из (12.12) мы имеем:

W_n=\frac{L_n}{\lambda}=\frac {1}{\lambda}*E_{2,n}(A)*\frac{A}{n-A}.

Поскольку A = \lambda s, где s - среднее время обслуживания, мы имеем:

W_n=E_{2,n}(A)*\frac{s}{n-A}. ( 12.15)

Среднее время ожидания для задержанных вызовов

Полное время ожидания является постоянным и может быть вычислено либо в среднем по всем клиентам ( W_n ), либо только по вызовам, для которых времена ожидания ( w_n ) имеют положительные значения (3.20):

W_n=w_n*E_{2,n}(A), ( 12.16)
w_n=\frac{s}{n-A} ( 12.17)
Пример 12.2.1: Система организации очереди с одним обслуживающим прибором (M/M/1)

Эта система наиболее часто упоминается в литературе. Вероятности состояния (12.2) определяются рядом геометрической прогрессии:

p(i)=(1-A)*A^i, i=0,1,2, \dots, ( 12.18)

поскольку p (0) = 1- A. Вероятность задержки равна:

Е_{2,1}(A)=А.

Средняя длина очереди L_n (12.12) и среднее время ожидания для всех вызовов W_n (12.15) :

L_1=\frac{A^2}{1-A}, ( 12.19)
W_1=\frac{As}{1-A}. ( 12.20)

С помощью уравнений 12.12, 12.14, 12.17 мы можем установить, что увеличение нагрузки из-за большего количества вызовов лучше, чем увеличение нагрузки из-за более длинного времени обслуживания, поскольку увеличение времени обслуживания увеличивает величину всех показателей. Поэтому важно, чтобы времена обслуживания системы не увеличивались в момент перегрузки.

Пример 12.2.2: Среднее время ожидания, когда A -> 0

Заметьте, что если A \to 0, мы получаем w_n = s/n (12.17). Если клиент ожидает (что редко случается, когда A \to 0 ), то этот клиент будет единственным в очереди. Клиент должен ждать, пока сервер освободится. Это случается в конце экспоненциально распределенного временного интервала со средней величиной s/n. Поэтому w_n никогда не может быть меньше, чем s/n.

Функция увеличения для M/M/n

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

F_{2,n}(A)=A\{E_{2,n}(A)-E_{2,n+1}(A)\} ( 12.21)

Уменьшение средней длины очереди (пропорционально нагрузке, которую обслуживают места ожидания) определяется формулой Литла (12.14):

F_{L,n}(A)=L_n(A)-L_{n+1}(A)\\

\qquad = \lambda \{W_n(A)-W_{n+1}(A)\}, ( 12.22)

где W_n(A) - среднее время ожидания для всех вызовов, когда предложенная нагрузка и число обслуживающих приборов - n (12.15). Равенства (12.21) и (12.22) сведены в таблицу в Принципе Мо (Jensen, 1950 [50] ) и могут быть легко рассчитаны с помощью калькулятора или компьютера.

< Лекция 12 || Лекция 13: 123 || Лекция 14 >
Нияз Сабиров
Нияз Сабиров
Стоимость "обучения"
Елена Сапегова
Елена Сапегова
диплом
Александр Орешин
Александр Орешин
Россия, Ростов-на-Дону
Андрей Лучицкий
Андрей Лучицкий
Россия