Лабораторная работа №1
.DOC
Лабораторная работа
Построение и реализация моделирующих
алгоритмов Q - схем
Цель работы - изучение способов формализации процессов функционирова-ния систем с использованием Q-схем.
Особенности формализации систем с помощью Q-схем рассмотрим на примере решения задачи исследования вероятностно-временных характеристик процесса функционирования вычислительного центра (ВЦ).
В ВЦ приходят пользователи через интервалы времени 10±2 мин. Если все 3 устройства подготовки данных (УПД) заняты, пользователю отказывают в обслуживании. Устройства имеют разную производительность и могут обеспечить обслуживание средней программы пользователя за 20±5, 40±10 и 40±20 мин.
Пользователи стремятся занять свободное УПД с максимальной производи-тельностью. Полученные программы сдаются в приемный накопитель, откуда выбираются для обработки на первую ЭВМ - программы с первого и второго устройства, на вторую ЭВМ - программы с третьего УПД. Времена обработки программ на первой и второй ЭВМ равны 15 и 30 мин. соответственно.
Смоделировать процесс обработки 300 заданий. Определить вероятность отказа в обслуживании пользователя ВЦ.
На первом этапе составляется структурная схема процесса функционирования системы ( рисунок 1 ).
Зал подготовки Приемный
данных накопитель
Пользователи УПД 1
Накопитель 1 ЭВМ 1
УПД 2
УПД 3 Накопитель 2 ЭВМ 2
Необслуженные пользователи
Рисунок 1 - Структурная схема процесса функционирования ВЦ
На втором этапе составляется структурная схема модели в символике Q-схем ( рисунок 2 ).
1
И К1 Н1
2
3 К4
К2 Обслуженные
Н2
4 заявки
5
К3 К5
6
Потерянные заявки Рисунок 2 - Структурная схема модели
Здесь И - источник заявок, Н1 и Н2 - накопители, К1-К5 - каналы обслуживания заявок. Система клапанов 1-6 регулирует процесс занятия пользователями каналов К1, К2 и К3 соответствующих устройств подготовки данных. Если канал К1 занят, то клапан 1 закрыт, а клапан 2 открыт и т.д. Если все каналы К1, К2, К3 заняты, т.е. клапаны 2, 4, 6 открыты, то заявка теряется.
В исходной постановке задачи воспользуемся методом имитационного мо-делирования. Запишем переменные и уравнения имитационной модели в сле-дующем виде.
Независимые переменные:
а) tni, i=1,3 - время обработки задания на УПД;
б) tpj, j=1,2 - время решения задачи на ЭВМ.
Зависимые переменные:
а) N0 - число обслуженных пользователей;
б) N1 - число пользователей, получивших отказ.
Уравнение модели
N1
Pотк = ¾¾¾¾ ,
N0+N1
где Pотк - вероятность отказа пользователю в обслуживании.
При разработке схемы алгоритма использован “ принцип Dt ”. На рисунке 3 приведена обобщенная схема детерминированного моделирующего алгоритма.
Начало
1
Ввод исход-
ных данных
2
Обслужено да
заданное число
заявок
3 Окончание обслу-
живания заявок ЭВМ
4 Передача заявок с
УПД в накопители
8 Переход к следующему 5 Передача заявок из на- 9 Обработка результатов
интервалу Dt копителей на обслужива- моделирования
ние ЭВМ
6
нет Поступила очередная 10 Вывод резуль-
заявка татов модели-
рования
7 Постановка заявки на да
обслуживание к УПД или
отказ в обслуживании Остановка
Рисунок 3 - Обобщенная схема моделирующего алгоритма
Для составления детальной схемы алгоритма используем следующие иден-тификаторы переменных:
- массив состояния УПД nz(3);
- время занятия УПД tz(3);
- массив состояния ЭВМ np(2);
- время занятия ЭВМ tp(2);
- массив состояния накопителей n(2);
- число отказов not;
- число обслуженных заявок nend;
- интервал Dt dt;
- массивы задания параметров времени обслуживания на УПД a(3), b(3);
- массив задания параметров времени обслуживания на ЭВМ to(2);
- вероятность отказа в обслуживании pot;
- переменные для задания параметров времени поступления заявок tа, tb.
Детальная схема алгоритма, записанная на псевдокоде, имеет следующий вид
алгоритм моделирования работы ВЦ
начало
скаляр i, i1, if1, not, nend: целая
ta, tb, dt, t, pot: вещественная;
массив a[ 3 ], b[ 3 ], to[ 2 ], tz[ 3 ], tp[ 2 ]: вещественный
nz[ 3 ], np[ 2 ], n[ 2 ]: целый;
для i = 1, 3, 1
повторять
ввод ( a[ i ], b[ i ] );
ввод ( ta, tb, dt );
для i = 1, 3, 1
начало
nz[ i ]= 0;
если i < 3 то
начало
n[ i ] = 0;
np[ i ] = 0
конец
все
конец;
для i1= 1, 5, 1
начало
nend = 0;
not = 0;
t = 0;
для i = 1, 3, 1
начало
tz[ i ] = 0;
если i < 3 то tp[ i ] = 0
все
конец;
пока nend < 300
повторять
начало
для i = 1, 2, 1
если np[ i ] = 1 то
если tp[ i ] £ 0 то
начало
np[ i ] = 0;
nend = nend + 1
конец
все;
все;
if1 = 0;
для i = 1, 3, 1
начало
если nz[ i ] = 1 то
если tz[ i ] £ 0 то
начало
if1 = 1;
nz[ i ] = 0;
если i = 3 то n[ 2 ] = n[ 2 ] + 1
иначе n[ 1 ] = n[ 1 ] + 1
все;
конец;
все;
все
конец;
для i = 1, 2, 1
если n[ i ] > 0 то
если np[ i ] = 0 то
начало
n[ i ] = n[ i ] - 1;
np[ i ] = 1;
tp[ i ] = to[ i ]
конец
все;
все;
если t £ 0 то
начало
if1 = 0;
для i = 1, 3, 1
если if1 = 0 то
если nz[ i ] = 0 то
начало
nz[ i ] = 1;
DAT ( a[ i ], b[ i ], tz[ i ] );
if1 = 1
конец
все;
все;
если if1 = 0 то not = not + 1
все;
DAT ( ta, tb, t );
конец;
t = t - dt;
для i = 1, 3, 1
начало
если i < 3 то tp[ i ] = tp[ i ] - dt
все;
tz[ i ] = tz[ i ] - dt
конец
конец;
pot = not / ( nend + not );
вывод ( nend, not, pot )
конец;
конец.
алгоритм DAT генерации псевдослучайных чисел равномерно распределенных
в интервале [ a, (a+b) ]
начало
скаляр a, b, c: вещественная;
randomize;
c = a + random ( round ( b ))
конец.
Отчет по лабораторной работе должен содержать:
- исходные данные для моделирования;
- таблицу идентификаторов переменных;
- листинг программы;
- результаты моделирования;
- вывод.