Вы находитесь на странице: 1из 11

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ


«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»
(СПбГУТ)
Кафедра информационных управляющих систем

КУРСОВОЙ ПРОЕКТ
по дисциплине:
«Моделирование систем»
Вариант №5

Выполнил: студент группы ИСТ-813, /Еремин М.В./


«23» декабря 2020 г. ___________/М.В. Еремин/
Принял: к.т.н., доцент Козлова Л.П.
« » декабря 2020 г. ___________/Л.П. Козлова/

Санкт-Петербург
2020
СОДЕРЖАНИЕ
Цель работы.............................................................................................................4
Вариант задания......................................................................................................4
Концептуальная модель в виде Q-схемы..............................................................4
Блок-диаграмма системы........................................................................................5
Код программы на GPSS.........................................................................................7
Рассчитанные характеристики...............................................................................8
Временная диаграмма системы............................................................................11
Вывод......................................................................................................................11

2
Цель работы
Целью курсовой работы является получение навыков моделирования
систем массового обслуживания (СМО). Развитие человеческих
взаимоотношений привело к тому, что практически ежедневно сталкиваемся
с СМО. Это неизбежно, т.к., используя результаты труда других людей,
желаем это делать в удобное для себя время. В результате возникает всё
больше систем со случайными потоками требований и дисциплинами
обслуживания.
Вариант задания
Вариант 5. В некоторое цифровое устройство через 3±1 мин.
поступают задания длиной 600±200 Кбайт. Скорость ввода, вывода и
обработки заданий – 100 Кбайт/сек. Задания проходят последовательно ввод,
обработку и вывод, буферируясь перед каждой операцией. После вывода 5%
заданий оказываются выполненными неправильно вследствие сбоев и
возвращаются на ввод. Для ускорения обработки задания в очередях
располагаются по возрастанию их длины, т. е. короткие задания
обслуживают в первую очередь.
Смоделировать работу устройства в течение 3 ч. Определить
необходимую емкость буферов и функцию распределения времени
обслуживания заданий (построить гистограмму).
Концептуальная модель в виде Q-схемы
На основании задания построим концептуальную модель в виде Q-
схемы. Схема представлена на рисунке 1.

Рисунок 1 – Концептуальная модель в виде Q-схемы


Обозначения на схеме:
И – источник;
Н1..3 – накопители 1-3 (буферы);

3
К1..3 – каналы 1-3 (вход, обработка и выход соответственно);
p=0.05 – вероятность ошибки задания и его перехода в очередь входа.

СМО является одноканальной с ожиданием, порядок в очередях SF


(Short Forward – короткие вперед) означает, что в первую очередь
обслуживаются те заявки из очереди, которые имеют меньшее время
обслуживания (в данной задаче – наименьший размер).
Блок-диаграмма системы
Построена блок-диаграмма СМО, которая представлена на рисунке 2.

4
Рисунок 2 – Блок-диаграмма СМО

5
Код программы на GPSS
На основе блок-диаграммы СМО была написана программа,
моделирующая работу данной СМО. Исходный код программы представлен
в текстовом виде ниже, а также на рисунке 3.

; Таблица распределения времени обслуживания заданий


T1 TABLE M1,12,1,24
; Генерация транзакта через промежуток времени, заданный в диапазоне [120,240] секунд
GENERATE 180,60
; Случайный размер задания в диапазоне [400,800] Кбайт, полученный с помощью
дискретного равномерного распределения случайной величины
ASSIGN SIZE,(DUNIFORM(4,400,800))

* Буфер ввода *
; Вход в буфер ввода
QInput QUEUE BUF1,P$SIZE
; Список, реализующий очередь по возрастанию размера для буфера 1
LINK LinkBUF1,P$SIZE,SInput
; Занятие блока ввода
SInput SEIZE INPUT
; Выход из буфера ввода
DEPART BUF1,P$SIZE

* Блок ввода *
; Ввод задания в течение (Размер/Скорость) секунд
ADVANCE (P$SIZE/100)
; Выход из блока ввода
RELEASE INPUT
; После завершения работы блока берётся первый элемент из списка буфера 1
UNLINK LinkBUF1,SInput,1

* Буфер обработки *
QUEUE BUF2,P$SIZE
LINK LinkBUF2,P$SIZE,SProcess
SProcess SEIZE PROCESSING
DEPART BUF2,P$SIZE

* Блок обработки *
ADVANCE (P$SIZE/100)
RELEASE PROCESSING
UNLINK LinkBUF2,SProcess,1

* Буфер вывода *
QUEUE BUF3,P$SIZE
LINK LinkBUF3,P$SIZE,SOutput
SOutput SEIZE OUTPUT
DEPART BUF3,P$SIZE

* Блок вывода *
ADVANCE (P$SIZE/100)
RELEASE OUTPUT
UNLINK LinkBUF3,SOutput,1

* Вывод задания или переход к буферу ввода *

6
; С вероятностью 5% задание выполнено неправильно, поэтому возвращается на ввод
QInput
TRANSFER .05,,QInput
; Занесение параметров в таблицу
TABULATE T1
; Задание выполнено успешно, поэтому уходит из устройства
TERMINATE 0

; Моделирование в течение 3 часов


GENERATE 10800

; После 3 часов - вычет заявки из счётчика числа заявок


TERMINATE 1
; Счётчик числа заявок = 1, моделирование завершено
START 1

Рисунок 3 – Листинг кода в GPSS World


Рассчитанные характеристики
Было проведено моделирование системы в течение 3 часов, или
3∗60∗60=10800 секунд. Результаты моделирования представлены на рисунках

4-7.

7
Рисунок 4 – Результаты моделирования 1

Рисунок 5 – Результаты моделирования 2

8
Рисунок 6 – Результаты моделирования 3

Рисунок 7 – Результаты моделирования 4


По результатам можно сделать следующие выводы:
 всего на вход поступило 58 заявок;
 3 заявки были неудачными;

9
 по окончанию моделирования одна заявка была в процессе
обработки (на блоке выхода), поэтому зарегистрировано 57 заявок
вместо 58;
 максимальный размер очереди всех буферов – 784 Кбайт;
Так как в очереди находился максимум один элемент, то стоит сделать
размер буферов равным 800 Кбайт – самому большому возможному
значению одной заявки.
Временная диаграмма системы
По полученным данным была сгенерирована гистограмма времени
пребывания заявки в системе. На оси X – временной промежуток, в который
попала заявка. На оси Y – количество заявок в промежутке. Гистограмма
приведена на рисунке 8.

Рисунок 8 – Гистограмма распределения времени обслуживания заданий


По данной временной диаграмме можно сделать вывод, что
большинство заявок попадают во временной промежуток [19;24]. Также
можно заметить две заявки, пребывающие в системе [34;35] секунд – заявки с
ошибками, отправленные на буфер блока входа системы.
Среднее время пребывания в системе (Mean) – 19.296 секунд.

10
Отклонение от среднего времени (S.D. – Standard Deviation,
среднеквадратическое отклонение) – 5.244 секунды.
Вывод
В ходе данной курсовой работы были получены навыки моделирования
СМО – систем массового обслуживания.
По заданию была смоделирована система цифрового устройства.
Построена Q-схема и блок-диаграмма, затем на основе блок-диаграммы
реализован алгоритм на языке GPSS в ПО GPSS World. На основе данных
моделирования системы получены характеристики, в том числе определён
рекомендуемый размер буферов (800 Кбайт), и построена гистограмма,
показывающая распределение заявок по времени их нахождения в системе.

11