Управление переключением потока заданий к системе, состоящей из двух
серверов, может осуществляться различным образом. Рассмотрим два возможных
варианта управления:
И в том, и в другом случае переключение между режимами связано с
изменением уровня загруженности сервера, который определяется длиной очереди
запросов.
Предположим,
что и в том, и в другом режиме длительность обслуживания имеет экспоненциальное
распределение. Обозначим параметр этого распределения как 
в случае
использования первого сервера и как 
в случае
применения второго сервера.
Рис. 1. Взаимосвязь интенсивности потока ответов сервера μ
и числа n ожидающих обработки либо
обрабатываемых в данный момент запросов при одноуровневом управлении
Рис. 2. Граф переходов между состояниями с различной длиной очереди при использовании одноуровневого управления
На рис.2 изображен граф цепи Маркова, соответствующий рассматриваемому
процессу рождения и гибели. Вершинам графа соответствуют стационарные
вероятности нахождения процесса N(t) в конкретном состоянии, а дугам -
интенсивности переходов между состояниями.
В
случае одноуровневого управления работа системы определяется параметром L, а
также интенсивностью потока запросов 
и
интенсивностями потока ответов сервера для двух различных режимов работы: 
и 
. Переход
между режимами работы серверной системы происходит, когда количество запросов к
серверу, ожидающих обработки либо обрабатываемых в данный момент (длина
очереди), превышает значение L. Обратный переход в режим работы без кеширования
происходит, когда длина очереди вновь уменьшается до значения L.
Число
запросов N(t), находящихся в системе (ожидающих обработки, либо
обрабатываемых в данный момент) в момент времени t, можно описать
процессом рождения и гибели с интенсивностью рождения, равной интенсивности
входящего потока запросов, и интенсивностью гибели, равной интенсивности потока
ответов сервера. Если значения
Средняя длина очереди, т.е. среднее количество запросов к серверу,
находящихся в системе (ожидающих обработки, либо обрабатываемых в данный
момент)
Поскольку
из всех находящихся в системе запросов в любой момент времени t
один и только один запрос находится на обработке, то для любого 
число
ожидающих обработки запросов 
связано
с количеством всех находящихся в системе запросов 
следующим
соотношением:
Следовательно,
производящая функция от стационарного распределения числа запросов, ожидающих
обработки связана с найденной ранее производящей функцией 
соотношением
Воспользовавшись
соотношениями (7), (9), (13) и формулами Литтла, запишем итоговые выражения для
искомых параметров.
Функциональные модели представления знаний о системе двухуровневого
управления заданиями
Рис. 3. Взаимосвязь интенсивности потока ответов сервера μ
и числа n ожидающих обработки либо
обрабатываемых в данный момент запросов при гистерезисном управлении
Рис. 4. Граф переходов между состояниями с различной длиной очереди при использовании гистерезисного управления
Формулы для стационарного распределения числа находящихся в системе
запросов (длины очереди) получаются, исходя из соотношений
|
(20)
|
Где
|
(21)
|
Средняя длина очереди, т.е. среднее количество запросов к серверу,
находящихся в системе (ожидающих обработки, либо обрабатываемых в данный
момент)
|
(22)
|
Поскольку
из всех находящихся в системе запросов в любой момент времени t
один и только один запрос находится на обработке, то для любого 
число
ожидающих обработки запросов 
связано
с количеством всех находящихся в системе запросов 
следующим
соотношением:
|
(23)
|
Следовательно,
производящая функция стационарного распределения числа запросов, ожидающих
обработки связана с найденными ранее производящими функциями 
и 
соотношением
|
(24)
|
Таким образом,
|
(25)
|
среднее число ожидающих обработки запросов
|
(26)
|
Связь
между средним временем ответа 
и
средним числом находящихся в системе запросов 
задает
одна из формул Литтла: 
.
Аналогичным соотношением связаны между собой среднее время ожидания 
и среднее
число ожидающих обработки запросов: 
Длительность
обслуживания позволяет вычислить следующее соотношение:
Время
ответа (T) = время ожидания (W) +
длительность обслуживания (S).
Воспользовавшись соотношениями (17), (22), (26) и формулами Литтла,
запишем итоговые выражения для искомых параметров.
Среднее время простаивания в очереди при гистерезисном управлении:
|
(27)
|
среднее время обслуживания при гистерезисном управлении:
|
(28)
|
где

, 
|
(29)
|
Примеры
оценки динамических характеристик систем управления
Воспользуемся полученными соотношениями для расчета и сравнительного
анализа динамических характеристик систем защиты управления, использующих метод
одноуровневого или гистерезисного управления. Параметры исследуемых систем
заданы в таблице 1.
управление сервер гистерезисный граф
Таблица
1. Параметры исследуемых систем
|
System #1
|
System #2
|
System #3
|
|
|
|
|
|
|
|
|
Механизм управления
|
Одноуровневое
|
Одноуровневое
|
Гистерезисное
|
Параметры управления
|
|
|
|
где

-
интенсивность потока ответов сервера для режима работы с первым сервером;

-
интенсивность потока ответов сервера для режима работы со вторым сервером;

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

-
интенсивность входящего потока запросов, при которой выполняется переход на
другой сервер при гистерезисном управлении;

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

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

, 
,
-
характеристики i-й системы.
Для
оценки динамических характеристик реализуем необходимые функции в среде Matlab. Функция odnourN(lam, m_1, m_2, L)
вычисляет значение 
-
среднее количество запросов, находящихся в системе, при одноуровневом
управлении:
function N = odnourN(lam, m_1, m_2, L)
%ODNOURN returns average queue length value for one-level control
system
% k state number = queue length
% lam input intensity
% m_1 output intensity for 1st mode
% m_2 output intensity for 2nd mode
% L one-level control
parameter_1=lam./m_1;_2=lam./m_2;_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));=(P_0).*(r_1./(1-r_1).^2-((r_1.^L.*(r_1-r_2))./((1-r_1).*(1-r_2))).*(L+(1-r_1.*r_2)./((1-r_1).*(1-r_2))));
end
Функция
odnourQ(lam, m_1, m_2, L) вычисляет значение 
-
среднее количество запросов, ожидающих обработки, при одноуровневом управлении:
function Q = odnourQ(lam, m_1, m_2, L)
%ODNOURQ returns average Q value for one-level control
system
% k state number = queue length
% lam input intensity
% m_1 output intensity for 1st mode
% m_2 output intensity for 2nd mode
% L one-level control
parameter_1=lam./m_1;_2=lam./m_2;_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));=P_0
+ P_0.*((r_1.^L.*r_2)./(r_2 - 1).^2 - (r_1.*(r_1.^L - 1))./(r_1 - 1).^2 +
(L.*r_1.*r_1.^(L - 1))./(r_1 - 1) - (L.*r_1.*r_1.^(L - 1))./(r_2 - 1)) -
P_0.*((r_1.^L - 1)./(r_1 - 1) - r_1.^L./(r_2 - 1));
end
Функция
gisterN(lam, m_1, m_2, L_1, L_2) вычисляет значение 
-
среднее количество запросов, находящихся в системе, при гистерезисном
управлении:
function N = gisterN(lam, m_1, m_2, L_1, L_2)
%GISTERN returns average queue length value for hysteresis
control system
% k state number = queue length
% lam input intensity
% m_1 output intensity for 1st mode
% m_2 output intensity for 2nd mode
% L_1 hysteresis control 1st parameter
% L_2 hysteresis control 2nd
parameter=lam./m_1;_1=lam./m_2;=L_2-L_1-1;_0=(1./(1-r)-((q+1).*r.^(L_1+q).*(r-r_1))./((1-r.^(q+1)).*(1-r_1))).^(-1);=P_0.*(r./(1-r).^2
-((q+1).*r.^(L_1+q).*(r-r_1 ))./((1-r.^(q+1) ).*(1-r_1 )
).*((2.*L_1+q)./2+(1-r.*r_1)./((1-r).*(1-r_1 ) )) );
end
Функция
gisterQ(lam, m_1, m_2, L_1, L_2) вычисляет значение 
-
среднее количество запросов, ожидающих обработки, при гистерезисном управлении:
function Q = gisterQ(lam, m_1, m_2, L_1, L_2)
%GISTERP returns average Q value for hysteresys control
system
% k state number = queue length
% lam input intensity
% m_1 output intensity for 1st mode
% m_2 output intensity for 2nd mode
% L_1 hysteresis control 1st parameter
% L_2 hysteresis control 2nd
parameter=lam./m_1;_1=lam./m_2;=L_2-L_1-1;_0=(1./(1-r)-((q+1).*r.^(L_1+q).*(r-r_1))./((1-r.^(q+1)).*(1-r_1))).^(-1);=P_0.*(((r-(L_1+1).*r.^(L_1+1)+L_1.*r.^(L_1+2))./(1-r).^2
-(r-r.^(L_1+1))./(1-r))+(r.^(L_1 ).*(1-r))./(1-r.^(q+1)
).*((L_1-1).*(((r-r.^(q+1))./(1-r)-q.*r.^(q+1))./(1-r)+(r.^q.*r_1.*(q-(r_1-r_1.^(q+1)
)./(1-r_1 )))./(1-r_1 ))+(((r-(q+1).*r.^(q+1)+q.*r.^(q+2))./(1-r).^2
-(r.^(q+1).*q.*(q+1))./2)./(1-r)+(r.^q.*r_1.*((q.*(q+1))./2-(r_1-(q+1).*r_1.^(q+1)+q.*r_1.^(q+2))./(1-r_1
).^2 ))./(1-r_1 )) )+((1-r_1.^(q+1) ).*(1-r).*r.^(L_1+q))./((1-r.^(q+1) ).*(1-r_1
) ).*((r_1.*(L_1+q-1))./(1-r_1 )+r_1./(1-r_1 ).^2 ) );
end
Реализуем также функции, позволяющие построить графики дискретного
распределения случайной величины N.
Функция gisterP(k, lam, m_1, m_2, L_1, L_2) вычисляет вероятность нахождения
системы в состоянии k при
гистерезисном управлении.
function Pn = gisterP(k, lam, m_1, m_2, L_1, L_2)
%GISTERP returns probability distribution for hysteresys
control system
% k state number = queue length
% lam input intensity
% m_1 output intensity for 1st mode
% m_2 output intensity for 2nd mode
% L_1 hysteresis control 1st parameter
% L_2 hysteresis control 2nd parameter=
floor(k);=lam./m_1;_1=lam./m_2;=L_2-L_1-1;_0=(1./(1-r)-((q+1).*r.^(L_1+q).*(r-r_1))./((1-r.^(q+1)).*(1-r_1))).^(-1);n=k(n>=0)
&& (n<=L_1)=(r.^n).*P_0;(n>L_1) && (n<L_2)
=(r.^(L_1).*(1-r))./(1-r.^(q+1)).*P_0.*((r.^(n-L_1)-r.^(q+1))./(1-r)+(r.^q.*r_1.*(1-r_1.^(n-L_1)))./(1-r_1));(n>=L_2)=((1-r_1.^(q+1)).*(1-r).*r.^(L_1+q))./((1-r.^(q+1)
).*(1-r_1)).*r_1.^(n-L_1-q).*P_0;
Pn=0;
end
end
end
Функция odnourP(k, lam, m_1, m_2, L)
вычисляет вероятность нахождения системы в состоянии k при одноуровневом управлении.
function Pn = odnourP(k, lam, m_1, m_2, L)
%ODNOURP returns probability distribution for one-level
control system
% k state number = queue length
% lam input intensity
% m_1 output intensity for 1st mode
% m_2 output intensity for 2nd mode
% L one-level control parameter=
floor(k);_1=lam./m_1;_2=lam./m_2;_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));n=k(n>=0)
&& (n<=L)=(r_1.^n).*P_0;(n>L)=(r_1.^L).*(r_2.^(n-L)).*P_0;
Pn=0;
end
end
end
Графики
зависимостей 
и 
для
исследуемых систем показаны на рис. 5.
Рис.5.
Графики зависимостей среднего количества запросов в системе 
и
среднего количества ожидающих обслуживания запросов 
от интенсивности входящего потока запросов 
, для
трех исследуемых
систем, в установившемся режиме работы
На
рис. 5 величины 
и 
-
характеристики для i-й системы. Из графиков видно, что характеристики 
и 
монотонно
возрастают с увеличением интенсивности входящего потока 
. Также
видно, что среднее количество ожидающих обслуживания запросов 
приблизительно
на 1 меньше среднего количества запросов в системе 
, что
соответствует сути данных характеристик.
При

длина
очереди не превышает порогового значения L для систем с одноуровневым
управлением и порогового значения 
для
систем с гистерезисным управлением, так как система работает преимущественно с
первым сервером. При приближении величины 
к
значению 
система
работает преимущественно со вторым сервером; длина очереди на некотором
интервале возрастает слабо, затем неограниченно возрастает. При 
система
уже не в состоянии обработать входящий поток запросов, характеристики 
и 
определить
нельзя.
что соответствует сделанному ранее предположению.
На
рис. 6 показаны графики зависимостей 
для
исследуемых систем.
Рис.
6. Графики зависимостей среднего времени простаивания в очереди 
от интенсивности входящего потока запросов 
, для
трех исследуемых
систем, в установившемся режиме работы
На
рис. 6 величина 
-
среднее время простаивания в очереди для i-й системы. Из
графиков видно, что значение 
монотонно
возрастает с увеличением интенсивности входящего потока 
при 
; при 
близком
к 
функция 
имеет
локальный максимум. При приближении величины 
к
значению 
на
некотором интервале среднее время простаивания в очереди убывает, так как
возрастает вероятность нахождения системы в режиме работы со вторым сервером.
При 
близком
к 
функция 
неограниченно
возрастает. При 
система
уже не в состоянии обработать входящий поток запросов, и характеристику 
определить
нельзя. Также из графиков видно, что выполняется соотношение
что соответствует сделанному ранее предположению.
На
рис. 7 показаны графики зависимостей 
для исследуемых
систем.
Рис.
7. Графики зависимостей среднего времени обслуживания 
от интенсивности входящего потока запросов 
, для
трех исследуемых
систем, в установившемся режиме работы
На
рис. 7 величина 
-
среднее время обслуживания для i-й системы. Из графика видно, что при 
на
некотором интервале среднее время обслуживания не изменяется и равно
приблизительно 
, так как
система работает преимущественно в режиме с первым сервером. При приближении
величины 
к
значению 
среднее
время обслуживания монотонно убывает и стремится к величине 
, так как
увеличивается вероятность нахождения системы в режиме работы со вторым
сервером. Также из графиков видно, что выполняется соотношение

что соответствует сделанному ранее предположению.
Вычислим
характеристики работы систем, параметры которых определены в таблице 1, для
двух заданных значений интенсивности входящего потока запросов к серверу 
.
Результаты вычислений представлены в таблице 2.
Таблица
2: Характеристики работы системы при различной интенсивности входящего потока 
|
|
|
System #1
|
|
|
|
|
|
|
|
|
|
|
|
System #2
|
|
|
|
|
|
|
|
|
|
|
|
System #3
|
|
|
|
|
|
|
|
|
|
|
|
В
таблице 2 величины 
, 
,
-
характеристики i-й системы: среднее количество запросов в системе,
среднее время простаивания в очереди, среднее время обслуживания,
соответственно.
Также
построим для заданных значений интенсивности входящего потока графики
распределения случайной величины N (количества находящихся в системе запросов) и
проверим соответствие распределений полученным выше значениям 
Рис.
8. Стационарное распределение вероятности количества находящихся в системе
запросов при интенсивности входящего потока 
Рис.
9. Стационарное распределение вероятности количества находящихся в системе
запросов при интенсивности входящего потока 
На
рис. 8, 9 величина 
-
стационарная вероятность нахождения i-й системы в состоянии n при
заданной интенсивности входящего потока.
|
(31)
|
Из
графиков видно, что при 
вероятность
нахождения системы в режиме работы первым сервером для всех исследуемых систем
выше вероятности нахождения системы в режиме работы со вторым сервером. Это
объясняется тем, что при данном значении 
переход
в режим работы с кешированием приводит к быстрому уменьшению длины очереди и
возвращению в режим работы без кеширования. При 
функции
распределения для систем с одноуровневым управлением имеют ярко выраженный
максимум вблизи значений n, равных заданным для систем параметрам L.
Функции распределения для системы с гистерезисным управлением не имеет ярко
выраженного максимума, т.е. дисперсия величины N значительно
выше. Характер
графиков распределения при 
позволяет
сделать следующий вывод: система с одноуровневым управлением при высокой
интенсивности входящего потока будет большую часть времени находиться в
состоянии, при котором длина очереди N близка к значению L.
Это означает, что в системе будет происходить частое переключение из одного
режима работы в другой, которое может негативно сказаться на динамических
характеристиках системы при наличии временных затрат на переключение. Система с
гистерезисным управлением лишена указанного недостатка, поскольку переключение
между режимами работы происходит при различных значениях N. Анализ графиков
показывает, что значения средней длины очереди 
,
вычисленные и приведенные в таблице 2, соответствуют распределениям
вероятностей длины очереди N. Выполним проверку выполнения условия 
. Проверка для
системы с одноуровневым управлением:
sum1=0;
for i=0:500=sum1+odnourP(i, lamb, m_1, m_2, L_low);
end
Проверка для системы с гистерезисным управлением:
sum2=0;i=0:500=sum2+gisterP(i, lamb, m_1, m_2, L_1, L_2);
end
Результат преверки:
=
=
.0000
Результат подтверждает выполнение условия равенства суммы стационарных
вероятностей единице.