Изменение траектории движения транзакта

Содержание

Слайд 2

Пояснения к определению параметров для
функции распределения случайных чисел по
нормальному закону

 

Пояснения к определению параметров для функции распределения случайных чисел по нормальному закону

Слайд 3

Переход транзакта в блок модели, отличный от следующего

TRANSFER [A] [, B] [,

Переход транзакта в блок модели, отличный от следующего TRANSFER [A] [, B]
C] [, D]

TRANSFER , Metka1

TRANSFER 0.25, AAA,DDD

TRANSFER Both , M_BL1, M_BL2

TRANSFER ALL, M_BL, M_End_BL,2

TRANSFER Pick, M_BL,M_ S_BL

TRANSFER FN, Func_4, P3

TRANSFER P, Place, 5

TRANSFER SBR, MET1, Tr_met

TRANSFER SIM MET1, MET2

Операнд А задает режим выбора
следующего блока. 9 режимов
перехода активного транзакта
реализовано в системе GPSS.

Слайд 4

Примеры применений и ограничений для блока
TRANSFER [A] [, B] [, C]

Примеры применений и ограничений для блока TRANSFER [A] [, B] [, C]
[, D]

TRANSFER ALL, F_BL, End_BL, 2

Происходит проверка всех
Устройств с шагом 2. Если
не окажется свободных
устройств, то транзакт
остается в блоке TRANSFER

В подобных случаях удобно создать список пользователя блоком
LINK A, B[, C]. Парный ему блок UNLINK.

TRANSFER P, Place, 5

Транзакт направляется к блоку,
определяемому, как сумма Place+5

TRANSFER Pick, F_BL, S_BL

Транзакт направляется к блоку,
определяемому случайным образом
из указанного числового диапазона
(Операнды B, C).

TRANSFER SIM MET1, MET2

SIM – индикатор задержки. Он
устанавливается, когда транзакт не может
войти в блок TRANSFER. Когда транзакт
проходит блок, SIM сбрасывается.

Замечание. Устройства должны быть пронумерованы

Слайд 5

Условие задачи.

На компьютер поступают заявки с трех
терминалов. В каждом потоке заявок

Условие задачи. На компьютер поступают заявки с трех терминалов. В каждом потоке
разные
задачи со своими временами обработки и
с разными интенсивностями поступления
заявок. Определить количество обработанных
заявок от каждого из терминалов.

Терминал3

Терминал2

Терминал1

Очередь

ЭВМ

Tвх1=[0,2 ÷0,5]

Tвх2=[0,1 ÷0,3]

Tвх3=0,8

Tобр1 =0,4
Tобр2 =0,6
Tобр3 =0,3

GENERATE 35,15
ASSIGN 5,40
TRANSFER ,Metka
GENERATE 20,10
ASSIGN 5,60
TRANSFER ,Metka
GENERATE 80
ASSIGN 5,30
Metka QUEUE QQEVM
SEIZE EVM
DEPART QQEVM
Advance P5
RELEASE EVM
TERMINATE
GENERATE 10000
TERMINATE 1

Это модель без табулирования
времен обработки транзактов.
Полный текст программы в
приложении к лекции

Листинг результата
моделирования.doc

Слайд 6

Формат блока TEST

<Метка> TEST <условие> <СчА1>, <СчА2>, <метка перехода>

AAA TEST E P1,

Формат блока TEST TEST , , AAA TEST E P1, 1, OUT
1, OUT

Задача. На ЭВМ исполняется пакет задач.
На каждом шаге решения задачи вырабатывается код
завершения, определяющий правильность
выполнения задач -
Кзаверш = {0, 4, 8,12,16}.
Первые три кода – это ошибочное завершение задачи.
Определить количество задач с нормальным кодом завершения.

{E, G, GE, L, LE, NE} – Допустимые условия

При невозможности пройти блок транзакт остается в цепи текущих событий

Слайд 7

PERerror 0 975.000
PERn 0 677.000
Соотношение --- 0.6 и

PERerror 0 975.000 PERn 0 677.000 Соотношение --- 0.6 и 0.4 Модель
0.4

Модель с равномерным законом времен поступления заявок

CODE Variable RN1@5#4
GENERATE 60,30
ASSIGN 1,V$CODE SEIZE Proc
ADVANCE 50,10
RELEASE Proc
savevalue 2,c1
Savevalue 2-,x1
Savevalue 1,c1
Tabulate TT1

TEST LE P1,8, OUT
SAVEVALUE Pererror+,1 TRANSFER ,ModEnd
OUT SAVEVALUE Pern+,1
MOdEnd Terminate
TT1 Table x2,60,10,50
generate 1000000
terminate 1

Вопрос.
Как
определить
указанное
на гистограмме
число?

Слайд 8

Переход транзакта по состоянию устройства

Блок GATE X A, B

X FNV, FV, I,

Переход транзакта по состоянию устройства Блок GATE X A, B X FNV,
LS, LR, SE, SNE, SF, SV, U, NU

Это стандартные атрибуты устройств, определяющие их
использование. Если устройство имеет значение FV= true, тогда транзакт может войти в устройство A. Иначе он направляется к блоку B. Если нет операнда B, тогда транзакт ждет освобождения
устройства и никуда не идет.

Задача. Заявка может быть обработана любым из двух процессоров.
Определить среднее время работы каждого из процессоров.

канал

Выход

PROС2

Выход

Вход

Tобр1=[40 ÷ 60]
Tобр2=[10 ÷ 190]

Tвх =[20 ÷ 80]

PROС1

X – это состояние устройств
A- имя устройства B - метка

Слайд 9

vv1 variable (x2+x4)/2;Среднее время обработки задач
vv2 variable x10/(x$xxx+x$yyy) ; сумма

vv1 variable (x2+x4)/2;Среднее время обработки задач vv2 variable x10/(x$xxx+x$yyy) ; сумма всех
всех времён
; работы процессоров, делённая на число обработанных ; заявок
GENERATE 50,30
GATE NU Proc1,Met ; Если первый процессор не ;
занят, то идём к следующему блоку
SEIZE Proc1 Время работы первого
процессора
;Работает первый процессор.
; Иначе идем на второй процессор
SAVEVALUE xxx+,1
; Считаем количество
; транзактов, обработанных
первым процессором
ADVANCE 50,10
RELEASE Proc1
savevalue 2,c1
savevalue 2-,x1
Savevalue 1,c1
; Вычисляем время работы процессора 1 для табуляции

Модель для решения задачи о двух процессорах

Слайд 10

; Продолжение описания модели
; Работает второй процессор
TRANSFER ,MMM; Безусловный переход

; Продолжение описания модели ; Работает второй процессор TRANSFER ,MMM; Безусловный переход
на выход
Met SEIZE Proc2
SAVEVALUE yyy+,1; Считаем количество транзактов,
; пришедших на второй процессор
ADVANCE 100,90
RELEASE Proc2
savevalue 4,c1
savevalue 4-,x3
Savevalue 3,c1
MMM Savevalue 5+,v$vv1
TERMINATE
GENERATE 10000
savevalue 10,x5
savevalue total,v$vv2
TERMINATE 1
Работа второго процессора

XXX 0 1316.000
YYY 0 696.000
TOTAL 0 111.069

Слайд 11

Блок Displace

Блок обеспечивает перемещение транзакта с определенным номером к другому блоку

Формат

Блок Displace Блок обеспечивает перемещение транзакта с определенным номером к другому блоку
блока: DISPLACE A, B[,C][,D]

A – номер транзакта, который должен быть перемещен

B – Метка блока, к которому перенаправляется транзакт

C – Параметр транзакта для записи оставшегося времени
обслуживания

D –Метка альтернативного блока для активного транзакта

Block1

Block2

Block3

XN=4

Displace V$number, Next, 3, Out

Next

V$number=4

Tмод

Tмод’

T

Block4

Out

Слайд 12

Особенности использования блоков GATE, TEST, Displace, Transfer

Блок Gate проверяет только состояние устройств.
Может

Особенности использования блоков GATE, TEST, Displace, Transfer Блок Gate проверяет только состояние
затормозить работу модели.
Блок Test сравнивает значения атрибутов устройств
и переменных
Блок Displace обеспечивает перемещение транзакта
по его номеру
Блок Transfer позволяет условия перемещения
Транзактов формулировать более гибко.

Все блоки управления работают с информационными
объектами модели

Слайд 13

Логические устройства – переключатели

XXX 0 708.000
YYY 0

Логические устройства – переключатели XXX 0 708.000 YYY 0 2530.000 Generate 180
2530.000


Generate 180
Logic S Green
Advance 40
Logic R Green
Advance 140
Terminate
Generate 100000
terminate 1


Initial LS$Green
GENERATE (Exponential(1,0,30))
GATE LS Green,NNN
savevalue 2,c1
Savevalue 2-,x1
Savevalue 1,c1
Savevalue xxx+,1
Tabulate TT2
transfer ,LLL
nnn savevalue yyy+,1
LLL Terminate
TT2 Table x2,10,50,20

Это модель
светофора

LOGIC X < Имя>
X={S, R, I}
S-Set, R –Reset, I -инверсия

Модель светофора

Результат запуска
модели на гистограмме

Слайд 14

Моделирование замкнутых СМО

Очередь

Ресурс

LOOP

Формат блока

Вх

LOOP A, B
A – Количество повторений
в цикле моделирования
B

Моделирование замкнутых СМО Очередь Ресурс LOOP Формат блока Вх LOOP A, B
- Точка возврата в модель

Пример. Пользователь на терминале набирает запрос. Только после обработки запроса появляется сообщение, разрешающее продолжить формирование нового запроса. Определить среднее время обработки запросов. Время набора запросов Tвх = [50 ÷150] , время обработки запросов Tобр=[20÷300].

Время начала моделирования для определения требуемых
статистик не имеет значения. Задавая точность решения
задачи , можно определить требуемое количество
испытаний объектов модели.

Имя файла: Изменение-траектории-движения-транзакта.pptx
Количество просмотров: 34
Количество скачиваний: 0