573 (538823), страница 4
Текст из файла (страница 4)
- 26 -
2.5. Модель последовательной ВС
Рассмотрим модель ВС, cостоящей из 1-го процессора предварительной обработки информационных заявок и 2-го процессора, входным потоком заданий для которого служит выходной поток первого.
Такая ВС осуществляет последовательную обработку информации и относится к многофазовым СМО.
Номер
Пример 2.7 Номер
блока
строки
о п е р а т о р ы G P S S
COMP1 EQU 1,F 1
COMP2 EQU 2,F 2
... строки определения ...
... функции EXPON см.рис.2.9 ...
TABT TABLE M1,0,100,1000 9
-
GENERATE 100,FN$EXPON 10
-
ASSIGN 1,COMP1 11
-
QUEUE P1 12
-
SEIZE COMP1 13
-
DEPART P1 14
-
ADVANCE 50,FN$EXPON 15
-
RELEASE COMP1 16
-
ASSIGN 2,COMP2 17
-
QUEUE P2 18
-
SEIZE COMP2 19
-
DEPART P2 20
-
ADVANCE 50,40 21
-
RELEASE COMP2 22
-
TABULATE TABT 23
-
TERMINATE 1 24 START 1000 25 END 26
Рис.2.10 Модель последовательной ВС
На рис.2.10. представлена GPSS-модель этой системы. Входной поток заданий является пуассоновским с параметром X=0,0I заявок в
- 27 -ед.времени. Время обработки задания для 1-го процессора распределено по экспоненциальному закону, для 2-го - по равномерному в интервале [10,90]. Результатом прогона модели являются статистика относящиеся к обоим процессорам и очередям к ним и таблица частот для времени обработки задания ВС.
2.6. Модель параллельной ВС
Моделирование параллельных ВС рассмотрим на примере ВС, состоящей из двух микропроцессорных систем (МПС), включающих в себя четыре однородных процессора.
Номер
Пример 2.8 Номер
блока
о п е р а т о р ы G P S S
строки
строки определения функции EXPON см.рис.2.9
STORAGE S$MPC1,4/S$MPC2,4 7
1 | GENERATE 5,FN$E | XPON | 8 |
2 | TRANSFER .7,MPC2,MPC1 9 | ||
3 | MPC1 QUEUE Q1 | 10 | |
4 | ENTER MPC1 | 11 | |
5 | ADVANCE 3 | 12 | |
6 | LEAVE MPC1 | 13 | |
7 | DEPART Q1 | 14 | |
8 | TRANSFER ,KOH | 15 | |
9 | MPC2 QUEUE Q2 | 16 | |
10 | ENTER MPC2 | 17 | |
11 | ADVANCE 3 | 18 | |
12 | LEAVE MPC2 | 19 | |
13 | DEPART Q2 | 20 | |
14 | KOH TERMINATE 1 | 21 | |
START 500,NP | 22 | ||
RESET | 23 | ||
START 1000 | 24 | ||
END | 25 |
Рис.2.11. Модель параллельной ВС
- 28 -
Поток заданий на обработку является пуассоновским со значением среднего интервала 5 ед.времени. МПС осуществляют многоканальное обслуживание заданий. Время обработки задания процессором МПС равно 3 ед.времени. В среднем 70% заданий обрабатывается первой МПС, остальные - второй. Требуется в результате моделирования собрать статистику о МПС и об очередях к ним. GPSS-модель этой ВС представлена на рис.2.11.
После прогона этой модели на ЭВМ получены результаты, позволяющие сделать следующие выводы. Коэффициент использования процессоров первой МПС равен 0.113, второй - 0.045. Максимальное число заданий, обрабатываемых первой МПС, равно 5 (т.е. в очереди находилось не более одного задания). Максимальное число параллельно работающих процессоров второй МПС равно 3, т.е. в в процессе работы ВС один из 4-х процессоров второй МПС не использовался.
3. ПРАКТИКУМ ПО МОДЕЛИРОВАНИЮ ВС НА GPSS
3.1. Общий порядок выполнения заданий
3.1.1. Самостоятельная подготовка студентов
Подготовка заключается в следующем: 1). Изучить теоретический материал, необходимый для выполнения задания.
2). Разработать модель исследуемой системы. 3). Составить GPSS программы моделирования. 4). Составить отчет и подготовиться к сдаче предыдущего задания.
3.1.2. Содержание отчета
Отчет должен содержать: 1). Постановку задачи моделирования. 2). Содержательное описание модели и исходные данные. 3). Таблицу определений GPSS-модели. 4). Выводы по результатам моделирования.
- 29 -
3.2. Задания практикума 3.2.1. Моделирование случайных величин
При подготовке к выполнению задания необходимо изучить методы получения случайных величин с заданными законами распределения [4-8] и описания объектов языка GPSS [6,8]:
операторов - GENERATE A,B,C,D,E,F,G (ГЕНЕРИРОВАТЬ),
TERMINATE A (ЗАВЕРШИТЬ),
TABULATE имя (ТАБУЛИРОВАТЬ),
команд - START A,B,C,D (НАЧАТЬ),
END (ЗАКОНЧИТЬ),
определений - FUNCTION A,B (определение
X1,Y1/X2,Y2/../Xn,Yn. функции), VARIABLE (переменная) или FVARIABLE . имя TABLE A,B,C,D (таблица)
Необходимо учитывать, что в GPSS имеются восемь датчиков равномерно распределенных псевдослучайных чисел, у каждого из которых есть свое имя: RN1, RN2,..., RN8. Имена датчиков являются стандартными числовыми атрибутами (СЧА), которые используются для получения псевдослучайных чисел с другими распределениями. При i-м обращении к любому из датчиков вычисляется произведение a(k)*Х(i-1), где k - индекс, который с равной вероятностью принимает значения 0,1,2,...,7; a(k) - ядро; X(i-1) - значение множителя, которое получено при предыдущем обращении к датчику. Если i=1, то X(i-1)=X(0) - начальное значение множителя X(i).
Дробные числа датчик выдает, если его имя используется в качестве аргумента функции. При использовании датчика в любом другом контексте выдаются целые числа, распределенные равномерно в интервале [0,999]. У всех восьми датчиков начальное значение индекса k=0, а начальное значение множителя X(0)=1. Поэтому все датчики формируют совершенно одинаковые псевдослучайные последовательности. Однако пользователь может изменить последовательность псевдослучайных чисел путем изменения начального значения X(0) множителя. Такую возможность обеспечивает команда RMULT (УСТАНОВИТЬ ЗНАЧЕНИЯ ДАТЧИКОВ), имеющая восемь операндов от A до H,
- 30 -которые используются для записи начальных значений множителя соответственно 1-8 датчиков. Так, например,
RMULT 325,14159,,8677 устанавливает начальное значения множителей датчиков RN1, RN2 и RN4 соответственно равными 325,14159,8677. Начальные значения множителей, задаваемых в RMULT, должны быть нечетными и иметь от одного до пяти разрядов.
Следует учитывать, что для имитации дискретных случайных величин используются дискретные функции GPSS (Пример 2.5).
Необходимо знать, что непрерывные случайные величины имити руются в GPSS моделях с помощью непрерывных функций. При этом следует использовать кусочно-линейную аппроксимацию функций, обратных нормированным функциям распределений. Определения функций для моделирования случайных величин, распределенных по экспоненциальному закону (EXPON) и нормальному (NORM) закону, приведены в Примерах 2.3, 2.6-8.
Содержание задания
Необходимо осуществить в соответствии с вариантом задания:
-
Моделирование дискретных случайных величин по заданному закону распределения;
-
Моделирование непрерывных случайных величин с равномерным, нормальным, экпоненциальным и пуассоновским распределениями.
-
Моделирование непрерывных случайных величин с заданным линейным законом распределения.
-
Проверку соответствия теоретических и полученных в результате моделирования распределений случайных величин.
Пример 3.1
Вариант задания описывается таблицей 3.1. В таблице 3.1 приняты следующие обозначения: y1,y2,...,yn и p1,p2,...,pn - значения дискретной случайной величины и соответствующие этим значениям вероятности; m - математическое ожидание; r - половина размаха равномерно распределенной случайной величины; lambda -параметр экспоненциального распределения; sigma - среднее квадратичное отклонение.
- 31 -
Таблица 3.1 Распределение
ряд равномер- нормальное экспонен-
ное циальное
Y1jY2j...jYn
..+..+—+.. m r m sigma lambda
P1|P2j...jPn
100 J140 J200
—+—+.— 90 40 30 4 0.015
0.6J0.15J0.25
Программа
Функции и переменные, определенные в программе, имеют
следующие назначения: EXPON - для имитации значений
экспоненциально распределенной случайной величины, имеющей интенсивность lambda=1;
DSB - для имитации дискретной случайной величины, ряд распределения которой задан в таблице 3.1;
NORM - для имитации значений нормированной нормально распределенной случайной величины;
RAWN - переменная, обеспечивающая преобразование значений базовой псевдослучайной величины в значения равномерно распределенной псевдослучайной последовательности с m=90 и r=40;
GAUSS - переменная, которая обеспечивает преобразование значений нормированной нормальной псевдослучайной величины в значения нормально распределенной величины с m=30 и sigma=4.
С помощью таблиц TAB1-TAB4 формируются векторы эмпирических частот и частотностей попадания псевдослучайных величин в каждый из D интервалов. В целях оценки адекватности непрерывного распределения псевдослучайной величины обычно задают D= 10-20. Значения операндов B,C,D таблицы TAB2 выбираются так, чтобы каждому интервалу принадлежало одно из возможных значений дискретной случайной величины (см. табл. 3.2).
- 32 -
* МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН
EXPON FUNCTION RN2.C24
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/.98,3.9/.99,4.6/.995,5.3/.998,6.2
.999,7/.9998,8
NORM FUNCTION RN3,C25
0,-5/.00003,-4/.00135,-3/.00621,-2.5/.02275,-2/.06681,-1.5
.11507,-1.2/.15899,-1/.21186,-.8/.27425,-.6/.34458,-.4
.42074,-.2/.5,0/.57926,.2/.65542,.4/.72575,.6/.78814,.8
.8413,1/.88493,1.2/.93319,1.5/.97725,2/.9979,2.5
.99865,3/.99997,4/1,5
DSB FUNCTION RN5,C2
0,50/.999999,130
GAUSS FVARIABLE 30+4*FN$NORM
TAB1 TABLE IA,26,26,12
TAB2 TABLE FN$DSB,110,50,3
TAB3 TABLE FN$RAWN,57,7,12
TAB4 TABLE V$GAUSS,18,2,12
GENERATE 67,FN$EXPON
TABULATE TAB1
TABULATE TAB2
TABULATE TAB3
TABULATE TAB4
TERMINATE 1
START 500
END
Таблица 3.2.
Имя таблицы ¦ Соотношения для C и B
+
TAB1 ¦ C=4/lambda*(D-2); B=C
¦ TAB3 ¦ C=2r/d; B=m-r+C
¦ TAB4 ¦ C=6*lambda/(D-2); B=m-3*lambda
- 33 -
В соответствии с программой транзакты, создаваемые блоком GENERATE, проходят последовательно четыре блока TABULATE. При входе транзакта в блок TABULATE TAB1 осуществляется засылка в таблицу 1 значения времени, прошедшего с момента входа в этот же блок предыдущего транзакта. Характеристики потока транзактов определяются операндами A и B блока GENERATE. Следует знать, что в рассматриваемой программе это -пуассоновский поток с интенсивностью lambda=0.015. При входе транзакта в блок TABULATE TAB2 в таблицу TAB2 заноситься значение дискретной псевдослучайной величины, разыгрываемой с помощью функции DSB. Аналогично в таблицы TAB3 и TAB4 заносятся значения псевдослучайных величин, определяемых с помощью RAWN и GAUSS соответственно.