Описание сети в виде системы массового обслуживания
Распределенная система передачи данных в виде структурной схемы представлена на рисунке 1.
А, В аппаратные объекты типа память.
АВ1, АВ2,АВ3, ВС1, ВС2 – аппаратные объекты типа прибор
Пакеты данных – транзакты, т.е динамические объекты.
За единицу модельного времени принята 1мс.
При попадании пакетов в пункт А происходит их буферизация. Затем пакеты передаются по любой из трех линий в пункт В. Время пересылки по линиям различно. В пункте В пакеты буферизуются, далее передаются в пункт С по линии ВС1 . Если линия ВС1 занята, то включается в работу линия ВС2. Время передачи пакетов по линиям ВС1 и ВС2 одинаково.
Построение структурной схемы модели
В нашем случае мы имеем систему передачи информации из пункта А в пункт С через транзитный узел В. Для описания модели воспользуемся GPSS world. Необходимо смоделировать прохождение через систему передачи данных 800 пакетов. Определить характеристики очередей в пункте А и В. Так же требуется определить вероятность использование линии ВС2 и пропускную способность линии передачи данных ВС1, при которой отпадёт необходимость в наличии буфера в пункте В и линии ВС2.
Формализация и алгоритмизация модели
Схема прохождения транзактов имеет вид :
При этом возникают очереди перед линиям АВ1,АВ2,АВ3.
Алгоритм написан как комментарий к тексту программы.
Блок-схема программы
Текст программы
bufA equ 1 ; Присвоение имени емкости А
bufB equ 2 ; Присвоение имени емкости В
abI equ 1 ; Присвоение имени линии АBI
abII equ 2 ; Присвоение имени линии АBII
abIII equ 3 ; Присвоение имени линии АBIII
bcI equ 4 ; Присвоение имени линии ВСI
bcII equ 5 ; Присвоение имени линии ВСII
f11 equ 1 ; Присвоение имени логической переменной F11
f12 equ 2 ; Присвоение имени логической переменной F12
f13 equ 3 ; Присвоение имени логической переменной F13
initial x$1,17 ; Установка начальных значений для линии ABI
initial x$2,18 ; Установка начальных значений для линии ABII
initial x$3,19 ; Установка начальных значений для линии ABIII
initial xh$1,5 ; Установка начальных значений для линии ABI
initial xh$2,6 ; Установка начальных значений для линии ABII
initial xh$3,2 ; Установка начальных значений для линии ABIII
simulate ; Проведение моделирования
generate 18,3,,800 ; Ввод пакетов в модель
qqq1 gate_lr f11,qqq2 ; Проверка состояния f11
assign 1,1 ; Транзакты первого типа
logic_s f11 ; Установка в 1 f11
logic_s f13 ; Установка в 1 f13
logic_r f12 ; Установка в 0 f12
transfer,vhod ; Передача транзактов в пункт А
qqq2 gate_lr f12,qqq3 ; Проверка состояния f12
assign 1,2 ; Транзакты второго типа
logic_s f12 ; Установка в 1 f12
logic_s f11 ; Установка в 1 f11
logic_r f13 ; Установка в 0 f13
transfer,vhod ; Передача транзактов в пункт А
qqq3 gate_lr f13,qqq1 ; Проверка состояния f13
assign 1,3 ; Транзакты третьего типа
logic_s f13 ; Установка в 1 f13
logic_s f12 ; Установка в 1 f12
logic_r f11 ; Установка в 0 f11
transfer,vhod ; Передача транзактов в пункт А
vhod queue bufA ; Начало первой очереди
seize p$1 ; Занятие пакетами первой линии
depart bufA ; Конец первой очереди
advanse x$p$1,xh$p$1 ; Время передачи по первой линии
release p$1 ; Освобождение первой линии
queue bufB ; Начало второй очереди
gate_nu bcI,prod ; Проверка состояний
seize bcI ; Занятие пакетами линии BCI
depart bufB ; Конец второй очереди
advanse 6,2 ; Время передачи по линии BCI
release bcI ; Освобождение линии BCI
transfer,final ; Передача пакетов на выход
prod seize bcII ; Занятие пакетами линии BCII
depart bufB ; Конец второй очереди
advanse 6,2 ; Время передачи по линии BCII
release bcII ; Освобождение линии BCII
final terminate 1 ; Пункт С. Выход пакетов из модели
start 800
end
Листинги результатов моделирования
GPSSR/PC V1.1 13-MAY-2005 18:31 PAGE 2
C:\UP\GPSS\GPSS\Ttt.LST=C:\UP\GPSS\GPSS\Ttt.gps
SYMBOL VALUE SYMBOL VALUE
====== ===== ====== =====
ABI 1 ABII 2
ABIII 3 BCI 4
BCII 5 BUFA 1
BUFB 2 F11 1
F12 2 F13 3
FINAL 36 PROD 32
QQQ1 2 QQQ2 8
QQQ3 14 VHOD 20
GPSSR/PC V1.1 13-MAY-2005 18:31 PAGE 4
C:\UP\GPSS\GPSS\Ttt.LST=C:\UP\GPSS\GPSS\Ttt.gps
RELATIVE CLOCK 14427 ABSOLUTE CLOCK 14427
BLOCK COUNTS
BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL
1 0 800 2 0 800 3 0 267
4 0 267 5 0 267 6 0 267
7 0 267 8 0 533 9 0 267
10 0 267 11 0 267 12 0 267
13 0 267 14 0 266 15 0 266
16 0 266 17 0 266 18 0 266
19 0 266 20 0 800 21 0 800
22 0 800 23 0 800 24 0 800
25 0 800 26 0 800 27 0 792
28 0 792 29 0 792 30 0 792
31 0 792 32 0 8 33 0 8
34 0 8 35 0 8 36 0 800
FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING
UTILIZATION ENTRIES TIME/TRAN TRANS.NO. TRANS.NO.
1 0.31 267 16.83
2 0.32 267 17.16
3 0.31 266 17.08
4 0.34 792 6.12
5 0.00 8 5.37
LOGIC SWITCH - SET (ON) STATUS
SWITCH NAME NAME NAME NAME NAME NAME NAME NAME NAME
1 2
QUEUE MAXIMUM AVERAGE TOTAL ZERO PERC. AVERAGE $AVERAGE TABLE CURRENT
CONTENT CONTENT ENTRIES ENTRIES ZERO TIME/TR TIME/TR NUMBR CONTENT
1 1 0.00 800 800 100.00 0.00 0.00 0
2 1 0.00 800 800 100.00 0.00 0.00 0
CONTENTS OF (NONZERO) HALFWORD SAVEVALUES
XH LOC VALUE LOC VALUE LOC VALUE LOC VALUE
1 5 2 6 3 2
CONTENTS OF (NONZERO) FULLWORD SAVEVALUES
XF LOC VALUE LOC VALUE LOC VALUE LOC VALUE
1 17 2 18 3 19
|