Представление знаний в информационных системах Птицына 56 / Laboratornaya_5_Deyko
.docx
Федеральное государственное образовательное бюджетное учреждение высшего профессионального образования "Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича"
Отчёт
по лабораторной работе №5 по теме: «Анализ и генерация знаний на основе методов преобразования функциональных моделей (одноуровневое управление потоков заданий в серверной системе)»
Дисциплина: Представление знаний в информационных системах
Выполнил: студент группы ИСТ-01 Дейко К. Г.
Проверила: проф. д.т.н. Птицына Л.К.
Санкт-Петербург
2012
Задание
-
Извлечь знания об одноуровневом управлении потоками в серверной системе. Для извлечения использовать электронную версию исходных материалов.
-
Построить концептуальную модель одноуровневого управления потоками заданий в серверной системе.
-
Выделить математическое ядро определения показателей качества одноуровневого управления потоком заданий в серверной системе.
-
Разработать приложение для определения показателей качества одноуровневого управления потоком заданий в серверной системе. Приложение должно быть написано на любом языке либо с использованием любого математического пакета (Mathcad, Matlab, Scilab и т.д.)
-
Подтвердить работоспособность созданного приложения. Для подтверждения использовать оценки показателей качества управления, представленные в исходном материале.
-
Подтвердить выполняемость условий об эквивалентном качестве одноуровневого управления потоков заданий в серверной системе.
Ход работы
-
Извлечение знаний об одноуровневом управлении потоками в серверной системе из исходного материала.
-
Построение концептуальной модели одноуровневого управления потоками заданий в серверной системе.
Приложение, определяющее показатели качества одноуровневого управления потоком заданий в серверной системе
Для расчета и сравнительного анализа динамических характеристик систем защиты управления, использующих метод одноуровневого управления используем рассмотренные ранее соотношения (1)-(14). Параметры исследуемых систем заданы в таблице 1.
Таблица 1
Параметры исследуемых систем
|
System #1 |
System #2 |
Механизм управления |
Одноуровневое |
Одноуровневое |
Параметры управления |
где
— интенсивность потока ответов сервера для режима работы с первым сервером;
— интенсивность потока ответов сервера для режима работы со вторым сервером;
— интенсивность входящего потока запросов, при которой выполняется переключение режима работы при одноуровневом управлении;
Параметры и для исследуемых систем отличаются между собой на порядок, что отражает увеличение интенсивности потока ответов.
Интенсивность поступления запросов - изменяемый параметр.
Для оценки динамических характеристик реализуем необходимые функции в среде Matlab.
Функция fun_N(lam, m_1, m_2, L) вычисляет значение – среднее количество запросов, находящихся в системе, при одноуровневом управлении:
function N = fun_N(lam, m_1, m_2, L)
r_1=lam./m_1;
r_2=lam./m_2;
P_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));
N=(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
Функция fun_Q(lam, m_1, m_2, L) вычисляет значение – среднее количество запросов, ожидающих обработки, при одноуровневом управлении:
function Q = fun_Q(lam, m_1, m_2, L)
r_1=lam./m_1;
r_2=lam./m_2;
P_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));
Q=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
Построим графики зависимостей N и Q от входной интенсивности.
Графики зависимостей и для исследуемых систем с одноуровневым управлением
Величины и – характеристики для i-й системы. Из графиков видно, что характеристики и монотонно возрастают с увеличением интенсивности входящего потока .
При длина очереди не превышает порогового значения L для систем с одноуровневым управлением, так как система работает преимущественно с первым сервером. При приближении величины к значению система работает преимущественно со вторым сервером; длина очереди на некотором интервале возрастает слабо, затем неограниченно возрастает. При система уже не в состоянии обработать входящий поток запросов, характеристики и определить нельзя.
Из графиков видно, что выполняются соотношения для характеристик
N1<=N2 и Q1<=Q2.
Далее, построим графики зависимостей среднего времени простаивания в очереди от интенсивности входящего потока запросов.
function W=fun_W(lam,m_1,m_2,L)
r_1=lam./m_1;
r_2=lam./m_2;
P_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));
W=(P_0./lam).*(1+(2.*r_1-1)./(r_1-1).^2+r_1.^L.*(r_2./(r_2-1).^2-r_1./(r_1-1).^2+(L-1).*(r_2-r_1)./(r_1-1)./(r_2-1)));
end
Графики зависимостей для исследуемых систем.
Величина – среднее время простаивания в очереди для i-й системы. Из графиков видно, что значение монотонно возрастает с увеличением интенсивности входящего потока при ; при близком к функция имеет локальный максимум. При приближении величины к значению на некотором интервале среднее время простаивания в очереди убывает, так как возрастает вероятность нахождения системы в режиме работы со вторым сервером. При близком к функция неограниченно возрастает. При система уже не в состоянии обработать входящий поток запросов, и характеристику определить нельзя. Также из графиков видно, что выполняется соотношение
W1<=W2
function S = fun_S(lam, m_1, m_2, L)
r_1=lam./m_1;
r_2=lam./m_2;
P_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));
S=(P_0./lam).*(r_1./(1-r_1).^2-r_1.^2./(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))-r_1.^L.*(r_2./(1-r_2).^2-r_1./(1-r_1).^2+(L-1).*(r_2-r_1)./(1-r_1)./(1-r_2)));
end
Графики зависимостей для исследуемых систем.
Величина – среднее время обслуживания для i-й системы. Из графика видно, что при на некотором интервале среднее время обслуживания не изменяется и равно приблизительно , так как система работает преимущественно в режиме с первым сервером. При приближении величины к значению среднее время обслуживания монотонно убывает и стремится к величине , так как увеличивается вероятность нахождения системы в режиме работы со вторым сервером. Также из графиков видно, что выполняется соотношение
S1<S2
Вычислим характеристики работы систем, параметры которых определены в таблице 1, для двух заданных значений интенсивности входящего потока запросов к серверу . Результаты вычислений представлены в таблице 2.
Таблица 2
Характеристики работы системы при различной интенсивности входящего потока
|
|||
System #1 |
2.358 |
||
System #2 |
|||
В таблице 2 величины , , – характеристики i-й системы: среднее количество запросов в системе, среднее время простаивания в очереди, среднее время обслуживания, соответственно.
>> lam=37000;
>> y=fun_N(lam,m_1,m_2,5);
>> t=fun_W(lam,m_1,m_2,5);
>> m=fun_S(lam,m_1,m_2,5);
>> z=fun_N(lam,m_1,m_2,25);
>> s=fun_W(lam,m_1,m_2,25);
>> k=fun_S(lam,m_1,m_2,25);
>> lam=200000;
>> y=fun_N(lam,m_1,m_2,5);
>> t=fun_W(lam,m_1,m_2,5);
>> m=fun_S(lam,m_1,m_2,5);
>> z=fun_N(lam,m_1,m_2,25);
>> s=fun_W(lam,m_1,m_2,25);
>> k=fun_S(lam,m_1,m_2,25) ;
Реализуем функции, позволяющие построить графики дискретного распределения случайной величины N.
Функция fun_P(k, lam, m_1, m_2, L) вычисляет вероятность нахождения системы в состоянии k при одноуровневом управлении.
function Pn = fun_P(k, lam, m_1, m_2, L)
k = floor(k);
r_1=lam./m_1;
r_2=lam./m_2;
P_0=((1-r_1).*(1-r_2))./(1-r_2-r_1.^L.*(r_1-r_2));
for n=k
if (n>=0) && (n<=L)
Pn=(r_1.^n).*P_0;
elseif (n>L)
Pn=(r_1.^L).*(r_2.^(n-L)).*P_0;
else
Pn=0;
end
end
end
Функция gisterP(k, lam, m_1, m_2, L_1, L_2) вычисляет вероятность нахождения системы в состоянии k при гистерезисном управлении.
function Pn = gister_P(k, lam, m_1, m_2, L_1, L_2)
k = floor(k);
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);
for n=k
if (n>=0) && (n<=L_1)
Pn=(r.^n).*P_0;
elseif (n>L_1) && (n<L_2)
Pn=(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));
elseif (n>=L_2)
Pn=((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;
else
Pn=0;
end
end
end
Также построим для заданных значений интенсивности входящего потока графики распределения случайной величины N (количества находящихся в системе запросов) и проверим соответствие распределений полученным выше значениям
>> for i=1:40
rez1(i)=fun_P(i,37000,m_1,m_2,5);
rez2(i)=fun_P(i,37000,m_1,m_2,25);
rez3(i)=gister_P(i,37000,m_1,m_2,5,25);
end
>> rezx=1:40;
>> plot(rezx,rez1,rezx,rez2,rezx,rez3);
Величина – стационарная вероятность нахождения i-й системы в состоянии n при заданной интенсивности входящего потока.
|
Из графиков видно, что при вероятность нахождения системы в режиме работы первым сервером для всех исследуемых систем выше вероятности нахождения системы в режиме работы со вторым сервером. Это объясняется тем, что при данном значении переход в режим работы с кешированием приводит к быстрому уменьшению длины очереди и возвращению в режим работы без кеширования. При функции распределения для систем с одноуровневым управлением имеют ярко выраженный максимум вблизи значений n, равных заданным для систем параметрам L. Функции распределения для системы с гистерезисным управлением не имеет ярко выраженного максимума, т.е. дисперсия величины N значительно выше.
Характер графиков распределения при позволяет сделать следующий вывод: система с одноуровневым управлением при высокой интенсивности входящего потока будет большую часть времени находиться в состоянии, при котором длина очереди N близка к значению L. Это означает, что в системе будет происходить частое переключение из одного режима работы в другой, которое может негативно сказаться на динамических характеристиках системы при наличии временных затрат на переключение. Система с гистерезисным управлением лишена указанного недостатка, поскольку переключение между режимами работы происходит при различных значениях N.
Анализ графиков показывает, что значения средней длины очереди , вычисленные и приведенные в таблице 2, соответствуют распределениям вероятностей длины очереди N.
Подтверждение работоспособности созданного приложения
Выполним проверку выполнения условия .
Проверка для системы с одноуровневым управлением:
>> sum1=0;
>> for i=0:500
sum1=sum1+fun_P(i,lam,m_1,m_2,5);
end
>> sum1
sum1 =
1
Результат подтверждает выполнение условия равенства суммы стационарных вероятностей единице.
|
|||
System #1 |
2.358 |
||
System #2 |
|||
Сопоставлены полученные оценки показателей качества с прототипом. При одинаковых исходных данных оценки совпадают, следовательно, созданное приложение работоспособно.
Вывод.
Выполнен анализ и генерация знаний на основе методов преобразования функциональных моделей одноуровневого управления потоком заданий в серверной системе. Разработаны концептуальные модели одноуровневого управления потоком заданий в серверной системе в инструментальной среде CmapTools.
Разработаны альтернативные приложения, определяющие оценку показателей качества одноуровневого управления потоком заданий в серверной системе. Приложения созданы в среде Matlab. Подтверждена работоспособность созданных приложений посредством сопоставления полученных оценок показателей качества с прототипом. При одинаковых исходных данных оценки совпадают. Проверено условие эквивалентности одноуровневого управления. Для проверки использованы результаты разработанного приложения и прототипа. Получены новые знания об одноуровневом управлении потоком заданий в серверной системе.