Wsnum function rnl,dl5

.066,1/.133,2/.199,3/.266,4/.332,5/.399,6/.465,7/.532,8/.598,9

.665,10/.731,11/.798,12/.864,13/.931,14/1,15

* Определение порядка опроса:

Qorder function pl,dl5

1,2/2,3/3,4/4,5/5,6/6,7/7,8/8,9/9,10/10,11/11,12/12,13/13,14/14,15/15,1

* Предварительное задание значений факторов для эксперимента

q_time equ 100; Время опроса

t_time equ 10; Время передачи одного пакета

q_int equ 30000; Интенсивность запроса на рабочих станциях

* Время передачи 1 Кбайта из глобальной сети при скорости 3,6 Кбайт/с

gntime equ 278; 278 мс

generate „,1; Генерация опросного маркера

assign 1,1; Номер опрашиваемой рабочей станции

next seize channel; Опрос рабочей станции

Advance q_time

test ne ch*l,0,ifempty; Есть ли запрос на этой рабочей станции?

unlink pl,send_f,l; Передать запрос, если он есть

ifempty release channel; Занять канал для опроса

assign l,fn$qorder; Опрос следующей рабочей станции

Transfer,next

generate (exponential(3,0,q_int)),,,,l; Запрос с рабочей станции

assign l,fn$wsnum; № рабочей станции, сгенерировавшей запрос

assign 2,(gamma(4,0,.4,88)\l+l); Размер запроса, Кбайт

queue network; Фиксация появления запроса

link pl,fifo; Ждать опроса станции

send_f seize channel; Занять канал

advance (t_time#p2); Передать запрос

release channel; Освободить канал

seize cpu; Начать обработку запроса на сервере

advance p2; Время сборки запроса из пакетов

transfer.85,bdq,gnq; Запрос к БД или к сети?

bdq advance 50,40; Время обработки запроса к БД

Assign 2,(duniform(5,10,1024))

Transfer,send_b

* Обработка запроса к глобальной сети

* Поиск в глобальной сети. Время поиска зависит от скорости соединения с се­тью

Gnq advance (gamma(6,0,gn_time/1390,10))

Assign 2,(duniform(7,50,150))

advance (gn_time#p2); Время получения данных из сети

Transfer,send_b

* Передача результатов обработки запроса на рабочую станцию

Sendjb release cpu

priority 2; Повысить приоритет для ответа

Seize channel

Advance (t_time#p2)

Release channel

depart network; Фиксация времени пребывания в сети

Terminate

generate 86400000; Таймер (24 часа = 86400 с = 86400000 мс)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: