Концептуальная модель двухуровневого управления потоком заданий в серверной системе
Рис. 3 Концептуальная модель гистерезисного управления потоком заданий в серверной системе
В представленной концептуальной модели отражены два режима работы сервера, в зависимости от размера буферной памяти. Согласно функциональной модели, серверная система производит смену между режимами работы, когда очередь запросов превышает L2, соответственно текущий размер буферной памяти при работе в первом режиме равен L2. Обратная смена происходит, когда размер очереди падает до L1. Размер буферной памяти второго сервера > L2
В зависимости от режима, в котором выполняется работа сервера, интенсивность ответов на клиентские запросы равна - при работе в первом режиме (с буферной памятью L2) и - при работе во втором режиме (с буферной памятью > L2).
Разработка приложения для определения показателей качества двухуровневого управления потоком заданий в серверной системе
Табл. 1
Параметры исследуемой системы
System #3 | |
Механизм управления | Гистерезисное |
Параметры управления |
— интенсивность потока ответов сервера для режима работы с первым сервером;
— интенсивность потока ответов сервера для режима работы со вторым сервером;
— интенсивность входящего потока запросов, при которой выполняется переход на другой сервер при гистерезисном управлении;
— интенсивность входящего потока запросов, при которой выполняется смена режима работы при гистерезисном управлении.
Параметры и для исследуемых систем отличаются между собой на порядок, что отражает увеличение интенсивности потока ответов.
Интенсивность поступления запросов - изменяемый параметр.
Параметры для первой и второй системы из лабораторной работы №5 заданы равными параметрам и системы соответственно с двухуровневым управлением. Исходя из этого и учитывая особенности гистерезисного управления, можно сделать предположение о том, что характеристики систем будут соотноситься следующим образом:
где , , – характеристики i-й системы.
Для оценки динамических характеристик реализуем необходимые функции в среде Matlab.
Функция gisterN(lam, m_1, m_2, L_1, L_2) вычисляет значение – среднее количество запросов, находящихся в системе, при гистерезисном управлении:
Рис. 4 Описание функции GisterN
Функция gisterQ(lam, m_1, m_2, L_1, L_2) вычисляет значение – среднее количество запросов, ожидающих обработки, при гистерезисном управлении:
Рис. 5 Описание функции GisterQ
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
r=lam./m_1;
r_1=lam./m_2;
q=L_2-L_1-1;
P_0=(1./(1-r)-((q+1).*r.^(L_1+q).*(r-r_1))./((1-r.^(q+1)).*(1-r_1))).^(-1);
Q=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
Рис. 6 Реализаций функций и построение графиков зависимостей в системе MatLab
Графики зависимостей и для исследуемых систем показаны на рис. 5.
Рис. 7 Графики зависимостей среднего количества запросов в системе и среднего количества ожидающих обслуживания запросов от интенсивности входящего потока запросов для исследуемых систем с одноуровневым и гистерезисным управлением потоком заданий
На рис. 7 величины и – характеристики для i-й системы. Из графиков видно, что характеристики и монотонно возрастают с увеличением интенсивности входящего потока . Также видно, что среднее количество ожидающих обслуживания запросов приблизительно на 1 меньше среднего количества запросов в системе , что соответствует сути данных характеристик.
При длина очереди не превышает порогового значения L для систем с одноуровневым управлением и порогового значения для систем с гистерезисным управлением, так как система работает преимущественно с первым сервером. При приближении величины к значению система работает преимущественно со вторым сервером; длина очереди на некотором интервале возрастает слабо, затем неограниченно возрастает. При система уже не в состоянии обработать входящий поток запросов, характеристики и определить нельзя.
Выполняются следующие условия:
что соответствует сделанному ранее предположению.
Рис. 8 Описание функции GisterW
function W = gisterW(lam, m_1, m_2, L_1, L_2)
% 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
r=lam./m_1;
r_1=lam./m_2;
q=L_2-L_1-1;
P_0=(1./(1-r)-((q+1).*r.^(L_1+q).*(r-r_1))./((1-r.^(q+1)).*(1-r_1))).^(-1);
W=P_0./lam.*(((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
Рис. 9 Реализация функции GisterW и построение графика зависимости
На рис. 10 показаны графики зависимостей для исследуемых систем.
Рис. 10 Графики зависимостей среднего времени простаивания в очереди от интенсивности входящего потока запросов для исследуемых систем с одноуровневым и гистерезисным управлением потоком заданий
На рис. 10 величина – среднее время простаивания в очереди для i-й системы. Из графиков видно, что значение монотонно возрастает с увеличением интенсивности входящего потока при ; при близком к функция имеет локальный максимум. При приближении величины к значению на некотором интервале среднее время простаивания в очереди убывает, так как возрастает вероятность нахождения системы в режиме работы со вторым сервером. При близком к функция неограниченно возрастает. При система уже не в состоянии обработать входящий поток запросов, и характеристику определить нельзя. Также из графиков видно, что выполняется соотношение
что соответствует сделанному ранее предположению.
Рис. 11 Описание функции GisterS
function S = gisterS(lam, m_1, m_2, L_1, L_2)
% 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
r=lam./m_1;
r_1=lam./m_2;
q=L_2-L_1-1;
P_0=(1./(1-r)-((q+1).*r.^(L_1+q).*(r-r_1))./((1-r.^(q+1)).*(1-r_1))).^(-1);
S=P_0./lam.*(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 ) )) )-P_0./lam.*(((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
Рис. 12 Реализация функции GisterS и построение графика зависимостей
На рис. 13 показаны графики зависимостей для исследуемых систем.
Рис. 13 Графики зависимостей среднего времени обслуживания от интенсивности входящего потока запросов для исследуемых систем
На рис. 13 величина – среднее время обслуживания для i-й системы. Из графика видно, что при на некотором интервале среднее время обслуживания не изменяется и равно приблизительно , так как система работает преимущественно в режиме с первым сервером. При приближении величины к значению среднее время обслуживания монотонно убывает и стремится к величине , так как увеличивается вероятность нахождения системы в режиме работы со вторым сервером. Также из графиков видно, что выполняется соотношение
что соответствует сделанному ранее предположению.
Вычислим характеристики работы систем, параметры которых определены в таблице 1, для двух заданных значений интенсивности входящего потока запросов к серверу . Результаты вычислений представлены в таблице 2.
Табл. 2