KUR_RAB (954030), страница 11
Текст из файла (страница 11)
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit3: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit4: TEdit;
Label8: TLabel;
Label9: TLabel;
Edit5: TEdit;
GroupBox2: TGroupBox;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Label13: TLabel;
Edit8: TEdit;
Label14: TLabel;
Label15: TLabel;
Edit9: TEdit;
Label16: TLabel;
Edit10: TEdit;
Label17: TLabel;
Label18: TLabel;
Edit11: TEdit;
Label19: TLabel;
Edit12: TEdit;
Edit13: TEdit;
Label20: TLabel;
Edit14: TEdit;
Label21: TLabel;
Label22: TLabel;
Edit15: TEdit;
Edit16: TEdit;
Edit17: TEdit;
Edit18: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
function step(x:real; y:integer):real;
var
Form1: TForm1;
N:integer; // Число РС
T0:real; // Вр. доработки запроса на РС
Tp:real; // Вр. формирования запроса на РС
Tk1:real; // Вр. передачи запроса РС->сервер
Tk2:real; // Вр. передачи данных сервер->РС
C:integer; // Кол-во процессоров сервера
Tn:real; // Вр. обработки запроса в процессоре
M:integer; // Кол-во дисков сервера;
Td:real; // Вр. обработки запроса в сервере
Pii:real; // Вер-ть обращения к i-му диску
G:real; // Вер-ть пост. з-са после обр-ки снова в процессор
b:real;
v,v1,v2,v3:real;
Tk:real;
TkL:real;
TnL:real;
TdL:real;
L,L1,L2,D1:real;
TTp:real; // Время реакции системы на запрос
Pk:real; // Коэф. загрузки канала передачи данных
Pn:real; // Коэф. процессора
Pd:real; // Коэф. диска
implementation
{$R *.DFM}
function step(x:real; y:integer):real;
var i:integer;
begin
result:=x;
for i:=1 to y do result:=result*x;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
N:=StrToInt(Edit1.Text);
T0:=StrToFloat(Edit2.Text);
Tp:=StrToFloat(Edit3.Text);
Tk1:=StrToFloat(Edit4.Text);
Tk2:=StrToFloat(Edit5.Text);
C:=StrToInt(Edit6.Text);
Tn:=StrToFloat(Edit7.Text);
M:=StrToInt(Edit8.Text);
Td:=StrToFloat(Edit9.Text);
if M<>0 then Pii:=1/M
else Pii:=0;
Edit10.Text:=FloatToStr(Pii);
G:=StrToFloat(Edit11.Text);
b:=1/(1-G);
Tk:=(Tk1+Tk2)/2;
v1:=1/(2*Tk);
v2:=C/(b*Tn);
v3:=1/(b*Pii*Td);
if (v1<v2) then v:=v1
else v:=v2;
if (v3<v) then v:=v3;
L2:=0.99995*v*(N-1)/N;
Edit18.Text:=FloatToStr(L2);
repeat
L1:=L2;
{ TkL:=2*Tk/(1-2*L1*Tk);
TnL:=Tn/(1-Power(b*L1/C,C));
TdL:=Td/(1-b*Pii*L1);}
TkL:=2*Tk/(1-2*L1*Tk);
TnL:=Tn/(1-Power(b*L1*Tn/C,C));
TdL:=0;
for i:=1 to M do
TdL:=TdL+Pii/(1/Td-b*Pii*L1);
// TdL:=Td/(1-b*Pii*L1);
L:=(N-1)/(T0+Tp+TkL+b*(TnL+TdL));
D1:=abs(L1-L)/1000;
L2:=L1-D1;
until abs((L1-L)/L)<0.00001;
TTp:=T0+Tp+TkL+b*(TnL+TdL);
Pk:=Tk*L;
Pn:=Tn*b*L;
Pd:=Td*Pii*L;
Edit12.Text:=FloatToStr(TTp);
Edit13.Text:=FloatToStr(Pk);
Edit14.Text:=FloatToStr(Pn);
Edit15.Text:=FloatToStr(Pd);
Edit16.Text:=FloatToStr(L);
Edit17.Text:=FloatToStr(L1);
end;
end.
8.2. Моделирование с помощью языка GPSS.
8.2.1. Преимущества имитационного моделирования.
Моделирование архитектуры “Клиент-сервер” средствами GPSS позволяет, не производя сложных расчетов, в оптимальные сроки получить упрощенный аналог системы - ее модель, функционирующую аналогично реальной системе.
К достоинствам способа исследования системы путем ее моделирования на GPSS следует отнести следующие особенности:
-
возможность исследования системы без экспериментов с компонентами реально существующей системы, на основании данных о функционировании системы,
-
отсутствие сложных математических расчетов при разработке и описании модели,
-
наглядность представления функционирования модели,
-
возможность моделирования практически неограниченных периодов времени функционирования реальной системы,
-
возможность фиксирования изменения состояния системы во времени путем наблюдения за ходом моделирования,
-
возможность управления ходом моделирования,
-
возможность просмотра статистической информации в ходе моделирования,
-
возможность получения статистических результатов процесса функционирования модели системы и ее составных частей,
-
возможность варьирования параметрами системы путем незначительных изменений в тексте описания модели (аналитический метод в этом случае требует больших объемов вычислений), что относительно просто позволяет производить поиск оптимальных характеристик функционирования моделируемой системы,
-
возможность множественного моделирования системы с различными значениями параметров функционирования.
8.2.2. Моделирование.
Ф ормализованная схема ЛВС.
Пояснения к схеме :
OАдр - ОА, имитирующий работу рабочей станции по дообслуживанию запроса к базе данных;
OАр - ОА, имитирующий работу рабочей станции по формированию запроса к базе данных;
OАк - ОА, имитирующий работу канала по передаче информации от рабочей станции к серверу и от сервера к рабочей станции;
OАп - ОА, имитирующий работу процессора сервера;
OАд - ОА, имитирующий работу диска сервера;
Бк - буфер, имитирующий очередь запросов к каналу;
Бп - буфер, имитирующий очередь запросов к процессору;
Бд - буфер, имитирующий очередь запросов к диску;
- вероятность обращения запросов от диска к процессору при работе с базой данных на сервере.
Схема моделируемой ЛВС в обозначениях блоков языка GPSS.
Пояснения к схеме :
1 – P$RS+10;
2 – P$RS;
3 – P$NAPR;
4 – P$NAPR;
5 - PROCESSOR;
6 - PROCS;
7 – P$NDISC;
8 – P$NDISC;
9 – TRANSFER;
- вероятность обращения запросов от диска к процессору при работе с базой данных на сервере.
Данные: Tдообработки = (90, 110)
Tформирования = (90, 110)
N = 10
Tпр. канала = (100, 300)
Tобр. канала = (100, 300)
Tцп = (90, 110)
С = 2
Tдиска = (300, 700)
M = 8
Pперехода на диск = 0.125
= 0.06
Найти: загрузку ЦП
загрузку дисков
загрузку канала
время реакции
Текст программы на GPSS.
10 NRS FUNCTION RN1,D10
.1,1/.2,2/.3,3/.4,4/.5,5/.6,6/.7,7/.8,8/.9,9/1,10
20 DISC FUNCTION RN2,D8
.125,31/.25,32/.375,33/.5,34/.625,35/.75,36/.875,37/1,38
30 EXP FUNCTION RN3,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509
.5,.69/.6,.915/.7,1.2/.75,1.38
.8,1.6/.84,1.83/.88,2.12/.9,2.3
.92,2.52/.94,2.81/.95,2.99/.96,3.2
.97,3.5/.98,3.9/.99,4.6/.995,5.3
.998,6.2/.999,7./.9998,8.
40 INITIAL X$KAN,300
50 DRS VARIABLE P$RS+10
60 PROCS STORAGE 2
70 *
80 GENERATE 100,FN$EXP
90 ASSIGN RS,FN$NRS
95 BEGG queue globall
100 SEIZE P$RS
110 ADVANCE 100,10
120 RELEASE P$RS
130 ASSIGN NAPR,51
140 ONEMORE QUEUE P$NAPR
150 SEIZE P$NAPR
160 DEPART P$NAPR
170 ADVANCE X$KAN,50
180 RELEASE P$NAPR
190 TEST E P$NAPR,51,ENDD
200 SEVEN QUEUE PROCESSOR
210 ENTER PROCS
220 DEPART PROCESSOR
230 ADVANCE 100,10
240 LEAVE PROCS
250 ASSIGN NDISC,FN$DISC
260 QUEUE P$NDISC
270 SEIZE P$NDISC
280 DEPART P$NDISC
290 ADVANCE 500,200
300 RELEASE P$NDISC
310 ASSIGN NAPR,52
320 TRANSFER .06,ONEMORE,SEVEN
330 ENDD SEIZE V$DRS
340 ADVANCE 100,10
350 RELEASE V$DRS
355 depart globall
360 TRANSFER ,BEGG
370 *
380 GENERATE 10000
390 TERMINATE 1
MICRO 4,C1
WINDOW BLOCKS
400 *
410 REPORT Kostin1.REP
420 START 1
430 *
440 CLEAR
450 INITIAL X$KAN,200
460 REPORT Kostin2.REP
470 START 1
480 *
490 CLEAR
500 INITIAL X$KAN,100
510 REPORT Kostin3.REP
520 START 1
8.2.3. Результаты моделирования.
Результаты моделирования системы с различными значениями параметров можно свести в таблицу:
Номер варианта | 1 | 2 | 3 |
Начальные данные | |||
Число рабочих станций | 10 | 10 | 10 |
Время дообработки запроса на рабочей станции | 100 | 100 | 100 |
Время формирования запроса на рабочей станции | 100 | 100 | 100 |
Время канала (пр.) | 300 | 200 | 100 |
Время канала (обр.) | 300 | 200 | 100 |
Число процессоров | 2 | 2 | 2 |
Время обработки в процессоре | 100 | 100 | 100 |
Число дисков в системе | 8 | 8 | 8 |
Время обработки в диске | 500 | 500 | 500 |
Вероятности обращения к дискам | 0,125 | 0,125 | 0,125 |
Вероятность обратного перехода на обработку () | 0,06 | 0,06 | 0,06 |
Результат моделирования. | |||
Загрузка процессора | 0,154 | 0,256 | 0,558 |
Загрузка дисков 1 2 3 4 5 6 7 8 | 0,134 0,264 0,088 0,351 0,219 0,161 0,165 0,189 | 0,401 0,373 0,186 0,122 0,411 0,267 0,379 0,288 | 0,674 0,665 0,672 0,715 0,703 0,479 0,600 0,682 |
Загрузка канала | 0,909 | 0,887 | 0,940 |
Время реакции системы | 4445,19 | 3403,11 | 2733,23 |
8.3. Сравнение результатов моделирования с результатами аналитического расчёта.
№ | Модель | Загрузка устройств | Время реакции | ||
Pk | Pп | Pдср | |||
1 | Аналитическая Имитационная | 0,905 0,909 | 0,150 0,154 | 0,192 0,196 | 4652,92 4445,19 |
2 | Аналитическая Имитационная | 0,882 0,887 | 0,251 0,256 | 0,297 0,303 | 3532,54 3403,11 |
3 | Аналитическая Имитационная | 0,936 0,940 | 0,551 0,558 | 0,641 0,649 | 2769,67 2733,23 |
Заключение.
При разработке проектного решения на интерсеть, связывающую все подразделения фирмы, получены следующие основные результаты:
1. Проведен сравнительный анализ ЛВС и выбрано оборудование для ЛВС центрального и удаленного офисов, выбраны сетевые компоненты, дисковые подсистемы, источники бесперебойного питания, модемы.