8_Моделирование (1038910), страница 2
Текст из файла (страница 2)
for (x=1;x<=D;x++)
if (rod[x]>0) cout << "rod" << x << " = " << rod [x] << endl;
cout << endl << "********************" << endl;
cout << endl << "iter = " << iter << endl;
getch ();
}
8.2. Моделирование с помощью языка GPSS
8.2.1. Преимущества имитационного моделирования
Моделирование архитектуры “Клиент-сервер” средствами GPSS позволяет, не производя сложных расчетов, в оптимальные сроки получить упрощенный аналог системы - ее модель, функционирующую аналогично реальной системе.
К достоинствам способа исследования системы путем ее моделирования на GPSS следует отнести следующие особенности:
-
возможность исследования системы без экспериментов с компонентами реально существующей системы, на основании данных о функционировании системы,
-
отсутствие сложных математических расчетов при разработке и описании модели,
-
наглядность представления функционирования модели,
-
возможность моделирования практически неограниченных периодов времени функционирования реальной системы,
-
возможность фиксирования изменения состояния системы во времени путем наблюдения за ходом моделирования,
-
возможность управления ходом моделирования,
-
возможность просмотра статистической информации в ходе моделирования,
-
возможность получения статистических результатов процесса функционирования модели системы и ее составных частей,
-
возможность варьирования параметрами системы путем незначительных изменений в тексте описания модели (аналитический метод в этом случае требует больших объемов вычислений), что относительно просто позволяет производить поиск оптимальных характеристик функционирования моделируемой системы,
-
возможность множественного моделирования системы с различными значениями параметров функционирования.
8.2.2. Моделирование
Укрупненная схема функционирования:
На рабочей станции сети формируется запрос пользователя к базе данных, расположенной на сервере. Этот запрос через канал передачи данных поступает на обработку в процессор сервера, а затем в дисковую подсистему. После этого запрос с вероятностью поступает на обработку в процессор или с вероятностью
данные, относящиеся к запросу, поступают через канал на дообработку в соответствующую рабочую станцию сети.
Схема можделируемой системы в терминах СМО:
обслуживающий аппарат, имитирующий дообработку на i-й рабочей станции сети запроса от этой станции к базе данных на сервере после обработки запроса на сервере (i=1..N);
обслуживающий аппарат, имитирующий формирование запроса от i-й рабочей станции к базе данных, находящейся на сервере (i=1..N);
буфер, имитирующий очередь запросов к каналу передачи данных сети;
обслуживающий аппарат, имитирующий передачу запросов и данных по каналу передачи данных сети;
буфер, имитирующий очередь к серверу;
обслуживающий аппарат, имитирующий работу i-го процессора сервера (i=1..C);
буфер, имитирующий очередь запросов к i-му диску сервера (i=1..M);
обслуживающий аппарат, имитирующий работу i-го диска сервера (i=1..M);
вероятность поступления запроса после обработки на диске сервера снова на процессор сервера;
вероятность поступления запроса и данных после обработки на диске сервера в канал передачи данных на дообработку в рабочую станцию сети.
Схема моделируемой системы в терминах языка GPSS:
P3=processor
P3=wst2
WORKST многоканальное устройство, имитирующее дообработку на рабочей станции сети запроса от станции к серверу после обработки запроса на сервере.
WST1 блок, имитирующий устройство, формирующее запрос к от рабочей станции сети к базе данных, находящейся на сервере.
Q_CANAL имя очереди к каналу передачи данных для передачи запроса.
CANAL одноканальное устройство, имитирующее передачу запросов и данных по каналу передачи данных сети.
P условный переход по вероятности.
P3 – условный переход по параметру P3.
Q_SERVER имя очереди запросов к серверу.
CPU многоканальное устройство, имитирующее работу процессоров сервера.
Q_DISK очередь запросов к диску сервера.
DISK одноканальное устройство, имитирующее работу диска сервера.
Текст программы на языке GPSS:
10 INITIAL X$NUMBER_ST,30 ;Number of the workstations
15 INITIAL X$TIME_ST,300 ;Creating of the transaction
20 INITIAL X$TREAT,300 ;Treatment of inquire in the workstation
25 INITIAL X$CAN1,10 ;Delaying in the canal
30 INITIAL X$CAN2,10
35 INITIAL X$TIME_CPU,20 ;Delaying in queue of the server
40 INITIAL X$TIME_DISK,20 ;Treatment of the inquire in disk
; system
45 WORKST STORAGE 30 ;Number of the workstations
50 CPU STORAGE 2 ;Number of the processors
* description of function of exponential
55 EXPON FUNCTION RN1,C20
0,0/.1,.104837/.22546,.25387/.33,.3988/.46179,.614632/
.56199,.82063/.654313,1.0553/.72535,1.2854/.78235,1.5178/
.8326,1.7777/.87027,2.0327/.90217,2.3124/.92775,2.6124/
.94621,2.9074/.96194,3.2468/.97264,3.5768/.98137,3.9521/
.98768,4.3666/.99736,5.192/1,8
* description of function of disks
60 DISKS FUNCTION RN1,D3
0.2,1/0.5,2/1,3
* description of table of time reaction
65 TABL1 TABLE MP$TAB,0,100,100
* generation of the transactions
75 GENERATE ,,,X$NUMBER_ST
* delaying of the transaction in the workstation
100 WST1 ADVANCE X$TIME_ST,FN$EXPON
* time marking of the treatment start
105 MARK TAB
110 ASSIGN 2,X$CAN1
115 ASSIGN 3,PROCESSOR
* transferring through the canal
120 CAN_1 QUEUE Q_CANAL
125 SEIZE CANAL
130 DEPART Q_CANAL
134 ADVANCE P2,FN$EXPON
140 RELEASE CANAL
145 TRANSFER ,P3
* treatment in processor
150 PROCESSOR QUEUE Q_SERVER
160 ENTER CPU
165 DEPART Q_SERVER
170 ADVANCE X$TIME_CPU,FN$EXPON
175 LEAVE CPU
* treatment in disk system
190 ASSIGN 4,FN$DISKS
195 QUEUE P4
200 SEIZE P4
205 DEPART P4
210 ADVANCE X$TIME_DISK,FN$EXPON
215 RELEASE P4
220 TRANSFER 0.1,PROCESSOR,CAN_2
225 CAN_2 ASSIGN 2,X$CAN2
230 ASSIGN 3,WST2
234 TRANSFER ,CAN_1
* delaying of the transaction in workstation database
240 WST2 ENTER WORKST
250 ADVANCE X$TREAT,FN$EXPON
255 LEAVE WORKST
* tabulating of the time reaction
260 TABULATE TABL1
265 TRANSFER ,WST1
275 GENERATE 100000
280 TERMINATE 1
micro 4,c1
window blocks
290 START 1
8.3. Результаты моделирования
8.3.1. Исходные данные
Исходными данными являются:
N – число рабочих станций сети;
Т0 – среднее значение времени дообработки на рабочей станции сети запроса от этой станции к базе данных на сервере;
Тр – среднее значение времени формирования запроса от рабочей станции сети к базе данных на сервере;
tк1 – среднее значение времени передачи запроса от РС к серверу сети через канал передачи данных;
tк2 – среднее значение времени передачи данных от сервера сети к РС через канал передачи данных;
С – количество процессоров сервера;
tп – среднее значение времени обработки запроса в процессоре сервера;
М – количество дисков сервера;
tд – среднее значение времени обработки запроса в диске сервера;
Рi – вероятность обращения запроса к i диску сервера после обработки запроса в процессоре;
– вероятность поступления запроса после обработки на диске сервера снова на процессор сервера.
№ | T0 | Tp | N | tk1 | tk2 | tп | С | tд | М | Рi | ф |
1 | 0 | 200 | 10 | 1 | 1 | 10 | 1 | 10 | 1 | 1 | 0 |
2 | 0 | 200 | 20 | 5 | 5 | 20 | 2 | 20 | 2 | 0.5 ; 0.5 | 0.1 |
3 | 0 | 200 | 30 | 10 | 10 | 30 | 4 | 30 | 3 | 0.33 ;0.33 ;0.33 | 0.5 |
4 | 0 | 200 | 10 | 1 | 1 | 40 | 1 | 10 | 4 | 0.25;0.25;0.25;0.25 | 0.6 |
5 | 100 | 200 | 10 | 1 | 1 | 20 | 1 | 10 | 2 | 0.4 ; 06 | 0 |
6 | 100 | 200 | 20 | 5 | 5 | 20 | 2 | 20 | 3 | 0.33 ;0.33 ;0.33 | 0.1 |
7 | 200 | 200 | 30 | 10 | 10 | 40 | 4 | 30 | 4 | 0.25;0.25;0.25;0.25 | 0.5 |
8 | 200 | 200 | 10 | 1 | 1 | 50 | 1 | 10 | 5 | 0.2;0.1;0.3;0.2;0.2 | 0.6 |
9 | 200 | 300 | 20 | 5 | 5 | 10 | 2 | 20 | 1 | 1 | 0.7 |
10 | 200 | 300 | 30 | 10 | 10 | 20 | 4 | 10 | 2 | 0.5 ; 0.5 | 0.9 |
11 | 300 | 300 | 10 | 1 | 1 | 30 | 1 | 10 | 3 | 0.33 ;0.33 ;0.33 | 0 |
12 | 300 | 300 | 10 | 1 | 1 | 10 | 1 | 10 | 1 | 1 | 0.6 |
13 | 350 | 300 | 20 | 5 | 5 | 20 | 2 | 20 | 2 | 0.4 ; 0.6 | 0.7 |
14 | 350 | 300 | 30 | 10 | 10 | 30 | 4 | 30 | 3 | 0.33 ;0.33 ;0.33 | 0.9 |
15 | 350 | 300 | 10 | 1 | 1 | 40 | 1 | 10 | 4 | 0.25;0.25;0.25;0.25 | 0.1 |
8.3.2. Результаты аналитического моделирования
№ | Треак. | Рк | Рп | Рдi |
1 | 34.63 | 0.090 | 0.426 | 0.426 |
2 | 71.40 | 0.737 | 0.819 | 0.819 |
3 | 445.45 | 0.930 | 0.697 | 0.920 |
4 | 829.42 | 0.020 | 0.972 | 0.060 |
5 | 154.33 | 0.056 | 0.564 | 0.113; 0.170 |
6 | 90.10 | 0.687 | 0.764 | 0.504 |
7 | 448.43 | 0.925 | 0.925 | 0.694 |
8 | 1,111.62 | 0.015 | 0.953 | 0.038; 0.019; 0.057; 0.038; 0.007 |
9 | 1,097.65 | 0.143 | 0.238 | 0.954 |
10 | 1,270.86 | 0.382 | 0.955 | 0.955 |
11 | 363.06 | 0.003 | 0.452 | 0.050 |
12 | 376.92 | 0.030 | 0.369 | 0.369 |
13 | 557.56 | 0.233 | 0.777 | 0.622; 0.933 |
14 | 2,821.96 | 0.192 | 0.721 | 0.951 |
15 | 456.16 | 0.026 | 0.588 | 0.037 |
8.3.3. Результаты имитационного моделирования
№ | Треак. | Рк | Рп | Рдi |
1 | 31.41 | 0.053 | 0.422 | 0.416 |
2 | 81.35 | 0.690 | 0.787 | 0807; 0.798 |
3 | 489.58 | 0.821 | 0.642 | 0.812; 0.880; 0.870 |
4 | 786.82 | 0.011 | 1.000 | 0.058; 0.062; 0.059; 0.057 |
5 | 144.68 | 0.034 | 0.559 | 0.111; 0.167 |
6 | 105.66 | 0.660 | 0.756 | 0.501; 0.498; 0.485 |
7 | 528.74 | 0.779 | 0.805 | 0.576; 0.619; 0.605; 0.645 |
8 | 1,097.79 | 0.008 | 0.999 | 0.036; 0.016; 0.059; 0.038; 0.040 |
9 | 1,038.38 | 0.137 | 0.250 | 0.999 |
10 | 1,328.63 | 0.344 | 0.910 | 0.889; 0.879 |
11 | 353.92 | 0.017 | 0.476 | 0.050; 0.047; 0.053 |
12 | 362.13 | 0.017 | 0.365 | 0.374 |
13 | 662.65 | 0.193 | 0.687 | 0.573; 0.817 |
14 | 3,051.88 | 0.168 | 0.656 | 0.842; 0.889; 0.937 |
15 | 448.74 | 0.015 | 0.580 | 0.034; 0.039; 0.034; 0.038 |
8.3.4. Сравнения результатов аналитического и имитационного моделирования
№ | Треак. | Рк | Рп | Рдi | |
Имит. | 1 | 31.41 | 0.053 | 0.422 | 0.416 |
Аналит. | 9% | 34.63 | 0.090 | 0.426 | 0.426 |
Имит. | 2 | 81.35 | 0.690 | 0.787 | 0807; 0.798 |
Аналит. | 12% | 71.40 | 0.737 | 0.819 | 0.819 |
Имит. | 3 | 489.58 | 0.821 | 0.642 | 0.812; 0.880; 0.870 |
Аналит. | 9% | 445.45 | 0.930 | 0.697 | 0.920 |
Имит. | 4 | 786.82 | 0.011 | 1.000 | 0.058; 0.062; 0.059; 0.057 |
Аналит. | 5% | 829.42 | 0.020 | 0.972 | 0.060 |
Имит. | 5 | 144.68 | 0.034 | 0.559 | 0.111; 0.167 |
Аналит. | 6% | 154.33 | 0.056 | 0.564 | 0.113; 0.170 |
Имит. | 6 | 105.66 | 0.660 | 0.756 | 0.501; 0.498; 0.485 |
Аналит. | 15% | 90.10 | 0.687 | 0.764 | 0.504 |
Имит. | 7 | 528.74 | 0.779 | 0.805 | 0.576; 0.619; 0.605; 0.645 |
Аналит. | 15% | 448.43 | 0.925 | 0.925 | 0.694 |
Имит. | 8 | 1,097.79 | 0.008 | 0.999 | 0.036; 0.016; 0.059; 0.038; 0.040 |
Аналит. | 1% | 1,111.62 | 0.015 | 0.953 | 0.038; 0.019; 0.057; 0.038; 0.007 |
Имит. | 9 | 1,038.38 | 0.137 | 0.250 | 0.999 |
Аналит. | 5% | 1,097.65 | 0.143 | 0.238 | 0.954 |
Имит. | 10 | 1,328.63 | 0.344 | 0.910 | 0.889; 0.879 |
Аналит. | 4% | 1,270.86 | 0.382 | 0.955 | 0.955 |
Имит. | 11 | 353.92 | 0.017 | 0.476 | 0.050; 0.047; 0.053 |
Аналит. | 3% | 363.06 | 0.003 | 0.452 | 0.050 |
Имит. | 12 | 362.13 | 0.017 | 0.365 | 0.374 |
Аналит. | 4% | 376.92 | 0.030 | 0.369 | 0.369 |
Имит. | 13 | 662.65 | 0.193 | 0.687 | 0.573; 0.817 |
Аналит. | 16% | 557.56 | 0.233 | 0.777 | 0.622; 0.933 |
Имит. | 14 | 3,051.88 | 0.168 | 0.656 | 0.842; 0.889; 0.937 |
Аналит. | 8% | 2,821.96 | 0.192 | 0.721 | 0.951 |
Имит. | 15 | 448.74 | 0.015 | 0.580 | 0.034; 0.039; 0.034; 0.038 |
Аналит. | 2% | 456.16 | 0.026 | 0.588 | 0.037 |
Сравнительный анализ результатов аналитического и имитационного моделирования показывает, что их различие составляет не более 15% для основных параметров. Это позволяет использовать предложенную модель РСОД практически.