KUR_RAB (954265), страница 10
Текст из файла (страница 10)
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 NORM FUNCTION RN4,C25
0,-5/.0003,-4/.00135,-3/.00621,-2.5/.02275,-2
.06681,-1.5/.11507,-1.2/.15866,-1/.21186,-.8/.27425,-.6
.34458,-.4/.42074,-.2/.5,0/.57926,.2/.65542,.4
.72575,.6/.78814,.8/.84134,1/.88493,1.2/.93319,1.5
.97725,2/.99379,2.5/.99865,3/.99997,4/1,5
50 DRS VARIABLE P$RS+10
60 PROCS STORAGE 2
70 *
80 GENERATE 100,FN$EXP
85 queue globall
90 ASSIGN RS,FN$NRS
100 BEGG 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 200,100
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 IU59217.REP
420 START 1
8.2.3. Результаты моделирования.
START_TIME END_TIME BLOCKS FACILITIES STORAGES FREE_MEMORY
0 10000 32 30 1 187024
LINE LOC BLOCK_TYPE ENTRY_COUNT CURRENT_COUNT RETRY
80 1 GENERATE 117 0 0
85 2 QUEUE 117 0 0
90 3 ASSIGN 117 0 0
100 BEGG SEIZE 158 0 0
110 5 ADVANCE 158 1 0
120 6 RELEASE 157 0 0
130 7 ASSIGN 157 0 0
140 ONEMORE QUEUE 200 109 0
150 9 SEIZE 91 0 0
160 10 DEPART 91 0 0
170 11 ADVANCE 91 2 0
180 12 RELEASE 89 0 0
190 13 TEST 89 0 0
200 SEVEN QUEUE 52 0 0
210 15 ENTER 52 0 0
220 16 DEPART 52 0 0
230 17 ADVANCE 52 0 0
240 18 LEAVE 52 0 0
250 19 ASSIGN 52 0 0
260 20 QUEUE 52 1 0
270 21 SEIZE 51 0 0
280 22 DEPART 51 0 0
290 23 ADVANCE 51 4 0
300 24 RELEASE 47 0 0
310 25 ASSIGN 47 0 0
320 26 TRANSFER 47 0 0
330 ENDD SEIZE 41 0 0
340 28 ADVANCE 41 0 0
350 29 RELEASE 41 0 0
355 30 DEPART 41 0 0
360 31 TRANSFER 41 0 0
380 32 GENERATE 1 0 0
390 33 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE._TIME AVAILABLE OWNER PEND INTER RETRY DELAY
1 13 0.127 97.77 1 0 0 0 0 0
2 12 0.123 102.58 1 0 0 0 0 0
3 22 0.222 100.95 1 0 0 0 0 0
4 17 0.166 98.12 1 0 0 0 0 0
5 20 0.203 101.90 1 0 0 0 0 0
6 11 0.109 99.64 1 0 0 0 0 0
7 14 0.135 96.64 1 40 0 0 0 0
8 20 0.201 100.50 1 0 0 0 0 0
9 15 0.150 100.20 1 0 0 0 0 0
10 14 0.138 98.71 1 0 0 0 0 0
11 4 0.039 97.75 1 0 0 0 0 0
12 3 0.030 102.00 1 0 0 0 0 0
13 6 0.059 99.50 1 0 0 0 0 0
14 4 0.040 102.00 1 0 0 0 0 0
15 4 0.038 96.00 1 0 0 0 0 0
16 3 0.029 97.00 1 0 0 0 0 0
17 3 0.028 95.67 1 0 0 0 0 0
18 6 0.059 99.50 1 0 0 0 0 0
19 4 0.039 99.50 1 0 0 0 0 0
20 4 0.041 103.00 1 0 0 0 0 0
31 5 0.210 421.20 1 41 0 0 0 0
32 9 0.432 480.44 1 0 0 0 0 0
33 5 0.225 451.80 1 0 0 0 0 0
34 7 0.394 563.86 1 0 0 0 0 0
35 7 0.394 563.43 1 0 0 0 0 0
36 4 0.171 428.00 1 7 0 0 0 0
37 7 0.415 593.86 1 39 0 0 0 0
38 7 0.273 391.29 1 43 0 0 0 1
51 49 0.987 201.59 1 45 0 0 0 108
52 42 0.844 201.10 1 38 0 0 0 1
QUEUE MAX CONT. ENTRIES ENTRIES(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
31 1 0 5 4 0.05 97.60 488.00 0
32 1 0 9 7 0.01 9.44 42.50 0
33 1 0 5 3 0.05 90.40 226.00 0
34 2 0 7 4 0.15 216.86 506.00 0
35 1 0 7 5 0.08 108.71 380.50 0
36 1 0 4 4 0.00 0.00 0.00 0
37 1 0 7 5 0.05 67.57 236.50 0
38 1 1 8 6 0.03 36.62 146.50 0
51 108 108 157 1 55.45 3531.59 3554.23 0
52 4 1 43 5 1.17 272.28 308.11 0
GLOBALL 77 76 117 0 47.42 4053.15 4053.15 0
PROCESSOR 1 0 52 52 0.00 0.00 0.00 0
STORAGE CAP. REMAIN. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
PROCS 2 2 0 2 52 1 0.52 0.262 0 0
XACT_GROUP GROUP_SIZE RETRY
POSITION 0 0
Результаты моделирования системы с различными значениями параметров можно свести в таблицу:
Начальные данные | ||
Число рабочих станций | 10 | |
Время дообработки запроса на рабочей станции | 100 | |
Время формирования запроса на рабочей станции | 100 | |
Время канала (пр.) | 200 | |
Время канала (обр.) | 200 | |
Число процессоров | 2 | |
Время обработки в процессоре | 100 | |
Число дисков в системе | 8 | |
Время обработки в диске | 500 | |
Вероятности обращения к дискам | 0,125 | |
Вероятность обратного перехода на обработку () | 0,06 | |
Результат моделирования. | ||
Загрузка процессора | 0,262 | |
Загрузка дисков | 1 | 0,210 |
2 | 0,432 | |
3 | 0,225 | |
4 | 0,394 | |
5 | 0,394 | |
6 | 0,171 | |
7 | 0,415 | |
8 | 0,273 | |
Загрузка канала | 0, 916 | |
Время реакции системы | 4053,15 |
8.3. Сравнение результатов моделирования с результатами аналитического расчёта.
Модель | Загрузка устройств | Время реакции | ||
Pk | Pп | Pдср | ||
Аналитическая Имитационная | 0,870 0,916 | 0,232 0,262 | 0,136 0,314 | 4135,58 4053,15 |
Заключение.
При разработке проектного решения на интерсеть, связывающую все подразделения фирмы, получены следующие основные результаты: