Бычков Программирование в системе моделирования ГПСС-2010
.pdfфункции останется постоянным (рис. 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.
Для заметок
Для заметок