8_Моделирование (1038910)
Текст из файла
92
8. Моделирование локальной вычислительной сети
8.1. Аналитическое моделирование
8.1.1. Математические модели, используемые для оценки характеристик функционирования ЛВС и их компонентов
1. Система М / М / 1
ОA
W
V
- интенсивность входного потока,
- производительность ОА,
t0 - среднее время обслуживания одной заявки,
Все времена подчинены экспоненциальному закону распределения.
W - время ожидания,
V - время пребывания.
2. Система М / G / 1
OA
W
V
t0 - среднее время обслуживания одной заявки,
- квадрат коэффициента вариации.
Формула Поллячека-Хинчина:
3. Система G / G / 1
W
V
- квадрат коэффициента вариации входного потока
Формула Файндберга:
( При Кэрл =1 - экспоненциальный поток, Кэрл = - равномерный поток.)
4. Система М / М / C
C - количество ОА, все ОА идентичны.
ОА1
ОАс
V
5. Система G / G / C
ОА1
V
6. Система М / М / 1 / К
с
OA
отк
Ротк
m - количество мест в очереди,
К - количество мест в системе.
Коэффициент использования ОА (вероятность того, что ОА занят):
Для частного случая, когда = 1, имеем следующие выражения:
1. Количество состояний графа системы (m + 2).
3. Вероятность отказа заявок .
4. Интенсивность потока, поступающего на ОА:
5. Количество заявок в очереди (средняя длина очереди):
6. Количество заявок в системе:
7. Среднее время ожидания:
8. Среднее время пребывания:
9. Коэффициент использования ОА:
Формула Литтла.
OA
Lw - количество заявок в очереди,
Lv - количество заявок в системе.
Lw = *W
Lv = *V
8.1.2. Аналитическое моделирование системы
Пусть дана сеть следующей архитектуры:
Г
Рабочие станции Процессоры Диски 1-
ОАдз1 ОАфз1 ОАцп1 ОАд1
Канал
ОАдзn ОАфзn ОАцпk ОАдm
Исходными данными аналитической модели являются:
N – число рабочих станций сети;
Т0 – среднее значение времени дообработки на рабочей станции сети запроса от этой станции к базе данных на сервере;
Тр – среднее значение времени формирования запроса от рабочей станции сети к базе данных на сервере;
tк1 – среднее значение времени передачи запроса от РС к серверу сети через канал передачи данных;
tк2 – среднее значение времени передачи данных от сервера сети к РС через канал передачи данных;
С – количество процессоров сервера;
tп – среднее значение времени обработки запроса в процессоре сервера;
М – количество дисков сервера;
tд – среднее значение времени обработки запроса в диске сервера;
Рi – вероятность обращения запроса к i диску сервера после обработки запроса в процессоре;
– вероятность поступления запроса после обработки на диске сервера снова на процессор сервера.
Выходными характеристиками аналитической модели являются:
Треак – среднее значение времени реакции системы;
к – коэффициент загрузки ОА, имитирующего работу канала передачи данных;
п – коэффициент загрузки ОА, имитирующего работу процессора сервера;
дi – коэффициент загрузки ОА, имитирующего работу i–го диска сервера.
Введём следующие обозначения:
ф1 – среднее значение суммарной интенсивности фонового потока запросов, выходящих из ОА, имитирующих работу РС;
ф1 – среднее значение интенсивности фонового потока запросов, проходящих через ОА, имитирующих работу процессора, где =1/(1–) ;
tк – среднее значение времени обработки запроса в канале передачи данных;
tк=0.5(tк1+ tк2 ). (1)
Тогда имеем:
Т к – среднее значение времени пребывания запроса в ОА, имитирующих работу канала передачи данных определяется как
Тп – среднее значение времени пребывания запроса в ОА, имитирующих работу процессора сервера определяется как:
Т д – среднее значение времени пребывания запроса в ОА, имитирующих работу диска сервера определяется как:
Тогда справедливо следующее выражение:
(5)
Приближённый итерационный алгоритм нахождения значения и выходных характеристик аналитической модели имеет следующий вид:
1. Определяем начальное значение для ф1
К1 принимает значения в диапазоне 0.995…0.99995.
2. Определяем значения Тк , Тп и Тд соответственно из выражений (2), (3) и (4).
3. Определяем значение ф из следующего выражения:
4. Определяем относительную погрешность 1 для ф1: 1 принимает значения в диапазоне 0.001…0.00001.
Если , то алгоритм завершил работу, и переходим к пункту 6, иначе выполняется следующий пункт алгоритма.
5. Определяем новое приближённое значение для ф1:
К2 принимает значения в диапазоне 10…1000.
После этого переходим к пункту 2 данного алгоритма.
6. Определяем выходные результаты аналитической модели:
Предложенная аналитическая модель реализована программно на языке СИ.
8.1.2.1. Блок-схема алгоритма аналитического моделирования
Пояснения к обозначениям на блок-схеме:
Tо - время дообработки;
Tреак - время реакции;
Tд - время в диске;
Tк - время в канале;
Tп - время в процессоре;
Tр- время на рабочей станции;
ф - фоновый поток;
- интенсивность поступления запросов в систему;
- коэффициент загрузки (диска, канала или процессора) ;
Рi - вероятность перехода на i диск;
С - количество процессоров;
N - число рабочих станций;
М - число дисков;
1 - погрешность интенсивности потока;
- вероятность перехода диск - процессор;
К1 – коэффициент запаса = 0.9950.99995;
К2 = 101000.
Блок-схема алгоритма:
8.1.2.2. Программная реализация алгоритма аналитического моделирования
Текст программы на языке С++.
#include <conio.h>
#include <iostream.h>
#define K1 0.995
#define K2 100
#define DELTA1 0.001
float tk1,tk2,tk,tp,td;
float Tk,Tp,Td,To,Tr;
float beta,lf,lf1,gamma,delta;
float P[4],rod[4],tmp[6];
float l,l2;
float Treak,rok,rop;
int D,C,N;
float step (float num)
{
int c;
float rez=1;
if (C>1)
{
for (c=0;c<=C-1;c++) rez = rez*num;
return rez;
}
else return num;
}
void main ()
{
int x,y,iter;
clrscr ();
cout << "Среднее время дообработки To = ";
cin >> To;
cout << "Среднее время формирования запроса Tr = ";
cin >> Tr;
cout << "Число рабочих станций N = ";
cin >> N;
cout << "Среднее время передачи от станции к серверу tk1 = ";
cin >> tk1;
cout << "Среднее время передачи от сервера к станции tk2 = ";
cin >> tk2;
cout << "Среднее время обработки в процессоре сервера tp = ";
cin >> tp;
cout << "Количество процессоров сервера C = ";
cin >> C;
cout << "Среднее время обработки на диске td = ";
cin >> td;
cout << "Количество дисков сервера D = ";
cin >> D;
for (x=1;x<=D;x++)
{
cout << "Вероятность обращения к " << x << " диску сервера P" << x << " = ";
cin >> P[x];
}
cout << "Вероятность повторного поступления запроса gamma = ";
cin >> gamma;
iter = 0;
tk = 0.5*(tk1+tk2);
beta = 1/(1-gamma);
tmp [1] = 1/(2*tk);
tmp [2] = C/(beta*tp);
for (x=1;x<=D;x++)
if (P[x]>0) tmp [x+2] = 1/(beta*P[x]*td);
else tmp[x+2] = 0;
for (x=2;x<=6;x++)
if ((tmp[1]>tmp[x]) && (tmp[x]>0)) tmp[1] = tmp[x];
lf1 = (K1*tmp[1]*(N-1))/N;
Next:
Tk = 2*tk/(1-2*lf1*tk);
//cout << "Tk=" << Tk << endl;
Tp = tp/((1-step(beta*lf1*tp))/step(C));
//cout << "Tp=" << Tp << endl;
Td = 0;
for (x=1;x<=D;x++) Td = Td + P[x]/((1/td)-(beta*P[x]*lf1));
//cout << "Td=" << Td << endl;
lf = (N-1)/(To+Tr+Tk+(Tp+Td)*beta);
//cout << (lf1-lf)/lf << endl;
iter++;
if (((lf1-lf)/lf)>DELTA1)
{
delta = (lf1-lf)/K2;
lf1 = lf1 - delta;
goto Next;
}
Treak = To+Tk+(Td+Tp)*beta;
l2 = N/(Treak+Tr);
rok = 2*l2*tk;
rop = (beta*l2*tp)/C;
for (x=1;x<=D;x++) rod [x] = beta*P[x]*l2*td;
cout << endl << "********************" << endl;
cout << endl << "Treak = " << Treak << endl;
cout << "rok = " << rok << endl;
cout << "rop = " << rop << endl;
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.