Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бычков Программирование в системе моделирования ГПСС-2010

.pdf
Скачиваний:
61
Добавлен:
16.08.2013
Размер:
562.49 Кб
Скачать

функции останется постоянным (рис. 3.1).

Пример:

LNGTH FUNCTION RN1, D4 0.1,3/0.3,17/0.7,13/1.0,5

Рис. 3.1. Пример дискретной функции

В примере описана дискретная функция с именем LNGTH. Для формирования аргумента используется СЧА датчик случайных чисел RN1. В случае использования СЧА датчиков случайных чисел в качестве аргументов функций их значения находятся в интервале от 0 до 1.

Функция имеет четыре пары "аргумент – значение". При попадании аргумента в интервал от 0 до 0.1 (0.1 входит) значение функции LNGTH постоянно и равно 3. В интервале больше 0.1 до 0.3 (0.3 входит) значение функции – 17. В интервале больше 0.3 до 0.7 (0.7 входит) значение функции 13. В интервале больше 0.7 до 1.0 значение функции – 5.

При задании непрерывной функции применяется кусочнолинейная аппроксимация. В этом случае при попадании значения аргумента в интервал значение функции вычисляется по наклонному отрезку, аппроксимирующему функцию на данном интервале (рис. 3.2).

Обращение к функции выполняется по имени FN$ LNGTH или, если в описании функции задан номер 4, то по номеру –

FN4.

51

 

Рис. 3.2. Пример непрерывной функции

Пример:

 

Метка

Операция

A, B, C, D, E, F, G

PRT

FUNCTION

P1,D9

300,8/350,7/400,6/450,5/500,4/550,3/600,2/650,1/700,0

FNCT

FUNCTION

RN1,C5

0,0/.3,30/.5,50/.7,110/1,130

 

 

 

 

PRIORITY

FN$PRT

 

 

 

SAVEVALUE

X$RATE,FN$FNCT

Первая функция PRT является дискретной и имеет девять пар "аргумент – значение". Аргументом является первый параметр транзакта P1.

В зависимости от значения параметра P1 значение функции изменяется от 8 до 0. При значении параметра P1 меньше или равном 300 значение функции равно 8. При значении функции от 301 до 350 значение функции – 7. Используется функция PRT в блоке PRIORITY для задания приоритета транзакту, который проходит через этот блок.

Вторая функция F3 описана как непрерывная с пятью парами значений. Аргументом функции является стандартный числовой атрибут RN1 – датчик равномерно распределенных случайных чисел в диапазоне (0,1). Если аргумент больше 0, но меньше или равен 0.3, то значение функции равномерно изменяется от 0 до 30. В интервале аргумента больше 0.3 до 0.5 включительно значение

52

функции пропорционально изменяется от 30 до 50 и т.д. Функция FNCT используется для присвоения значения хранимой величине RATE.

3.7.Примеры моделей

3.7.1.Модель вычислительного центра

Рассмотрим модель вычислительного центра, в котором пять ЭВМ обрабатывают поступающие по линии связи сигналы. Время прихода сигналов и их обработки – в

секундах.

 

 

Производительность

ЭВМ одинаковая.

Сигналы

распределяются на ЭВМ последовательно: на первую, на вторую, на третью и так далее по мере поступления. Номер ЭВМ, которая будет обрабатывать данный сигнал, записывается в первый параметр транзакта. Если очередная ЭВМ занята, то для того чтобы не потерять сигнал, делается попытка прервать работу данной ЭВМ и обработать сначала вновь пришедший для данной ЭВМ сигнал, а потом возобновить обработку прерванного сигнала. Для этого делается проверка того, не находится ли данная ЭВМ уже в режиме прерывания для обработки предыдущего приоритетного сигнала. Если данная ЭВМ еще не завершила обработку предыдущего подобного события, то только в этом случае вновь пришедший сигнал теряется.

Цель моделирования может состоять в том, чтобы найти такое время обработки сигналов (производительность ЭВМ) при заданных параметрах входного потока, при котором не будет потери сигналов.

 

SIMULATE

 

 

GENERATE

60,30 сигнал через 30-90 секунд

 

SAVEVALUE

1,V3 запись в Х1 номера ЭВМ,

* который вычисляется как значение переменной V3

3

VARIABLE

X1@5+1 выражение для

*переменной V3 изменяется следующим образом: 1, 2,

*3, 4, 5, 1, 2, 3, 4, 5,...

ASSIGN

1,X1 запись в Р1 номера из Х1

GATE NU

P1,PRIO проверка занятости

53

* устройства, номер которого записан в параметре Р1

 

SEIZE

P1

занятие устройства

 

ADVANCE

210,70 обработка сигнала

 

RELEASE

P1

освобождение устройства

 

TABULATE

TAB запись в таблицу времени

* пребывания сигнала на вычислительном центре

 

TERMINATE

сигнал обработан

PRIO

GATE NI

P1,LOSS проверка прерывания

* устройства с номером в параметре Р1

 

PREEMPT

P1 приоритетное обслуживание

* нового сигнала на устройстве с номером в P1

 

ADVANCE

210,70 обработка сигнала

 

RETURN

P1

возврат устройства

 

TABULATE

TAB запись времени

* пребывания сигнала в системе в таблицу

 

TERMINATE

уничтожение транзакта

LOSS

TERMINATE

необработанный сигнал

* потерян

 

 

TAB

TABLE

M1,150,30,7 описание таблицы

 

GENERATE

1 моделирование времени

* работы системы в течение 10 часов= 10*60*60 =

 

TERMINATE

1

36000 секунд

 

START

36000

 

END

 

 

Данные о необработанных сигналах определяются по количеству транзактов, прошедших через блок с меткой LOSS. Загрузка ЭВМ определяется как загрузка устройств 1, 2, 3, 4, 5.

3.7.2. Модель многоканальной СМО

На вход многоканальной СМО с тремя каналами связи поступают потоки заявок разных типов.

Интервал появления заявок распределен по экспоненциальному закону. Среднее значение равно 20 единицам времени. Каждая заявка равновероятно с вероятностью 0.2 относится к одному из типов заявок – 1, 2, 3, 4, 5. Заявка поступает на свободный канал.

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

54

одинаковая и занимает 50 единиц времени.

Каждый тип заявок обслуживается своим типом устройства. Время обслуживания подчинено экспоненциальному закону со средним значением, соответствующим типу заявки – 20, 50, 10, 40, 25 единиц времени.

В результате моделирования нужно определить:

-характеристики общей очереди к каналам связи для всех типов заявок;

-характеристики очередей к каждому типу устройств;

-распределение времени пребывания заявок в очередях к каждому типу устройств;

-распределение времени пребывания заявок в системе. Время моделирования – 30000 единиц времени. Модель этой системы имеет вид:

SIMULATE

FUNE FUNCTION RN1,C25 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/.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,

7.0/.9997,8.8

 

TIP

FUNCTION

RN2,D5

.2,1/.4,2/.6,3/.8,4/1,5

 

MEAN

FUNCTION

P1,D5

1,20/2,50/3,10/4,40/5,25

 

CHANN

STORAGE

3 три канала

QUE_T

QTABLE

P1,10,10,10

SYS_T

TABLE

M1,50,40,10

 

GENERATE

20,FN$FUNE заявка на входе

* многоканальной системы

* заявки

ASSIGN

1, FN$TIP запись в P1 типа

QUEUE

CH_OCH заявку в общую

 

* очередь к каналам для всех типов заявок

 

ENTER

CHANN помещение заявки в

* свободный канал

 

 

DEPART

CH_OCH выход заявки из

* общей очереди к каналам

 

ADVANCE

50 обработка заявки каналом

55

LEAVE

CHANN освобождение канала

QUEUE

P1

вход заявки в свою очередь

* в соответствии с типом заявки

SEIZE

P1

обработка заявки своим

* устройством

 

 

DEPART

P1

выход заявки из своей

* очереди

 

 

ADVANCE

FN$MEAN,FN$FUNE

* обработка заявки своим устройством

RELEASE

P1

возврат устройства

TABULATE

SYS_T запись времени

* пребывания заявки в системе в таблицу

TERMINATE

выход заявки из системы

GENERATE

1 моделирование времени

* работы системы в течение 30000 единиц времени

TERMINATE

1

 

START

30000

END

Для моделирования системы из трёх каналов используется накопитель из трёх единиц памяти. Заявка входит в тот канал (единицу памяти), которая свободна в этот момент. Для моделирования пяти очередей и пяти устройств для обработки заявок используется косвенный адрес, т.е. значение первого параметра транзакта – P1, куда записан тип заявки.

56

CПИСОК ЛИТЕРАТУРЫ

(основная литература выделена жирным шрифтом)

1.Шрайбер Т.Дж. Моделирование на GPSS. /Пер с англ. M.: Машиностроение, 1980.

2.Киндлер Е. Языки моделирования. Пер. с чешск. М.: Энергоатомиздат, 1985.

3.Боев В.Д. Моделирование систем. Инструментальные средства GPSS WORLD: Учебное пособие. СПб.: БХВ-Петербург, 2004.

4.Советов Б.Я., Яковлев С.А. Моделирование систем: Учебник для вузов. М.: Высшая школа, 1985, 1998, 2001.

5.Советов Б.Я., Яковлев С.А. Моделирование систем: Практикум. М.: Высшая школа, 1999.

6.Андрианов А.Н., Бычков С.П., Хорошилов А.И. Программирование на языке Симула-67. М.: Наука, 1985.

7.Алгазинов Э.К., Сирота А.А. Анализ и компьютерное моделирование информационных процессов и систем. М.: Диалог-МИФИ, 2009.

57

Сергей Павлович Бычков Александр Александрович Храмов

ПРОГРАММИРОВАНИЕ

В СИСТЕМЕ МОДЕЛИРОВАНИЯ GPSS

Учебное пособие

Редактор Е.Е. Шумакова Оригинал-макет подготовлен А.А. Храмовым

Подписано в печать31.05.2010 Формат 60х84 1/16

Печ.л. 3,75. Уч.-изд.л. 3,75. Тираж 200 экз. Изд.N 099-1

Заказ №

Национальный исследовательский ядерный университет «МИФИ».

Типография НИЯУ МИФИ. 115409, Москва, Каширское шоссе, 31.

Для заметок

Для заметок