close

Вход

Забыли?

вход по аккаунту

?

Tarasov Bachareva

код для вставкиСкачать
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
ГОУ ВПО «ПОВОЛЖСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ
И ИНФОРМАТИКИ»
В.Н. ТАРАСОВ, Н.Ф. БАХАРЕВА
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
ТЕОРИЯ
АЛГОРИТМЫ
ПРОГРАММЫ
Рекомендовано ГОУ ВПО МГТУ
им. Н.Э. Баумана к использованию в
образовательных учреждениях, реализующих образовательные программы ВПО по специальностям направления «Информатика и вычислительная техника».
Регистрационный номер рецензии
120 от 15.07.2008 г. МГУП
Самара 2009
ББК 22.20я7
Т 19
УДК [681.324:519.8+004.421](075.8)
Рецензенты:
заведующий кафедрой «Информационные системы и технологии СГАУ, заслуженный работник высшей школы РФ,
Академик МАИ, д.т.н., профессор С.А. Прохоров; доцент
кафедры «Компьютерные системы и сети» МГТУ им. Н.Э.
Баумана В.В. Тимофеев.
Тарасов В.Н., Бахарева Н.Ф.
Компьютерное моделирование вычислительных систем. Теория, алгоритмы, программы –
Оренбург: ИПК ГОУ ОГУ, 2008. – 208 с.
T 19
ISBN 5-7410-0590-Х
Учебное пособие предназначено для студентов специальностей направления 230100 – Информатика и вычислительная техника.
ISBN 5-7410-0590-Х
©Тарасов В.Н., Бахарева Н.Ф.
Содержание
Введение
1
Моделирование случайных величин, процессов и
потоков событий
1.1
Генерирование и статистический анализ
псевдослучайных чисел
1.2
Моделирование непрерывных случайных
величин
1.3
Задание на самостоятельную работу № 1
1.4
Содержание отчёта
2
Основы теории массового обслуживания
2.1
Основные принятые обозначения
2.2
Общие результаты
2.3
Марковский процесс. Процессы размножения и
гибели. Пуассоновский процесс.
2.4
Система М/М/1
2.5
Система М/М/m
2.6
Марковские сети массового обслуживания.
2.7
Задание на самостоятельную работу по разделу
«Системы массового обслуживания» № 2
2.8
Содержание отчета
2.9
Задание на самостоятельную работу по разделу
«Сети массового обслуживания» № 3
2.10 Содержание отчета
3
Методика расчета стохастических сетей на основе двумерной диффузионной аппроксимации
3.1
Обобщенная двумерная диффузионная модель
систем массового обслуживания (СМО) типа
GI/G/1/∞ с бесконечной очередью и GI/G/1/m с
конечной очередью и потерями
3.2
Обоснование уравнений баланса потоков
сетевой модели в случае однородного трафика
3.3
Модификация уравнений баланса потоков в случае наличия избыточных потоков
3.4
Модификация уравнений баланса потоков в случае неоднородного трафика
4
Определение основных показателей производительности сетевых моделей
6
14
14
16
25
25
35
36
39
42
45
48
49
51
53
55
56
62
62
68
72
74
77
Определение узловых и сетевых характеристик в
случае однородного трафика
4.2 Определение характеристик сетевой модели в
случае неоднородного трафика
4.3 Алгоритм расчета характеристик СМО GI/G/1/∞
4.4 Модификация алгоритма в случае СМО GI/G/1/m
с конечной очередью и потерями
5
Интерактивная система вероятностного моделирования вычислительных систем PROBMOD
5.1 Структура программной системы
5.2 Функциональные возможности системы
5.3 Инструкция пользователя
5.3.1 Моделирование ВС с однородным трафиком
5.3.2 Моделирование ВС с неоднородным трафиком
5.3.3 Расчет характеристик узла
5.4 Результаты проведенных расчетов и их анализ
5.5 Задание на самостоятельную работу № 4 с использованием программной системы PROBMOD
5.6 Задание на самостоятельную работу № 5. Расчет
характеристик ВС с неоднородными потоками.
6
Моделирование вычислительных систем средствами языка GPSS WORLD
6.1 Описание основных блоков языка GPSS
6.2 Задание на самостоятельную работу № 6. Построение модели ВС для определения загрузки
устройств и длин очередей к устройствам
6.3 Задание на самостоятельную работу № 7. Исследование механизма формирования цепей
текущих и будущих событий
6.4 Задание на самостоятельную работу № 8.
Определение оптимального времени поступления
заявок в заданной конфигурации ВС
6.5 Задание на самостоятельную работу № 9. Построение модели ВС заданной конфигурации.
Определение основных характеристик ВС
6.6 Задание на самостоятельную работу № 10. Исследование на имитационной модели процесса передачи данных в информационно-вычислительной
сети
4.1
4
77
78
79
87
90
90
96
99
100
104
106
108
110
120
127
127
139
142
148
154
160
Задание на самостоятельную работу № 11. Исследование на имитационной модели процесса
функционирования локальной вычислительной
сети
6.8
Задание на самостоятельную работу № 12. Исследование на имитационной модели процесса
функционирования локальной вычислительной
сети
6.9
Варианты заданий к курсовому проектированию
Список использованной литературы
Приложения
6.7
170
175
181
196
198
5
ВВЕДЕНИЕ
Моделирование является одним из наиболее распространенных способов изучения различных процессов и явлений и широко используется в научных исследованиях и
инженерной практике. Различают физическое и математическое моделирование. При физическом моделировании
модель воспроизводит изучаемый процесс с сохранением
его физической природы. Под математическим моделированием понимают способ исследования различных процессов путем изучения явлений, имеющих различное физическое содержание, но описываемых одинаковыми математическими соотношениями. Например, детерминистические
объекты могут быть описаны конечными автоматами, дифференциальными уравнениями, а стохастические объекты,
учитывающие случайные факторы - вероятностными автоматами, системами массового обслуживания и марковскими
процессами.
Построение математической модели сложной системы в
целом часто оказывается практически невозможным из-за
сложности процессов ее функционирования. В этих случаях
систему декомпозируют на отдельные подсистемы вплоть
до элементов, сохраняя связи между подсистемами. Тогда
сложную систему можно определить как многоуровневую
конструкцию из взаимодействующих элементов, объединяемых в подсистемы различных уровней. В качестве такой
системы можно рассматривать автоматизированные системы управления различного назначения, построенные по иерархическому принципу.
Любую сложную систему будем рассматривать как совокупность элементов и подсистем, предназначенную для
решения определенного класса задач или же подчиненную
единой цели. Если цели и задачи системы определены, то
ставится вопрос об оценке качества ее функционирования с
помощью показателей эффективности. В зависимости от
назначения системы показатели эффективности могут быть
различными, но чаще всего в качестве основного показателя эффективности выступает производительность системы, которая в свою очередь включает различные классы
6
индексов. В таблице 1 приведены основные классы количественных индексов производительности вычислительных
систем /16/.
Таблица 1 - Основные классы количественных индексов
производительности вычислительных систем
Класс
Примеры индексов
Общее определение
индекса
Продук- Пропускная способность
Объем информации,
тивность Скорость выработки
обрабатываемой сисМаксимальная выработка (макси- темой в единицу времум пропускной способности)
мени
Скорость выполнения команд
Скорость обработки данных
РеакВремя ответа
Время между
тивность Время прохождения
предъявлением систеВремя реакции
ме входных данных и
появлением соответствующей выходной
информации
Исполь- Коэффициенты
использования Отношение времени
зование оборудования (центральный про- использования
укацессор, канал ввода-вывода, уст- занной части системы
ройство ввода-вывода)
(или ее использования
Коэффициент использования
для заданной цели) в
течение заданного иноперационной системы
Коэффициент использования об- тервала времени к
щего модуля программного обес- длительности
этого
печения (например, компилятора) интервала
Коэффициент использования базы
данных
Расчет показателей эффективности сложных систем, т.е.
задача анализа производительности, представляет собой
весьма сложную задачу, которая требует привлечения специальных математических методов и, как правило, решается с помощью ЭВМ. Показатели эффективности зависят от
структуры системы, значений ее параметров, характера
воздействия внешней среды, внешних и внутренних слу7
чайных факторов, поэтому их можно считать функционалами, заданными на множестве процессов функционирования системы. Такие функционалы широко используются в
теории сложных систем и системном анализе.
В связи с тем, что сложные системы функционируют в
условиях действия случайных факторов, значения функционалов являются случайными величинами и поэтому в
задачах анализа производительности пользуются средними
значениями функционалов. Например, среднее количество
изделий, выпускаемых за смену, средняя прибыль (для
производственных процессов), средняя стоимость перевозки (для транспорта), среднее время ожидания в очереди (для систем массового обслуживания) и другие.
Таким же путем можно характеризовать и другие свойства сложных систем как надежность, помехозащищенность, качество управления и другие.
Для того, чтобы получить ответы на вопросы о производительности данной системы, разработчик системы на
ранних этапах проектирования (системного проектирования) должен получить информацию об индексах производительности при определенных значениях параметров системы. Эту необходимую для исследования информацию
можно получить посредством методов оценки производительности как от самой системы (методы измерения), если
она существует, так и от модели системы (методы моделирования).
В настоящее время существует целый арсенал измерительных средств, как аппаратных, так и программных и
микропрограммных. Под моделью системы будем понимать такое ее представление, которое состоит из определенного объема организованной информации о ней и построено с целью ее изучения. Для одной и той же системы
может быть построен ряд различных моделей в зависимости от точек зрения и степени детализации системы (расчленения на компоненты).
Место и роль концептуальных (мыслимых) моделей
при проектировании сложных систем определим следующим образом. Во-первых, концептуальные (математические) модели играют фундаментальную роль в оценке
8
производительности и надежности сложных систем. Вовторых, математическое моделирование является современным средством оценки качества проектных решений по
сложным системам, в том числе и уже существующих систем в процессе их эксплуатации. Концептуальные модели
являются основой методов измерения, а также двух классов
методов моделирования: имитационного и аналитического.
Очень распространенное и удобное описание поведения
системы основывается на концепциях состояния и перехода между состояниями. Состояние системы в момент времени определяется как множество значений интересующих
нас параметров системы в момент времени. Любое изменение этих значений параметров означает переход системы в
другое состояние. Если поведение модели во времени в основном воспроизводит поведение системы и прослеживается эволюция решений уравнений модели на заданном интервале времени с сохранением хронологической последовательности изменения переменных состояния модели и
системы, то мы имеем имитационную модель.
В аналитическом моделировании уравнения модели
решаются чаще всего путем эквивалентных формульных
преобразований, которые не отражают хронологию функционирования самой системы. Однако и здесь существуют
численные методы (типа решения задачи Коши для дифференциальных уравнений), которые представляют собой последовательную процедуру, в чем-то копирующую эволюцию реальной системы.
Существенным условием применимости любой модели
является ее адекватность реальной системе и при оценке
производительности системы точность модели должна
быть определена к индексам производительности, выбранным для этой цели. Значения этих индексов, полученные в
эксперименте на модели, должны быть достаточно близки к
значениям моделируемой системы при тех же входных воздействиях.
На рисунке 1 показана иллюстрация этого определения
для простого случая системы обработки данных из N заданий, где в качестве индекса производительности взято об9
щее время t об щ обработки N заданий. Модель считается
'
< ε , где ε - заданная максимальная
точной, если tобщ − tобщ
'
ошибка, а t общ
- результат моделирования /16/.
Входной поток
из N заданий
Система
Общее время tобщ
Сравнение
Модель потока
заданий
Модель
системы
Точность
модели
Общее время моде′
ли t общ
Рисунок 1- Иллюстрация понятия точности модели
При проектировании, когда моделируемая система не существует физически или не доступна для эксперимента, моделируемую
систему представляют в виде концептуальной модели в действительности. Тогда точность модели можно оценить по схеме, представленной на рисунке 2.
W
А
Ρ
Сравнение
(критерий
калибровки)
W′
′
А
Ρ′
Ошибка
Приемлемо ?
Да
Нет
Рисунок 2 - Схема итеративной процедуры калибровки
Система A при рабочей нагрузке W имеет производительность P, где P-совокупность индексов производительности (скаляры, средние и дисперсии функционалов). Модель системы A ′ при нагрузке W ′ имеет производительность
P ′ . Сравнение значений одноименных индексов производи10
тельности дает меру точности P ′ и W ′ . Если точность модели не удовлетворительна, то в модель необходимо внести
изменения, а процесс проверки повторить. Эта операция
называется калибровкой модели. Критерии калибровки и
меры точности для вычислительных систем приведены в
таблице 2 .
Таблица 2-Критерии калибровки модели (индекс производительности: время прохождения задания)
Основание критерия
Ошибка Е
1 N
(t j − t 'j )
Среднее время прохождения задания
∑
N j =1
1 N
(t j − t 'j )2
Время прохождения отдельного задания
∑
N j =1
Продолжительность отдельного шага задания
N
nj
∑∑ (t ji − t 'ji )
2
j =1 i =1
Символ
tj
t′ j
tji
t′ji
N
nj
Определение
Время прохождения задания j в системе
Время прохождения задания j в модели
Время выполнения шага i задания j в системе
Время выполнения шага i задания j в модели
Общее число заданий
Число шагов в задании j
Существующие методы и модели анализа производительности вычислительных систем представлены следующей структурной схемой (рисунок 3).
Здесь алгебраические и аппроксимационные методы
образуют класс методов и моделей аналитического вероятностного моделирования. Алгебраические методы в
теории массового обслуживания ограничены предположением о пуассоновских входных потоках и
экспоненциальности времени обслуживания (когда известны точные результаты для вероятности состояния сетевой модели
в виде произведения), что далеко не всегда имеет место
при исследовании реальных процессов /12/.
Следующий момент связан с неоднородностью реальных потоков. Неоднородность потоков случайных событий
11
прежде всего обусловлена зависимостью времени обслуживания от параметров входного потока, а также разнородностью используемых в сложных системах управления
средств вычислительной техники и разнотипностью классов решаемых задач. Неоднородность потоков в экспоненциальных и сетевых моделях также не может быть учтена.
Игнорирование же этих двух важных факторов при использовании экспоненциальных сетей для решения задачи анализа производительности вычислительных систем может
внести существенную погрешность в результаты моделирования.
Это и послужило основанием для появления аппроксимационных методов. Среди них в пособии выделены методы диффузионной аппроксимации процессов функционирования систем массового обслуживания.
Под методом имитационного моделирования будем
понимать способ вычисления статистических характеристик интересующих нас случайных величин посредством
воспроизведения реализаций соответствующего случайного
процесса с помощью его математической модели. В области управления экономикой, планировании, исследовании
операций, проектировании термин
«имитационный эксперимент» означает способ выбора
рационального управления сложным процессом (рационального плана, рациональной конструкции проектируемого изделия) путем сравнивания различных вариантов /9/.
В дальнейшем будем различать аналитическое вероятностное моделирование от имитационного моделирования в
том смысле, как различаются теория вероятностей и математическая статистика.
В настоящее время существует несколько десятков специализированных имитационных систем моделирования
или же проблемно – ориентированных систем, и их число
растет.
В данном пособии для решения простейших задач по
моделированию вычислительных систем использован язык
системного моделирования GPSS.
Материал пособия изложен в той логической последовательности, которая приведена на рисунке 3. При этом в
12
классе приближенных методов и моделей (аппроксимационный подход) изложены научные и практические результаты авторов пособия в данной области.
Методы и средства моделирования
вычислительных систем
Алгебраический
подход
Экспонен
циальные
сети
Аппроксимационный
подход
Модели
диффузионной
аппроксимации
Модели
баланса
потоков
Имитационные
модели
Модели специализированных систем
Язык
GPSS
Рисунок 3 - Существующие методы и модели анализа
производительности вычислительных систем
13
1 МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН,
ПРОЦЕССОВ И ПОТОКОВ СОБЫТИЙ
1.1 Генерирование и статистический анализ
дослучайных чисел
псев-
Рассмотрим последовательность чисел γ 0 ,γ 1 ,…, порождаемую рекуррентным уравнением
(1.1)
γ i+1 ={Mγ i },
где М-целое (М>1), {A} означает дробную часть А. Для некоторого множества начальных значений γ 0 последовательность, порождаемая уравнением (1.1), будет равномерно
распределенной в интервале (0;1) и при достаточно больших значениях М по своим свойствам близка к последовательности т.н. базовых случайных чисел.
Уравнение (1.1) преобразуем к форме, приспособленной к арифметике с фиксированной запятой и ограниченной длиной разрядного слова
(1.2)
ε i+1 ≡ M ε i (mod p),
где ε i – целые положительные числа, не превышающие p; p
- некоторая целая константа. Соотношение (1.2) определяет
значение ε i+1 как остаток от деления произведения M ε i на
p. Очевидно, что значения элементов последовательности
(1.1) равны γ i = ε i /p.
Последовательность (1.2) имеет период. Как только
некоторое значение ε n будет равно начальному (или некоторому другому, имевшему уже место) значению, числа генерируемые уравнением (1.2), будут повторяться.
В соответствии с требованиями, предъявляемыми к генераторам псевдослучайных последовательностей, желательно, чтобы длина периода была максимальной. Она будет зависеть от модуля p и начального значения ε 0 .
Учитывая двоичный способ представления чисел в
ЭВМ, ограничимся рассмотрением случая
ε i+1 = Mε i (mod 2 S ),
(1.3)
-S
где S – длина разрядной сетки; γ i = ε i ·2 .
Качество псевдослучайных последовательностей определяется проверкой их равномерности распределения и
взаимной независимости с помощью различных статисти14
ческих тестов. Мы же в лабораторных работах для этого
будем использовать критерий согласия Пирсона – χ 2 или же
критерий Колмогорова.
Ниже на рисунке 1.1 приводится схема алгоритма генератора псевдослучайных чисел RANDU (IX,IY,YFL) для
32-разрядной ЭВМ /8/.
Здесь последовательность псевдослучайных чисел определяется из рекуррентного соотношения
(1.4)
ε i+1 = (65539ε i )mod 2 32 .
Использованные обозначения: IX – начальное значение,
любое нечетное целое число, меньшее 2 32 ; IY – получаемая
целочисленная случайная величина, YFL – получаемая случайная величина из интервала (0;1).
Начало
Ввод IX
IY=IX·65539
+
–
IY<0
IY=IY+2147483647+1
YFL=IY
YFL=YFL·0.4656613E-9
Конец
Рисунок 1.1 – Схема алгоритма генератора
псевдослучайных чисел RANDU
15
1.2 Моделирование непрерывных случайных величин
Рассмотрим методы моделирования непрерывной случайной величины Х. Пусть f(x) – плотность распределения,
x
а F ( x) =
∫ f ( x)dx - функция распределения вероятностей
−∞
случайной величины Х . Обозначим через F -1 (y) – функцию ,
обратную к F(x). Покажем , что распределение случайной
величины
x=F -1 ( ζ ),
(1.5)
где ζ – базовая случайная величина , имеет функцию рас пределения
F ζ (x).
Действительно
( рисунок
1.2),
P(X<x)=P[ ζ <F(x)]=F(x).
Следовательно , алгоритм моделирования непрерывной
случайной величины X сводится к определению значения
этой величины по (1.5) через реализацию базового случай ного числа .
F(x)
1
ζ
x
x
Рисунок 1.2
В качестве примера рассмотрим экспоненциальное рас пределение с плотностью f(x)= λ e -λx , x ≥ 0 и функцией рас пределения F(x)=1-e -λx , x ≥ 0. Находим обратную функцию
распределения x=(-1/ λ )ln ζ , которая и определяет алгоритм
моделирования .
Недостатком алгоритмов обратной функции является
вычисление функции , обратной функции распределения .
Большинство распределений не позволяет определить эту
функцию в явном виде через элементарные функции . По 16
этому трудоемкость алгоритмов определяется трудоемкостью решения относительно х уравнения вида
x
∫ f(x)dx = ζ .
(1.6)
−∞
Другой, широко используемый метод моделирования,
состоит в представлении исходного распределения в виде
смеси других, более простых с точки зрения имитации распределений:
(1.7)
f(x)=p 1 f 1 (x)+p 2 f 2 (x)+…+p S f S (x),
где p 1 +p 2 +…+p s =1, f i (x) – некоторые плотности распределения. Тогда имитация осуществляется в два этапа. Сначала
имитируется выбор одного из S распределений, затем разыгрывается значение случайной величины с этим распределением. Первое базовое число используется для моделирования дискретной случайной величины с рядом распределения вероятностей (p 1 ,p 2 ,…, p S ), второе (или последующие) – для моделирования случайной величины с распределением f i (x) (i=1,2,…,S) в зависимости от предшествующего результата.
Укажем ещё один способ моделирования случайных величин. Так, нормальное распределение, распределение Эрланга, χ 2 – распределение и ряд других могут быть представлены в виде суммы (композиции) более простых случайных величин.
В таблице 1.3 приведены алгоритмы имитации семи
часто используемых распределений.
Как правило, при решении важных задач методом
имитационного моделирования исследователь проверяет
качество генерирования псевдослучайной последовательности. Эта задача решается с использованием критериев
согласия. Отличие применения этих критериев при оценке
качества генерирования от классической задачи сглаживания статистических рядов заключается в том, что исследователь априори задаёт закон распределения и требуемые значения параметров псевдослучайной (сгенерированной) последовательности, а при решении задачи сглаживания необходимо решить задачу идентификации закона распределения.
17
При оценке качества генерирования псевдослучайной
последовательности в качестве теоретического закона распределения возможно использование:
1. заданного закона распределения с заданными параметрами;
2. заданного закона распределения с уточненными параметрами путём решения задачи аппроксимации закона
распределения тем или иным способом.
Рассмотрим последовательность этапов решения задачи
оценки качества генерирования применительно ко второму
случаю, как более общему (см. рис. 1.3).
После ввода исходных данных первым шагом в решении
этой задачи является построение гистограммы наблюдаемого статистического ряда {xi }iN=1 . Для этого необходимо
выполнить следующие этапы:
1. Определить диапазон изменения статистического ряда x min -x max .
2. Определить ширину дифференциального коридора:
x − xmin
∆x = max
,
(1.7)
M
где М – количество дифференциальных коридоров.
3.Определить частоту попадания анализируемой случайной величины в j-ый дифференциальный коридор:
1 N
)
p j = ∑ δ ij ,
(1.8)
N i =1
где

 xi − xmin 
1
,
если
ent

 ∆x  + 1 = jΛxi = xmax ;

1
δij =  , если xi = j∆x
(1.9)
2

0, иначе


- индикатор состояния.
Следует отметить, что δ i, j+1 =1/2, если x i =j∆x Λ x≠x max , т.е.
в этом случае в j и j+1 коридоры добавляется по 1/2.
18
Начало
Конец
Рисунок 1.3 – Схема алгоритма качества
генерирования ПСП
4. Если частота попадания в какой-либо k-ый дифференциальный коридор мала (p j <0,01÷0,02), то для уменьшения влияния случайности его объединяют с k+1 коридором.
Эта операция может быть применена неоднократно.
Исходным материалом для построения гистограммы является сгруппированный по дифференциальным коридорам
статистический ряд, представленный, как правило, в виде
таблицы (см. таблицу 1.1), где hˆ j = p j /∆ x j .
19
Статистический ряд
Таблица 1.1
p̂ j 0,099 0,1006 0,1003 0,0989 0,099 0,1067 0,0954 0,1008 0,0997 0,0996
j∆ x 0,1
ĥj
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
0,99 1,006 1,003 0,989 0,99 1,067 0,954 1,008 0,997 0,996
После построения гистограммы и оценки статистиче ских характеристик решают задачу уточнения параметров
распределения , используя тот или иной метод ап проксимации закона распределения .
Заключительным этапом решения задачи является про верка качества генерирования с использованием критериев
согласия . Идея применения критериев согласия заключает ся в следующем . На основании данного статистического
материала необходимо проверить гипотезу H , состоящую в
том , что случайная величина Х подчиняется заданному за кону распределения . Введем случайную величину U , яв ляющуюся мерой расхождения теоретического и статисти ческого распределений . Закон распределения этой случай ной величины f u ( u ) зависит как от закона распределения
случайной величины X, так и от числа опытов N . Если ги потеза Н верна , то f u ( u ) определяется законом распределе ния f a ( х ) и числом опытов N .
Вычислим вероятность события Р ( u ≤ U ) = Р д . Если эта
вероятность мала , то гипотезу следует отвергнуть как ма лоправдоподобную , если значительна - экспериментальные
данные не противоречат гипотезе Н .
Выберем в качестве меры расхождения между теорети ческим и статистическим распределениями случайную ве личину
M
U = ∑ c j(pˆ j − p j )2 ,
(1.10)
j =1
где с j − веса ;
p j = F a ( x j+1 , α 1 , α 2, …, α m ) − F a ( x j , α 1 , α 2,…, α m ) − теоретиче ские вероятности , соответствующие p̂ j .
Коэффициенты c j вводятся для учёта веса отклонений ,
20
относящихся к разным разрядам. Так отклонения могут
быть малозначительными, если вероятность р j велика, и
наоборот.
К. Пирсон показал, что если положить с j =N/p j , то при
большом N плотность f u (u) не зависит от f x (x) и N, а зависит только от числа разрядов М. Этот закон при увеличении N приближается к закону χ 2 с r степенями свободы,
плотность распределения вероятностей которого определяется выражением:
r
u
−1 −

1
2
u e 2 , если u > 0;
 r
r
f r(u) =  2 2 Г( )
(1.11)
2

0 , если u < 0,
∞
где Г (α ) = ∫ t α −1e−t dt - гамма-функция.
(1.12)
0
В этом случае мера расхождения обозначается χ 2 и определяется выражением:
M (p
ˆ j − p j )2
2
.
(1.13)
χ = N∑
pj
j =1
Иногда для удобства вычислений , чтобы избежать вы числений с промежуточными малыми числами , выражение
(1.13) представляют в виде
M (n − Np )2
j
2
χ =∑ j
,
(1.14)
Np j
j =1
где n j - число попаданий х в j- ый дифференциальный кори дор .
Распределение χ 2 зависит от параметра r, называемого
числом « степеней свободы ». Число степеней свободы равно
r = M - k, где k - число независимых наложенных условий
( связей ), например , условие нормировки , совпадение тео ретических и статических моментов и т . д .
Для распределения χ 2 составлены специальные таблицы
( см . приложение П .1) Пользуясь ими, можно для каждого
значения χ 2 и числа степеней свободы r найти вероятность
того , что величина , распределенная по закону χ 2 , превзой дет это значение . Если эта вероятность мала , то результат
21
опыта следует признать противоречащим гипотезе о том,
что случайная величина распределена по предполагаемому
закону. Если на практике она оказывается меньше, чем 0,1,
рекомендуется проверить результаты эксперимента и, если
это, возможно, повторить его.
Схема применения критерия сводится к следующему:
1. строится гистограмма входной последовательности;
2. определяется мера расхождения χ 2 по формуле (1.13)
или (1.14);
3. определяется число степеней свободы r = M - k;
4. по r и χ 2 по таблице приложения П.1 определяется
вероятность того, что величина, имеющая распределение χ 2
с r степенями свободы, превзойдет данное значение χ 2 .
5. если вероятность Р д велика, то гипотеза Н принимается.
Следует отметить, что с помощью критериев согласия
можно только в некоторых случаях опровергнуть гипотезу
Н. Если вероятность Р д велика, то это указывает лишь на
то, что гипотеза Н не противоречит опытным данным.
Кроме критерия Пирсона на практике применяется критерий А.Н. Колмогорова.
В качестве меры расхождения между статистическим и
теоретическим распределениями рассматривается величина, равная
δ = max |Fˆ (x) − Fa(x,α1 , α 2 ,..., α m )| .
(1.15)
Обоснованием выбора этой меры расхождения являются
следующие обстоятельства:
- простота определения δ;
- при неограниченном числе испытаний N вероятность
неравенства
δ N ≥ λ стремится к пределу
P(λ ) = 1 −
∞
∑ (− 1)
k
e −k
2 2
λ
.
(1.16)
k = −∞
Значения Р(λ), подсчитанные по формуле (1.16), приведены в приложении П.2.
22
Схема применения этого критерия сводится к следующему:
1. строятся статистическая и теоретическая функции
распределения;
2. по графикам определяется δ;
3. вычисляется λ = δ N ;
4. по таблице приложения П.2, определяется Р(λ);
5. гипотеза принимается, если для заданного уровня
значимости Р д λ<λ 1 -Pд ;
6. если вероятность Р д мала, гипотезу Н следует отвергнуть. При сравнительно больших Р(λ) её можно считать совместимой с опытными данными.
Следует отметить, что критерий Колмогорова можно
применять, когда известно теоретическое распределение и
численные значения его параметров, например, при проверке качества сгенерированной псевдослучайной последовательности с заданным законом распределения, при расчете параметров функций распределения. Если применять
этот критерий в случаях, когда параметры теоретического
распределения определяются по статистическим данным,
то критерий даёт завышенное значение Р(λ). В этом случае
мы рискуем принять неправильную гипотезу.
Если уточнение параметров распределения сгенерированной последовательности не производится, т.е. не решается задача аппроксимации законов распределения, оценка
качества генерирования ПСП производится с использованием в качестве теоретического распределения заданного
закона с заданными параметрами.
Для уточнения параметров распределения часто применяется метод моментов. Согласно этому методу, параметры
распределения α 1 ,…,α m выбираются таким образом, чтобы
несколько важнейших числовых характеристик (моментов)
теоретического распределения были равны статистическим
характеристикам. При составлении уравнений для определения неизвестных параметров, как правило, выбирают моменты низших порядков.
Общими рекомендациями являются здравый смысл и
простота решения полученной системы уравнений.
Рассмотрим несколько примеров.
23
Определим параметры аналитического выражения плотности распределения вероятностей генератора «белого шума» - стандартной программы ПЭВМ. Теоретически закон
распределения
должен
быть
равномерным
1
f x ( x) =
, a ≤ x ≤ b с параметрами a=0, b=1.
b−a
Гистограмма приведена на рис. 1.4, а данные для расчётов - в таблице 1.1.
«Белый шум»
(10 коридоров)
1,2
1
0,8
0,6
0,4
0,2
0
1 2 3 4
5 6 7 8
9 10
Рисунок 1.4
Уравнения для определения двух неизвестных параметров распределения могут быть составлены различными способами. Потребуем, например, чтобы у статистического и теоретического распределений совпадали математическое ожидание и дисперсия:
a+b

ˆ
m
=
;
 x
2
(1.17)

2
b
a
(
−
)
 Dˆ =
.
 x
12
Отметим, что оценка начальных моментов статистического ряда определяется выражением:
M
k
aˆk = ∑ x j pˆ j ,
(1.18)
j =1
где x j - среднее значение j интервала, а центральных –
k
µ̂ k = ∑ ( −1) s Cks α̂ k − s mˆ xs .
(1.19)
s =0
Эта система уравнений имеет аналитическое решение:
24
a = mˆ x − 3σ̂ x
(1.20)

b = mˆ x + 3σ̂ x .
Для данного статистического распределения
mˆ x = 0.4994;
ˆ
(1.21)
 Dx = 0.082208;
σ̂ = 0.286719.
 x
Подставив найденные оценки в выражения (1.20), получим: а=0,003327, b=0,996553. Отсюда видно, что рассчитанные параметры закона распределения незначительно, но
отличаются от заданного при генерировании. Следовательно, при проведении статистического моделирования целесообразно проверять качество программных генераторов и
оценивать его реальные характеристики.
Применив критерий Пирсона, вычислим по формуле
(1.14) значение χ 2 = 7,77, что соответствует вероятности
Р д >0,3 (см. приложение П.1). Таким образом, можно принять гипотезу о том, что данный статистический ряд соответствует равномерному распределению с найденными параметрами. Преимуществом метода моментов является
простота определения параметров распределения, недостатком - неоднозначность в выборе уравнений, которых
может быть большое количество /10/.
1.3 Задание на самостоятельную работу №1
1. Сгенерировать временной ряд с заданным законом
распределения с объёмом выборки, равным N=500 (количество реализации для каждого модельного эксперимента
равно 29).
2. Проверить качество генерирования, воспользовавшись для определения параметров аналитического выражения законов распределения методом моментов.
3. Определить погрешности оценки параметров модели.
4. Пункты 1-3 повторить для объёмов выборки N=1000,
2000, 5000.
25
1.4 Содержание отчёта
1. Цель работы.
2. Метод и алгоритм моделирования некоррелированных временных рядов для заданного закона распределения.
3. Обратная функция закона распределения вероятностей.
4. Пример реализации некоррелированного временного
ряда.
5. Примеры гистограмм для различного объёма выборки
- N=500, 1000, 2000, 5000, М=20.
6. Значения параметров, определенные по методу моментов, и модуль относительной погрешности оценки параметров закона распределения для N=500, 1000, 2000.
5000, представленные в табличной форме (количество реализации для каждого модельного эксперимента равно 29).
Для определения параметра закона распределения и вычисления погрешности оценки параметра можно воспользоваться пакетом Excel.
7. Графическая зависимость максимальной по модулю
относительной погрешности оценки параметров закона
распределения от объёма выборки - N=500, 1000, 2000,
5000. Для построения графических зависимостей можно
воспользоваться пакетом Excel.
8. Выводы по работе.
Пример оформления результатов выполненной лабораторной работы для экспоненциального закона распределения приведен ниже на рисунках 1.5-1.8 (пункты 4-7 отчёта).
26
Рисунок 1.5 Генерирование ПСП с экспоненциальным
законом распределения методом инверсного преобразования
27
Рисунок 1.6 Пример генерирования ПСП с экспоненциальным законом распределения
28
Рисунок 1.7 Пример генерирования ПСП с экспоненциальным законом распределения
29
Таблица 1.2 - Значения параметров, определенные по методу моментов, и относительные погрешности оценки параметров закона распределения
N=500
N=1000
)
)
)
)
)
)
λ−λ
λ−λ
)
)
α1
α1
№
№
λ = 1 / α1 δ =
λ = 1/α1 δ =
λ
λ
(
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
0,97723
0,96093
0,94707
1,0122
1,01325
1,06513
1,04756
0,98242
1,01613
0,90731
1,05346
0,97002
0,92659
0,94311
0,91677
0,91441
0,97835
0,98175
0,97255
1,05078
1,0076
0,95833
1,03565
0,87468
1,06397
0,95993
0,96412
1,04051
0,99359
1,023301
1,040659
1,055888
0,987947
0,986923
0,938853
0,954599
1,017895
0,984126
1,102159
0,949253
1,030907
1,079226
1,060322
1,090786
1,093601
1,022129
1,018589
1,028225
0,951674
0,992457
1,043482
0,965577
1,143275
0,939876
1,041743
1,037215
0,961067
1,006451
)
0,023301
0,040659
0,055888
-0,01205
-0,01308
-0,06115
-0,0454
0,017895
-0,01587
0,102159
-0,05075
0,030907
0,079226
0,060322
0,090786
0,093601
0,022129
0,018589
0,028225
-0,04833
-0,00754
0,043482
-0,03442
0,143275
-0,06012
0,041743
0,037215
-0,03893
0,006451
(
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
0,94009
0,99149
1,01004
0,98566
1,02001
0,92825
1,02934
1,0109
0,99031
1,0059
0,94411
0,99562
0,9987
0,9672
1,1127
0,98334
1,01539
1,04018
0,98262
1,0151
0,99286
0,925
1,02148
0,97933
0,99113
1,00296
1,00701
1,01401
0,99266
1,063728
1,008583
0,99006
1,014549
0,980383
1,077296
0,971496
0,989218
1,009785
0,994135
1,059199
1,004399
1,001302
1,033912
0,898715
1,016942
0,984843
0,961372
1,017687
0,985125
1,007191
1,081081
0,978972
1,021106
1,008949
0,997049
0,993039
0,986184
1,007394
0,063728
0,008583
-0,00994
0,014549
-0,01962
0,077296
-0,0285
-0,01078
0,009785
-0,00587
0,059199
0,004399
0,001302
0,033912
-0,10129
0,016942
-0,01516
-0,03863
0,017687
-0,01488
0,007191
0,081081
-0,02103
0,021106
0,008949
-0,00295
-0,00696
-0,01382
0,007394
)
Продолжение таблицы 1.2
N=2000
)
)
)
)
(
λ − λ)
α1
№
λ = 1/α1 δ =
λ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1,00292
0,99638
1,00708
0,98824
1,02102
0,99564
0,96806
0,98639
1,02966
0,99591
0,99639
1,02298
0,99853
0,99237
0,99152
1,02363
1,00942
1,00899
0,98241
0,98853
0,9678
1,00999
0,98163
0,95262
0,9806
1,02819
1,01243
0,99446
0,97052
0,997089
1,003633
0,99297
1,0119
0,979413
1,004379
1,032994
1,013798
0,971194
1,004107
1,003623
0,977536
1,001472
1,007689
1,008553
0,976915
0,990668
0,99109
1,017905
1,011603
1,033271
0,990109
1,018714
1,049737
1,019784
0,972583
0,987723
1,005571
1,030375
-0,00291
0,003633
-0,00703
0,0119
-0,02059
0,004379
0,032994
0,013798
-0,02881
0,004107
0,003623
-0,02246
0,001472
0,007689
0,008553
-0,02308
-0,00933
-0,00891
0,017905
0,011603
0,033271
-0,00989
0,018714
0,049737
0,019784
-0,02742
-0,01228
0,005571
0,030375
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
)
α1
1,02181
0,98327
0,99148
0,98502
1,02117
1,00947
1,00089
1,01286
0,98589
0,98445
0,99633
0,99761
0,99352
1,00774
1,00557
1,01113
0,99911
1,00916
0,99684
1,01254
1,00414
0,99648
1,01124
1,00915
1,00342
0,98785
0,98125
0,99468
1,02684
N=5000
)
)
)
(
λ − λ)
λ = 1/α1 δ =
λ
0,978656
1,017015
1,008593
1,015208
0,979269
0,990619
0,999111
0,987303
1,014312
1,015796
1,003684
1,002396
1,006522
0,992319
0,994461
0,988993
1,000891
0,990923
1,00317
0,987615
0,995877
1,003532
0,988885
0,990933
0,996592
1,012299
1,019108
1,005348
0,973862
-0,02134
0,017015
0,008593
0,015208
-0,02073
-0,00938
-0,00089
-0,0127
0,014312
0,015796
0,003684
0,002396
0,006522
-0,00768
-0,00554
-0,01101
0,000891
-0,00908
0,00317
-0,01238
-0,00412
0,003532
-0,01112
-0,00907
-0,00341
0,012299
0,019108
0,005348
-0,02614
31
Параметр закона распределения N=2000
1,2
1
0,8
λ 0,6
0,4
0,2
0
0
5
10
15
20
25
30
Рисунок 1.8 − Результаты моделирования
32
Таблица 1.3
Вид распределения
Равномерное
Гистограмма
Плотность
Алгоритм
Примечания
1
,a ≤ x ≤ b
b−a
x=a+(b- a)ξ
-
ξi→i; x=ai+(bi-ai)ξ2
Сначала имитируется
дискретная величина i заданная рядом
распределения
s
∑ pi f i(x),
i =1
s
∑ pi = 1,
i =1
где fi(x) – равномерное распределение с параметрами ai и bi
Треугольное
Нормальное
α (x- a);
b+a
;
a≤x≤
2
-α (x- a);
b+a
≤ x ≤ b;
2
4
a=
(a − b)2
1
e
2πσ
pi
x=a+
x = mx+εσ:
−(x −mx )2
2 σ2
b−a
(ξ1 + ξ 2 )
2
1)
N  12
N
ε =  ∑ ξi − 
2 N
 i =1
a) N = 6
6

ε =  ∑ ξ i − 3  2
 i =1

б) N = 12
12
ε =  ∑ ξ i − 6 
 i =1

Центральная
предельная теорема
2,308 + 0,271ξ
1 + 0,992ξ + 0,045ξ 2 Метод аппрокпри ξ> 0,5 в противном
симации обратслучае ξ:= 1 – ξ и перед ε ной функции
поставить знак минус
2) ε =
33
Продолжение таблицы 1.3
Вид распределения
Экспоненциальное
Плотность
λe− λx ,x ≥ 0
Алгоритм
1) x = −
Примечания
1
ln ξ ;
λ
1
ln εi , i=1,2;
λ
ε1 = - ξ3 ln (ξ1 ξ2);
ε2 = - (1-ξ3) ln (ξ1 ξ2);
1
x = − ln (ξ1...ξ s )
λ
Сумма s экспоξ→i;
ненциальных
1
x = − ln ξ 2
величин
λ
2) x =
Эрланга
порядка S
Гиперэкспоненциальное
(λx )s e − λx , x ≥ 0
s!
s
∑ pi f i(x),
i =1
s
∑ pi = 1,
i =1
где fi (x) – экспоненциальное распределение с параметрами λi
34
См. примечание
к распределению «гистограмма»
2 ОСНОВЫ ТЕОРИИ МАССОВОГО ОБСЛУЖИВАНИЯ
В этой главе собраны наиболее важные результаты начального курса теории массового обслуживания. Наша цель
состоит в том, чтобы заложить теоретические основы, необходимые для части книги, посвященной практическим
применениям теории. Эти применения требуют солидного
обоснования и опыта при выборе моделей и получении
расчетных формул (точных или приближенных), пригодных
для анализа и проектирования систем. Приводится довольно полный обзор результатов (без их доказательства), которые будут использованы далее /6/.
Рассмотрим какую-либо систему, имеющую пропускную способность С, равную максимальной скорости работы этой системы. Пусть требуется, чтобы эта система
работала со средней скоростью R. Один из фундаментальных законов природы устанавливает, что если R<C, то система может обрабатывать поступающие к ней требования, а
при R>C пропускная способность системы оказывается недостаточной и в этом случае приходится сталкиваться со
всеми неприятными и катастрофическими последствиями
перегрузки. Однако даже при R<C возможно появление
различных неприятностей из-за нерегулярности поступления требований.
Рассмотрим, например, находящийся на углу телефонавтомат, который в среднем может удовлетворять требованиям, предъявляемым к нему. Предположим теперь, что к
телефону почти одновременно приближаются два человека.
Ясно, что в любой данный момент времени получить обслуживание может только один из них, а другой должен
ждать в очереди до тех пор, пока первый закончит. Такие
очереди возникают по двум причинам: во-первых, из-за того, что моменты прихода клиентов не регламентированы, а
во-вторых, из-за случайного объема требования к системе
(т. е. продолжительности обслуживания) каждого клиента.
Описание этих двух непредсказуемых величин (моментов поступления требований и продолжительностей обслуживания) и определение их влияния на очередь составляют
35
существо теории массового обслуживания. В следующем
разделе вводятся некоторые стандартные для теории массового обслуживания обозначения, а затем дается обзор
наиболее важных результатов для различных систем массового обслуживания (СМО).
2.1 Основные принятые обозначения
Здесь вводятся только те обозначения, которые требуются для представления результатов в этой главе /5,6/.
Обозначим n-e требование, поступающее в СМО, через
С n . С требованием С n связаны следующие важные случайные величины:
τ n −момент поступления требования С n ,
(2.1)
t n =τ n -τ n -1 − время между соседними требованиями С n и
C n -1
(2.2)
х n −время обслуживания С n .
(2.3)
Последовательности случайных величин {t n } и {х n }
фактически определяют работу СМО. Все эти случайные
величины выбираются независимо друг от друга, и можно
определить две общие случайные величины:
− ~
t промежуток времени между моментами поступления соседних требований,
(2.4)
~
− x - время обслуживания.
(2.5)
Каждая из этих величин описывается функцией распределения вероятностей (ФРВ), т. е.
A(t)=P[ ~t ≤ t],
(2.6)
В ( х )= Р [ ~
x ≤ x],
(2.7)
и соответствующей плотностью распределения вероятно стей ( ПРВ ), а именно
dA(t )
a (t ) =
,
(2.8)
dt
dB (t )
b (t ) =
.
(2.9)
dt
В последнем определении ПРВ могут быть импульсными
функциями . Моменты распределения указанных случайных
величин обозначаются следующим образом :
36
1
E[ ~
t ]=t = ,
(2.10)
λ
E[~
t k]=tk,
(2.11)
1
E[ ~
x] = x = ,
(2.12)
µ
E[~
x k ] = xk ,
(2.13)
где символ µ , часто используется лишь для показательного
распределения времени обслуживания . Применяется также
преобразование Лапласа , связанное с ПРВ , а именно
~
E[e − st ] = A* ( s ) ,
(2.14)
~
E[e− sx ] = B* ( s) .
(2.15)
Интегральное представление этого преобразования на пример , для [ a ( t )] просто выражается в виде
∞
A ( s ) = ∫ a(t )e −st dt .
*
(2.16)
0
Причиной применения этого преобразования является
его свойство производить моменты ; например , момент t k
может быть произведен функцией A *( s ) с помощью равен ства
d k A∗ ( s )
(2.17)
= (−1) k t k .
k
ds
s =0
Мы часто будем обозначать k-ю производную функции
f ( t ) при t = t 0 следующим образом :
d k f (t )
(k )
=
f
(t0 ) .
k
dt t = t 0
(2.18)
Таким образом , равенство (2.17) можно представить в
виде
A *(k) (0)=(-1) k t k .
~
x являются входными случайными
Обе величины t и ~
величинами для СМО . Определим теперь некоторые важ ные характеристики СМО , а именно число требований в
системе , время ожидания на одно требование и общее вре мя пребывания в системе , т . e. определим
N ( t )− число требований в системе в момент t ,
(2.19)
w n − время ожидания ( в очереди ) для требования С n , (2.20)
s n − время пребывания в системе ( очередь и обслуживание )
37
для требования С n .
(2.21)
Соответствующие предельные случайные величины
(после того, как система проработает долгое время) для ус~ и ~
s . Так
тановившейся очереди обозначаются через N, w
~
~
же как для t и x , можно определить ФРВ, ПРВ, первый
момент и соответствующее преобразование для каждой из
~ и ~
s:
величин N, w
~ ≤y], S(y)=P[ ~
s ≤y], P[N=k],
P[N≤k], W(y)=P[ w
dW ( y )
dS ( y )
~ ]=W,
w( y ) =
S
(
y
)
=
N , E[ w
,
,
E[N]=
dy
dy ~
~
N
-s w
-s s
~
E[ s ]=T,E[z ]=Q(z), E[e ]=W*(s), E[e ]=S*(s).
Теория массового обслуживания, естественно, включает
три раздела: элементарную теорию массового обслуживания, промежуточную теорию и общую теорию. Эти три
теории различаются предположениями относительно a(t) и
b(x). Для обозначения различных типов СМО, которые рассматриваются здесь, применяются довольно простые сокращения. Они содержат три позиции и имеют вид А/В/m;
таким образом обозначается СМО с m обслуживающими
приборами, а А и В указывают соответственно на распределение времени между соседними требованиями и распределение времени обслуживания. А и В принимают значения
из следующего набора символов, которые указывают соответствующее распределение:
М − показательное распределение (Markovian),
E r − распределение Эрланга порядка r (Erlangian),
H R − гиперпоказательное распределение порядка R (Hyper-exponential),
D − постоянная величина (Deterministic),
G − произвольное распределение (General).
В частности, если перечисленные символы стоят на
месте В, соответствующая ПРВ имеет следующий вид
(х≥0):
М: b(x) = µe - µx ,
(2.22)
r −1
rµ (rµx ) e − rµx
,
(2.23)
Е r : b( x ) =
r −1
38
R

H R : b(x)= ∑ αi µ i e  ∑ αi = 1,αi ≥ 0  ,
(2.24)
 i =1

i =1

1
D: b(x)= u 0  x −  ,
(2.25)
µ


G: b(x) произвольно ,

1
где u 0  x −  в предпоследнем выражении обозначает еди µ

ничный импульс в точке x=1/ µ . В случае G возможен любой
закон распределения .
Иногда к трехпозиционному обозначению будет добав ляться еще одна или две позиции для того , чтобы указать
емкость накопителя СМО ( обозначаемую через К ) или чис ло источников требований ( обозначаемое через М ). При
этом всегда специально указывается , какая ( или какие ) из
позиций вводится дополнительно ( при отсутствии этих по зиций соответствующие числа предполагаются бесконеч ными ). Простейшей СМО , рассматриваемой в этой главе ,
является М / М /1, в которой промежутки времени между со седними требованиями распределены по показательному
закону , время обслуживания распределено по показатель ному закону и в системе имеется один обслуживающий
прибор ( так называемая однолинейная система , см . разд .
2.4). Наиболее сложной СМО , рассматриваемой в этой гла ве , является G/G/1, в которой показательные распределения
заменены произвольными ( см . разд . 2.2). В этом обзоре
большинство результатов справедливо только в случае об служивания требований в порядке их поступления ( дисци плина « первым пришел − первым обслуживается »). Перей дем к обзору результатов /5,6/.
R
−µ i x
2.2. Общие результаты
Вероятно , наиболее важным параметром СМО G/G/1
является коэффициент использования ρ , определяемый как
произведение средней скорости поступления требований в
систему на среднее время обслуживания каждого тре бования , т . е .
ρ = λx .
(2.26)
39
Эта величина равна доле времени, в течение которого
занят единственный обслуживающий прибор, и она также
равна отношению требуемой от данной системы скорости
обслуживания к пропускной способности системы, т. е.
R/С, как отмечалось выше. Для многолинейной СМО G/G/m
аналогичное определение имеет вид
λx
ρ=
(2.27)
m
и коэффициент использования равен R/С; он может быть
интерпретирован как математическое ожидание доли занятых приборов, если каждый прибор имеет одно и то же
распределение времени обслуживания. В общем случае ρ математическое ожидание доли используемой пропускной
способности системы.
В среднем за секунду в СМО поступает λ требований и
каждое требует x секунд на обслуживание; таким образом,
R = λx .Однолинейная система может выполнить в течение
одной секунды обслуживание, также измеряемое 1 с, поэтому С=1.
В любом случае стабильной системой (т. е. такой системой, которая имеет конечные средние задержки и длины
очередей) является система, для которой
0≤ρ<1.
(2.28)
Заметим, что случай ρ=1 не допускается (исключение
составляет весьма частная СМО D/D/m). Как мы увидим
ниже, чем ближе значение ρ к единице, тем больше очереди
и время ожидания; именно в этой величине наиболее существенно отражается изменение характеристик СМО при изменении средней нагрузки.
Среднее время пребывания требования в системе связано со средним временем обслуживания и средним временем
ожидания простым, но фундаментальным соотношением
T = x +W .
(2.29)
Величина W отражает цену, которую клиент должен заплатить за совместное использование с другими клиентами
имеющихся ресурсов (обслуживающих приборов). В то
время как ρ является наиболее важным параметром системы, одной из наиболее замечательных формул
теории
массового обслуживания является формула Литтла, которая
40
связывает среднее число требований в системе со средней
скоростью поступления требований и средним временем
пребывания требования в системе:
N = λT .
(2.30)
Этот результат используется во многих расчетах, которые приводятся в этой книге, и вообще широко применяется в приложениях. Соответствующий результат для числа
требований и времени пребывания в очереди, имеет вид
(2.31)
N q = λW ,
где N q − средняя длина очереди . Для системы G/G/m спра ведливо равенство
N q = N − mρ ,
(2.32)
которое следует из равенства (2.29) и формулы Литтла .
Выше уже был приведен фундаментальный закон , при менимый для СМО и утверждающий , что при R<C система
является стабильной . Здесь используется еще один общий
закон природы , который связывает скорость накопления
требований внутри системы со скоростью поступления тре бований на вход системы и скоростью выхода их из систе мы . Так , если состояние системы , характеризующееся на личием в ней k требований , обозначить через Е k , а вероят ность пребывания системы в момент t в состоянии E k − че рез
P k (t)=P[N(t)=k],
(2.33)
то будем иметь
dPk (t )
=[ скорость потока вероятности в
dt
состояние E k в момент t]−[ скорость потока вероятности из
состояния E k в момент t].
(2.34)
Равенство (2.34) позволяет записать зависящие от вре мени соотношения между вероятностями в прямой форме .
Рассмотрим теперь стабильную систему , для которой веро ятность P k (t) при t →∞ стремится к пределу , обозначаемому
через p k ( эта вероятность представляет собой долю време ни , в течение которого в установившемся режиме в системе
находятся k требований ). Если время между соседними
требованиями имеет показательное распределение ( т . е .
моменты поступления требований образуют пуассоновский
41
входящий поток), то установившаяся вероятность r k того,
что требование застанет в момент поступления k требований в системе, равна установившейся вероятности того, что
в системе находится k требований, т. е. p k = r k . Вместе с
тем, если обозначить через d k установившуюся вероятность
того, что в момент выхода требования после обслуживания
в системе останется k требований, то d k = r k , если состояние системы N(t) в любой момент времени может измениться не больше чем на единицу. Таким образом, если
входящий поток − пуассоновский и происходят единичные
изменения состояния системы, то имеет место случай, когда p k =r k =d k .
2.3 Марковский процесс. Процессы размножения и
гибели. Пуассоновский процесс
Перед тем как перейти к обсуждению результатов элементарной теории массового обслуживания, удобно привести хорошо известные сведения о некоторых простых и
важных вероятностных процессах, составляющих основу
теории массового обслуживания. Начнем с марковского
процесса с дискретными состояниями и дискретным временем, для которого через Х n обозначим дискретное значение
процесса на n-м шаге. Процесс является марковским (цепью Маркова), если выполняется условие
P[X n =j|X n -i =i n -i ,...,X 1 =i 1 ]=P[X n =j|X n -1 =i n -1 ].
(2.35)
Оно выражает просто то, что состояние в настоящий
момент полностью суммирует всю предшествующую
историю процесса, влияющую на будущее течение этого
процесса. Если положим
π i (n) =P[X n =i]
(2.36)
и обозначим вектор этих вероятностей как
π (n ) = [π 0 (n) , π 1 (n ) ,…],
(2.37)
а кроме того, обозначим переходные вероятности за один
шаг для однородной цепи Маркова через
р ij =Р[Х n =j|Х n -1 =i]
(2.38)
и запишем их в виде квадратной матрицы, обозначаемой
42
через P={p ij }, то получим основной результат для зависящих от времени вероятностей этого марковского процесса:
π (n ) =π (n -1 ) P,
(2.39)
(n )
(0 ) n
π =π P .
(2.40)
n
Последовательность Р (n=0, 1, 2, ...) равна обратному
z-преобразованию матрицы [I-zP] -1 , где через I обозначена
единичная матрица, а−1 обозначает обращение матрицы.
Наиболее полезные установившиеся значения этих вероятностей можно найти путем решения уравнения
π=πР
(2.41)
при условии
∞
∑ πi
=1 ,
( 2.42)
i =0
где использовано обозначение π i = lim π i( n ) . Заметим, что
n →∞
время пребывания в любом состоянии описывается геометрическим распределением (характерное свойство всех марковских процессов). Это распределение является единственным дискретным распределением без памяти.
Рассмотрим теперь случай однородного марковского
процесса X ( t ) с дискретными состояниями и непрерывным
временем /15/. Процесс является марковским, если выполняется условие, похожее на (2.35). Время, в течение которого процесс находится в каждом состоянии, распределено
по показательному закону у всех марковских процессов с
непрерывным временем; это единственное непрерывное
распределение без памяти и именно это свойство упрощает
анализ. Определим теперь переходные вероятности как
p ij ( t )= P [ X ( s + t )= j | X ( s )= i ].
(2.43)
Обозначим матрицу этих переходных вероятностей через Н ( t ) и с помощью этой матрицы запишем уравнения
Чепмена – Колмогорова:
Н ( t )= Н ( t - s ) H ( s ).
(2.44)
Фактически Н ( t ) соответствует Р n , а матрице Р соответствует Н (∆ t ) (это переходные вероятности за бесконечно
43
малый промежуток времени). Чаще используется матрица
Q=[q i. j ], называемая инфинитезимальной производящей
матрицей процесса. Она определяется с помощью равенства
H(∆t − I )
.
(2.45)
Q = lim
∆t →0
∆t
С помощью этой матрицы можно теперь описать пове дение марковского процесса во времени следующим урав нением :
d H (t )
(2.46)
= H (t )Q ;
dt
решение этого уравнения имеет вид
H(t)=e Qt .
(2.47)
Установившийся режим этого процесса , а именно ста ционарные вероятности π определяются из основного урав нения
π Q=0.
(2.48)
По - видимому , наиболее фундаментальным вероятност ным процессом , встречающимся в теории массового об служивания , является пуассоновский процесс , описываю щий поток моментов поступления требований , в котором
промежутки времени между моментами поступления со седних требований независимы и распределены по пока зательному закону со средним значением t = 1/λ .
В частности , вероятность P k (t) поступления k требова нии в течение промежутка времени длиной t секунд опре деляется равенством
(λt ) k − λt
Pk (t ) =
e .
(2.49)
k!
Среднее число требований , поступающих в течение
этого промежутка , выражается в виде
N (t ) = λt ,
а дисперсия определяется равенством
σ 2N (t ) = λt.
44
(2.50)
(2.51)
Для этого процесса среднее значение и дисперсия совпадают, z-преобразование записывается в виде
E[z N (t) ]=e λt(z-1) .
(2.52)
Предположение о показательном распределении промежутков времени между моментами поступления требований
означает, что
a(t)=λe -λt , t≥0.
(2.53)
Как уже говорилось, это распределение является распределением без памяти. Среднее значение и дисперсия
этого
распределения соответственно равны t = 1/λ и
σ 2 = 1/λ 2 .
Среди классов марковских процессов с непрерывным
временем представляет интерес частный класс процессов
размножения и гибели, в которых состояние системы за
любой бесконечно малый промежуток времени изменяется
не больше чем на единицу (вверх или вниз). В таких случаях говорят об интенсивности размножения λ k , являющейся
средней скоростью рождений (т. е. поступления новых требований) в состоянии, когда система содержит k требований, а также об интенсивности гибели µ k , которая равна
средней скорости гибели (т. е. ухода требований из системы) в случае, когда в системе содержится k требований.
Зависящее от времени поведение такой СМО описывается
равенством (2.47). Для этого класса процессов размножения и гибели стационарный режим, определяемый уравнением (2.48), принимает особенно простую форму. Решение
этого уравнения имеет следующий вид (для обозначения
вероятности наличия k требований в системе здесь используется более распространенное обозначение p k а не π k ):
k −1
λ
pk = p0 ∏ i ,
(2.54)
µ
i =0
i +1
где постоянная p 0 вычисляется по формуле
1
p0 =
.
(2.55)
∞ k −1
λi
1 + ∑∏
k =1 i =0 µ i +1
45
2.4. Система М/М/1
Система М/М/1 является простейшей. Она представляет
собой классический пример, для рассмотрения которого
требуется лишь элементарный математический аппарат.
Хотя метод рассмотрения системы М/М/1 не переносится
на более сложные СМО, поведение ее во многих отношениях подобно поведению более сложных СМО /5/.
Поскольку на вход рассматриваемой системы поступает
пуассоновский поток (с интенсивностью λ) и система совершает единичные (ординарные) переходы (обслуживание
и поступление одного требования), то p k =r k =d k . (Вспомним,
что среднее время обслуживания x = 1 / µ .) Это распределение имеет вид
p k =(1-ρ) ρ k ,
(2.56)
и таким образом непосредственно находим, что среднее
число требований в системе дается равенством
ρ
,
(2.57)
N =
1− ρ
а дисперсия равна
ρ
σ 2N =
.
(2.58)
(1 − ρ) 2
Используя формулу Литтла и равенство (2.32), можно
сразу записать две основные характеристики системы
М /M/1 – ее средние задержки:
ρ/µ
,
(2.59)
W =
1− ρ
1/µ
.
(2.60)
T =
1− ρ
Величины N , W и T в зависимости от коэффициента использования
ρ обнаруживают одинаковое свойство, а
именно: все они растут по мере убывания значения
(1 ρ). Это является характерным для системы М / М /1, а также
для СМО самого общего вида. На рисунке 2.1 показано
среднее время пребывания в системе, как функция коэффициента использования. При приближении ρ к единице (снизу) средние задержки и длины очередей растут неограни46
ченно. Это справедливо по существу для любой СМО, которая может встретиться, и показывает ту высокую цену,
которую нужно платить за использование системы в режиме, близком к ее пропускной способности (ρ =1).
T
1
µ
Рисунок 2.1. Средняя задержка как функция ρ для системы М/М/1.
Как уже указывалось выше, число требований в СМО
имеет геометрическое распределение. Приведем теперь
ПРВ и ФРВ времени ожидания и времени пребывания в
системе для случая обслуживания в порядке поступления:
w(y) = (1- ρ)δ(y)+λ(1- ρ)e -µ(1 -
ρ)y
,
y≥0,
(2.61)
где δ(у) - единичный импульс (дельта-функция Дирака),
W(y) = 1- ρe -µ(1 -
ρ )y
s(у) = µ(1- ρ)e -µ(1 S(y) = 1- e -µ (1 -
ρ )y
,
,
ρ )y
y≥0,
,
y≥0,
y≥0.
(2.62)
(2.63)
(2.64)
Все эти функции по своей природе показательные (если
не принимать во внимание накопление вероятности в нуле
для времени ожидания). Свободный период I (промежуток
времени от момента ухода требования, которое оставляет
систему свободной, до момента поступления следующего
требования) и период между моментами ухода следующих
47
друг за другом требований D также распределены по показательному закону с параметром λ:
Р[I≤ y]=P[D≤y] = 1- e -λy ,
y≥0.
(2.65)
Период занятости (промежуток времени между соседними свободными периодами) характеризуется ПРВ, обозначаемой через g(y) и определяемой через модифицированную функцию Бесселя первого рода следующим образом:
1
g(y) =
e − (λ + µ) y I 1( 2 y λµ ) .
(2.66)
y ρ
Вероятность f n того, что в течение периода занятости
будут обслужены n требований, равна
1  2n − 2 n−1
f n = 
ρ (1 + ρ)1−2n .
(2.67)
n  n −1 
Здесь заканчивается рассмотрение классической системы М/М/1. В следующем разделе, сохранив марковские
предположения, исследуем многолинейный случай.
2.5. Система М/М/m
Рассмотрим теперь обобщение на случай m обслуживающих приборов. Перед совокупностью m обслуживающих приборов образуется одна очередь, и требование из
головы очереди поступает в первый доступный прибор. Как
обычно, λ – интенсивность входящего потока, а 1/µ – среднее время обслуживания, причем ρ = λ/mµ. Стационарная
вероятность застать в системе k требований определяется
равенствами
k

(
mρ)
, k ≤ m,
 p 0
k!
(2.68)
pk = 
m k
m
ρ
 p0
, k ≥ m,

m!
где
−1
m
m−1 (mρ )k
(
mρ ) 
p0 =  ∑
+
 .
k!
m!(
1
−
ρ
)
 k =0

48
(2.69)
В начале предыдущего столетия эту СМО рассматривал
в качестве одной из моделей работы телефонной сети отец
теории массового обслуживания А. К. Эрланг. Его именем
названа С-формула Эрланга, которая определяет вероятность того, что поступившее требование должно ждать обслуживания. Эта формула определяет
∞
∑ pk
из равенства
k =m
(2.68). Обширные таблицы этой величины приводятся во
многих книгах, посвященных телефонии.
Эрланг рассматривал и другую модель телефонной системы, которая во всем совпадает с СМО типа М/М/m, но не
допускает возможности ожидания; иначе говоря, это система с потерями, в которой в любой момент времени могут
находиться не более m требований. В этом случае вероятность застать k требований в системе определяется равенством
k
(
λ/µ) /k!
,
(2.70)
pk = m
i
∑ (λ/µ) /i!
i=0
справедливым для 0≤k≤m. Важной величиной здесь является вероятность того, что требование в момент поступления
в систему не застает ни одного свободного прибора и поэтому будет потеряно; она задается В-формулой Эрланга
или формулой потерь Эрланга, которая также табулирована
и определяет p m из равенства (2.70).
2.6 Марковские сети массового обслуживания.
Перед тем как закончить рассмотрение систем с показательным распределением, остановимся еще на одном
классе задач относящихся к сетям из СМО, в которых требования перемещаются из одной СМО в другую некоторым
случайным образом до тех пор, пока они не покинут систему в какой-либо точке. В частности, рассмотрим сеть с N
узлами, в i-м узле которой находится СМО с одной очередью и m i приборами, время обслуживания в каждом из которых распределено по показательному закону со средним значением 1/µ i . В i-й узел поступает извне (по отно49
шению к сети) последовательность требований из независимого
пуассоновского источника с интенсивностью γ i
требований в секунду. После обслуживания в i-м узле требование переходит в следующий j-й узел с вероятностью
r ij ; таким образом, это требование поступает в j-й узел изнутри (по отношению к сети). Вместе с тем, уходя из j-й
узла, требование может покинуть сеть с вероятностью 1N
∑ rij
/6/.
j =1
Определим полную интенсивность потока требований
в i-й узел как λ i требований в секунду; в среднем она включает в себя как внутренние, так и внешние требования.
Система уравнений для определения интенсивностей λ i
имеет вид
N
λ i = γ i + ∑ λ j rji .
(2.71)
j =1
Между узлами рассматриваемой сети в значительной
мере существует независимость. Это можно видеть из выражения для совместного распределения вероятностей застать k 1 требований в первом узле, k 2 требований во втором
узле и т. д.:
р (k 1, k 2 ,…,k N )=p 1 (k 1 ) p 2 (k 2 )… p N (k N ).
(2.72)
В этом равенстве о независимости свидетельствует
произведение распределений в правой части. В частности,
каждый множитель p i (k i ) в приведенном равенстве является
решением для изолированной СМО типа М/М/m, работающей самостоятельно при интенсивности поступающих требований λ i , p i (k i ) дается равенством (2.68).
Еще один класс марковских сетей массового обслуживания включает такие сети, в которых требования не могут
ни уходить, ни поступать извне. В частности, предположим, что в сети, подобной описанной выше, находится k
требований и что они перемещаются из узла в узел, но уйти
из сети не могут, иначе говоря, для всех i справедливо раN
венство 1- ∑ rij =0. Для таких замкнутых сетей совместное
j =1
распределение вероятностей наличия определенного числа
50
требований в различных узлах выражается следующим образом:
1 N xik i
p (k1, k2 ,… ,kN ) =
,
(2.73)
∏
G( K ) i =1 βi (ki )
где множество чисел {x i } должно удовлетворять линейным
уравнениям [аналогичным уравнениям (2.71) при γ i =0]
N
µ i xi = ∑ µ j x j rij , i = 1,2,..., N
(2.74)
j =1
xik i
G(K ) = ∑ ∏
,
(2.75)
β
(
k
)
k ∈ A i =1
i
i
причем k = (k 1 , k 2 …k N ), A — множество векторов k, для
которого
k 1 + k 2 +…+k N =K, а
ki ≤ m.
 ki !
(2.76)
β i ( ki ) = 
ki − mi
m
!
m
,
k
≥
m
.
 i i
i
Для удобства применения систему уравнений (2.71)
приводят к каноническому виду с вводом нулевого узла для
внешнего источника заявок. Тогда система уравнений примет следующий вид /8/:
(r00 − 1)γ 0 + r10 λ1 + ... + rn 0 λ n = 0 
r01 γ 0 + (r11 − 1)λ1 + ... + rn1λ n = 0 
(2.77)
,
. . . . . . . . . . . . . .
r0 n γ 0 + r1n λ1 + ... + (rnn − 1)λ n = 0 
а матрица вероятностей передач заявок
 r00 r01 ... r0 n 


r
r
...
r

1n 
R =  10 11
.
... ... ... ... 


r
r
...
r
 n 0 n1
nn 
N
51
2.7 Задание на самостоятельную работу №2 по разделу «Системы массового обслуживания»
1. Написать процедуру (подпрограмму) с именем SMO
расчета характеристик системы массового обслуживания
(СМО). Входные параметры:
λ – интенсивность входного потока;
µ – интенсивность обслуживания;
m – число обслуживающих приборов(число каналов);
k – число мест ожидания.
Выходные параметры:
ρ – коэффициент загрузки системы;
W – среднее время ожидания в очереди;
N q – длина очереди;
N – число требований(количество заявок) в системе;
p 0 ,…, p k –вероятности состояний.
2. Варьируя интенсивность входного потока (время обслуживания нормированное µ=1) получить график зависимости основных характеристик от загрузки ρ. Рассмотреть
два случая:
а) число мест ожиданий неограничено;
б) число мест ожидания ограничено.
Для второго случая рассчитать вероятности потери заявок.
Схема алгоритма программы приведена на рисунке 2.2
52
SMO (вх: lam, mu, m,
k; вых:Pi, w, N, Nq)
ρ=λ/(mµ)
Нет
k=∞
i
i >m
Да
m−1
P0 =
∑
k =0
Нет
m=k
1- ρ
P =
⋅ ρi
i 1 − ρ K +1
(mρ )k + (mρ )m ⋅ (
k!
m!
1
)
1− ρ
Да
i
i >m
 m ρi 
P0 = ∑ 
 i=0 i! 
−1
ρi
Pi = P0
i!
Нет
Pi = P0
i≤ m
mρ i
i!
Да
Pi = P0
m mρi
m!
i=i+1
i
i=i+1
i
K
N 0 = ∑ Pi ⋅ i
N=
i =0
ρ
1− ρ
u:=N/λ
W=(N-ρ)/λ
N q =λW
Возврат
Рисунок 2.2
2.8 Содержание отчета
1. Исходный текст программы.
2. Результаты работы программы (значения основных характеристик СМО, графики зависимостей).
3. Выводы по работе.
Пример
оформления
результатов
выполненной
лабораторной работы приведен ниже.
53
Результат работы программы приведен на рисунках 2.3 и
2.4.
Рисунок 2.3 – СМО М/М/1/∞ с одним каналом и
бесконечным буфером.
Рисунок 2.4 – СМО М/М/1/4 с буфером k=4.
54
Далее на рисунке 2.5 изображены графики зависимости
среднего времени ожидания от коэффициента загрузки
системы.
Рисунок 2.5 – Графики зависимости среднего времени
ожидания от коэффициента загрузки системы (для
заданного k и бесконечной очереди).
2.9 Задание на самостоятельную работу по разделу
«Сети массового обслуживания» №3
1. Написать головную программу MAIN SSMO расчета
характеристик сетевых моделей СМО с использованием
процедуры SMO.Входные параметры:
- r i j – элементы матрицы вероятностей переходов;
- N - число требований(количество заявок) в системе.
Кроме этого для каждого узла в сети задаются следующие параметры:
- γ - интенсивность поступления заявок от внешнего источника;
- µ - интенсивность обслуживания;
- m - число обслуживающих приборов(число каналов);
- k - размер буфера.
55
Выходные параметры (узловые):
- λ - интенсивность входного потока узла;
- ρ - коэффициент загрузки системы;
- W - среднее время ожидания заявки в узле;
- U - среднее время пребывания в узле;
- N q - длина очереди для узла;
- p 0 ,…, p k - вероятности состояний.
Выходные параметры (сетевые):
- W c - среднее время ожидания заявки в сети;
- N c - число требований (количество заявок) в сети;
- U c - среднее время пребывания заявки в сети;
c
- N q - общая длина очереди.
2. Варьируя интенсивность внешнего источника γ
выявить «узкие места» (наиболее загруженные узлы)
сетевой модели в предположении, что все узлы
представляют собой СМО с бесконечной очередью.
Построить графики среднего времени ожидания в сети от
интенсивности γ.
3. Один узел сетевой модели представить в виде СМО с
конечной очередью и потерями. Потерянные заявки
направить в другой узел, изменив исходную матрицу
вероятностей передач R . Построить графики зависимостей
среднего времени ожидания и вероятности потери заявок
от интенсивности γ.
2.10 Содержание отчета
Пример оформления результатов выполненной лабораторной работы приведен ниже.
1. Исходный текст программы.
2. Результаты работы программы (значения основных
характеристик СМО, графики зависимостей).
3. Выводы по работе.
56
В качестве примера рассмотрим открытую сеть
массового обслуживания, граф передачи заявок которой
представлен на рисунке 2.6.
Эта модель состоит из четырех узлов, причем в i-том
узле
находится
mi
показательных
обслуживающих
приборов, для каждого из которых среднее время
обслуживания равно 1/µ i секунд. Внешний пуассоновский
источник генерирует поток требований, поступающих в i-й
узел с интенсивностью γ i требований в секунду (штриховые
входящие линии на рис 2.6). После обслуживания в i-м узле
требование поступает в узел j с вероятностью r ij или
покидает
сеть
с
4
1 − ∑ rij
вероятностью
(штриховые
j =1
исходящие линии). Для приведенного примера вероятности
передач заявок заданы матрицей
S0
S1
S2
S3
S4
S 0  0 1/ 8 0 5 / 8 1/ 4 


S1 1/ 4 0 1/ 4 0 1/ 2 
R = S 2  1/ 3 1/ 3 0 1/ 3 0  ,


S3  0
1
0
0
0 
S 4 1/ 2 0
0 1/ 2 0 
а интенсивности внешнего источника γ=(1,0,5,2).
57
Рисунок 2.6 Пример открытой сети (у ребер указаны
значения r ij )
При расчете характеристик таких сетевых моделей
кроме узловых характеристик, важно знать и сетевые
характеристики. Для их определения вычисляют т.н.
коэффициенты передачи заявок
αi=λi/γ.
Тогда характеристики сети в целом определяются
следующим образом:
n
N = ∑ N qi −
c
q
среднее
число
заявок,
ожидающих
i =1
обслуживания в сети;
n
N = ∑ N i −среднее число заявок, пребывающих в сети;
c
i =1
n
W c = ∑ α iWi − среднее время ожидания заявки в сети;
i =1
n
U c = ∑ α iU i − среднее время пребывания заявки в сети;
i =1
где n – число узлов сетевой модели.
58
Укрупненная схема
характеристик сетевых
рисунке 2.7.
алгоритма программы расчета
моделей SSMO приведена на
Начало
Ввод исходных данных
N, mi, µi, ri,j, γi, ki
Формирование коэффициентов
системы
Декомпозиция сетевой модели
на отдельные узлы
i
i<N
Расчет характеристик
i-го узла
i=i+1
i
Расчет характеристик сети
Вывод узловых и сетевых
характеристик
Конец
Рисунок 2.7
Далее на рисунках 2.8-2.10 приведены примеры работы
программы.
59
Рисунок 2.8 - Выходные узловые характеристики
Рисунок 2.9 - Выходные сетевые характеристики
60
Рисунок 2.10 - График зависимости среднего времени
ожидания заявки в сети от интенсивности внешнего потока
61
3. МЕТОДИКА РАСЧЕТА СТОХАСТИЧЕСКИХ СЕТЕЙ НА ОСНОВЕ ДВУМЕРНОЙ ДИФФУЗИОННОЙ
АППРОКСИМАЦИИ СМО
3.1 Обобщенная двумерная диффузионная модель
систем массового обслуживания (СМО) типа GI/G/1/∞ с
бесконечной очередью и GI/G/1/m с конечной очередью
и потерями
Будем рассматривать двумерный диффузионный процесс (х 1 , х 2 ), где х 1 (t) аппроксимирует на периоде занятости число заявок N 1 (t), поступивших в СМО к моменту
времени t, а х 2 (t) − число заявок N 2 (t), покинувших СМО к
тому же времени. Так что текущее значение N−числа заявок, находящихся в СМО, определяется разностью целой
части от x 1 и целой части от х 2 : N=[x 1 ]−[х 2 ]. Рассмотрим
для процессов х i (i=1,2) в области N≥0моменты времени t
первого достижения ординатой процесса целочисленного
уровня k+1 при начальном условии х i (0)=k (приращение
∆xi =1 ). Из теории случайных процессов известно (см. /15/),
что плотность распределения вероятностей этого времени t
имеет вид
g i (t ) =
1
−
e
(1− ait )2
2 bi t
,
(3.1)
2 πbi t
где a i и b i соответственно коэффициенты сноса и диффузии
процессов x i (i=1, 2). C помощью табличного интеграла
β
− − γt
ν −1
t
3
ν
2
β
dt = 2  K ν 2 βγ ,
0
γ
где K ν (•)- функция Макдональда порядка ν , могут быть вы числены математическое ожидание и дисперсия распреде ления (3.1). Потребуем , чтобы компоненты двумерного
диффузионного процесса (х 1 , х 2 ) в моменты времени перво го прохождения целочисленного уровня имели средние
значения и дисперсии , совпадающие соответственно со
средними значениями и дисперсиями компонент дискрет ного процесса (N 1 , N 2 ). Тогда можно выразить коэффициен ты сноса ai = τ i−1 и bi = Di τ i−3 диффузии через среднее значе ∞
∫t
62
e
(
)
ние τi и дисперсию D i интервала времени между скачками
дискретного процесса N i . В этом смысле на уровне двух
первых моментов распределений процессы x i и N i будут согласованными в моменты поступления и ухода заявок /12,
13 /.
В области Ω, определенной условиями N≥0 и N max =m (m
– максимальное число заявок в СМО), плотность распределения w(t, x 1 , x 2 ) векторного диффузионного процесса (x 1 ,
x 2 ) удовлетворяет уравнению Колмогорова
∂w 2 bi ∂ 2 w
= ∑ ( ⋅ 2 − ai ∂w ) .
∂xi
∂t i =1 2 ∂xi
(3.2)
В случае СМО с бесконечной очередью (m→∞) граница
Г 2 и следовательно граничное условие отражения на этой
границе в постановке задачи отсутствуют.
Так как период занятости начинается с уровня x 1 =1, то
начальным условием для уравнения (3.2) будет w(0, x 1 ,
x 2 )=δ(x 1 -1)δ ( x 2 ), где δ(•) — дельта функция Дирака.
Рассматривая функционирование СМО только на периоде занятости, к уравнению (3.2) добавим граничное условие поглощения w =0 и граничное условие отражения
| Г1
на границе Г 2 – grad w
| Г2
= 0 . Граница Г 1 , определенная ус-
ловием [N]=0 имеет ступенчатый характер (рисунок 3.1) и
физически означает завершение периода занятости. Распределение ординаты процесса x 1 в момент достижения
границы Г 1 позволяет определить все основные характеристики функционирования СMO.
Рассмотрим вначале случай СМО GI/G/1/∞, т.е. сосредоточимся на поведении траектории 1 двумерного процесса
(x 1 , x 2 ) на периоде занятости (рисунок 3.1).
63
Рисунок
3.1Обобщенная двумерная диффузионная модель функционирования СМО:
траектория 1 – для СМО GI/G/1/∞;
траектория 2 – для СМО GI/G/1/m.
Вследствие сложного характера границы, решение
уравнения (3.2) в области Ω будем искать в виде совокупности решений в подобластях Ω k =(x 1 ≤k+1, x 2 ≤k) (k=1,2,...).
Обозначим через φ k (y 2 ) распределение ординаты процесса
x 2 в момент прохождения процессом (x 1 , x 2 ) границы x 1 =k+1
области Ω k и через ψ k (y 1 ) − распределение ординаты процесса x 1 в момент достижения границы x 2 =k той же области. Рассмотрим состояние СМО с момента поступления заявки в СМО (x 1 =k+1) до момента окончания периода занятости (x 2 =k) (рисунок 3.1). Тогда из-за марковского характера рассматриваемых процессов начальным условием для
решения уравнения (3.2) в областях Ω k будет распределение φ k -1 ( y′2 ) , известное на предшествующем шаге. Решим
теперь уравнение (3.2) и выведем рекуррентные формулы
для определения плотностей распределений ординаты процесса x 2 в момент прохождения процессом (x 1 , x 2 ) границы
x 1 =k+1 области Ω k -φ k (y 2 ) и ординаты процесса x 1 достижения границы x 2 =k той же области ψ k (y 1 ). Для этого рассмотрим величину φ k (y 2 )dy 2 , равную интегральному значению
компоненты вектора потока вероятностей /14/.
64
b1 ∂wk (t , x1 , x2 )
2
∂x1
через площадку dy 2 границы x 1 =k+1:
a1wk (t , x1 , x2 ) −

b ∂w 
φk ( y2 )dy2 = dy2 ∫  a1wk - 1 k 
2 ∂x1 
0 
∞
x1 = k +1
y2 = k − x2
⋅ dt .
Решение уравнения (3.2) в области Ω k , в которой
x 1 (0)=k, x 2 (0)= y 2′ −случайная величина с распределением
φ k − 1( y 2′ ) при нулевых граничных условиях может быть по лучено при помощи функции Грина
1
( x1 − k − a1t ) 2 ( x2 − y2′ − a2t ) 2
Qk (t , x1 , x2 | k , y′2 ) =
⋅ exp[−
−
]×
2b1t
2b2t
2 π b1b2 ⋅ t
2( x1 − k − 1) 2
2(kx2 − y′2 x2 + y′2 k − k 2 ) 2
× {1 − exp[
]} × {1 − exp[
]}.
b1t
b2t
Здесь два первых сомножителя представляют собой фунда ментальное решение уравнения (3.2) при дельтообразном
начальном распределении , а два последних сомножителя
выражают нулевые граничные условия при x 1 = k +1 и x 2 = k .
Решение w k будет выражаться через функцию Q k следую щим образом :
∞
wk (t, x1 , x2 ) = ∫ φ k-1 ( y 2′ )Qk (t, x1 , x 2|k, y 2′ ) dy ′2 .
0
Отсюда , учитывая выражение для Q k , приходим к ре куррентной формуле для определения φ k ( y 2 ) ( k =1,2,...):
∞
φ k ( y2 ) =
∫ φ k −1 ( y ′2 ) Q φ ( y 2
y 2′ ) d y 2′ (φ1 ( y 2 ) = Qφ ( y 2 | 0)),
(3.3)
0
где
Qφ ( y 2|y 2′ ) =
1
a a
⋅ exp[ 1 + 2 ( y ′2 − y 2 + 1)] ×
b1 b2
π b1b2
γ
γ
K 1 ( 2 β1 ⋅ γ ) −
K 1 (2 β 2 ⋅ γ )];
β1
β2
1
( y 2′ − y 2 + 1) 2
1 (y′2 + y2 + 1 )2
β1 =
+
; β2 =
+
;
2b1
2b2
2b1
2b2
×[
a12 a22
γ=
+
;
2b1 2b2
y2 ∈ [0, ∞);
K1 (•) - функция
Макдональда .
65
Аналогичные рассуждения приводят к следующему выражению для ψ k (y 1 ) (k=1,2,...) /12, 13/:
∞
ψ k ( y1 ) = ∫ φ k-1 ( y2′ )Qψ ( y1 /y ′2 )dy′2
(ψ1 ( y1 ) = Qψ ( y1|0)),
(3.4)
0
Qψ ( y1|y ′2 ) =
×[
1 + y2′
a
a
⋅ exp[ 1 (1 − y1 ) + 2 (1 + y′2 )] ×
b1
b2
π b1b2
γ
γ
K1 ( 2 β 3 ⋅ γ ) −
K1 (2 β 4 ⋅ γ )];
β3
β4
(1 + y1 ) 2 (1 + y′2 ) 2
(1 − y1 ) 2 (1 + y′2 ) 2
где β 3 =
+
; β4 =
+
; y1 ∈ [0, ∞).
2b1
2b2
2b1
2b2
Введем далее в рассмотрение случайную величину τ′λ –
остаточное время, в течение которого СМО ожидает поступления непосредственно следующей заявки (время простоя
СМО) и обозначим через τ′λ и Dλ′ - среднее и дисперсию остаточного времени τ′λ , а через p0′ – вероятность того, что
обслуженная заявка оставляет СМО пустой.
Как будет показано в п.3.2, через эти параметры можно
выразить среднее значение и дисперсию времени между заявками в выходном потоке из СМО.
Определим теперь параметры двумерного диффузионного приближения p0′ ,τ λ′ и Dλ′ , необходимые для вычисления
характеристик выходного потока из СМО. Плотность распределения вероятностей ψ ( y1 ) =
∞
∑ ψ k ( y1 )
ординаты процес-
k =1
са x 1 в момент достижения процессом ( x 1 , x 2 ) границы Г 1
позволяет определить остаточное время ожидания τ′λ (время простоя СМО). При известном значении y 1 (см. рисунок
3.1) ордината процесса x 1 должна получить приращение y 1
для того, чтобы процесс N 1 изменился на единицу, т.е. поступила заявка в пустую СМО. Условное распределение
времени достижения уровня y 1 , процессом ( x 1 , x 2 ) имеет
вид:
1
( y1 − a1t ) 2
g (t | y1 ) =
⋅ exp[−
]
3
b
t
2
2πb1 ⋅ t
1
с параметрами τ′λ ( y1 ) = τ λ y1 и Dλ′ ( y1 ) = Dλ y1 , где τ λ и Dλ соот66
ветственно среднее и дисперсия времени между
седними заявками во входном потоке.
∞
∞
0
0
со-
Пусть mψ = ∫ y1ψ( y1 )dy1 и Dψ = ∫ ( y1 − mψ ) 2 ψ( y1 )dy1 соответственно математическое ожидание и дисперсия распределения ψ(y 1 ). Тогда искомые параметры
τ′λ = τλ mψ ,
(3.5)
Dλ′ = Dλ mψ + τ λ2 Dψ
(3.6)
выражаются через известные параметры входного потока τ λ
и D λ -среднего и дисперсии времени между соседними заявками и распределения ψ(y 1 ). Обозначим через p k вероятность того, что за весь период занятости в СМО пришло
∞
ровно k заявок (k=1,2,...) pk = ∫ ψ k ( y1 )dy1 . Пусть за достаточ0
но большой интервал времени Т имело место m периодов
занятости. Из них в среднем за m i =m·p i (i=1,2,...) периодов
занятости через СМО прошло ровно i заявок. Тогда вероятность p0′ того, что обслуженная заявка оставляет СМО пустой может быть выражена через вероятности p k
1
m
.
(3.7)
p0′ = ∞
= ∞
∑ i ⋅ mi ∑ i ⋅ pi
i =1
i =1
Таким образом, все три неизвестных параметра двумерной диффузионной аппроксимации СМО определены.
Рассмотрим теперь поведение траектории 2 двумерного
диффузионного процесса (х 1 , х 2 ), что отражает функционирование СМО GI/G/1/m с ограниченной очередью и потерями. Граница Г 2 определена максимально допустимым количеством m заявок в СМО и имеет ступенчатый характер
(рисунок 3.1).
При достижении траекторией процесса (х 1 , х 2 ) границы
Г 2 , ордината процесса х 1 мгновенно должна сдвинуться
вниз на единицу, что будет означать потерю очередной
«лишней» заявки. Тогда видоизменятся рекуррентные формулы для вычисления стационарного распределения ординаты х 2 процесса (х 1 , х 2 ) φ k (y 2 ) по формуле (3.3), а
67
именно начиная с номера k=m-1, где m - максимально допустимое число заявок в СМО
φk ( y2 ), если 0 ≤ y2 ≤ m −1
φk ( y2 ) = 
φk ( y2 ) + φk +1( y′2 ), если m −1 ≤ y2 < ∞ и m ≤ y′2 < ∞ .
(3.8)
Другими словами, после вычисления распределения
φ k (y 2 ) по формулам (3.3), их нужно пересчитать по формуле
(3.8). Тогда по вероятностному смыслу распределений
φ k (y 2 ) на границе Г 2 , можно сразу определить вероятность
потери заявки
∞ ∞
pотк = ∑ ∫ φ k ( y2 )dy2 .
(3.9)
k =m m
Что же касается формул (3.5) – (3.7) для вычисления
параметров двумерной диффузионной аппроксимации
p0′ , τ′λ и Dλ′ , то они останутся такими же, изменятся только
величины m ψ и D ψ , входящие в них в силу пересчета распределений φ k (y 2 ) по (3.8) .
3.2. Обоснование уравнений баланса потоков сетевой
модели в случае однородного трафика
Пусть разомкнутая сеть одноканальных СМО с бесконечной очередью характеризуется матрицей вероятностей
передач Р ={p ij }, где p ij означает вероятность передачи заявки из i-ой СМО в j-ую (i,j=1,...,n). Для внешнего источника заявок задана совокупность значений средних τ 0i и
дисперсий D0i времени между заявками рекуррентного потока, входящего в i-ую СМО. Рассматривая стационарный
режим функционирования сети, на основе уравнений баланса интенсивностей λ i потоков на входе и выходе каждой
СМО сети / 12,13/ (рисунок 3.2) можно определить средние
значения интервалов времен между соседними заявками
τ i = λ i−1 для каждого потока в сети.
n
λ i = λ 0i + ∑ pij ⋅ λ j
j =1
68
(i=1,..., n; λ 0 i = τ 0−i1 )
(3.10)
1
λ1Ρ1i
λiΡi1
µ1
1
О
А
n
λnΡni
λi
λoi
λi
µm
B
λiΡin
nnn
Выход из
сети
Рисунок 3.2 - Структура I – й СМО сети
(А - узел композиции, В – узел декомпозиции )
Определим теперь дисперсии интервалов времени между
соседними заявками в выходных потоках для каждой СМО.
Для этого рассмотрим моменты времени t 1 , ухода очередной заявки из СМО и t 2 - ухода непосредственно следующей заявки. Величина ∆=t 2 -t 1 существенно зависит от состояния СМО в момент ухода очередной заявки. Если, в
момент времени t 1 CМО не окажется пустой, то ∆ будет
равна времени обслуживания τ µ непосредственно следующей заявки, если же в этот момент времени t 1 СМО остается пустой, то ∆ будет равна сумме времени обслуживания
τ µ и остаточного времени τ′λ , в течение которого СМО
"ожидает" поступления непосредственно следующей заявки
(время простоя СМО). Обозначив через p0′ - вероятность
того, что обслуженная заявка оставляет СМО пустой, а через τ′λ и D λ′ - среднее и дисперсию остаточного времени τ′λ ,
запишем выражения для ∆ и ∆ 2 :
– c вероятност ью 1 - р0′ ,
τ
∆= µ
 τ µ + τ′λ – c вероятност ью р0′ ,
 τ µ2
– c вероятност ью 1 - р0′ ,
∆ =
2
 (τ µ + τ′λ ) – c вероятност ью р0′ .
Переходя к математическому ожиданию, после преобразований получим
τвых = τµ + p0′ ⋅ τ′λ ,
(3.11)
2
Dвых = Dµ + p0′ Dλ′ + p0′ (1 − p0′ )(τ′λ ) ,
2
(3.12)
где τвых , τµ , Dвых , Dµ соответственно средние и дисперсии
69
времени
времени
поэтому
p 0 =1-ρ -
между заявками в выходном потоке из СМО и
обслуживания. В стационарном режиме τвых = τλ ,
p0′ и τ′λ связаны соотношением p0′ τ λ′ = p0 τ λ , где
вероятность отсутствия заявок в СМО, ρ = λ/µ ,
τλ = λ−1 . Тогда D вых будет зависеть только от двух параметров Dλ′ и p0′ или Dλ′ и τ′λ , определенных в п.2.1 через известные характеристики закона обслуживания и параметры
входного потока /12,13/. Дополним уравнение (3.12) следующими уравнениями преобразования дисперсии:
DΣ = (λ1 λΣ ) D1 + (λ2 λΣ ) D2
3
3
(3.13)
для суммы двух независимых потоков и
Dp =
D
q
+ 2 2
p p ⋅λ
(3.14)
для потока, в котором заявки с вероятностью p уходят из
потока (q=1-p). Выражение (3.13) можно получить следующим образом.
Пусть N(t) означает число событий за время t ( N =t/ τ ,
τ - среднее время между соседними событиями). Так как
DN = Dτ t/ τ 3 , то для суммы двух независимых потоков
N Σ (t)=N 1 (t)+N 2 (t)
можно записать 1/τ Σ = 1/τ1 + 1/τ 2
и
DτΣ = Dτ1 /τ13 + Dτ2 /τ 23 , откуда следует (3.13). Для потока, в котором заявки с вероятностью p уходят из потока (разреженный поток) выполняется τ p = τ/p , где τ p - средний интервал времени между соседними заявками в разреженном
потоке. Так как для разреженного потока Np = pN , а
DNp = p ⋅ DN + pqN , где N и D N - среднее и дисперсия потока
N соответственно, а q =1- p , то справедливо выражение
(3.14).
Используя формулы (3.13), (3.14) для суммы потоков на
между
входе i -ой СМО, дисперсию интервалов времени
соседними заявками в суммарном входном потоке, в условиях стационарного режима можно выразить через извест70
ные параметры сети и дисперсии D вых j , выходных потоков
j-й СМО сети (i, j=1,..., n ) (рисунок 3.2)
3
3
Dвхi
n λj 
λ 
=  0i  D0i + ∑   ⋅ p 2ji Dвыхj + 1 − p ji /p ji ⋅ λ 2j .
j =1 λ i 
 λi 
[
(
)
]
(3.15)
Подставляя в (3.15) выражение (3.12) дисперсий выходных потоков через параметры сети и входных потоков, получаем уравнения равновесия для дисперсий интервалов
времени между заявками в потоках на входе каждой СМО
сети аналогично уравнениям баланса интенсивностей
(3.10). Решение уравнений (3.10) и (3.15) будет осуществлять декомпозицию сетей на уровне двух первых моментов
распределений вероятностей, т.е. позволяет определить характеристики распределения интервалов времени между
заявками в потоках, циркулирующих в сети. Поскольку
уравнения (3.15) совместно с уравнениями (3.10) и (3.12)
не позволяют сразу получить значения дисперсий D вхi , то
предлагается построить следующую итерационную процедуру. В качестве первого приближения воспользуемся заменой p0′ = p0 , τ′λ = τλ , Dλ′ = Dλ в формуле (3.12), где p 0 =1-ρ,
τλ = λ−1 , а D λ - дисперсия величины τ λ . Такая замена в случае экспоненциальной сети не вносит погрешности. Тогда
уравнения (3.15) становятся линейными относительно искомых дисперсий:
n
D вх i = c i +
∑ c ji D вх j ,
(3.16)
i =1
где
3
3
n λj 
λ 
ci =  0i  D0i + ∑  ⋅ p2ji Dµi + p0 j 1− p0 j / ( p ji ⋅ λ2j ) + 1− p ji / ( p ji ⋅ λ2j ) ,
j=1 λi 
 λi 
{[
(
)
](
)
}
3
λj 
c ji =   ⋅ p 2ji ⋅ p0 j .
 λi 
Предлагаемая итерационная процедура будет состоять из
следующих шагов:
1) решением систем линейных алгебраических уравнений
(3.10) и (3.16) определяем средние τ λi и дисперсии D вхi ин71
тервалов времени между соседними заявками во входных
потоках для каждой СМО сети;
2) используя значения τ λi и D вх i применяем метод дву мерного диффузионного приближения , согласно формуле
(3.12) к каждой СМО сети , уточнив тем самым значения
D выхi ;
3) подставляем полученные значения D выхi в уравнения
(3.15) и повторяем шаг 2) в случае необходимости .
3.3. Модификация уравнений баланса потоков
случае наличия избыточных потоков
в
Рассмотрим теперь случай , когда сетевая модель вклю чает также узлы с конечной очередью и потерями ( рисунок
3.2).
Тогда в сетевой модели будут циркулировать также по токи отказов ( избыточные потоки ), вследствие чего в урав нениях баланса потоков (3.10) и (3.15) появятся дополни тельные слагаемые . Для этого необходимо определить ха рактеристики потока отказов аналогично характеристикам
выходного потока .
(τ вx , D вx )
0
(τ µ , D µ )
П
(τ вых , D вых )
(τ отк , D τотк )
Рисунок 3.2 - Структура обслуживающего прибора с ог раниченной ёмкостью накопителя и потерями
Интенсивность потока отказов может быть определена
по формуле
λ о тк =p о тк · λ вх ,
(3.17)
где p отк – вероятность потери заявки вычисляется из выра жения (3.9). Отсюда среднее время между заявками в пото ке отказов может быть определено по формуле
72
τ отк = 1/λ отк .
(3.18)
С другой стороны, на основании баланса интенсивности
потоков на входе и выходе узла следует
τ отк = τ вх τ вых / (τ вых − τ вх ) .
(3.19)
Этот факт может быть учтен для контроля вычислений.
Для определения дисперсии D τо тк времени между соседними заявками в потоке отказов, воспользуемся результатами,
полученными при выводе формулы (3.14). Тогда
1-p
1
Dτ отк =
Dвх + 2 отк 2 ,
(3.20)
pотк
pотк ⋅ λ вх
где λ вх – интенсивность входного потока (λ вх = τ вх ), а D вх –
дисперсия времени между заявками во входном потоке.
Сказанное выше позволяет записать уравнения баланса
потоков, циркулирующих в стохастической сети на уровне
средних значений и дисперсий времени между заявками в
потоках:
−1
λ i вх = τ o−i1 +
n
∑
p ji λ
n
j вых
j =1
Di вх
 τ o−i1
=
 λ i вх

3
n λ

 Doi + ∑  j вых

j =1 

 λ i вх
3
+
∑ q ji λ
j отк
,
(3.21)
j =1
3
(
)
 2
1 − p ji 
 p ji  D j вых +
+
2

p
⋅
λ


ji
j
вых


(
)

 λ j отк 
1 − q ji 
2


+ ∑
q ji  D j отк +
 ,
(3.22)
2

λ
j = 1
q
λ


i
вх
ji
j отк 



где τ 0i и D 0 i – среднее и дисперсия времени между заявками
в потоке, идущем от внешнего источника на вход i –го узла, λ – интенсивность соответствующего потока (входного,
выходного и потока отказов), D – дисперсия времени между соседними заявками соответствующего потока, р ji – вероятность передачи заявки от j –го узла к i – му, q ji – вероятность передачи заявок из потока отказов от j – го узла к i
– му, а n – количество узлов в сетевой модели.
Тогда уравнения баланса потоков (3.10) и (3.15) будут
частными случаями уравнений (3.21) и (3.22) соответственно в случае отсутствия в сетевой модели узлов с конечной очередью и потерями.
Итерационная процедура декомпозиции такой сетевой
n
73
модели от предыдущей отличается следующим образом. На
первом шаге все узлы сетевой модели будем считать СМО
с бесконечной очередью и выполняем шаг 1) предыдущей
процедуры. На втором шаге плюс ко всему, используя формулы (3.17) – (3.20) находим характеристики τотк и D τ отк потока отказов. На третьем шаге с помощью формул (3.21) и
(3.22) уточняем λ iвх и D iвх и повторяем шаг 2) в случае необходимости.
3.4 Модификация уравнений баланса потоков в случае неоднородного трафика
Рассмотрим бесприоритетную дисциплину обслуживания FCFS (первым пришел - первым обслужился). Под неоднородностью трафика будем подразумевать многомерность потока заявок и различие маршрутов движения для
каждого типа заявок. Пусть от внешнего источника S 0 в
сеть (на вход i-ой СМО) поступает многомерный поток
(m )
заявок с интенсивностями λ0(mi ) и дисперсиями D0 i для каждого типа заявок m ( m =1 ,..., M ; i =1 ,..., n ). Вначале рассмотрим случай, когда сетевая модель системы характеризуется одной общей матрицей вероятностей передач заявок
для всех типов P ={ P ij } ( i , j =1, …, n ). Составим уравнения
баланса интенсивностей потоков заявок для каждого типа
m на входе и выходе каждой СМО сети, аналогично (3.10)
(m )
λi
n
= λ0i + ∑ p ji λ (j m ) .
(m )
(3.23)
j =1
Решением систем линейных алгебраических уравнений
(3.23) можно определить интенсивности потоков типа m на
входе и выходе каждой СМО сети λ i( m ) . Так как коэффициент загрузки системы S i потоком типа m будет составлять
ρ i( m ) = λ i( m ) /µ i( m ) , где µ i(m ) − интенсивность обслуживания заявки типа m в системе S i , то суммарная загрузка системы S i
M
со стороны всех потоков будет ρ iΣ = ∑ ρ i( m ) . Тогда условие
m =1
существования стационарного режима представится в виде
ρ iΣ < 1 ( i =1, …, n ) и коэффициент простоя системы
74
S i q i = 1 − ρ iΣ .
Параметры потоков заявок из множества заявок типа m
усредним с целью приведения неоднородного потока к однородному. Эти параметры будут описывать так называемую «обобщенную» заявку. При этом должно соблюдаться
условие, чтобы однородный поток заявок на обслуживание
обобщенной заявки создавал такую же нагрузку на каждую
СМО сети, как и неоднородный поток. Поэтому параметры
потока обобщенных заявок определим посредством усреднения параметров потока типа m по интенсивностям поступления λi( m ) . Тогда интенсивность поступления потока
обобщенных заявок на вход i-ой СМО
M
λ iоб = ∑ λ i( m ) ,
(3.24)
m =1
а среднее время обслуживания обобщенной заявки
τ
об
µi
M
=
∑ (λ (i m ) /µ i(m ) )/λ iоб
,
(3.25)
m =1
где µ i( m ) = 1/τµ( mi ) (i=1, …, n).
Используя выражения (3.24) и (3.25) получим, что коэффициент загрузки i-ой СМО потоком обобщенных заявок
ρ iоб составит
ρ iоб = λ iоб ⋅ τ µобi =
∑ λ i(m ) / µ i(m ) = ρ iΣ .
Следовательно , однородный поток обобщенных заявок
создает ту же нагрузку , что и неоднородный поток .
В силу такого определения однородного потока обоб щенных заявок можно записать уравнения баланса интен сивностей однородного потока и дисперсии времени между
соседними обобщенными заявками на входе и выходе каж дой СМО сети аналогично (3.10) и (3.15)
n
λ = λ + ∑ p ji ⋅ λ обj ,
об
i
об
i
(3.26)
j =1
где λ
об
0i
M
=
∑ λ 0(mi ) .
Очевидно , что решение системы (3.26) сов -
m =1
падает с решением (3.24). Аналогично уравнения равнове сия для дисперсии будут иметь вид
75
3
3
об
Dвх
об
 об
n  λj 
 λ0обi  об
1 − p ji 
2




=  об  D0i + ∑ об p ji  Dвыхj +
,
2


⋅
λ
λ
p
λ
m
=
1


 i 
ji
j 
 i 

(3.27)
3
 λ0(mi )  (m )
где D = ∑  об  D0i . В выражении (3.27) значения выход λ 0i 
об
ных дисперсий Dвых
j будут определяться согласно (3.12) по
методу двумерной диффузионной аппроксимации с одной
лишь разницей, что дисперсия времени обслуживания
обобщенной заявки будет равна
(m )
(m )
n 

(m ) λ i
(m )
об
об 2 λ i
(
)
Dµi = ∑  Dµi
τ
τ
,
+
−
µ
i
µ
i
об
об 
λ
λ
j =1 
i
i 
об
0i
где τµ( mi ) и Dµ(im ) - среднее и дисперсия времени обслуживания
заявки типа m в i-ой СМО. Тогда итерационная процедура
расчета сети с неоднородным потоком заявок будет такая
же, что и для однородного потока, описанной в разделе 3.2.
В том случае, когда маршруты движения в сети для заявок
из разных потоков различны и описываются матрицами вероятностей передач P (m ) = { pij(m )} , в формуле (3.23) вместо
(m )
значений p ji нужно брать p ji , а в формулах (3.26) и (3.27)
(m )
M
(m ) λ j
об
вместо p ji - значения p ij = ∑ p ij
обобщенной матрицы
λ об
m =1
j
вероятностей передач, что следует из условия нормировки
в матрице вероятностей передач для потока обобщенных
заявок.
76
4. ОПРЕДЕЛЕНИЕ ОСНОВНЫХ ПОКАЗАТЕЛЕЙ
ПРОИЗВОДИТЕЛЬНОСТИ СЕТЕВЫХ МОДЕЛЕЙ
4.1. Определение узловых и сетевых характеристик в
случае однородного трафика
Определим вначале характеристики отдельной СМО сети. Из соотношения (3.7) следует, что величина 1/ p0′ выражает среднее количество заявок, прошедших через СМО за
период занятости. Тогда средняя длина периода занятости
Y в СМО может быть определена через параметр p0′
∞ i ⋅m
i
Y = τµ ∑
= τ µ / p 0′ ,
(4.1)
m
i =1
где τµ - среднее время обслуживания заявки в СМО. Из соотношения (3.5) следует, что средняя длина периода простоя I
I = p 0 τ λ /p 0′ ,
(4.2)
где p0′ =1- ρ , а τ λ - среднее интервалов времени между соседними заявками во входном потоке.
Среднее время ожидания, как известно из /5/, может
быть выражено через первые два начальных момента распределения случайной величины I-периода простоя
Dλ + Dµ + τ λ2 (1 − ρ)2 I 2
W =
−
,
(4.3)
2τλ (1 − ρ)
2I
где Dµ - дисперсия времени обслуживания.
Определим математическое ожидание квадрата случайной величины I . Для этого заметим, что I = τ′λ , откуда учитывая (3.6), получим
I 2 = D λ m ψ + τ λ2 m 2ψ
(4.4)
Подставляя (3.1.4) в (3.1.3), окончательно получим
D λ + D µ + p 02 τ λ2 − p 0 D λ − p 0′ τ λ2 m 2 ψ
W =
.
(4.5)
2 p0 τ λ
Среднюю длину очереди можно определить по формуле
Литлла
(4.6)
N q = λW ,
77
а среднее количество заявок N в СМО - по формуле
(4.7)
N = λ(W + τ µ ) = λ U .
Зная характеристики отдельных узлов сети, нетрудно
рассчитать характеристики всей сети в целом. Для этого
через αi = λ i /λ 0 ( i =1 ,..., n ) обозначим коэффициенты передач заявок, где λ 0 - интенсивность внешнего источника заявок, а значения интенсивностей λ i получаются решением
системы линейных уравнений (3.10). Тогда среднее время
ожидания заявки в сети
n
Wc =
∑ α iW i ,
(4.8)
i =1
а среднее время пребывания заявки в сети
n
U c = ∑ αiU i ,
(4.9)
i =1
где Wi и U i - соответственно средние времена ожидания и
пребывания заявок в i -ой СМО ( i =1, ..., n ).
Общая длина всех очередей в сети
n
N = ∑ N qi ,
c
q
(4.10)
i =1
а общее количество заявок в сети
Nc =
n
∑ Ni .
(4.11)
i =1
4.2 Определение характеристик сетевой модели в
случае неоднородного трафика
В связи с тем, что анализ сетевой модели в случае неоднородного трафика введением «обобщенной» заявки сводится к анализу сетевой модели с однородным трафиком,
то и характеристики однородного потока обобщенных заявок и каждого типа потока в отдельности определяются согласно формулам раздела 4.1 с использованием соотношений раздела 3.4. Так как дисциплина обслуживания в модели в порядке поступления, то времена ожидания Wi ( i =1,
..., n ) в узлах для всех типов потоков одинаковы. Коэффициенты загрузки каждой СМО сети
об об
ρ i = λ i ⋅ τ µi .
(4.12)
78
Средняя длина очередей перед каждой СМО
N qi = λ iоб ⋅Wi ,
(4.13)
а среднее количество заявок в i-ой СМО
об
(4.14)
N i = λ iоб ⋅ (Wi + τ µобi ) = λ iоб ⋅U i .
Для определения характеристик каждого потока для iой СМО можно записать следующие формулы.
Среднее время пребывания для заявки типа m
(m )
U i = (Wi + τ µ(mi ) ) .
(4.15)
Средняя длина очереди перед i-ой СМО для заявок потока m
N qi( m ) = λ i( m ) ⋅ Wi ( m ) ,
(4.16)
а среднее количество заявок типа m в i-ой СМО
N i( m ) = λ i(m ) ⋅ U i ( m ) .
(4.17)
Для определения сетевых характеристик каждого потока будем использовать характеристики отдельных систем
сети. Среднее число заявок типа m, ожидающих в очереди в
сети
n
N q = ∑ N qi(m ) ,
(m )
(4.18)
i =1
а среднее количество заявок типа m в сети
n
N (m ) = ∑ N i( m ) .
(4.19)
i =1
Среднее время ожидания заявки типа m в очереди в сети
Wc
(m )
n
= ∑ α i( m ) ⋅ Wi ,
(4.20)
i =1
а среднее время пребывания заявки типа m в сети
n
U c( m ) = ∑ α i( m ) ⋅ U i( m ) ,
(4.21)
i =1
(m )
(m )
(m )
где αi = λi /λ0
коэффициенты передач заявок типа m
( λ0( m ) - интенсивность потока заявок типа m от внешнего
источника).
4.3 Алгоритм расчета характеристик СМО GI/G/1/∞
Входными параметрами для процедуры VNGG1 расчета
характеристик СМО данного типа являются коэффициенты
79
сноса a i и диффузии b i диффузионных процессов x i (i=1,2)
из п.3.1. Тогда a1 = τ λ−1 , b1 = Dλ τ λ−3 , a2 = τµ−1 , b2 = Dµ τ µ−3 , где
τ λ , Dλ , - соответственно среднее и дисперсия времени меж ду заявками во входном потоке , а τ µ , Dµ - среднее и диспер сия времени обслуживания .
Укрупненный алгоритм расчета по данной процедуре
состоит из следующих шагов .
Начальный этап. Задание значений параметров диффу зионных процессов a 1 , b 1 , a 2 , b 2 , узлов и коэффициентов
квадратурной формулы Гаусса U i и C i ( i = 1, 15 ) для числен ного интегрирования выражений (3.3) и (3.4.).
Основной этап. Шаг 1. Вычисление распределения
φ 1 (у 2 )– ординаты процесса х 2 и ψ 1 (у 1 ) - ординаты процесса
х 1 по формулам (3.3) и (3.4) и вычисление вероятности р 1
того , что за весь период занятости через СМО прошла ров но 1 заявка и вероятности q 1 , того , что на периоде занято сти в СМО поступила 1 заявка . Если р 1 >0.999, то макси мальное количество заявок kk =1, р 1 =1, q 1 =0 ( низкий коэф фициент загрузки ) и переходим к шагу 4.
Шаг 2. Вычисление распределений φ к (у 2 ) - ординаты
процесса х 2 и ψ к (у 1 ) – ординаты процесса х 1 выражений
(3.3) и (3.4) ( k= 2,…), у 1 , у 2 ∈ [0, ∞ ).
Шаг 3. Определение вероятностей p k того , что за весь
период занятости через СМО прошло ровно k заявок
( k =2,3,…) и вероятностей q k того , что на периоде занятости
∞
∞
0
0
в СМО поступило k заявок - pk = ∫ ψ k ( y1 )dy1 , qk = ∫
k
( y2 )dy2 .
Определение максимального индекса k – kk , когда вычис ление этих вероятностей можно прекратить ( p kk < ε ).
Шаг 4. Вычисление математического ожидания m ψ и
∞
дисперсии D ψ распределения ψ( y1 ) = ∑ ψ k ( y1 ) .
k =1
Шаг 5. Определение параметров двумерной диффузион ной аппроксимации p0′ , τ′λ и Dλ′ по формулам (3.5) – (3.7),
необходимых для вычисления параметров выходного пото ка из СМО , а также для характеристик ее функционирова ния .
80
Шаг 6. Вычисление параметров выходного потока –
среднего значения τвых и дисперсии D вых времени между заявками по формулам (3.11) и (3.12).
Шаг 7. Вычисление основных характеристик функционирования СМО как средних значений функционалов по
формулам (4.1) – (4.7).
Шаг 8. Конец вычислений.
Выходными параметрами процедуры являются средние
значения:
- периода занятости Y ;
- периода простоя I ;
- времени ожидания W ;
- длины очереди N q ;
- количество заявок N ;
- времени между заявками в выходном потоке τвых ;
- дисперсия этого времени D вы х ;
- вероятности q k (k=1,…,kk).
Ниже на рисунках 4.1 – 4.6 приводится укрупненная
схема алгоритма процедуры VNGG1.
81
X = (U[I] + 1.0) ∗ X1/2.0
Z = (1.0 + X2)/2.0 + (X2 - 1.0) ∗ U[I]/2.0
Q1 = Q1 + FI[1, I] ∗ C[I]
P1 = P1 + PSI[1, I] ∗ C[I]
Рисунок 4.1
82
X = (X1 + (J - 1)) ∗ (1.0 + U[K])/2.0
Z = (1.0 + X2)/2.0 + (X2 - 1.0) ∗ U[K]/2.0
Y = (X1 + (J − 2)) ∗ (1.0 + U[I])/2.0
Рисунок 4.2
83
ALX = QXY(A1,B1,A2,B2,X,Y,) ∗ C[I]
ALU = QUV(A1,B1, A2, B2, Z, Y, ) ∗ C[I]
SUM1 = SUM1 ∗ ALP ∗ ALX
SUM2 = SUM2 ∗ ALP ∗ ALU
FI[J, K] = SUM1 ∗ (X1 + (J − 2))/2.0
PSI[J, K] = SUM2 ∗ (X1 + (J − 2))/2.0
Q1 = Q1 + FI[J, K] ∗ C[K]
P1 = P1 + PSI[J, K] ∗ C[K]
Q[J] = Q1 ∗ (X1 + (J − 1))/2.0
P[J] = P1 ∗ (1.0 − X 2 )/2.0
Рисунок 4.3
84
S1 = S1 + SUM1 ∗ C[K]
SK = S1 ∗ (1.0 − X2)/2.0
Z = (U[K] + 1.0) ∗ (1.0 − X2)/2.0
Рисунок 4.4
85
S1 = S1 + Z ∗ S[K] ∗ C[K]
EX = S1 ∗ (1.0 − X2)/2.0
Z = (U[K] + 1.0) ∗ (1.0 − X2)/2.0
2
S2 = S2 + S[K] ∗ (Z − EX) ∗ C[K]
DX = S2 ∗ (1.0 - X2)/2.0
τ λ′
Dλ′
3
SUM = SUM + P[I] ∗ I
Рисунок 4.5
86
2
DL = EX ∗ B1/(A1 ) + DX/(A2 )
P0′
τ вых
PO = 1.0/(SUM + KK ∗ Q[KK] + SR)
ET = 1.0/A2 + PO ∗ TL
Y
I
3
2
WT = W1 − ((1.0 − RO) ∗ B1/A1 + PR1/A1 )
/(2 ∗ (1.0 - RO)/A1)
SO = A1 ∗ W1 + RO
Рисунок 4.6
Примечание. Функции QXY и QUV, используемые в
данном алгоритме, реализуют вычисление значений переходных функций Q φ и Q ψ в выражениях (3.3) и (3.4) соответственно.
4.4 Модификация алгоритма в случае СМО GI/G/1/m
с конечной очередью и потерями
При декомпозиции сетевой модели на отдельные узлы
на первом этапе итерационного процесса рассчитываются
как СМО типа GI/G/1/∞ с использованием процедуры
VNGG1. Среди выходных параметров этой процедуры рассчитываются вероятности q k (k=1, kk ) того, что на периоде
занятости в СМО поступило k заявок и kk – значение максимального индекса k, которые на следующем этапе расчета узла как СМО типа GI/G/1/m будут входными параметрами для процедуры VNGGМ.
87
Кроме этих двух параметров, входными параметрами
для процедуры VNGGМ являются те же параметры a 1 , b 1 ,
a 2 , b 2 диффузионных процессов х 1 и х 2 , что и для процедуры VNGG1, и параметр m - максимально допустимое количество заявок в СМО.
Алгоритм расчета по данной процедуре VNGGМ состоит из следующих шагов.
Начальный этап. Задание параметров a 1 , b 1 , a 2 , b 2 , m,
kk, q k (k= 1, kk ).
Основной этап. Шаг 1. Определение вероятности потери заявки Р о тк по формуле (3.9).
Шаг 2. Определение интенсивности потока отказов λ о тк
по формуле (3.17) и контроль вычислений по формулам
(3.18) и (3.18).
Шаг 3. Определение дисперсии Dτотк времени между заявками в потоке отказов по формуле (3.20).
Шаг 4. Перерасчет параметров входного потока в СМО
по формулам λнвх = λвх − λотк и
Dвхн =
1
1 − Ротк


Ротк
D
+
 вх (1 − Р ) ⋅ λ 2 

отк
вх 
и, следовательно перерасчет входных параметров a 1 и b 1 .
Шаг 5. Конец вычислений.
Выходными параметрами процедуры VNGGМ являются
Pотк , λотк , Dτотк , А0 и В0 – пересчитанные параметры диффузионного процесса х 1 .
Далее в основной программе анализируется вероятность
потери заявки Р о тк . Если Р отк ≠0, то переопределяются
А1=А0 и В1=В0 и выполняется обращение к процедуре
VNGG1 для вычисления всех характеристик СМО с разреженным входным потоком.
Ниже на рисунке 4.7 приводится укрупненная схема алгоритма процедуры VNGGM.
88
VNGGM
I1 = MBUF
POT1 = Q[I1]
S2 = 0
I=I1
A
I>KK
S1[I] = Q[I]/I1
Вычисление
вероятности потери
заявки Pотк по формуле
(3.9)
S2 = S2 + S1[I]
A
I>KK
POT2 = S2
POT = (POT1 + POT2)/2
+
MBUF ≤ 2
—
POT = POT1
POT < 10-7
+
—
Вычисление интенсивности
потока отказов λотк по формуле
Вычисление дисперсии Dτотк
времени между заявками в потоке
отказов по формуле (3.20)
ELOT = POT * A1
POT = 0
DOT = (B1/A13 + (1+POT)/
/(POT* A1* *A1))/POT
ELOT = 0
A0 = A1 - ELOT
DOT = 0
B0 = (B1/A13) + POT/((1 - POT)
* A12)/(1 – POT) * A13
возврат
Рисунок 4.7 – Укрупненная схема алгоритма
процедуры VNGGM
89
5. ИНТЕРАКТИВНАЯ СИСТЕМА ВЕРОЯТНОСТНОГО
МОДЕЛИРОВАНИЯ
ВЫЧИСЛИТЕЛЬНЫХ
СИСТЕМ PROBMOD
5.1 Структура программной системы
Программная система PROBMOD написана на алгоритмическом языке Turbo Pascal 7.0 с использованием среды программирования Delphi 6.0. Загрузочный модуль
VERMOD.EXE имеет размер 4840 Кбайт.
Программная система легко расширяется и модифицируется. Она имеет удобный графический пользовательский
интерфейс. Все кнопки на панели инструментов снабжаются комментариями о назначении при наведении на них курсора мыши. Система состоит из четырнадцати модулей.
Unit main, uTypeNet, unit2, unit3, unit4, unit5 uResGGM
- модули организации интерфейса системы.
Unit mytypes – модуль описания используемых типов
данных системы.
Unit U_Simg – модуль решения системы линейных алгебраических уравнений методом Гаусса с выбором ведущего элемента.
Unit LoadSave – модуль работы с файлами.
Unit uGG1 – модуль для расчета характеристик СМО
типа GI/G/1/∞.
Unit uOdnNet, nUnit1 – модули для организации вычислений характеристик сети с однородным трафиком.
UnituNeOdnNet – модуль организации вычислений характеристик сети с неоднородным трафиком.
Алгоритм работы системы
1.Выбор типа трафика или выход из системы.
1 – ВС с однородным трафиком;
2 – расчет узла;
3 – ВС с неоднородным трафиком;
4 – выход из системы.
Если выбор 1, то
а) Ввод исходных данных: n – количество узлов;
Р – матрица вероятностей передач заявок от j –го узла к i
- му; λ 0 – интенсивность входного потока для узлов; c λо –
90
коэффициенты вариации входного потока заявок для узлов;
ν – вектор быстродействия узлов; τ – вектор трудоемкости
обработки заявок узлами; c µ – коэффициенты вариации
времени обработки заявок узлами; NBUF – вектор номеров
узлов с ограниченной емкостью; MBUF – соответствующий
размер буферов.
б) Решение систем уравнений (3.21),(3.22) совместно с
(3.11) и (3.12) методом последовательных приближений. В
качестве первого приближения в уравнениях (3.11) и (3.12)
используется замена p0′ = p0 , τ′λ = τλ , Dλ′ = Dλ ,а все узлы с бесконечной очередью. Это приближение в случае экспоненциальной сети не вносит погрешности, а уравнения (3.22)
становятся линейными относительно искомых дисперсий.
в) Проведение последующих приближений для уточнения λ iвх , D iвх с заданной точностью методом двумерной
диффузионной аппроксимации по формулам (3.12), (3.19)–
(3.22).
г) Определение характеристик узлов по формулам
(4.1),(4.2),(4.5) – (4.7),(3.17).
д) Расчет характеристик узлов с ограниченной емкостью
и анализ p отк . Если p отк ≠0, то переопределение А1=А0 и
В1=В0 и переход к пункту г), для вычисления характеристик узлов с разреженным входным потоком.
е) Определение сетевых характеристик по формулам
(4.8)–(4.11).
ж) Вывод результатов.
з) Переход к п.1 в случае необходимости варьирования
параметров или выхода из системы.
Ели выбор 2, то
а) Ввод исходных данных узла λ 0 , c λ0 , V, τ, c µ , MBUF.
б) Расчет характеристик узла типа GI/G/1/∞ с неограниченной емкостью.
в) Расчет характеристик узла типа GI/G/1/m с ограниченной
емкостью.
г) Переход к п.1 в случае необходимости варьирования параметров или выхода из системы.
Если выбор 3, то алгоритм с одномерным трафиком
модифицируется следующим образом:
а) Ввод данных: вводятся параметры М – количество
91
классов трафика и для каждого класса вводятся вышеперечисленные параметры p m , λ om , C λmo , τ m , Cµm . В частных случаях
матрицы вероятностей передач Р m могут не зависеть от
классов заявок.
б) Решение системы уравнений (3.21) для всех классов
трафика l =1,…, М .
в) Приведение неоднородного трафика к однородному по
формулам (3.24)– (3.27).
Далее пункты б) – з) алгоритма расчета ВС с однородным
трафиком по порядку.
На рисунке 5.1 приведена укрупненная схема работы
программной системы.
Основные процедуры и функции расчета узловых и сетевых характеристик.
Процедура VNGG1 предназначена для расчета характеристик СМО типа GI / G /1/∞.
PROCEDURE VNGG1 (A1, B1, A2, B2: double; Var R0,
Tps, Tis, Wt, S0, Dt1: double; Var kk:integer: Var
Q:ТDinVec);
Таблица 5.1 - Спецификация входных параметров процедуры VNGG1
Имя
№
Назначение
Тип
параметра
1
А1
double
Коэффициент сноса a1 = τ −λ 1
Коэффициент диффузии
2
В1
double
процесса х 1
Коэффициент сноса a2 = τ µ−1
3
А2
double
Коэффициент диффузии
4
В2
double
процесса х 2
92
Начало
Конец
TIP
Выбор типа трафика
1
2
n, Р, λ0, Cλ0 V,
τ, Cµ, NBUF,
MBUF
1 – BC с однородным трафиком
2 - расчёт узла
3 – BC с неоднородным
4 - выход
3
4
λ0, Cλ0 ,V, τ, Cµ
MBUF
N, M, Pm, λ,
C, V, C
Декомпозиция сети
Расчёт
характеристик
узла с не ограниченной
ёмкостью
Сведение неоднородного
трафика к однородному
Расчёт узловых
характеристик
ρ W, U, Nq, N,
Q, K
I=1
ρ W, U, Nq,
N, Q ,K
Расчёт характеристик
узла с учетом буфера
T
I >M
J=1
ρ, W, U, Nq, N, Pотк,
λотк, D отк, A0, B0
Декомпозиция сети по
классам трафика
B
J>KB
Расчёт узловых х-к
по классам трафика
Расчёт характеристик
узла
с ограниченной ёмкостью
ρ[I], W[I], U[I], Nq[I],
N[I], Q[I,J], KK[I]
Pотк ≠0
Расчёт характеристик
узла
с ограниченной ёмкостью
по классам трафика
C
ρ, W, U, Nq, N, Pотк,
λотк, D отк, A0, B0
+
A1=A0
B1=B0
ρ, W, U, Nq, N, Pотк,
λотк, D отк, A0, B0
J=J+1
B
Расчёт сетевых х-к
по классам трафика
Расчёт сетевых
характеристик
СW[I], U[I],
Nq[I], N[I]
CW, CU, CN, CNq
I=I+1
T
Расчёт сетевых
характеристик
CW, CU, CN, CNq
A
Рисунок 5.1 - Укрупнённая схема работы программной системы
93
Таблица 5.2 - Спецификация выходных параметров процедуры VNGG1.
Имя
№
Назначение
Тип
параметра
1
R0
Коэффициент загрузки
double
2
Tps
Средний период занятости
double
3
Tis
Средний период простоя
double
4
Wt
Среднее время ожидания
double
5
S0
Средняя длина очереди
double
Среднее значение дисперсии вре6
Dt1
мени между заявками в выходном double
потоке
7
kk
Максимальный индекс
integer
Вероятности того, что на периоде
8 Qk(k=1,…, kk)
TDinVec
занятости поступило k заявок
Процедура VNGGМ предназначена для расчета характеристик СМО типа GI/G/1/m с конечной очередью и потерями.
PROCEDURE VNGGM(A1, B1, A2, B2: double; Var
Q:TDinVec; kk:integer; MBUF:byte; Var POT, ELOT, DOT,
A0, B0: double);
Таблица 5.3 - Спецификация входных параметров процедуры VNGGM
Имя
№
Назначение
Тип
параметра
1
А1
double
Коэффициент сноса a1 = τ −λ 1
2
В1
Коэффициент диффузии процесса х1 double
Коэффициент сноса a2 = τµ−1
3
А2
double
Коэффициент диффузии процес4
В2
double
са х 2
Вероятности того, что на периоде за5 Qk(k=1,.., kk)
TDinVec
нятости в СМО поступило k заявок
6
kk
Максимальный индекс
integer
Максимально допустимое коли7
MBUF
byte
чество заявок (объем буфера)
94
Таблица 5.4 - Спецификация выходных параметров
дуры VNGGM
Имя
№
Назначение
параметра
1
POT
Вероятность потери заявки
2
ELOT
Интенсивность потока отказов
Дисперсия времени между заявка3
DOT
ми в потоке отказов
Пересчитанный для разреженного
4
A0
потока коэффициент сноса
Пересчитанный коэффициент диф5
B0
фузии
процеТип
double
double
double
double
double
Процедура TAR1 вычисляет значение функции Макдональда K 1 (·) в формулах (3.3) и (3.4).
PROCEDURE TAR1 (x: double; Var Bk:double);
Таблица 5.5 - Спецификация входных параметров процедуры TAR1
Имя
№
Назначение
Тип
параметра
1
х
Аргумент функции
double
Таблица 5.6 - Спецификация выходных параметров процедуры TAR1
Имя
№
Назначение
Тип
параметра
1
Bk
Значение функции Макдональда
double
Функция QXY вычисляет значение переходной функции
Q φ в формуле (3.3)
FUNCTION QXY(A1, B1, A2, B2, X, Y:double): double;
Входные параметры A1, B1, A2, B2 описаны в таблице
5.1
95
Таблица 5.7 - Спецификация входных параметров функции QXY
Имя
Назначение
Тип
№ параметра
1
X
Аргумент функции φ k -1 double
2
Y
Аргумент функции φ k
double
Функция QUV вычисляет значение переходной функции
Q ψ в формуле (3.4).
FUNCTION QUV (A1, B1, A2, B2, U, V:double): double ;
Входные параметры A1, B1, A2, B2 описаны в таблице
5.1.
Таблица 5.8 - Спецификация входных параметров
функции QUV
Имя
Назначение
Тип
№
параметра
1
U
Аргумент функции ψ k
double
2
V
Аргумент функции φ k -1
double
5.2 Функциональные возможности системы.
Интерактивная система вероятностного моделирования
компьютерных сетей на основе метода обобщенной двумерной диффузионной аппроксимации позволяет проводить
анализ и проектировать компьютерные сети, учитывая ограничения на ресурсы, неоднородность трафика сети и
произвольный закон поступления и обслуживания заявок.
Система может использоваться, когда в процессе проектирования сети отсутствует подробная информация о законах распределения вероятностей параметров потоков, а
имеются данные лишь о средних значениях и дисперсиях
этих распределений. Она решает следующие задачи:
- расчет характеристик качества функционирования различных компонент компьютерных сетей, включая оценку
вероятностно-временных характеристик узлов коммутации
и маршрутизации;
- анализ производительности сетей;
- анализ буферной памяти узлов;
96
- определение потоков отказов и загрузки линий связи
при передаче данных.
Входные данные:
- матрица вероятностей перехода заявок {p ij };
- λ 0 i – интенсивность входного потока в i-й узел;
- c λ 0 – коэффициент вариации входного потока заявок в
i-й узел;
- V i – быстродействие i-ого узла;
- τ i – трудоёмкость обработки заявки i-м узлом;
- c µ i – коэффициент вариации времени обработки;
- классы узлов;
- MBUF - размер буфера, для узлов с ограниченной емкостью.
В случае неоднородного трафика данные задаются для
каждого типа трафика.
Выходные данные для каждого узла сети:
- среднее количество заявок, прошедших за период занятости Y ;
- средняя длина периода простоя I ;
- среднее время ожидания W ;
- средняя длина очереди N q ;
- среднее количество заявок N ;
- среднее времени между заявками в выходном потоке
τ вых ;
- дисперсия этого времени Dвых ;
- вероятности q k того, что на периоде занятости поступило k заявок;
- для узла с ограниченной емкостью:
а) интенсивность потока отказов λ о тк ;
б) дисперсия Dτ отк времени между заявками в потоке отказов.
В случае неоднородного трафика характеристики рассчитываются для каждого типа трафика.
Выходные данные для сети:
- среднее время ожидания заявки в сети Wc ;
- среднее время пребывания заявки в сети U c ;
- общая длина всех очередей в сети N qc ;
97
- общее количество заявок в сети N c .
На рисунке 5.2 приведена функциональная схема системы, на которой представлены основные функциональные
возможности системы и ресурсы, необходимые для их реализации.
1. Расчет характеристик сети с однородным трафиком.
Ввод информации возможен из файла данных и с клавиатуры. Вывод информации осуществляется на экран и в файл
Rez1.TXT.
2. Расчет характеристик сети с неоднородным трафиком. Ввод информации для каждого класса аналогичен
пункту 1. Вывод узловых и сетевых характеристик по классам трафика и характеристик сети возможен как в файл
Rez2.TXT , так и на экран.
3. Расчет характеристик узла сети с однородным трафиком с конечной очередью и потерями. Вводится информация о номере узла и размере буфера, вероятности q k ,
k = 1, kk , индекс kk, А1, В1, А2, В2. Вывод результатов возможен в файл и на экран.
4. Расчет характеристик сети с однородным трафиком с
избыточными и разреженными потоками. Входные данные
берутся из оперативной памяти. Результаты расчета записываются в файл или/и отображаются на экране.
5. Расчет характеристик сети с неоднородным трафиком
с избыточными и разреженными потоками. Ввод и вывод
информации аналогичен пункту 4.
98
Файл
DAT.dto
Расчет ВС с однородным
трафиком
Входные
данные
Файл
DAT.dt
Входные
данные
MBUF
NBUF
kk, qk,
k=1, kk
Расчет ВС с неоднородным
трафиком
Расчет характеристик узла с конечной очередью и потерями
А0, В0
А2, В2
Результаты
расчета
Файл
REZ2.TXT
Результаты
расчета
Файл
REZ1.TXT
Результаты
расчета
Файл
DAT.dto
А0, В0
А2, В2
Файл
REZ1.TXT
Расчет характеристик ВС с однородным трафиком с избыточными и разреженными потоками
Расчет характеристик ВС с неоднородным трафиком с избыточными и разреженными потоками
Файл
REZ1.TXT
Результаты
расчета
Файл
REZ1.TXT
Результаты
расчета
Рисунок 5.2–Функциональная схема программной системы
99
5.3 Инструкция пользователя
Запуск программы.
Запускается исполняемый файл «vermod.exe»
Рисунок 5.3- Экранная форма выбора моделируемой ВС
В появившейся форме (рисунок 5.3) выбирается пункт
«Расчет сети», а потом пункт, соответствующий типу моделируемой сети.
5.3.1 Моделирование ВС с однородным трафиком
Выбирается пункт «С однородным трафиком».
Появится форма для ввода данных (рисунок 5.4).
Ввод данных.
В поле «Кол. узлов» вводится количество узлов сети.
Для вода новых данных (или очистки формы от старых)
нажимается кнопка
на панели инструментов.
В форме для ввода классов узлов сети (рисунок 5.5)
указывается
• класс узла 1,2,3;
• Mbuf- размер буфера для классов узлов 2 и 3.
100
Рисунок 5.4- Экранная форма ввода исходных данных
для ВС с однородным трафиком
Рисунок 5.5- Экранная форма ввода классов узлов сети
и размеров буферов
Входными данными для ВС с однородным трафиком
являются:
• {p ij } – матрица вероятностей перехода заявок из iого узла в j-ый (рисунок 5.4, таблица «Матрица вероятностей перехода заявок»). Сумма элементов в любой
не нулевой строке матрицы всегда должна быть равна
1;
• λ 0 i –интенсивность входного потока для i-ого узла
(рисунок 5.4, таблица « Инт. поступл.» в группе «Поступление заявок»);
101
• c λ 0i – коэффициент вариации входного потока заявок в i-й узел (рисунок 5.4, таблица «Коэф. вариации» в группе «Поступление заявок»);
• V i – быстродействие i-ого узла (рисунок 5.4, таблица «Быстр. узлов» в группе «Обработка заявок»));
• τ i – трудоёмкость обработки заявки i-м узлом (на
форме таблица «Трудоёмкости» в группе «Обработка
заявок») (отношение V i / τ i определяет µ i – интенсивность обработки заявки i-м узлом);
• λ 0 i –интенсивность входного потока (Рисунок 5.4,
таблица «Коэф. вариации» в группе «Обработка заявок»).
Сохранение исходных данных в файле.
Введённые исходные данные можно сохранить в файле.
Для сохранения исходных данных нажимается кнопка
на панели инструментов. В появившемся диалоге указывается имя файла с расширением “*.dto”.
Загрузка исходных данных из файла.
Для загрузки исходных данных нажимается кнопка
на панели инструментов. В появившемся диалоге выбирается файл из предложенного списка.
Расчет характеристик модели.
Для расчета характеристик модели нажимается кнопка
на панели инструментов. После расчета выводится экранная форма с рассчитанными характеристиками модели.
Рассчитанные характеристики можно сохранить в текстовом файле.
Просмотр результатов.
Для просмотра результатов последнего расчета нажимается кнопка
на панели инструментов.
Результаты расчетов представлены экранными формами
на рисунках 5.6 и 5.7.
102
Рисунок 5.6- Экранная форма результатов расчета характеристик модели ВС с однородным трафиком
Нажимается кнопка «Узлы GGM» (рисунок 5.6) для
просмотра характеристик узлов с ограниченной емкостью.
Экранная форма «Характеристики узла типа GGM » (рисунок 5.7) позволяет просмотреть следующие характеристики
узлов:
•вероятность потери заявки p отк ;
•интенсивность потока отказов λ о тк ;
•дисперсию времени между заявками в потоке отказов
D отк .
Рисунок 5.7- Экранная форма результатов расчета
характеристик узлов с ограниченной емкостью.
103
Сохранение результатов расчета.
Для сохранения результатов расчета нажимается кнопка
.
5.3.2 Моделирование ВС с неоднородным трафиком
В экранной форме (рисунок 5.3) выбирается пункт « C
неоднородным трафиком». Появится форма для ввода данных (рисунок 5.8).
Ввод данных.
• N- количество узлов модели;
• M- количество типов заявок, присутствующих в
трафике.
Для ввода новых данных (или очистки формы от старых) нажимается кнопка
на панели инструментов. В
форме для ввода классов узлов сети (рисунок 5.5) указывается
• класс узла;
• Mbuf- размер буфера для классов 2 и 3.
Рисунок 5.8 - Экранная форма ввода исходных данных
для ВС с неоднородным трафиком
104
Входными данными для ВС с неоднородным трафиком
являются:
• {p ij m } – матрица вероятностей перехода заявок из
i-ого узла в j-ый для потока типа «m» (рисунок 5.8,
таблица «Матрица вероятностей передач») (сумма в
любой не нулевой строке матрицы всегда должна быть
равна 1);
• λm0i –интенсивность входного потока типа «m» в i-й
узел (рисунок 5.8, таблица «Инт. поступл.» в группе
«Поступление заявок»);
• c λ 0i m – коэффициент вариации входного потока
типа «m» в i-й узел (рисунок 5.8, таблица «К. вар.»
в группе «Поступление заявок»);
• V i – быстродействие i-ого узла (рисунок 5.8, таблица «Быстр. узлов» в группе «Обработка заявок»));
• τ i m – трудоёмкость обработки заявки потока типа
«m» i-м узлом (рисунок 5.8, таблица «Трудоёмкости»
в группе «Обработка заявок»);
• c µi m – коэффициент вариации времени обработки
заявки потока типа «m» i-м узлом (рисунок 5.8, таблица «К. вар.» в группе «Обработка заявок»).
• Тип потока, характеристики которого вводятся,
определяется пунктом меню «Тип трафика».
Сохранение исходных данных в файле.
Введённые исходные данные можно сохранить в файле.
Для сохранения исходных данных нажимается кнопка
на панели инструментов. В появившемся диалоге указывается имя файла с расширением “*.dt”.
Загрузка исходных данных из файла.
Для загрузки исходных данных нажимается кнопка
на панели инструментов. В появившемся окне выбирается
файл из предложенного списка.
Расчет характеристик модели.
Для расчета нажимается кнопка
на панели инструментов. После расчета выводится экранная форма с рассчитанными характеристиками модели (рисунок 5.9). Рассчи105
танные характеристики можно сохранить в текстовом файле.
Просмотр результатов.
Для просмотра результатов последнего расчета нажимается кнопка
на панели инструментов. В окне просмотра
результатов для трафика характеристики отображаются для
каждого типа заявок. Чтобы просмотреть результат для заданного типа трафика пользуются ниспадающим меню
«Тип трафика».
Рисунок 5.9-Экранная форма результатов расчета характеристик модели ВС с неоднородным трафиком
Нажимается кнопка «Узлы GGM» (рисунок 5.9) для
просмотра характеристик узлов с ограниченной емкостью.
Экранная форма «Характеристики узла типа GGM »
(рисунок 5.7) позволяет просмотреть следующие характеристики узлов:
• вероятность потери заявки p отк ;
• интенсивность потока отказов λ о тк ;
• дисперсию времени между заявками в потоке отказов
D отк
Сохранение результатов.
Для сохранения результатов расчета нажимается кнопка
.
106
5.3.3 Расчет характеристик узла
В окне (рисунок 5.3) выбирается пункт «Расчет узла »
Появится форма для ввода данных (рисунок 5.10).
Ввод данных.
Вводятся следующие характеристики узла:
• λ –интенсивность входного потока;
• c λ – коэффициент вариации времени поступления заявок;
• τ – трудоёмкость обработки заявки узлом;
• c µ – коэффициент вариации времени обработки заявок.
Для ула с ограниченной емкостью вводится
допонительно
• Mbuf-размер буфера.
Расчет характеристик.
Для расчета узла с бесконечной емкостью нажимается
кнопка «GG1».
Для расчета узла с конечной емкостью нажимается
кнопка «GGM».
Результаты расчета отображаются в правой части окна
(рисунок 5.10).
107
Рисунок 5.10- Экранная форма для ввода данных и расчета характеристик узла.
5.4 Результаты проведенных расчетов и их анализ
Расчеты одиночных узлов сети
Точность метода обобщенной двумерной диффузионной
аппроксимации с использованием процедуры VNGG1 исследована для широкого диапазона изменения параметров
трафика и закона обслуживания. При этом коэффициент загрузки ρ варьировался от 0,1 до 0,9, а коэффициенты вариаций распределений длин интервалов между заявками во
входном потоке c λ и времени обслуживания c µ – от 0 до 5.
В таблице 5.9 приведены значения среднего количества
заявок N в узле, а для сравнения в этой же таблице приведены значения N , полученные имитационным моделированием. Анализ этих данных показывает, что точность метода обобщенной двумерной диффузионной
аппроксимации, несомненно, выше точности известных методов одно108
мерной
диффузионной аппроксимации. Таким образом,
относительная погрешность предлагаемого метода для широкого диапазона изменения параметров примерно равномерна и не превышает 5-7 %.
При проведении экспериментов в качестве одного из
параметров моделирования задавалось количество циклов
занятости, которое в зависимости от загрузки изменялось
от 1000 до 20000 /12/.
Таблица 5.9 – Зависимость среднего количества заявок в
узле N от ρ, С µ , C λ
N
cµ
0,1
0,5
1,0
2,0
5,0
ρ
cλ
0,1
0,5
0,1
1,0
2,0
5,0
0,1
0,5
0,3
1,0
2,0
5,0
0,1
0,5
0,5
0,100
0,101
0,111
0,101
0,111
0,096
0,118
0,108
0,421
0,302
0,301
0,315
0,308
0,334
0,336
0,518
4,522
0,506
0,500
0,534
0,556
0,101
0,101
0,111
0,10
0,112
0,10
0,122
0,129
0,394
0,314
0,301
0,320
0,317
0,352
0,362
0,545
4,361
0,534
0,500
0,576
0,589
0,105
0,101
0,111
0,102
0,115
0,101
0,133
0,148
0,431
0,506
0,340
0,315
0,351
0,349
0,404
0,401
0,640
0,472
4,367
0,671
0,647
0,737
0,738
0,117
0,103
0,117
0,113
0,125
0,119
0,171
0,154
0,586
0,459
0,489
0,519
0,521
0,605
0,606
0,924
0,846
4,560
1,344
1,376
1,446
1,467
0,211
0,214
0,220
0,220
0,232
0,242
0,360
0,315
1,076
1,746
1,824
1,824
1,855
1,961
1,948
2,397
2,307
6,142
6,429
6,596
6,607
6,691
109
Продолжение таблицы 5.9
N
ρ
cµ
cλ
1,0
0
,5
2,0
5,0
0,1
0,5
0
,7
1,0
2,0
5,0
0,1
0,5
0
,9
1,0
2,0
5,0
0,1
0,5
1,0
2,0
5,0
0,670
0,676
1,748
11,449
0,715
0,70
0,844
0,907
1,459
1,439
4,691
3,794
27,959
21,754
0,964
0,934
1,996
1,940
5,145
4,974
18,135
17,551
111,128
107,642
0,741
0,751
1,704
1,108
11,421
0,844
0,773
1,019
1,040
1,652
1,665
4,817
4,034
28,093
21,863
1,913
1,740
2,925
2,801
6,110
5,939
19,036
18,317
112,004
107,616
0,945
0,954
1,911
1,531
11,633
1,384
1,360
1,601
1,608
2,285
2,285
5,423
4,868
28,750
22,984
4,848
4,718
5,886
5,794
9,096
8,968
22,112
21,317
115,126
-
1,714
1,713
2,764
2,565
12,535
3,746
3,779
3,990
4,040
4,732
4,742
7,834
7,470
31,460
29,049
16,798
16,881
17,831
17,918
21,062
21,072
34,153
33,796
127,566
-
6,934
6,959
8,145
7,902
17,945
20,561
20,912
20,949
21,142
21,747
21,878
24,864
24,556
48,791
44,863
100,819
101,826
102,213
102,899
105,380
106,163
118,207
117,274
212,596
-
1-я строка – результаты двумерного диффузионного
приближения,
2-я строка – результаты имитационного моделирования.
110
5.5 Задание на самостоятельную работу №4 с
пользованием программной системы PROBMOD
ис-
1. Изучить схему алгоритма, функциональные возможности и инструкцию пользователя системы PROBMOD (п.п.
5.1−5.4).
2. Рассчитать основные характеристики отдельного узла
сетевой модели типа GI/G/1/∞ для диапазона изменения
параметров: загрузки ρ от 0,1 до 0,9; коэффициентов вариаций времени поступления c λ и времени обслуживания
c µ от 0,1 до 2.
3. Построить графики зависимости среднего времени
ожидания W заявки в очереди от указанных параметров.
4. Рассчитать основные характеристики сетевой модели
(вариант задается преподавателем). Варьированием интенсивности внешнего источника λ 0 определить узкие места
данной модели.
5. Рассмотреть пункты 2 и 3 данного задания для узла
типа GI/G/1/m с потерями, где m – емкость буфера
(m=2,3,5,10,15). Построить графики зависимостей вероятности потери сообщения p отк от указанных в пункте 2 параметров.
6. Используя полученные в п.5 графики зависимости
решить задачу оптимального выбора объемов канальных
буферов при заданном качестве обслуживания: P отк < P 0,
W < W 0.
Пример выполнения задания приведен ниже.
В таблице 5.10 приведены значения среднего времени
ожидания заявок W в отдельном узле.
Таблица 5.10 – Зависимость среднего времени ожидания
заявок W в узле от ρ, c µ , c λ
W
cµ
0,1
0,5
1,0
2,0
5,0
ρ
cλ
0,1
0,1
0,5
1,0
0,005
0,101
0,112
0,015
0,104
0,117
0,046
0,109
0,149
0,175
0,195
0,252
1,106
1,205
0,318
111
Продолжение таблицы 5.10
W
ρ
0,2
0,3
0,5
0,7
0,9
cµ
0,1
0,5
1,0
2,0
5,0
2,0
5,0
0,1
0,5
1,0
2,0
5,0
0,1
0,5
1,0
2,0
5,0
0,1
0,5
1,0
2,0
5,0
0,1
0,5
1,0
2,0
5,0
0,117
2,211
0,007
0,049
0,114
0,726
12,072
0,011
0,068
0,339
2,406
21,897
0,021
0,206
1,084
5,701
38,942
0,071
1,218
4,716
19,150
122,476
0,220
2,939
0,046
0,066
0,173
0,816
13,536
0,068
0,152
0,482
2,408
21,842
0,205
0,456
1,359
5,881
39,133
1,126
2,250
5,789
20,151
123,449
0,334
3,306
0,132
0,169
0,348
1,133
13,556
0,342
0,475
0,890
2,822
22,265
0,977
1,288
2,264
6,748
40,072
4,386
5,540
9,107
23,569
126,918
0,713
4,862
0,531
0,731
1,015
2,080
14,202
1,689
1,892
2,428
4,529
24,070
4,352
4,699
5,760
10,192
43,943
17,665
18,813
22,402
36,947
140,740
2,601
9,764
4,820
5,080
5,538
6,990
19,472
11,857
12,214
12,867
15,291
34,889
28,373
28,927
30,066
34,520
68,701
111,022
112,570
116,088
130,341
235,218
cλ
На рисунке 5.11 приведены графики зависимости задержки сообщений в узле от параметров трафика и закона
обслуживания.
Эти результаты доказывают необходимость учета вторых моментов распределений временных параметров трафика и обслуживания в узлах, что не может быть сделано
методами теории экспоненциальных сетей или другими
приближенными методами с такой точностью и за приемлемое время. Графики построены по данным таблицы 5.10.
В таблице 5.11 приведены результаты расчетов значений вероятности потери сообщений p отк и среднего времени
задержки W в зависимости от объема буфера m и интенсивности входного потока λ (время обслуживания нормированное). При этом варьировалось значение коэффициента
112
вариации времени обслуживания c µ .
а) cµ=1
W
40
40
λ=0,9
35
λ=0,7
30
25
25
20
20
λ=0,5
15
5
10
3
4
λ=0,5
5
λ=0,1
2
λ=0,7
15
λ=0,3
10
1
λ=0,9
35
30
0
б) cλ=1
W
5 cλ
λ=0,3
λ=0,1
0
1
2
4
3
5 cµ
Рисунок 5.11 – Зависимость времени задержки в узле при
различных значениях интенсивности λ входного трафика
(время обслуживания нормированное):
а) – от коэффициента вариации входного потока;
б) – от коэффициента вариации времени обслуживания
Таблица 5.11-Зависимость вероятности потери сообщений
p отк и среднего времени задержки W от объема буфера m,
интенсивности входного потока λ и коэффициента вариации c µ
pотк/W
m
2
cµ
0,1
1
0,1
0,3
0,5
0,7
0,9
0,00004 / 0,1121
0,04267 / 0,1245
0,18242 / 0,4518
0,33984 / 1,5765
0,47627 / 2,0861
0,00254 / 0,1493
0,05900 / 0,3639
0,15234 / 0,9029
0,24822 / 1,8735
0,00545 / 3,7100
ρ
2
0,00924 / 0,2547
0,06129 / 0,9891
0,11910 / 2,1570
0,17279 / 40395
0,22158 / 7,3703
113
Продолжение таблицы 5.11
pотк/W
m
3
5
8
10
12
14
114
cµ
ρ
0,1
0,3
0,5
0,7
0,9
0,1
0,3
0,5
0,7
0,9
0,1
0,3
0,5
0,7
0,9
0,1
0,3
0,5
0,7
0,9
0,1
0,3
0,5
0,7
0,9
0,1
0,3
0,5
0,7
0,9
0,1
0,00000 / 0,1120
0,00645 / 0,1152
0,05170 / 0,3609
0,12375 / 1,0511
0,19666 / 2,8062
0,00000 / 0,1120
0,00037 /0,1138
0,00988 / 0,3437
0,03752 / 1,0601
0,07430 / 3,3815
0,00000 / 0,1120
0,00000 / 0,1137
0,00160 / 0,3401
0,01158 / 1,0765
0,03083 / 3,9521
0,00000 / 0,1120
0,00000 / 0,1137
0,00056 / 0,3396
0,00620 / 1,0796
0,01999 / 4,1763
0,00000 / 0,1120
0,00000 / 0,1137
0,00022 / 0,3395
0,00361 / 1,0812
0,01409 / 4,3162
0,00000 / 0,1120
0,00000 / 0,1137
0,00009 / 0,3394
0,00229 / 1,0821
0,01078 / 4,4014
1
2
0,00017 / 0,1488
0,01347 / 0,3510
0,04824 / 0,8837
0,09179 / 1,9791
0,13551 / 4,6195
0,00000 / 0,1487
0,00181 / 0,3484
0,01186 / 0,8875
0,02964 / 2,1440
0,05075 / 6,4783
0,00000 / 0,1487
0,00019 / 0,3481
0,00293 / 0,8895
0,01056 / 2,2231
0,02178 / 7,7246
0,00000 / 0,1487
0,00005 / 0,3481
0,00141 / 0,8899
0,00636 / 2,2391
0,01466 / 8,1217
0,00000 / 0,1487
0,00000 / 0,3481
0,00074 / 0,8901
0,00415 / 2,2478
0,01062 / 8,3691
0,00000 / 0,1487
0,00000 / 0,3481
0,00041 / 0,8902
0,00286 / 2,2529
0,00808 / 8,5329
0,00135 / 0,2527
0,01748 / 1,0098
0,04074 / 2,3162
0,06477 / 4,9237
0,08791 / 12,2135
0,00007 / 0,2524
0,00359 / 1,0141
0,01169 / 2,356
0,02179 / 5,4454
0,03249 / 17,1533
0,00000 / 0,2524
0,00069 / 1,0151
0,00359 / 2,4178
0,00826 / 5,6368
0,01386 / 19,8232
0,00000 / 0,2524
0,00029 / 1,0152
0,00198 / 2,4223
0,00519 / 5,6818
0,00933 / 20,5996
0,00000 / 0,2524
0,00013 / 1,0153
0,00119 / 2,4246
0,00353 / 5,7065
0,00677 / 21,0661
0,00000 / 0,2524
0,00000 / 1,0153
0,00076 / 2,4258
0,00253 / 5,7214
0,00516 / 21,3688
Продолжение таблицы 5.11
pотк/W
m
16
cµ
0,1
ρ
0,1
0,3
0,5
0,7
0,9
1
0,00000 / 0,1120
0,00000 / 0,1137
0,00000 / 0,3394
0,00162 / 10825
0,00888 / 4,4525
2
0,00000 / 0,1487 0,00000 / 0,2524
0,00000 / 0,3481 0,0000 / 1,0153
0,00024 / 0,8902 0,00051 / 2,4265
0,00205 / 2,2561 0,00189 / 5,7310
0,00640 / 8,6460 0,00408 / 21,5766
На рисунках 5.12-5.15 приведены графики зависимостей
вероятности потери сообщения pотк в каналах приемапередачи от интенсивности λ входного потока (при интенсивности обслуживания µ = 1 ) и от объема буферной памяти
m, выраженного в единицах от сообщений. Графики построены для диапазона изменения коэффициента вариации
времени обслуживания заявок cµ от 0,1 до 2,0 при коэффициенте вариации распределения времен поступления cλ=1.
pотк
cµ=0,1
0,40
0,35
cµ=1
0,30
m=2
0,25
cµ=2
0,20
0,15
0,10
0,05
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.12 –Графики зависимости вероятности потери
сообщений от загрузки ρ при m=2
115
pотк
0,20
cµ=0,1
0,175
m=3
0,15
cµ=1
0,125
0,10
cµ=2
0,075
0,05
0,025
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.13 – Графики зависимости вероятности потери сообщений от загрузки ρ при m=3
pотк
cµ=0,1
0,07
m=5
0,06
0,05
cµ=1
0,04
0,03
cµ=2
0,02
0,01
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.14 – Графики зависимости вероятности потери сообщений от загрузки ρ при m=5
116
pотк
0,02
cµ=0,1
m=10
0,015
cµ=1
0,01
cµ=2
0,005
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.15 – Графики зависимости вероятности потери сообщений от загрузки ρ при m=10
Аналогичные графики изменения среднего времени задержки сообщения в очереди W в узле коммутации в зависимости от тех же параметров, показаны на рисунках 5.165.19. Указанные зависимости получены по методике п. 3.1
анализа моделей СМО с ограничениями на длину очереди с
потерями при следующих допущениях:
1) сеть находится в состоянии статистического равновесия;
2) потоки сообщений независимы, т.е. сообщения, переданные по любой линии сети, статистически не зависят от
сообщений, появляющихся в других узлах сети.
117
W
8
cµ=2
7
6
m=2
5
4
cµ=1
3
2
cµ=0,1
1
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.16 – Графики зависимости среднего времени
ожидания от загрузки ρ при m =2
W
12
cµ=2
10
m=3
8
6
cµ=1
4
cµ=0,1
2
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.17 – Графики зависимости среднего времени
ожидания от загрузки ρ при m=3
118
W
20
cµ=2
10
m=5
cµ=1
5
cµ=0,1
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.18 – Графики зависимости среднего времени
ожидания от загрузки ρ при m=5
W
20
cµ=2
18
16
14
12
m =10
10
8
cµ=1
6
4
cµ=0,1
2
0,1
0,3
0,5
0,7
0,9
ρ
Рисунок 5.19 – Графики зависимости среднего времени
ожидания от загрузки ρ при m=10
119
Графики, приведенные на рисунках 5.16-5.19, позволяют рассчитать необходимые объемы памяти для буферных
накопителей при ограничениях на вероятность потери и на
время задержки сообщения в узле коммутации. При этом
значения объемов, выраженные в единицах от сообщений,
можно пересчитать в единицы от бит умножением значений
объемов на среднюю длину сообщения.
Из вышеприведенных графиков видно, что при увеличении объема буфера среднее время ожидания W стремится
к времени ожидания СМО в случае с бесконечной очередью
(пунктирная линия на рисунке 5.19).
5.6 Задание на самостоятельную работу № 5. Расчет
характеристик ВС с неоднородными потоками.
Рассмотрим модель вычислительной системы с неоднородными потоками специализированной информационносправочной службы. Сетевая модель данной системы приведена на рисунке 5.20.
S2
S3
S1
S4
S5
S6
Рисунок 5.20 - Сетевая модель ВС информационносправочной службы
120
Параметры системы указаны в таблице 5.12
Таблица 5.12
№ узла
1
2-4
5
6
Класс устройств
Процессор 2 (1)
НМД1-НМДЗ
НМЛ
Принтер
Характеристики устройств
Быстродействие 250 у.е. оп/с (120 у.е. оп/с)
Среднее время поиска информации 50 мс
Среднее время поиска информации 5с
Скорость печати 20 строк/c
Вычислительную нагрузку систем образуют 3 класса
задач.
1. Обработка запросов, включающая обращения к накопителям на магнитных дисках (НМД1-НМД3) и процессорную обработку. Трудоемкость обработки в процессоре между двумя обращениями к НМД в среднем составляет 4
тыс. операций.
2. Создание итоговых ведомостей (файлов), переносящая всю информацию с НМДЗ на НМЛ. Трудоемкость процессорной обработки составляет 1 тыс. операций.
3. Печать итоговых ведомостей с НМЛ на принтер. Трудоемкость обработки в процессоре составляет 5 тыс. операций.
Интенсивности поступления задач в систему связаны
между собой. Задачи класса 1 поступают в систему с терминалов в случайные моменты времени. Процесс их поступления моделируется простейшим потоком. Задачи класса 2
инициируются в системе при заполнении НМДЗ. Это происходит 1 раз на 1000 задач класса 1. Таким образом, поток
задач класса 2 имеет распределение Эрланга 1000 порядка,
коэффициент вариации которого близок к нулю. Задачи
класса 3 поступают в среднем 7 раз на 1000 задач типа 1, и
коэффициент вариации распределения потока задач данного типа приблизительно равен 0,1.
Задание.
1. Предварительно для каждого класса заявок рассчитать трудоемкости их обслуживания в отдельных узлах ВС.
2. Из условий функционирования ВС рассчитать матрицы вероятностей передач заявок для каждого класса.
3. Варьирование совместно интенсивности поступления
(с сохранением пропорции между ними) в систему
121
задач всех классов получить зависимости времени пребывания U c задач класса 1 от интенсивности их поступления
λ 1 для двух типов процессоров.
4. Используя полученные зависимости определить оптимальное количество терминалов, которые может обслуживать данная ВС при ограничении времени ответа, равного 2 с.
Результаты проведенных расчетов приведены ниже.
В таблице 5.13 приведены значения параметров трудоемкости заявок по каждому классу.
Таблица 5.13
№
Наименова- Интенсивтипа ние типа за- ность входзаяв- явки
ного потока
ки
1
Запрос Б
1.000
2
Сброс МД
0.100Е-02
3
Печ.вед.
0.100Е-01
Параметры трудоемкости заявок
№
Среднее
Средняя
Коэфуз- кол-во
трудоем- фицила
обращекость об- ент ваний
ращения риации
1.000
1
6.000
4.000
1.000
1.000
0.050
2
2.000
0.050
1.000
3
0.050
1.000
4
1.000
1.000
1008.000 1.000
1
1.000
1000.000 0.050
4
1.000
5.000
5
7.000
0.500
1.000
1
4.000
1.000
6
1.000
100.000
5.0000
1.000
6
1.000
В таблице 5.14 приведены расчетные значения коэффициентов загрузки узлов модели при интенсивности входного потока задач класса 1 равной 5,5 ед/с.
Таблица 5.14
№ узла
1
2
3
4
5
6
122
Коэффициент загрузки ρ
Процессор 2
Процессор 1
0,448
0,933
0,275
0,275
0,550
0,550
0,366
0,366
0,366
0,366
0,542
0,542
Рисунок 5.21- Входные данные и результаты расчетов
для заявок класса 1
123
Рисунок 5.22 - Входные данные и результаты расчетов
для заявок класса 2
124
Рисунок 5.23- Входные данные и результаты расчетов
для заявок класса 3
125
Uc
Процессор 1
Процессор 2
4
7
12
10
8
6
4
2
1
2
3
5
6
8
9
λ
Рисунок 5.24 - Зависимость среднего времени пребывания задач типа 1 в системе от интенсивности их поступления.
Из графиков, приведенных на рисунке 5.24 и таблицы
5.14 видно, что использование процессора 2 позволяет
примерно в 2 раза увеличить допустимую при заданном ограничении на время ответа интенсивность поступления запросов. Она составляет 5 ед/с. Отсюда количество терминалов, которое можно подключить к системе при интенсивности запросов от каждого терминала 0,008 ед/с (один запрос за 2 минуты) составляет 600 единиц.
Расчет модели показал, что при использовании процессора 2 все устройства системы загружены равномерно и
используются более эффективно, чем при использовании
процессора 1.
126
6 МОДЕЛИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ
СИСТЕМ СРЕДСТВАМИ ЯЗЫКА GPSS WORLD
STUDENT VERSION 4.3.5
6.1 Описание основных блоков языка GPSS
GENERATE - это блок, через который транзакты входят в модель. Не существует ограничений на число различных блоков GЕNЕRАТЕ в одной модели. Интервал времени
между последовательными появлениями транзактов блока
GENERAТЕ называют интервалом поступления.
Формат блока следующий.
GENERATE A,B,C,D,E.
Когда транзакт входит в модель через блок
GENERАТЕ (генерировать), интерпретатор планирует
время поступления последующего транзакта путем розыгрыша случайного числа в соответствии с распределением
интервалов времени поступления с последующим добавлением разыгранного значения к текущему значению таймера. При достижении этого значения времени следующий
транзакт вводится в модель через блок GENERАТЕ и т. д.
Информация, необходимая для данного блока, задается
операндами А и В. Все возможные виды распределения интервалов времени прибытия в GPSS делят на равномерно
распределенные и все другие виды распределения.
Таким образом, специально рассматривают только простейшее из всех нетривиальных распределений, а именно
равномерное распределение. Для того, чтобы задать более
сложный вид распределения интервалов времени прихода в
GPSS необходимо записать так называемое определение
функции. Блок GENERАТЕ вместе с операндами А и В
изображен на рисунке 6.1.
127
GENERATE
g
A, B
Рисунок 6.1 - Блок GENERАТЕ
В поле A задается среднее значение интервала времени
между моментами поступления в модель двух последовательных транзактов. Если этот интервал постоянен, то поле B не используется. Если же интервал поступления является случайной величиной, то в поле B указывается модификатор среднего значения, который может быть задан в
виде модификатора-интервала или модификатора-функции.
Модификатор-интервал используется, когда интервал поступления транзактов является случайной величиной с равномерным законом распределения вероятностей.
В этом случае в поле B может быть задан любой стандартный числовой атрибут (СЧА), кроме ссылки на функцию, а диапазон изменения интервала поступления имеет
границы A-B, A+B.
Например, блок
GENERATE 100,40
создает транзакты через случайные интервалы времени,
равномерно распределенные на отрезке [60;140].
Модификатор-функция используется, если закон распределения интервала поступления отличен от равномерного. В этом случае в поле B должна быть записана ссылка
на функцию, описывающую этот закон, и случайный интервал поступления определяется, как целая часть произведения поля A (среднего значения) на вычисленное значение функции.
В поле C задается момент поступления в модель первого транзакта. Если это поле пусто или равно 0, то момент
появления первого транзакта определяется операндами A и
B.
128
Поле D задает общее число транзактов, которое должно
быть создано блоком GENERATE. Если это поле пусто, то
блок генерирует неограниченное число транзактов до завершения моделирования.
В поле E задается приоритет, присваиваемый генерируемым транзактам. Число уровней приоритетов не ограничено, причем самый низкий приоритет - нулевой. Если
поле E пусто, то генерируемые транзакты имеют нулевой
приоритет.
Транзакты удаляются из модели, попадая в блок
ТЕRМINАТЕ (завершить). Блоки ТЕRМINАТЕ всегда позволяют выйти всем транзактам, которые пытаются это
сделать. В модели может быть любое число блоков
ТЕRМINАТЕ.
На рисунке 6.2 изображен блок ТЕRМINАТЕ с операндом А. Операнд А является указателем уменьшения счетчика завершений. Он задает величину, которая должна вычитаться из специального счетчика, называемого счетчиком
завершений, каждый раз, когда транзакт входит в блок
ТЕRМINАТЕ. Если разработчик не желает задавать операнд А блока ТЕRМINАТЕ, то по умолчанию подразумевается значение 0. Вход транзакта в такой блок
ТЕRМINАТЕ не вызывает уменьшения содержания счетчика завершений.
TERMINATE
Рисунок 6.2 – Блок TERMINATE
Для моделирования ограниченных ресурсов СМО в
модели должны присутствовать аппаратные объекты: одноканальные или многоканальные устройства. Одноканальные устройства создаются в текущей модели при использовании блоков SEIZE (занять) и RELEASE (освободить),
имеющих следующий формат:
SEIZE
A
129
RELEASE A.
В поле A указывается номер или имя устройства. Если
транзакт входит в блок SEIZE, то устройство, указанное в
поле A, становится занятым и остаётся в этом состоянии до
тех пор, пока этот же транзакт не пройдёт соответствующий блок RELEASE, освобождая устройство. Если устройство, указанное в поле A блока SEIZE, уже занято каким-либо транзактом, то никакой другой транзакт не может
войти в этот блок и остаётся в предыдущем блоке. Транзакты, задержанные (заблокированные) перед блоком
SEIZE, остаются в списке текущих событий и при освобождении устройства обрабатываются с учетом приоритетов
и очередности поступления.
Блок SEIZE показан на рисунке 6.3.
SEIZE
A
Рисунок 6.3 - Блок SEIZE
Блок RELEASE показан на рисунке 6.4.
RELEASE
A
Рисунок 6.4 - Блок RELEASE
В моделях систем массового обслуживания заявки обслуживаются приборами (каналами) СМО в течение некоторого промежутка времени, прежде чем покинуть СМО.
Для моделирования такого обслуживания, т.е. для задержки
транзактов на определенный отрезок модельного времени,
служит блок ADVANCE (задержать),
130
имеющий следующий формат:
ADVANCE A,B.
Операнды в полях A и B имеют тот же смысл, что и в
соответствующих полях блока GENERATE. Транзакты,
входящие в блок ADVANCE, переводятся из списка текущих событий в список будущих событий, а по истечении
вычисленного времени задержки возвращаются назад, в
список текущих событий, и их продвижение по блок-схеме
продолжается.
Если вычисленное время задержки равно 0, то транзакт в
тот же момент модельного времени переходит в следующий
блок, оставаясь в списке текущих событий.
Блок ADVANCE показан на рисунке 6.5.
ADVANCE
A,B
Рисунок 6.5 - Блок ADVANCE
Модели одноканальной и многоканальной СМО с ожиданием разрабатываются обычно для исследования различных характеристик, связанных с ожиданием заявок в очереди: длины очереди, времени ожидания и т.п., а очередь
транзактов образуется в списке текущих событий и недоступна исследователю. Для регистрации статистической информации о процессе ожидания транзактов в модели должны присутствовать статистические объекты: очереди или
таблицы.
Объекты типа «очередь» создаются в модели путем
использования блоков - регистраторов очередей: QUEUE
(стать в очередь) и DEPART (уйти из очереди), имеющих
следующий формат:
QUEUE
A,B
DEPART A,B.
131
В поле A указывается номер или имя очереди, а в поле
B – число единиц, на которое текущая длина очереди увеличивается при входе транзакта в блок QUEUE или
уменьшается при входе транзакта в блок DEPART. Обычно поле B пусто, и в этом случае его значение по умолчанию принимается равным 1. Для сбора статистики о транзактах, заблокированных перед каким-либо блоком модели, блоки QUEUE и DEPART помещаются перед и после
этого блока соответственно. При прохождении транзактов
через блоки QUEUE и DEPART соответствующим образом
изменяются следующие стандартные числовые атрибуты
очередей: Q - текущая длина очереди; QM - максимальная
длина очереди; QA - целая часть средней длины очереди;
QC - общее число транзактов, вошедших в очередь; QZ число транзактов, прошедших через очередь без ожидания
(число "нулевых" входов); QT - целая часть среднего времени ожидания с учетом "нулевых" входов; QX - целая
часть среднего времени ожидания без учета "нулевых" входов.
Блоки QUEUE и DEPART показаны на рисунке 6.6.
QUEUE
A
DEPART
A
Рисунок 6.6 - Блоки QUEUE и DEPART
Транзакты, выходящие из любого блока, всегда поступают в следующий блок. В более сложных моделях возникает необходимость направления транзактов к другим блокам в зависимости от некоторых условий. Эту возможность
обеспечивают блоки изменения маршрутов транзактов.
Блок TRANSFER (передать) служит для передачи входящих в него транзактов в блоки, отличные от следующего.
Блок имеет девять режимов работы, из которых рассмотрим
здесь лишь три наиболее часто
используемых. В этих трех режимах блок имеет следующий
132
формат:
TRANSFER A,B,C.
Смысл операндов в полях A, B и C зависит от режима
работы блока. В режиме безусловной передачи поля A и C
пусты, а в поле B указывается имя блока, к которому безусловным образом направляется транзакт, вошедший в
блок TRANSFER. Например:
TRANSFER , FINAL.
В режиме статистической передачи операнд A определяет вероятность, с которой транзакт направляется в блок,
указанный в поле C. С вероятностью 1-A транзакт направляется в блок, указанный в поле B (в следующий, если поле
B пусто). Вероятность в поле A может быть задана непосредственно десятичной дробью, начинающейся с точки.
Например, блок
TRANSFER .75,THIS,THAT
с вероятностью 0,75 направляет транзакты в блок с именем
THAT, а с вероятностью 0,25 - в блок с именем THIS.
Если же поле A начинается не с десятичной точки и не
содержит одного из ключевых слов - признаков других режимов работы блока, то его значение рассматривается как
количество тысячных долей в вероятности передачи. Например, предыдущий блок TRANSFER можно записать
также в следующем виде:
TRANSFER 750,THIS,THAT.
В режиме логической передачи в поле A записывается
ключевое слово BOTH (оба). Транзакт, поступающий в
блок TRANSFER, сначала пытается войти в блок, указанный в поле B (или в следующий блок, если поле B пусто), а если это не удается, т.е. блок B отказывает транзакту
во входе, то в блок, указанный в поле C. Если и эта попытка неудачна, то транзакт задерживается в блоке
TRANSFER до изменения условий в модели, делающего
возможным вход в один из блоков B или C, причем при одновременно возникшей возможности предпочтение отдается блоку B. Например:
TRANSFER BOTH,MET1,MET2.
Блок TRANSFER показан на рисунке 6.7.
133
TRANSFER
(B)
Рисунок 6.7 – Блок TRANSFER
Для занятия и освобождения каналов обслуживания
многоканальных устройств (МКУ) используется пара блоков ENTER (войти) и LEAVE (покинуть), имеющих следующий формат:
ENTER A,B
LEAVE A,B.
В поле A указывается номер или имя МКУ, в поле B
число каналов МКУ, занимаемых при входе в блок ENTER
или освобождаемых при входе в блок LEAVE. Обычно
поле B пусто, и в этом случае по умолчанию занимается
или освобождается один канал.
При входе транзакта в блок ENTER текущее содержимое МКУ увеличивается на число единиц, указанное в поле B. Если свободная емкость МКУ меньше значения поля
B, то транзакт не может войти в блок ENTER и остается в
предыдущем блоке, образуя очередь в списке текущих событий.
При входе транзакта в блок LEAVE текущее содержимое МКУ уменьшается на число единиц, указанное в поле
B. Не обязательно освобождается такое же число каналов
МКУ, какое занималось при входе данного транзакта в
блок ENTER, однако текущее содержимое МКУ не должно
становиться отрицательным.
Блоки ENTER и LEAVE показаны на рисунке 6.8.
134
Рисунок 6.8 - Блоки ENTER и LEAVE
Для присваивания параметрам начальных значений или
изменения этих значений служит блок ASSIGN (присваивать), имеющий следующий формат:
имя ASSIGN A,B,C.
В поле A указывается номер или имя параметра, в который заносится значение операнда B.
Если в поле A после имени (номера) параметра стоит
знак + или -, то значение операнда B добавляется или вычитается из текущего содержимого параметра. В поле С
может
быть
указано
имя
или
номер
функциимодификатора,
действующей
аналогично
функциимодификатору в поле B блока GENERATE. Например, блок
ASSIGN 5,0
записывает в параметр с номером 5 значение 0, а блок
ASSIGN COUNT+,1
добавляет 1 к текущему значению параметра с именем
COUNT. Блок ASSIGN приведен на рисунке 6.9.
Рисунок 6.9- Блок ASSIGN
Для записи текущего модельного времени в заданный
параметр
транзакта служит блок MARK (отметить),
имеющий следующий формат:
имя MARK A.
135
В поле A указывается номер или имя параметра транзакта, в который заносится текущее модельное время при
входе этого транзакта в блок MARK. Содержимое этого параметра может быть позднее использовано для определения
транзитного времени стандартного числового атрибута
пребывания транзакта в какой-то части модели с помощью
СЧА с названием MP.
Например, если на входе участка модели поместить
блок
MARK MARKER ,
то на выходе этого участка СЧА MP$MARKER будет содержать разность между текущим модельным временем и
временем, занесенным в параметр MARKER блоком
MARK. Если поле A блока MARK пусто, то текущее время
заносится на место отметки времени входа транзакта в
модель, используемой при определении резидентного времени транзакта с помощью СЧА M1.
Блок MARK показан на рисунке 6.10.
MARK
Рисунок 6.10- Блок MARK
Для моделирования захвата (прерывания) одноканального устройства вместо блоков SEIZE и RELEASE используются соответственно блоки PREEMPT (захватить) и
RETURN (вернуть). Блок PREEMPT имеет следующий
формат:
PREEMPT
A,B,C,D,E.
В поле A указывается имя или номер устройства, подлежащего захвату. В поле B кодируется условие захвата.
Если это поле пусто, то захват возникает, если обслуживаемый транзакт сам не является захватчиком. Если же в
поле B записан операнд PR, то захват возникает, если приоритет транзакта-захватчика выше, чем
приоритет обслуживаемого транзакта.
136
Поля C, D и E определяют поведение транзактов, обслуживание которых было прервано. Поле C указывает имя
блока, в который будет направлен прерванный транзакт. В
поле D может быть указан номер или имя параметра прерванного транзакта, в который записывается время, оставшееся этому транзакту до завершения обслуживания на
устройстве. При отсутствии операнда в поле E прерванный
транзакт сохраняет право на автоматическое восстановление на устройстве по окончании захвата. Если же в поле
E указан операнд RE, то транзакт теряет такое право. Блоки
PREEMPT и RETURN показаны на рисунке 6.11.
Рисунок 6.11- Блоки PREEMPT и RETURN
Блок RETURN имеет единственный операнд A, содержащий имя или номер устройства, подлежащего освобождению от захвата. Блоки PREEMPT и RETURN могут быть
использованы для моделирования СМО с абсолютными
приоритетами. В простейших случаях, при одном уровне
захвата, в блоке PREEMPT используется единственный
операнд A. При этом прерванный транзакт переводится
симулятором из списка будущих событий в так называемый
список прерываний устройства, а по окончании захвата
устройства возвращается в список будущих событий с
предварительно вычисленным временем занятия устройства
для продолжения обслуживания.
Таблицы в GPSS/PC могут использоваться в общем случае не только для табулирования времени ожидания в очереди, но и для получения выборочных распределений произвольных СЧА любых объектов модели. Для определения
таблиц служит оператор TABLE (таблица), формат которого совпадает с форматом оператора QTABLE. Отличие состоит лишь в том, что в поле A оператора TABLE записы137
вается стандартный числовой атрибут, выборочное распределение которого необходимо получить, а операнды B,
C и D определяют разбиение на частотные интервалы диапазона всевозможных значений этого СЧА.
Занесение информации в таблицу, определяемую оператором TABLE, уже не может быть выполнено симулятором
автоматически, как в случае Q-таблиц. Для этого используется специальный блок TABULATE (табулировать), имеющий следующий формат:
TABULATE A.
В поле A указывается номер или имя таблицы, определенной соответствующим оператором TABLE.
При входе транзакта в блок TABULATE текущее значение табулируемого аргумента таблицы, указанного в поле
A оператора TABLE, заносится в нее в соответствии с заданным в операторе TABLE разбиением области значений
аргумента на частотные интервалы. Одновременно корректируются текущие значения СЧА таблицы: счетчик входов
в таблицу TC, среднее время ожидания TB и среднеквадратическое отклонение времени ожидания TD. Блок
TABULATE показан на рисунке 6.12.
Рисунок 6.12- Блок TABULATE
Блок TEST (проверить) служит для задержки или изменения маршрутов транзактов в зависимости от соотношения двух СЧА. Он имеет следующий формат:
TEST X A,B,C.
Вспомогательный операнд X содержит условие
проверки соотношения между СЧА и может принимать
следующие значения: L (меньше); LE (меньше или равно);
E (равно); NE (не равно); GE (больше или равно); G (больше). Поле A содержит первый, а поле B - второй из сравниваемых СЧА. Если проверяемое условие A X B выполняет138
ся, то блок TEST пропускает транзакт в следующий блок.
Если же это условие не выполняется, то транзакт переходит к блоку, указанному в поле C, а если оно пусто, то задерживается перед блоком TEST.
Например, блок
TEST LE P$TIME,C1
не впускает транзакты, у которых значение параметра с
именем TIME больше текущего модельного времени. Блок
TEST L
Q$LINE,5,OUT
направляет транзакты в блок с именем OUT, если текущая длина очереди LINE больше либо равна 5. Блок TEST
показан на рисунке 6.13.
Рисунок 6.13- Блок TEST
Для изменения сохраняемых величин в процессе моделирования служит блок SAVEVALUE (сохранить величину), имеющий следующий формат:
SAVEVALUE A,B.
В поле A указывается номер или имя сохраняемой величины, в которую записывается значение операнда B. Если в поле A после имени (номера) сохраняемой величины
стоит знак + или -, то значение операнда B добавляется или
вычитается из текущего содержимого сохраняемой величины. Например:
SAVEVALUE 5,Q$LINE
SAVEVALUE NREF+,1.
Блок SAVEVALUE показан на рисунке 6.14.
139
A,B,C
Рисунок 6.14- Блок SAVEVALUE
6.2 Задание на самостоятельную работу №6. Построение модели ВС для определения загрузки устройств и длин очередей к устройствам
Базовая схема для моделирования состоит из терминала
пользователя, одного канала передачи данных к ЭВМ и
ЭВМ. Заявки на выполнение заданий поступают в интервале [а,b] с равномерным законом распределения. Время обработки заданий равномерно распределено в интервале
[с,d]. Время обслуживания в канале постоянно и равно пяти. Определить время обработки заявок, загрузку ЭВМ и
длину очереди на выполнение заявок.
Порядок выполнения лабораторной работы следующий:
1. Написать программу модели.
2. Рассчитать загрузку ЭВМ и длину очереди к ЭВМ для
заданного варианта задачи.
3. Набрать программу в системе моделирования GPSS.
Запустить модель. Получить листинг результатов моделирования.
4. Сравнить полученные результаты с теоретическими.
Пример выполнения работы.
Схема модели приведена на рисунке 6.15.
Вход очередь
канал
очередь
ЭВМ
Рисунок 6.15 - Схема модели
140
Выход
Определить длины очередей к каналу и ЭВМ, загрузку
устройств и среднее время обработки заданий в соответствии с заданными значениями времен генерации заявок и
обработки заявок в устройствах.
Поступление заявок с равномерным распределением на
отрезке [0.4,5]. Времена обработки заявок равномерно распределены на отрезке [1,7].
Для решения задачи моделирования необходимо выбрать масштаб времени:
t з =[(5+0.4)/2±(5-0.4)/2]*10, t обр =(7+1)/2±(7-1)/2=(4±3)*10.
Получаем t з =27±23, t обр =40±30.
Текст программы-модели приведен далее.
10
20
30
40
50
60
70
80
90
100
110
120
130
140
GENERATE
27,23
QUEUE
QCHAN
SEIZE
CHAN
DEPART
QCHAN
ADVANCE
50
RELEASE
CHAN
QUEUE
QEBM
SEIZE
EBM
DEPART
QEBM
ADVANCE
40,30
RELEASE
EBM
TERMINATE
GENERATE 10000
TERMINATE 1
;Моделирование заявок
;Очередь к каналу
;Канал
;Очередь к ЭВМ
;ЭВМ
;Время работы модели
Теоретические расчеты заданных характеристик
системы. Интенсивность поступления заявок- λ вх =1/t з =
1/27=0,037037.
Интенсивность
обработки
заявок
µ =l/t обр =1/40=0,025. Загрузка ЭВМ - ρ=λ/µ =40/50=0,8. Загрузка, меньшая 1, говорит о том, что к ЭВМ не будет очереди. Очередь будет только к каналу.
Длины очередей следующие:
L кан = (λ вх -λ вых )*T мод /2=(1/27-1/50)*10000/2≈85.
L эвм = (λ вх -λ вых )*T мод /2=(1/50-1/40)*10000/2<0.
Результаты моделирования. Листинг результатов моделирования приведен далее.
141
GPSS World Simulation Report - lr1.1.1
LABEL
FACILITY
CHAN
EBM
START TIME
0.000
NAME
CHAN
EBM
QCHAN
QEBM
LOC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ENTRIES
200
199
QUEUE
QCHAN
QEBM
FEC XN
371
201
200
372
END TIME
10000.000
BLOCK TYPE
GENERATE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
TERMINATE
GENERATE
TERMINATE
UTIL.
0.996
0.779
BLOCKS FACILITIES STORAGES
14
2
0
VALUE
10001.000
10003.000
10000.000
10002.000
ENTRY COUNT CURRENT COUNT RETRY
369
0
0
369
169
0
200
0
0
200
0
0
200
1
0
199
0
0
199
0
0
199
0
0
199
0
0
199
1
0
198
0
0
198
0
0
1
0
0
1
0
0
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
49.786 1
201
0
0
0
169
39.136 1
200
0
0
0
0
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
169 169
369
1
83.477
2262.247
2
0
199
112
0.139
6.975
PRI
0
0
0
0
BDT
10038.909
10042.749
10048.057
20000.000
ASSEM
371
201
200
372
CURRENT
0
5
10
0
NEXT
1
6
11
13
AVE.(-0) RETRY
2268.394
0
15.954
0
PARAMETER
VALUE
Выводы по работе. За время работы модели было сгенерировано 369 транзактов. Только 169 успело обработаться.
Основные потерянные заявки (199) - на канале. Длина очереди к каналу примерно соответствует рассчитанной. Загрузка устройств: UTIL кан =0.996, UTIL ЭВМ =0.779. На основании моделирования можно рекомендовать в заданной
структуре поставить более быстрый канал. Тогда производительность всей системы будет выше.
Блок-диаграмма модели приведена на рисунке 6.16.
142
Рисунок 6.16 - Блок-диаграмма модели
6.3 Задание на самостоятельную работу №7. Исследование механизма формирования цепей текущих и будущих событий
Задача, решаемая в лабораторной работе, позволяет
изучить механизм движения транзактов в модели, формирование модельного времени в системе моделирования
GPSS и правила формирования цепей текущих и будущих
событий.
Задана схема из терминала, канала для передачи сообщений на ЭВМ и ЭВМ.
1. Описать модель функционирования системы на языке
GPSS/PC.
2. Составить таблицы времен случайных значений для
генерации транзактов Т, передачи сообщений Р, обработки
заданий на ЭВМ S.
3. На основании составленных таблиц рассчитать цепи
текущих и будущих событий.
4. Промоделировать заданную схему в указанное время
моделирования М.
5. Сравнить полученные результаты с расчетными.
6. Определить загрузку ЭВМ и среднюю длину очереди
143
теоретически и в результате моделирования.
7. Построить гистограмму поступления запросов на обработку на ЭВМ.
Пример выполненной работы. Времена генерации
транзактов - Т г ен =[8±3]. Время передачи сообщений в канале - Т пер =[12±6], время обработки сообщений на ЭВМ Т обр =[13±4], наборы случайных значений времен –
Тген={11,9,8,11,10,6,5,10}; Тсум={11,20,28,39,49,55,60,69,79};
Тпер={17,8,11,7,12,6,18,7}; Тобр={10,9,16,12,9,17,12,13}.
Текст программы-модели приведен далее.
10
20
30
40
50
60
70
80
90
100
110
120
130
140
GENERATE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
TERMINATE
GENERATE
TERMINATE
8,3 ; Время генерации заявок
QCHAN
CHAN ; Канал передачи
QCHAN
12,6; Время работы канала
CHAN
QEBM
EBM;ЭВМ
QEBM
13,4; Время обработки заявок
EBM
75; Время работы модели
1; Задается в варианте задачи.
Пояснения к составлению таблиц событий. Формат данных в ЦТС: № тр, PR, Ттек, № бл.тек, № бл. след. Формат
данных в ЦБС: № тр, PR, Тбуд, нет, № бл.тек. При составлении таблицы цепей текущих и будущих событий времена
генерации транзактов и задержки в устройствах берутся из
выбранных случайных значений времен. Номер текущего
блока - это тот блок модели, в который транзакт входит в
наступившее модельное время. Номер следующего блока
определяется тем блоком модели, до которого транзакт
двигается без изменения модельного времени.
В цепях будущих событий номер следующего блока −
это тот блок, в который попадет транзакт по истечении
времени задержки. Пребывание в очереди к устройству выводит транзакт в список очередей, поэтому в результатах
моделирования все транзакты, стоящие в очереди не присутствуют в списках текущих и будущих событий. Фаза
144
моделирования определяется очередным временем движения транзакта в модели. В расчетной таблице получилось
16 фаз моделирования. Из таблицы видно, что за указанное
время было сгенерировано 10 транзактов, а обработано
только 5 транзактов. Остальные заявки остались необработанными, т. к. очередь к каналу имеет максимальную длину
4, а очередь к ЭВМ - 1.
Таблица 6.1 – Рассчитанные цепи текущих и будущих
событий.
1
2
Модельное
время
0
11
3
20
4
28
5
36
6
38
7
39
8
45
9
47
10
49
11
54
Фаза
моделирования
55
12
13
60
Цепь текущих событий Цепь будущих событий
Пусто
[1,0,11,1,5]
[1,0,11,0,1] [2,0,75,0,13]
[1,0, 28, нет, 6] [3,0,20,0,1]
[2,0,75,0,13]
[3,0,20,1,5]-очередь
[1,0,28,нет,6] [2,0,75,0,13]
[4,0,28,0,1]
[1,0,28,6,10] [3,0,28,1,5] [1,0,38,нет,11] [2,0,75,0,13]
[4,0,28,1,5]-очередь
[3,0,36,нет,6] [5,0,39,0,1]
[1,0,38,нет,11] [2,0,75,0,13]
[3,0,36,6,10]-очередь
[4,0,47,нет,6] [5,0,39,0,1]
[4,0,36,1,5]
[1,0,38,11,12]*
[2,0,75,0,13] [3,0,47,нет,11]
[3,0,38,6,10]
[4,0,47,нет,6] [5,0,39, 0, 1]
[2,0,75,0,13] [3,0,47,нет,11]
[5,0,39,1,5]-очередь
[4,0,47,нет,6] [6,0,49,0,1]
[2,0,75,0,13] [4,0,47,нет,6]
[5,0,45,1,5]-очередь
[6,0,49,0,1]
[3,0,47,11,12,]*
[2,0,75,0,13]
[4,0,47,6,10]
[4, 0,63, нет, 11]
[5,0,47,1,5]
[5, 0,54, нет, 6] [6,0,49, 0.1]
[2,0,75,0,13][4,0,63, нет,11]
[ 6, 0,49,1,5] -очередь
[5,0,54, нет,6] [7,0,55,0,1]
[5,0,54,6,10] -очередь
[2,0,75,0,13] [4,0,63,нет,11]
[6,0,54,1,5]
[ 6,0,76,нет, 6] [ 7,0,55,0,1]
[5,0,55,6,10]-очередь
[2,0,75,0,13] [4,0,63,нет,11]
[7,0,55, 1, 5]-очередь
[6,0,76,нет,6] [8,0,60,0,1]
[5,0,60,6,10]-очередь
[2,0,75,0,13][4,0,63,нет,11]
[7,0,60,1,5]-очередь
[6,0,76,нет, 6] [9,0,69,0,1]
[8,0,60,1,5]- очередь
145
14
63
15
69
16
75
[4,0,63,12,12]*
[5,0,63,6,10]
[7, 0,63, 1,5] очередь[8,0,63,1,5]- очередь
[7,0,69,1,5] -очередь
[8,0,69,1,5]-очередь
[9,0,69,0,1] - очередь
[2,0,75,13,14]*
[5,0,75,11,12]*
[7,0,75,1,5]-очередь
[8,0,75,1,5]-очередь
[9,0,75,0,1]-очередь
[2,0,75,0,13]
[5,0,75,нет,11]
[6,0,76,нет, 6] [9,0,69,0,1]
[2,0,75,0,13] [5,0,75,нет,11]
[6,0,76,нет,6] [10,0,79,0,1]
[6,0,76,нет,6]
[10,0,79,0,1][11,0,150,0,13]
Знаком * отмечены транзакты, которые завершили движение по модели. Обозначение очередь - это указание на
пребывание транзакта в очереди к устройству.
Расчеты загрузки ЭВМ и средних длин очередей. Интенсивность поступления заявок - λ вх .кан =1/8=0.125,
λ вх.эвм =1/12=0.083. Интенсивность обработки заявок µ эвм =1/13=0.076923, µ кан =1/12=0.083. Загрузка ЭВМ ρ эвм =λ/µ =1.079, ρ кан =0.125/0.076923=1.625 >1. Длина очереди к каналу - L средн =(λ вх -λ вых )/2*Т мод =1.575. Длина очереди
к ЭВМ - L средн =(λ вх -λ вых )/2*Т мод =0.225.
Листинг результатов моделирования приведен далее.
GPSS World Simulation Report - lr2.1.1
START TIME
END TIME
0.000
75.000
NAME
CHAN
EBM
QCHAN
QEBM
LABEL
146
LOC
1
2
3
4
5
6
7
8
9
10
11
12
BLOCK TYPE
GENERATE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
QUEUE
SEIZE
DEPART
ADVANCE
RELEASE
TERMINATE
BLOCKS
14
FACILITIES
2
STORAGES
0
VALUE
10001.000
10003.000
10000.000
10002.000
ENTRY COUNT CURRENT COUNT RETRY
9
0
0
9
4
0
5
0
0
5
0
0
5
1
0
4
0
0
4
0
0
4
0
0
4
0
0
4
1
0
3
0
0
3
0
0
13
14
FACILITY
CHAN
EBM
QUEUE
QCHAN
QEBM
FEC XN
5
6
11
12
ENTRIES
5
4
UTIL.
0.866
0.645
GENERATE
TERMINATE
1
1
0
0
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
12.989 1
6
0
0
0
4
12.093 1
5
0
0
0
0
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
4
4
9
1
1.323
11.026
1
0
4
1
0.086
1.609
PRI
0
0
0
0
0
0
BDT
77.593
80.918
85.498
150.000
ASSEM
5
6
11
12
CURRENT
10
5
0
0
NEXT
11
6
1
13
AVE.(-0) RETRY
12.404
0
2.146
0
PARAMETER
VALUE
В листинге присутствует список цепей текущих и будущих событий на момент окончания моделирования. Суть
различия - во временах генерации транзактов по сравнению
с ручным расчетом, например 5-й транзакт имеет время генерации 77, а в ручном расчете - 36. Кроме того, успел уже
сгенерироваться в модели 11 транзакт, а в расчетах только
10 транзактов успели возникнуть в течение заданного времени моделирования.
Цепи текущих и будущих событий в промежуточные
моменты времени моделирования показывают, что рассчитанные цепи совпадают с получаемыми в модели.
Выводы по результатам моделирования: загрузка ЭВМ
получилась, как и положено, меньше 1 и равна 0.645. Очередь к ЭВМ практически отсутствует, т. к. очередь существует к каналу и основная часть заявок осталась на входе
канала. Очередь к каналу соответствует расчетной. Анализ
рассчитанных и полученных в модели цепей текущих и будущих событий показывает, что подготовка была выполнена правильно. (В листинге цепей текущих и будущих событий приведено сравнение содержимого цепей для разных
текущих времен моделирования.) Числа обработанных и
задержанных транзактов совпадают. Несколько различаются времена генерации транзактов, т. к. выбор значений этих
времен случаен в пределах заданных в модели границ.
Выбранные для анализа характеристики устройств и
времена поступления заявок не обеспечивают устойчивую
работу системы, т. к. накапливается очередь, загрузка ЭВМ
значительно меньше 1. Для нормальной работы такой сис147
темы необходимо или увеличить пропускную способность
канала, или оптимизировать времена поступления заявок.
Блок-диаграмма модели приведена на рисунке 6.17.
A
GENERATE
8,3
DEPART
QUEUE
QEBM
QCHAN
ADVANCE
13,4
SEIZE
CHAN
EBM
RELEASE
DEPART
QCHAN
TERMINATE
ADVANCE
12,6
CHAN
RELEASE
QUEUE
SEIZE
GENERATE
75
QEBM
TERMINATE
1
EBM
A
Рисунок 6.17 - Блок-диаграмма модели
6.4 Задание на самостоятельную работу №8.
Определение оптимального времени поступления
заявок в заданной конфигурации ВС
Базовая схема для моделирования состоит из М терминалов пользователей, канала прямой передачи данных и
канала обратной передачи данных. По сигналу пользователя данные могут считываться из некоторой базы данных и
отсылаться на хранение в эту базу данных. Рассчитать производительность ЭВМ, длины очередей к каналам и ЭВМ и
определить оптимальное время поступления запросов на
обработку для заданных в варианте конфигурации схемы,
148
характеристиках обслуживания ЭВМ и времени работы любого из каналов. Обязательны таблицы времен обработки
транзактов на ЭВМ.
Оптимальное время поступления заявок должно обеспечивать наивысшую загрузку ЭВМ и минимальную очередь
на обработку заданий, в пределах 2-4 заявок.
Список обозначений исходных данных: Т - терминал
пользователя; КБД - канал базы данных; ЭВМ - процессор
и память; БД - база данных; К - канал прямой и обратной
передачи данных; КП - канал прямой передачи сообщений;
КО - канал обратной передачи сообщений; µ - интенсивность обслуживания сообщений с пуассоновским законом
распределения времени обработки заявок; Р1, Р2 - интервал
обработки заявок с равномерным законом обслуживания в
ЭВМ; К1, К2 - интервал времен работы любого из каналов.
Порядок выполнения лабораторной работы.
1. Написать программу модели.
2. Промоделировать систему с разными значениями t,x.
3. Построить зависимости ρ=f (t вx ) И Q=f (t вx ).
4. Выполнить ручной расчет загрузки устройств, длин
очередей и производительности системы.
5. Построить гистограммы времен обработки транзактов
для каждого типа заявок.
6. Проанализировать полученные результаты моделирования и определить оптимальное время поступления заявок
для заданной конфигурации схемы.
Пример выполненной лабораторной работы.
Задана схема из двух терминалов, канала передачи сообщений на ЭВМ и от ЭВМ, ЭВМ, канала к БД и БД. Время
передачи сообщений по любому из каналов на отрезке
[4.9]. Время обработки сообщений на ЭВМ равномерно
распределено на отрезке [10.15].
Текст программы-модели приведен далее.
10 SIMULATE
20 PROBA EQU 480
; установление tвx
149
25 T_TAB TABLE MP4,100,100,5 ; формат таблицы для табулирования
30 GENERATE PROBA
40 ASSIGN 1,1
;определение номера терминала
50 TRANSFER ,METKA
60 GENERATE PROBA
70 ASSIGN 1,2
;определение номера терминала
80 METKA QUEUE QKAN
90 SEIZE KAN
100 DEPART QKAN
110 ADVANCE 65,25
120 RELEASE KAN
130 MARK 4
;отметка времени входа транзакта в очередь к ЭВМ
140 QUEUE QEBM
150 SEIZE EBM
160 DEPART QEBM
170 ADVANCE 125,25
180 RELEASE EBM
190 TABULATE T_TAB ;первая точка табуляции времени пребывания
200 QUEUE QKBD
;транзакта в очереди к ЭВМ и в самой ЭВМ
210 SEIZE KBD
220 DEPART QKBD
230 ADVANCE 65,25
240 RELEASE KBD
250 QUEUE BD
260 SEIZE BD
270 DEPART BD
280 ADVANCE 0
290 RELEASE BD
300 QUEUE QBD
310 SEIZE KBD
320 DEPART QBD
330 ADVANCE 65,35
340 RELEASE KBD
350 MARK 4 ;отметка вхождения в очередь транзакта при движении от
360 QUEUE QEBM ;базы данных
370 SEIZE EBM
380 DEPART QEBM
390 ADVANCE 125,25
400 RELEASE EBM
410 QUEUE QKAN
420 SEIZE KAN
430 DEPART QKAN
440 ADVANCE 65,25
450 RELEASE KAN
455 TABULATE T_TAB
;Табуляция времени пребывания транзактов в
150
ЭВМ
460 TEST E P1,1,TERM2 ; переменные позволят определить количество
470 SAVEVALUE PER1+,1;обработанных заявок с каждого из терминалов
480 TRANSFER ,METKA1 ;пользователей
490 TERM2 SAVEVALUE PER2+,1
500 METKA1 TERMINATE
510 GENERATE 10000 ;выбранное время моделирования
520 TERMINATE 1
Листинг результатов моделирования приведен далее .
GPSS World Simulation Report - lr3.15.1
START TIME
END TIME BLOCKS FACILITIES STORAGES
0.000
10000.000
51
4
0
NAME
VALUE
BD
10008.000
EBM
10005.000
KAN
10003.000
KBD
10007.000
METKA
6.000
METKA1
49.000
PER1
10010.000
PER2
10011.000
PROBA
480.000
QBD
10009.000
QEBM
10004.000
QKAN
10002.000
QKBD
10006.000
TERM2
48.000
T_TAB
10001.000
LABEL
LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1
GENERATE
20
0
0
2
ASSIGN
20
0
0
3
TRANSFER
20
0
0
4
GENERATE
20
0
0
5
ASSIGN
20
0
0
METKA
6
QUEUE
40
0
0
7
SEIZE
40
0
0
8
DEPART
40
0
0
9
ADVANCE
40
0
0
10
RELEASE
40
0
0
11
MARK
40
0
0
12
QUEUE
40
1
0
13
SEIZE
39
0
0
14
DEPART
39
0
0
15
ADVANCE
39
0
0
16
RELEASE
39
0
0
17
TABULATE
39
0
0
18
QUEUE
39
0
0
19
SEIZE
39
0
0
20
DEPART
39
0
0
21
ADVANCE
39
1
0
22
RELEASE
38
0
0
23
QUEUE
38
0
0
24
SEIZE
38
0
0
25
DEPART
38
0
0
26
ADVANCE
38
0
0
27
RELEASE
38
0
0
28
QUEUE
38
0
0
151
29
SEIZE
38
0
0
30
DEPART
38
0
0
31
ADVANCE
38
0
0
32
RELEASE
38
0
0
33
MARK
38
0
0
34
QUEUE
38
1
0
35
SEIZE
37
0
0
36
DEPART
37
0
0
37
ADVANCE
37
1
0
38
RELEASE
36
0
0
39
QUEUE
36
0
0
40
SEIZE
36
0
0
41
DEPART
36
0
0
42
ADVANCE
36
0
0
43
RELEASE
36
0
0
44
TABULATE
36
0
0
45
TEST
36
0
0
46
SAVEVALUE
18
0
0
47
TRANSFER
18
0
0
TERM2
48
SAVEVALUE
18
0
0
METKA1
49
TERMINATE
36
0
0
50
GENERATE
1
0
0
51
TERMINATE
1
0
0
FACILITY ENTRIES UTIL.
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
KAN
76
0.486
63.975 1
0
0
0
0
0
EBM
76
0.936
123.188 1
38
0
0
0
2
KBD
77
0.478
62.085 1
40
0
0
0
0
BD
38
0.000
0.000 1
0
0
0
0
0
QUEUE
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
QKAN
2
0
76
39
0.212
27.920
57.350
0
QEBM
4
2
78
6
1.226
157.238
170.341
0
QKBD
1
0
39
31
0.017
4.351
21.213
0
BD
1
0
38
38
0.000
0.000
0.000
0
QBD
1
0
38
38
0.000
0.000
0.000
0
TABLE
MEAN
STD.DEV.
RANGE
RETRY FREQUENCY CUM.%
T_TAB
314.767 113.433
0
100.000 200.000
10
13.33
200.000 300.000
24
45.33
300.000 400.000
24
77.33
400.000 - _
17
100.00
SAVEVALUE
RETRY
VALUE
PER1
0
18.000
PER2
0
18.000
FEC XN
PRI
BDT
ASSEM CURRENT NEXT PARAMETER
VALUE
40
0
10019.946
40
21
22
1
1.000
4
9645.135
38
0
10079.160
38
37
38
1
1.000
4
9665.276
42
0
10080.000
42
0
1
43
0
10080.000
43
0
4
44
0
20000.000
44
0
50
Выводы по работе. На основании проведенного моделирования заданной конфигурации ВС и обработки результатов имитации видно, что оптимальным временем для поступления заявок является t вх , равное 480 единицам времени. При этом среднем времени поступления заявок длина
очереди равна 2 единицам, а загрузка ЭВМ - порядка 0.93.
Табуляция времен обработки заявок на ЭВМ показала,
152
что среднее время обработки при выбранном времени генерации заявок равно 314.7, из которого только 123 единицы
времени - собственно обработка заявок, а остальное время
расходуется на пребывание в очереди.
Замечание по структуре: быстродействие ЭВМ должно
быть выше, чтобы в целом производительность системы
была выше.
Блок-диаграмма модели приведена на рисунке 6.18.
Рисунок 6.18 - Блок-диаграмма модели
153
6.5 Задание на самостоятельную работу №9.
Построение модели ВС заданной конфигурации.
Определение основных характеристик ВС
Для каждого варианта задания предлагается некоторая
абстрактная конфигурация ВС с различными вариантами
обработки команд, организации памяти и количеством процессоров для выполнения команд. При решении задачи моделирования необходимо описать абстрактными объектами
системы моделирования заданные правила работы системы
и определить зависимости характеристик системы от различных временных характеристик объектов системы.
Методика решения задачи следующая.
1. Написать программу модели для заданного варианта.
2. Выполнить ручной расчет основных характеристик
ЭВМ.
3. Отладить модель.
4. С помощью таблиц и отметок времени движения заявок в модели получить заданные характеристики.
5. Обработать результаты моделирования. Построить
соответствующие зависимости.
6. Сделать выводы по результатам моделирования.
Пример выполнения работы. Построить модель процесса функционирования СЭВМ, выполняющей n программ
в мультипрограммном режиме. В состав СЭВМ входят процессор ЦП и m селекторных каналов СК. Времена обслуживания запросов процессором и каналами - случайные величины, распределенные для процессора по экспоненциальному закону с интенсивностью µ цп и для каналов по равномерному закону в диапазоне t н -t в . Требуется получить коэффициенты загрузки всех устройств, средние длины очередей запросов к ЦП и СК, гистограммы распределения
времен нахождения запросов в очереди и среднее время
между последовательными обращениями к ЦП каждой из
программ.
Дополнительные пояснения к варианту задачи: запросы
к ресурсам обслуживаются на основе относительных приоритетов (приоритет равен условному номеру пославшей
его программы и может принимать значения от 1 до n);
154
очередь к каналам раздельная, обращение к каждому из каналов равновероятно. Значения n = 3, m=2, t н = 20 ms, t в = 90
ms. Исследовать зависимость характеристик для µ цп =
0.002,0.004,0.008 ms -1 . На рисунке 6.19 приведена моделируемая СЭВМ.
СЭВМ
очередь
СК1
очередь
СК2
ЦП
Рисунок 6.19 – Моделируемая СЭВМ
Текст программы-модели приведен далее.
10 SIMULATE
20 TCAN1 TABLE MP1,100,500,10
30 TCAN2 TABLE MP1,100,500,10
40 AAA TABLE MP1,100,200,10
;Таблицы для контроля за временем обработки заявок на участках модели
50 XPDIS FUNCTION RN1,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
60 GENERATE 1,,,1,1
70 ASSIGN 5,100
80 TRANSFER ,INCP
90 GENERATE 1,,,1,2
100 ASSIGN 5,100
110 TRANSFER ,INCP
120 GENERATE 1,,,1,3
130 ASSIGN 5,100
; Раздел описания генерации завершен. В каждом генераторе был задан
транзакт соответствующего приоритета
140 INCP MARK 1
150 QUEUE CP
160 PREEMPT CP,PR ; Процессор обрабатывает приоритет заявок
170 DEPART CP
155
175 ADVANCE 125,FN$XPDIS
180 RETURN CP
190 TRANSFER .5,INCAN1,INCAN2
; Равновероятный выбор канала для всех заявок
200 INCAN1 QUEUE CAN1
210 PREEMPT CAN1,PR
220 DEPART CAN1
230 ADVANCE 550,350
240 RETURN CAN1
; завершение работы CAN1
250 TRANSFER ,CIR
260 INCAN2 QUEUE CAN2
270 PREEMPT CAN2,PR
280 DEPART CAN2
290 ADVANCE 550,350
300 RETURN CAN2
; завершение работы CAN2
310 CIR TEST E PR,1,METKA ; Проверка приоритета заявок
320 SAVEVALUE BB1+,1 ; Переменная для подсчета заявок с приоритетом=1
330 TABULATE TCAN1
340 TRANSFER ,CIRCLE
350 METKA TEST E PR,2,METKA1
360 SAVEVALUE BB2+,1 ;Переменная для подсчета заявок с приоритетом=2
370 TABULATE TCAN2
380 TRANSFER ,CIRCLE
390 METKA1 TABULATE AAA ; Табуляция времени обработки заявки
400 SAVEVALUE BB3+,1 ; Подсчет заявок с приоритетом=3
410 CIRCLE LOOP 5,INCP ; Возврат транзактов
420 TERMINATE 1
Листинг результатов моделирование приведен далее.
GPSS World Simulation Report - lr4.1.1
START TIME
END TIME BLOCKS
0.000
65503.987
38
NAME
VALUE
AAA
10002.000
BB1
10009.000
BB2
10008.000
BB3
10007.000
CAN1
10006.000
CAN2
10005.000
CIR
27.000
CIRCLE
37.000
CP
10004.000
INCAN1
16.000
INCAN2
22.000
INCP
9.000
156
FACILITIES
3
STORAGES
0
METKA
METKA1
TCAN1
TCAN2
XPDIS
31.000
35.000
10000.000
10001.000
10003.000
LABEL
LOC BLOCK TYPE
ENTRY COUNT CURRENT COUNT RETRY
1
GENERATE
1
0
0
2
ASSIGN
1
0
0
3
TRANSFER
1
0
0
4
GENERATE
1
0
0
5
ASSIGN
1
0
0
6
TRANSFER
1
0
0
7
GENERATE
1
0
0
8
ASSIGN
1
0
0
INCP
9
MARK
179
0
0
10
QUEUE
179
0
0
11
PREEMPT
179
0
0
12
DEPART
179
0
0
13
ADVANCE
179
0
0
14
RETURN
179
0
0
15
TRANSFER
179
0
0
INCAN1
16
QUEUE
89
0
0
17
PREEMPT
89
0
0
18
DEPART
89
0
0
19
ADVANCE
89
1
0
20
RETURN
88
0
0
21
TRANSFER
88
0
0
INCAN2
22
QUEUE
90
0
0
23
PREEMPT
90
0
0
24
DEPART
90
0
0
25
ADVANCE
90
1
0
26
RETURN
89
0
0
CIR
27
TEST
177
0
0
28
SAVEVALUE
31
0
0
29
TABULATE
31
0
0
30
TRANSFER
31
0
0
METKA
31
TEST
146
0
0
32
SAVEVALUE
46
0
0
33
TABULATE
46
0
0
34
TRANSFER
46
0
0
METKA1
35
TABULATE
100
0
0
36
SAVEVALUE
100
0
0
CIRCLE
37
LOOP
177
0
0
38
TERMINATE
1
0
0
FACILITY ENTRIES UTIL.
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
CP
179
0.347
127.034 1
0
0
0
0
0
CAN2
90
0.756
550.196 1
1
0
0
0
0
CAN1
89
0.720
529.913 1
2
0
0
0
0
QUEUE
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
CP
2
0
179
154
0.051
18.606
133.216
0
CAN2
2
0
90
64
0.261
189.880
657.279
0
CAN1
2
0
89
65
0.276
203.403
754.285
0
TABLE
MEAN
STD.DEV.
RANGE
RETRY FREQUENCY CUM.%
TCAN1
2091.939 1293.318
0
100.000 600.000
2
6.45
600.000 1100.000
3
16.13
1100.000 1600.000
4
29.03
1600.000 2100.000
11
64.52
2100.000 2600.000
4
77.42
2600.000 3100.000
4
90.32
3100.000 3600.000
0
90.32
3600.000 4100.000
1
93.55
4100.000 - _
2
100.00
TCAN2
1396.376 794.577
0
157
100.000
600.000
1100.000
1600.000
2100.000
2600.000
AAA
655.030
SAVEVALUE
BB3
BB2
BB1
FEC XN
PRI
2
2
1
1
-
600.000
1100.000
1600.000
2100.000
2600.000
3100.000
9
10
11
7
5
4
19.57
41.30
65.22
80.43
91.30
100.00
247.988
0
100.000 300.000
3
3.00
300.000 500.000
31
34.00
500.000 700.000
28
62.00
700.000 900.000
17
79.00
900.000 1100.000
16
95.00
1100.000 1300.000
4
99.00
1300.000 1500.000
1
100.00
RETRY
VALUE
0
100.000
0
46.000
0
31.000
BDT
ASSEM CURRENT NEXT PARAMETER
VALUE
65536.432
2
19
20
1
64234.311
5
54.000
66074.939
1
25
26
1
64851.103
5
69.000
Из листинга результатов моделирования проанализируем наиболее существенные разделы: состояние устройств,
очередей и таблицы, определяющие обработку заявок с
разными приоритетами. Количество обработанных заявок
каждым устройством отражается в разделе Entries.
Переменные ВВ1, ВВ2, ВВЗ показывают распределение
заявок по приоритетам при их обработке: транзакты с приоритетом 3 в заданном количестве 100, с приоритетом 2 41, а с приоритетом 1 - 25. Соответственно распределено и
время их обработки, что отражено в таблицах TCAN1,
TCAN2, ААА. Приведенные результаты получены для интенсивности обработки транзактов равной, 0.008. Все временные параметры модели соответственно увеличены в 10
раз, чтобы значения времен были целыми. Для сопоставления результатов моделирования с реальными характеристиками заданной ВС все времена надо уменьшить в 10 раз.
Измерения длин очередей и загрузки процессора для
заданных в работе значений µ цп показали, что соотношение
по приоритетам при разных интенсивностях не меняется,
но распределение длин очередей к процессору и каналам
показывает, что быстродействие каналов должно быть
больше по сравнению с заданным.
Блок-диаграмма модели приведена на рисунке 6.20.
158
A
GENERATE
1,,,1,1
C
B
MARK
1
PR,2
METKA1
TRANSFER
CIR
5,100
QUEUE
CP
QUEUE
ASSIGN
CAN2
SAVEVALUE
PREEMPT
CP,PR
BB2+,1
PREEMPT
CAN2,PR
TRANSFER
,INCP
DEPART
CP
TCAN2
DEPART
CAN2
ADVANCE
125,FN$XPDIS
ADVANCE
550,350
GENERATE
1,,,1,2
TRANSFER
,CIRCLE
RETURN
CP
RETURN
CAN2
5,100
AAA
ASSIGN
TRANSFER
.5,INCAN1,INCAN2
PR,1
METKA
TRANSFER
,INCP
QUEUE
SAVEVALUE
CAN1
BB3+,1
SAVEVALUE
A
PREEMPT
CAN1,PR
BB1+,1
GENERATE
1,,,1,3
DEPART
CAN1
TCAN1
5,100
TERMINATE
1
ADVANCE
550,350
TRANSFER
,CIRCLE
ASSIGN
RETURN
CAN1
A
C
B
Рисунок 6.20 - Блок-диаграмма модели
159
6.6 Задание на самостоятельную работу №10. Исследование на имитационной модели процесса передачи
данных в информационно-вычислительной сети
Цель работы - изучение особенностей построения моделей информационных процессов и их машинной реализации
с использованием языка GPSS, исследование вероятностновременных характеристик процесса функционирования сети передачи данных методом имитационного моделирования.
Объектом исследования в данной лабораторной работе
является СПД, осуществляющая передачу пакетов между
узлами коммутации информационно-вычислительной сети
(ИВС).
Данные − это факты и(или) понятия, описанные в формализованном виде. В ИВС различают пользовательские
(информационные) и управляющие (служебные) данные.
Пользовательские данные − это данные, вводимые пользователями в ИВС или получаемые ими из сети. Управляющие данные − это данные, используемые для управления
работой ИВС.
Сеть представляет собой совокупность средств передачи и распределения данных. Выделяют магистральную (базовую) и терминальную (абонентскую) части ИВС. Магистральная часть ИВС служит для передачи данных между вычислительными комплексами, ресурсы которых доступны
для пользователей сети, и включает узлы коммутации (УК)
и соединяющие их каналы связи (КС). Узел коммутации
выполняет функции маршрутизации, передачи и коммутации данных и имеет для этого соответствующие аппаратнопрограммные средства. Канал связи представляет собой совокупность технических средств и среды распространения,
которая обеспечивает доставку данных в требуемую точку
сети.
Терминальная часть ИВС используется для подключения непосредственно либо через концентраторы нагрузки
абонентских пунктов и терминалов пользователей. Концентратор — устройство, обеспечивающее сопряжение входных низкоскоростных каналов связи с выходным высоко160
скоростным каналом связи. Абонентские пункты оборудуются аппаратурой передачи данных и устройствами вводавывода, т. е. терминалами, с помощью которых пользователи могут осуществлять доступ к вычислительным ресурсам
и базам данных сети. Обычно терминалы группируются и
подсоединяются к терминальной сети. В качестве терминалов могут быть использованы как простейшие устройства
ввода-вывода (телетайпы, дисплеи и т. п.), так и персональные (интеллектуальные) терминалы.
В рассматриваемой ИВС реализован режим коммутации
пакетов, представляющий такой способ передачи, при котором данные из сообщений пользователей разбиваются на
отдельные пакеты. Маршруты передачи пакетов в сети от
источника к получателю определяются в каждом УК, куда
они поступают. Под сообщениями понимается конечная последовательность символов, имеющая смысловое содержание. Пакет — это блок данных с заголовком, представленный в установленном формате и имеющий ограниченную
максимальную длину. Обычно в ИВС используются пакеты
постоянной длины, содержащие от 500 до 2000 двоичных
знаков (бит). Отметим, что ИВС с коммутацией пакетов
обладают высокой эффективностью благодаря возможности
быстрой перестройки путей передачи данных (маршрутизации) при возникновении перегрузок и повреждении элементов ИВС. Эффективность различных вариантов построения ИВС и ее фрагментов оценивается средними временами доставки данных пользователям и вероятностями
отказа в установлении в данный момент времени требуемого пользователю соединения. Совокупность таких показателей для оценки эффективности процесса функционирования ИВС принято называть ее вероятностно-временными
характеристиками.
Для упрощения объекта моделирования (в данном случае из-за необходимости упрощения учебного примера с
точки зрения его обозримости и, что особенно важно,
уменьшения машинных затрат на его реализацию) рассмотрим фрагмент ИВС, представляющий процесс взаимодействия двух соседних УК сети, которые обозначим УК1 и УК2.
Эти узлы соединены между собой дуплексным дискретным
161
Передающая часть
Приемная часть
каналом связи (ДКС), позволяющим одновременно передавать данные во встречных направлениях, т. е. имеется два
автономных однонаправленных ДКС: К1 и К2.
Структурная схема варианта УК представлена на рисунке 6.21, где ВхБН и ВыхБН — входные и выходные буферные накопители соответственно; К — коммутаторы; ЦП
— центральный процессор. Данный УК функционирует
следующим образом. После поступления пакета из одного
из входных КС узла он помещается в ВхБН. Затем ЦП на
основании заголовка пакета и хранимой в УК маршрутной
таблицы определяет требуемое направление дальнейшей
передачи пакета и помещает его в соответствующий ВыхБН
для последующей передачи по выходному КС.
Рисунок 6.21 - Структурная схема варианта УК
Структурная схема варианта ДКС с решающей обратной
связью показана на рис. 6.22, где КУ и ДКУ — соответственно кодирующее и декодирующее устройства; УУК —
устройство управления каналом; КА — каналообразующая
аппаратура. На передающей стороне пакет из ВыхБН узла
коммутации попадает в КУ, где производится кодирование,
т. е. внесение избыточности, необходимой для обеспечения
помехоустойчивой передачи по КС. Согласование с конкретной средой распространения реализуется КА (например, организация коротковолнового радиоканала через
спутник — ретранслятор для СПД или оптического канала
с использованием световода для локальной СПД). На приемной стороне из КА пакет попадает в ДКУ, которое настроено на обнаружение или исправление ошибок. Все
функции управления КУ, ДКУ (в том числе и принятие решений о необходимости повторного переспроса копии па162
Линии связи
Узел коммутации
кета с передающего УК) и взаимодействия с центральной
частью узла реализуется УКК, которое является либо автономным, либо представляет собой часть процессов, выполняемых ЦП узла.
Процесс функционирования СПД заключается в следующем. Пакеты данных поступают в исследуемый фрагмент по линии связи. Считается, что интервалы между моментами поступления распределены по экспоненциальному
закону. После обработки в центральном процессоре они
поступают в выходной накопитель. Далее в порядке очереди копия пакета передается по дискретному каналу связи и
поступает во входной накопитель второго узла. После обработки в центральном процессоре второго узла пакет данных передается в выходную линию (3 или 4) и формируется
подтверждение приема, которое в виде короткого пакета
поступает в выходной накопитель для передачи в исходный
узел. После приема подтверждения в исходном узле осуществляется уничтожение пакета и подтверждения.
Рисунок 6.22 – Структурная схема варианта ДКС
Задание к работе. Исследуемый фрагмент СПД, представленный в виде композиции Q-схем, приведен на рис.
6.23, обозначения которого соответствуют введенным ранее.
Исходные данные для моделирования: средний интервал между пакетами данных — 25 ед. вр; емкости накопителей — 20 ед.памяти; время передачи пакета - данных по
ДКС — 20 ед. вр; время передачи подтверждения по ДКС
— 1 ед. вр; время обработки пакета в ЦП — 2 ед. вр.
163
Рисунок 6.23 - Исследуемый фрагмент СПД
Текст исходной программы приведен далее, где CPUJ −
обозначение
j-го
центрального
процессора,
DCHL
−обозначение L-го дискретного канала связи.
SIMULATE
0001 EXPON
FUNCTION
RN1,C24
0,0/.100,.104/.200,.222/.300,.355/.400,.509/.500,.690/.600,.915/.700,1.200
.750,1.380/.800,1.600/.840,1.830/.880,2.120/.900,2.300/.920,2.520/.940,2.810/.
950,.990/.960,3.200/.970,3.500/.980,3.900/.990,4.600/.995,5.300/.998,6.200/.999,
7/1,8
0008 BUF1 STORAGE
20
0009 BUF2
STORAGE
20
0010 BUF3
STORAGE
20
0011 BUF4
STORAGE
20
0008 TAB1 TABLE
M1,25,25,15
0009 MET1
ENTER
BUF4,1
0010 SEIZE
CPU1
0015 ADVANCE
2
0020 LEAVE BUF4,1
0025 RELEASE
CPU1
0030 ENTER BUF1,1
0035 TEST E P2,1,MET4
0040 TEST E P1,20,COP1
0045 SPLIT
1,NEX1
0046 MARK
0050 COP1
MATCH
COP1
0055 LEAVE BUF1,1
0060 ASSEMBLE
2
0065 TABULATE
TAB1
0070 TERMINATE
0075 MET4
SEIZE
DCH1
0080 LEAVE BUF1,1
164
0085 TRANSFER
0090 NEX1
SEIZE
0095 DEX1
ADVANCE
0100 RELEASE
0105 ASSIGN 1,1
0110 МЕТ2
ENTER
0115 SEIZE
CPU2
0120 ADVANCE
0125 LEAVE BUF2,1
0130 RELEASE
0135 ENTER BUF3,1
0140 TEST E P2,2,MET5
0145 TEST E P1,20,COP2
0150 SPLIT
1,NEX2
0155 COP2
MATCH
0160 LEAVE BUF3,1
0165 TERMINATE
0170 MET5
SEIZE
0175 LEAVE BUF3,1
0180 TRANSFER
0185 NEX2
SEIZE
0190 DEX2
ADVANCE
0195 RELEASE
0200 ASSIGN 1,1
0205 TRANSFER
0210 GEN2
GENERATE
0215 ASSIGN 1,20
0220 ASSIGN 2,2
0225 TRANSFER
0230 GEN1
GENERATE
0235 ASSIGN 1,20
0240 ASSIGN 2,1
0245 TRANSFER
0250 GENERATE
0255 TERMINATE
0260 START 1
,DEX1
DCH1
P1
DCH1
BUF2,1
2
CPU2
COP2
DCH2
,DEX2
DCH2
P1
DCH2
,MET1
25,FN$EXPON
,MET2
25,FN$EXPON
,MET1
1,,10000
1
При выполнении задания данной лабораторной работы
необходимо добавить к тексту исходной GPSS-программы,
приведенной выше, операторы, обеспечивающие при моделировании процесса передачи информации в СПД следующее:
1) определение функции распределения времени передачи пакетов сообщений между УК;
165
2) получение графиков загрузки выходных накопителей;
3) определение вероятностей переполнения накопителей;
4) получение соотношений пакетов и подтверждений во
входных и выходных накопителях;
5) получение графика изменения длины очереди пакетов в выходном накопителе;
6) определение функций распределения времени передачи подтверждений между УК;
7) определение вероятности передачи пакетов из выходной очереди во входную при переполнении выходной
очереди;
8) получение функции распределения времени ожидания подтверждения пакетом в выходной очереди.
Блок-диаграмма GPSS-модели процесса передачи приведена на рисунке 6.24.
Порядок выполнения работы следующий.
1. Составить по заданному варианту блок-диаграмму
GPSS и программу на языке GPSS.
2. Провести имитационный эксперимент на ПЭВМ с моделью процесса передачи данных для получения исследуемых вероятностно-временных характеристик
Пример выполнения работы. Пусть необходимо выполнить п. 1 задания. Блок-диаграмма модели процесса передачи информации в СПД, представленной в виде Qсхемы показана на рисунке 6.24, а текст соответствующей
GPSS-программы приведен ранее.
166
Рисунок 6.24 - Блок-диаграмма GPSS-модели процесса
передачи
.
167
Гистограмма распределения времени передачи пакета
данных между узлами УК1 и УК2 СПД показана на рисунке
6.25.
Рисунок 6.25 - Гистограмма распределения времени передачи пакета данных
Отчет о работе должен содержать:
1) задание и исходные данные по заданному варианту
лабораторной работы;
2) краткое описание используемых технических и программных средств;
3) обоснование принимаемых решений;
4) текст результирующих программ и окончательные
результаты их решения, выводы по результатам моделирования.
Листинг результатов моделирования приведен далее.
GPSS World Simulation Report - lr5.1.1
START TIME
END TIME BLOCKS
0.000
10000.000
52
NAME
VALUE
BUF1
10001.000
BUF2
10002.000
BUF3
10003.000
BUF4
10004.000
COP1
11.000
COP2
32.000
CPU1
10006.000
CPU2
10008.000
DCH1
10007.000
DCH2
10009.000
DEX1
20.000
DEX2
39.000
GEN1
47.000
GEN2
43.000
MET1
1.000
168
FACILITIES
4
STORAGES
4
MET2
MET4
MET5
NEX1
NEX2
TAB1
XPDIS
LABEL
MET1
COP1
MET4
NEX1
DEX1
MET2
COP2
MET5
NEX2
DEX2
GEN2
GEN1
52
FACILITY
CPU1
DCH1
ENTRIES
1201
797
LOC BLOCK TYPE
1
ENTER
2
SEIZE
3
ADVANCE
4
LEAVE
5
RELEASE
6
ENTER
7
TEST
8
TEST
9
SPLIT
10
MARK
11
MATCH
12
LEAVE
13
ASSEMBLE
14
TABULATE
15
TERMINATE
16
SEIZE
17
LEAVE
18
TRANSFER
19
SEIZE
20
ADVANCE
21
RELEASE
22
ASSIGN
23
ENTER
24
SEIZE
25
ADVANCE
26
LEAVE
27
RELEASE
28
ENTER
29
TEST
30
TEST
31
SPLIT
32
MATCH
33
LEAVE
34
TERMINATE
35
SEIZE
36
LEAVE
37
TRANSFER
38
SEIZE
39
ADVANCE
40
RELEASE
41
ASSIGN
42
TRANSFER
43
GENERATE
44
ASSIGN
45
ASSIGN
46
TRANSFER
47
GENERATE
48
ASSIGN
49
ASSIGN
50
TRANSFER
51
GENERATE
TERMINATE
UTIL.
0.240
0.849
23.000
16.000
35.000
19.000
38.000
10005.000
10000.000
ENTRY COUNT CURRENT COUNT RETRY
1201
0
0
1201
0
0
1201
0
0
1201
0
0
1201
0
0
1201
0
0
1201
0
0
810
0
0
406
0
0
406
0
0
810
2
0
808
0
0
808
0
0
404
0
0
404
0
0
391
0
0
391
0
0
391
0
0
406
0
0
797
1
0
796
0
0
796
0
0
1189
1
0
1188
0
0
1188
1
0
1187
0
0
1187
0
0
1187
0
0
1187
1
0
782
0
0
393
0
0
782
4
0
778
0
0
778
0
0
404
0
0
404
0
0
404
0
0
392
0
0
796
1
0
795
0
0
795
0
0
795
0
0
393
0
0
393
0
0
393
0
0
393
0
0
406
0
0
406
0
0
406
0
0
406
0
0
1
0
0
1
0
0
AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
2.000 1
0
0
0
0
0
10.654 1
1601
0
0
0
0
169
CPU2
DCH2
1188
796
STORAGE
BUF1
BUF2
BUF3
BUF4
TABLE
TAB1
FEC XN
1598
1584
0.238
0.824
2.000
10.355
CAP. REM. MIN. MAX.
20
18
0
20
20
18
0
5
20
15
0
20
20
20
0
5
MEAN
109.786
1
1
1584
1597
ENTRIES AVL.
1201
1
1189
1
1187
1
1201
1
STD.DEV.
54.912
25.000
50.000
75.000
100.000
125.000
150.000
175.000
200.000
225.000
250.000
AVE.C.
5.944
0.311
5.714
0.313
RANGE
-
50.000
75.000
100.000
125.000
150.000
175.000
200.000
225.000
250.000
275.000
CURRENT
0
25
0
0
PRI
0
0
BDT
10000.366
10000.368
ASSEM
1598
1577
NEXT
43
26
1602
1597
0
0
10001.000
10001.757
1602
1594
0
39
51
40
1601
0
10019.878
1591
20
21
1600
0
10022.566
1600
0
47
0
0
0
0
1
2
UTIL. RETRY DELAY
0.297
0
0
0.016
0
0
0.286
0
0
0.016
0
0
RETRY FREQUENCY CUM.%
0
58
14.36
68
31.19
72
49.01
58
63.37
53
76.49
40
86.39
27
93.07
15
96.78
11
99.50
2
100.00
PARAMETER
VALUE
1
2
1.000
2.000
1
2
1
2
20.000
2.000
20.000
1.000
6.7 Задание на самостоятельную работу №11.
Исследование на имитационной модели процесса функционирования локальной вычислительной сети
ЛВС состоит из сервера и 8 рабочих станций. Поток
заявок от рабочей станции распределен по закону Пуассона
со средним интервалом 15, 12, 17, 20, 10с. Время обработки заявки распределено по нормальному закону с математическим ожиданием 18, 16, 19, 23, 15 с и стандартным отклонением 3, 2, 3, 1, 2 с. Сервер обрабатывает одновременно до 8 заявок. На каждой рабочей станции создается очередь в 1 заявку, новые заявки от
пользователей не
принимаются рабочими станциями до передачи существующей заявки на сервер. Повторно заявка посылается на
сервер через промежуток времени, распределенный по
нормальному закону со средним 18 с и стандартным отклонением 3.
170
Пример выполнения задания. Текст GPSS-программы
приведен далее.
SERVER
STORAGE
8
GENERATE
15,FN$EXPON
ASSIGN WS,1
TEST L Q$QW1,1,REFUSE
QUEUE QW1
TRANSFER
,PROC
GENERATE
12,FN$EXPON
ASSIGN WS,2
TEST L Q$QW2,1,REFUSE
QUEUE QW2
TRANSFER
,PROC
GENERATE
12,FN$EXPON
ASSIGN WS,6
TEST L Q$QW6,1,REFUSE
QUEUE QW6
TRANSFER
,PROC
GENERATE
17,FN$EXPON
ASSIGN WS,3
TEST L Q$QW3,1,REFUSE
QUEUE QW3
TRANSFER
,PROC
GENERATE
17,FN$EXPON
ASSIGN WS,7
TEST L Q$QW7,1,REFUSE
QUEUE QW7
TRANSFER
,PROC
GENERATE
20,FN$EXPON
ASSIGN WS,4
TEST L Q$QW4,1,REFUSE
QUEUE QW4
TRANSFER
,PROC
GENERATE
20,FN$EXPON
ASSIGN WS,8
TEST L Q$QW8,1,REFUSE
QUEUE QW8
TRANSFER
,PROC
GENERATE
10,FN$EXPON
ASSIGN WS,5
TEST L Q$QW5,1,REFUSE
QUEUE QW5
PROC GATE SF SERVER,PROCESS
171
ADVANCE
(NORMAL(1,18,3)) ; retry delay
TRANSFER
,PROC
PROCESS
ENTER
SERVER
TEST E P$WS,1,TEST2
DEPART QW1
ADVANCE
(NORMAL(1,18,3))
;1
TRANSFER
,COMPLETED
TEST2 TEST E P$WS,2,TEST6
DEPART QW2
TRANSFER
,PROC2
TEST6 TEST E P$WS,6,TEST3
DEPART QW6
PROC2
ADVANCE
(NORMAL(1,16,2))
;2и6
TRANSFER
,COMPLETED
TEST3 TEST E P$WS,3,TEST7
DEPART QW3
TRANSFER
,PROC3
TEST7 TEST E P$WS,7,TEST4
DEPART QW7
PROC3
ADVANCE
(NORMAL(1,19,3))
;3и7
TRANSFER
,COMPLETED
TEST4 TEST E P$WS,4,TEST8
DEPART QW4
TRANSFER
,PROC4
TEST8 TEST E P$WS,8,PROC5
DEPART QW8
PROC4
ADVANCE
(NORMAL(1,23,1))
;4и8
TRANSFER
,COMPLETED
PROC5
DEPART
QW5
ADVANCE
(NORMAL(1,15,2))
COMPLETED LEAVE
SERVER
QUEUE PROCESSED
; подсчёт обработанных
TERMINATE
REFUSE
QUEUE
REFUGEE ; подсчёт отброшенных
TERMINATE
GENERATE
28800
; таймер
TERMINATE
1
EXPON
FUNCTION RN2,C24
0,0/0.1,0.104/0.2,0.222/0.3,0.355/0.4,0.509
0.5,0.69/0.6,0.915/0.7,1.2/0.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
172
Оценить загрузку сервера за 8 часов работы. Подсчитать общее количество обработанных и необработанных
заявок.
START TIME
0.000
QUEUE
QW7
QW1
QW6
QW3
QW2
QW5
QW4
REFUGEE
PROCESSED
QW8
STORAGE
SERVER
END TIME
28800.000
BLOCKS
77
FACILITIES
0
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
1
0
1146
761
0.315
7.916
1
1
1279
866
0.324
7.299
1
0
1444
951
0.409
8.161
1
0
1175
792
0.306
7.497
1
1
1524
1029
0.392
7.402
1
0
1670
1147
0.412
7.097
1
1
1044
688
0.286
7.881
5530 5530
5530
0 2741.028 14275.157
10293 10293 10293
0 5125.742 14341.920
1
0
1022
701
0.264
7.448
CAP. REM. MIN. MAX.
8
0
0
8
ENTRIES AVL.
10301
1
STORAGES
1
AVE.(-0) RETRY
23.562
0
22.604
0
23.905
0
23.001
0
22.788
0
22.660
0
23.113
0
14275.157
0
14341.920
0
23.714
0
AVE.C. UTIL. RETRY DELAY
6.484 0.811
0
0
Оценить, при каком минимальном значении среднего
интервала поступления заявок от первой станции сервер не
справится с нагрузкой. Остальные параметры не изменять.
При среднем времени поступления заявок с WS1 = 4 с.
число отброшенных заявок примерно равно числу обработанных (~10500).
Оценить, при каком максимальном значении среднего времени обслуживания заявок, поступающих от первой
станции, сервер не справится с нагрузкой. Остальные параметры не изменять.
При среднем времени обработки заявок с WS1=78 с.
число отброшенных заявок примерно равно числу обработанных (~7900).
Блок-диаграмма GPSS-модели приведена на рисунке
6.26.
173
Рисунок 6.26 – Блок-диаграмма GPSS-модели
174
6.8 Задание на самостоятельную работу №12. Исследование на имитационной модели процесса функционирования локальной вычислительной сети
Локальная вычислительная сеть (ЛВС) состоит из 8 рабочих станций, соединенных в кольцевую структуру. Поток
заявок от каждой станции - пуассоновский со средними интервалами соответственно 10, 15, 18 и 20 секунд. По сети
циркулирует маркер, поочередно дающий каждой станции
право на использование канала для передачи данных. При
поступлении маркера рабочая станция проверяет, поступил
ли вместе с ним пакет. Если маркер пришел без пакета, то
если станция имеет в этот момент свой пакет для передачи,
то она передает его вместе с маркером. При отсутствии пакета для передачи маркер передается на следующую станцию. Если маркер пришел с пакетом, то станция анализирует пакет, сравнивая его адрес отправителя со своим адресом. Если эти адреса совпадают, то станция анализирует
пакет, прошедший через все кольцо, с хранимым у нее экземпляром того же пакета. Время анализа распределено по
равномерному закону со средним значением 10 ±2 секунды.
Вероятность искажения пакета =0,1. Если пакет искажен,
станция передает его повторно вместе с маркером. Если не
искажен, транслируется маркер без пакета. Время передачи
пакета между станциями распределено по нормальному закону с мат. ожиданием 5 секунд и со стандартным отклонением 2 секунды.
Из-за ограничения в 150 блоков, связанного с GPSS
World версии Student, удалось реализовать только 7 из 8
станций.
Текст GPSS программы приведен далее.
GENERATE
,,,1
; маркер
ASSIGN DATA,0
; без пакета
ASSIGN HOST,0
; без адреса
ASSIGN ERR,0.1
; вероятность ошибки
; 1 станция
WKS1 TEST E P$DATA,1,FREETK1 ; маркер с данными?
TEST E P$HOST,1,WKS2
; мои данные?
175
ADVANCE
10,2
; анализ
TRANSFER
P$ERR,,WKS2 ; повторная передача с
вероятностью ERR
ASSIGN DATA,0
; освобождаем маркер
ASSIGN HOST,0
QUEUE SERVICED
TRANSFER
,WKS2 ; передача пустого маркера
FREETK1
GATE SNE
PKTBUF1,WKS2 ; есть ли данные для
передачи
LEAVE PKTBUF1
; забрали из буфера
ASSIGN DATA,1
; маркер с данными
ASSIGN HOST,1
; с нашим адресом
TRANSFER
,WKS2
; ушёл по кольцу
GENERATE
10,FN$EXPON ; пакеты от первой станции
GATE SNF
PKTBUF1,REFUSE ; проверка буфера
на занятость
ENTER PKTBUF1
; пакет помещается в буфер
TERMINATE
; 2 станция
WKS2 ADVANCE
(NORMAL(1,5,1))
; задержка передачи
TEST E P$DATA,1,FREETK2
TEST E P$HOST,2,WKS3
ADVANCE
10,2
TRANSFER
P$ERR,,WKS3
ASSIGN DATA,0
ASSIGN HOST,0
QUEUE SERVICED
TRANSFER
,WKS3
FREETK2
GATE SNE
PKTBUF2,WKS3
LEAVE PKTBUF2
ASSIGN DATA,1
ASSIGN HOST,2
TRANSFER
,WKS3
GENERATE
15,FN$EXPON
GATE SNF
PKTBUF2,REFUSE
ENTER PKTBUF2
TERMINATE
; 3 станция
WKS3 ADVANCE
(NORMAL(1,5,1))
TEST E P$DATA,1,FREETK3
TEST E P$HOST,3,WKS4
ADVANCE
10,2
TRANSFER
P$ERR,,WKS4
176
ASSIGN DATA,0
ASSIGN HOST,0
QUEUE SERVICED
TRANSFER
,WKS4
FREETK3
GATE SNE
PKTBUF3,WKS4
LEAVE PKTBUF3
ASSIGN DATA,1
ASSIGN HOST,3
TRANSFER
,WKS4
GENERATE
18,FN$EXPON
GATE SNF
PKTBUF3,REFUSE
ENTER PKTBUF3
TERMINATE
; 4 станция
WKS4 ADVANCE
(NORMAL(1,5,1))
TEST E P$DATA,1,FREETK4
TEST E P$HOST,4,WKS5
ADVANCE
10,2
TRANSFER
P$ERR,,WKS5
ASSIGN DATA,0
ASSIGN HOST,0
QUEUE SERVICED
TRANSFER
,WKS5
FREETK4
GATE SNE
PKTBUF4,WKS5
LEAVE PKTBUF4
ASSIGN DATA,1
ASSIGN HOST,4
TRANSFER
,WKS5
GENERATE
20,FN$EXPON
GATE SNF
PKTBUF4,REFUSE
ENTER PKTBUF4
TERMINATE
; 5 станция
WKS5 ADVANCE
(NORMAL(1,5,1))
TEST E P$DATA,1,FREETK5
TEST E P$HOST,5,WKS6
ADVANCE
10,2
TRANSFER
P$ERR,,WKS6
ASSIGN DATA,0
ASSIGN HOST,0
QUEUE SERVICED
TRANSFER
,WKS6
FREETK5
GATE SNE
PKTBUF5,WKS6
LEAVE PKTBUF5
ASSIGN DATA,1
177
ASSIGN HOST,5
TRANSFER
,WKS6
GENERATE
10,FN$EXPON
GATE SNF
PKTBUF5,REFUSE
ENTER PKTBUF5
TERMINATE
; 6 станция
WKS6 ADVANCE
(NORMAL(1,5,1))
TEST E P$DATA,1,FREETK6
TEST E P$HOST,6,WKS7
ADVANCE
10,2
TRANSFER
P$ERR,,WKS7
ASSIGN DATA,0
ASSIGN HOST,0
QUEUE SERVICED
TRANSFER
,WKS7
FREETK6
GATE SNE
PKTBUF6,WKS7
LEAVE PKTBUF6
ASSIGN DATA,1
ASSIGN HOST,6
TRANSFER
,WKS7
GENERATE
15,FN$EXPON
GATE SNF
PKTBUF6,REFUSE
ENTER PKTBUF6
TERMINATE
; 7 станция
WKS7 ADVANCE
(NORMAL(1,5,1))
TEST E P$DATA,1,FREETK7
TEST E P$HOST,7,WKS8
ADVANCE
10,2
TRANSFER
P$ERR,,WKS8
ASSIGN DATA,0
ASSIGN HOST,0
QUEUE SERVICED
TRANSFER
,WKS8
FREETK7
GATE SNE
PKTBUF7,WKS8
LEAVE PKTBUF7
ASSIGN DATA,1
ASSIGN HOST,7
TRANSFER
,WKS8
GENERATE
18,FN$EXPON
GATE SNF
PKTBUF7,REFUSE
ENTER PKTBUF7
TERMINATE
WKS8 ADVANCE
(NORMAL(1,5,1))
178
TRANSFER
,WKS1
REFUSE
QUEUE
REFUGEE
TERMINATE
; таймер
GENERATE
28800
TERMINATE 1
PKTBUF1
STORAGE
1
PKTBUF2
STORAGE
1
PKTBUF3
STORAGE
1
PKTBUF4
STORAGE
1
PKTBUF5
STORAGE
1
PKTBUF6
STORAGE
1
PKTBUF7
STORAGE
1
PKTBUF8
STORAGE
1
EXPON
FUNCTION RN1,C24
0,0/0.1,0.104/0.2,0.222/0.3,0.355/0.4,0.509
0.5,0.69/0.6,0.915/0.7,1.2/0.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
; маркер по кольцу
Листинг результатов моделирования приведен далее.
START TIME
END TIME BLOCKS FACILITIES STORAGES
0.000
28800.000
135
0
8
QUEUE
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
REFUGEE
13995 13995 13995
0 7019.569 14445.416 14445.416
0
SERVICED
127 127
127
0
63.962 14504.838 14504.838
0
STORAGE
PKTBUF1
PKTBUF2
PKTBUF3
PKTBUF4
PKTBUF5
PKTBUF6
PKTBUF7
PKTBUF8
CAP. REM. MIN. MAX.
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
0
ENTRIES AVL.
19
1
19
1
19
1
19
1
20
1
20
1
19
1
0
1
AVE.C.
0.994
0.992
0.988
0.992
0.993
0.993
0.985
0.000
UTIL. RETRY DELAY
0.994
0
0
0.992
0
0
0.988
0
0
0.992
0
0
0.993
0
0
0.993
0
0
0.985
0
0
0.000
0
0
Определить параметры сети при увеличении вероятности искажения пакета в 8 раз (P$ERR = 0.8).
QUEUE
REFUGEE
SERVICED
START TIME
END TIME BLOCKS FACILITIES STORAGES
0.000
28800.000
135
0
8
MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME
AVE.(-0) RETRY
13995 13995 13995
0 7019.569 14445.416 14445.416
0
127 127
127
0
63.962 14504.838 14504.838
0
179
Так как программа модели состоит из групп блоков, а
каждая из групп необходима для моделирования работы
рабочей станции, то на рисунке 6.27 приведена блокдиаграмма моделирования работы одной рабочей станции.
Рисунок 6.27 - Блок-диаграмма моделирования работы рабочей станции
180
6.9 Варианты заданий к курсовому проектированию
Задание 1.
Система передачи данных обеспечивает передачу пакетов данных из пункта А в пункт С через транзитный пункт
В. В пункт А пакеты поступают через 10 ± 5 мс. Здесь они
буферируются в накопителе емкостью 20 пакетов и передаются по любой из двух линий АВ1 за время 20 мс или
АВ2 за время 20 ± 5 мс. В пункте В они снова буферируются в накопителе емкостью 25 пакетов и далее передаются
по линиям ВС1 (за 25+3 мс) и ВС2 (за 25 мс). Причем пакеты из АВ1 поступают в ВС1, а из АВ2 - в ВС2. Чтобы не
было переполнения накопителя, в пункте В вводится пороговое значение его емкости 20 пакетов. При достижении
очередью порогового значения происходит подключение
резервной аппаратуры и время передачи снижается для линий ВС1 и ВС2 до 15 мс.
Смоделировать прохождение через систему передачи
данных 500 пакетов. Определить вероятность подключения
резервной аппаратуры и характеристики очереди пакетов в
пункте В. В случае возможности его переполнения определить необходимое для нормальной работы пороговое значение емкости накопителя.
Задание 2.
Система обработки информации содержит мультиплексный канал и три ЭВМ. Сигналы от датчиков поступают
на вход канала через интервалы времени 10 ± 5 мкс. В канале они буферируются и предварительно обрабатываются
в течение 10 ± 3 мкс. Затем они поступают на обработку в
ту ЭВМ, где имеется наименьшая по длине входная очередь. Емкости входных накопителей во всех ЭВМ рассчитаны на хранение величин 10 сигналов. Время обработки
сигнала в любой ЭВМ равно 33 мкс.
Смоделировать процесс обработки 500 сигналов, поступающих с датчиков. Определить средние времена задержки
сигналов в канале и ЭВМ и вероятности переполнения
входных накопителей. Обеспечить ускорение обработки
сигнала в ЭВМ до 25 мкс при достижении суммарной очереди сигналов значения 25 единиц.
181
Задание 3.
Магистраль передачи данных состоит из двух каналов
(основного и резервного) и общего накопителя. При нормальной работе сообщения передаются по основному каналу за 7 ± 3 с. В основном канале происходят сбои через интервалы времени 200 ± 35 с. Если сбой происходит во время передачи, то за 2 с запускается запасной канал, который
передает прерванное сообщение с самого начала. Восстановление основного канала занимает 23 ± 7 с. После восстановления резервный канал выключается и основной канал продолжает работу с очередного сообщения. Сообщения поступают через 9 ± 4 с и остаются в накопителе до
окончания передачи. В случае сбоя передаваемое сообщение передается повторно по запасному каналу.
Смоделировать работу магистрали передачи данных в
течение 1 ч. Определить загрузку запасного канала, частоту отказов канала и число прерванных сообщений. Определить функцию распределения времени передачи сообщений
по магистрали.
Задание 4.
В системе передачи данных осуществляется обмен пакетами данных между пунктами А и В по дуплексному каналу связи. Пакеты поступают в пункты системы от абонентов с интервалами времени между ними 10 ± 3 мс. Передача пакета занимает 10 мс. В пунктах имеются буферные регистры, которые могут хранить два пакета (включая
передаваемый). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на
спутниковую полудуплексную линию связи, которая осуществляет передачу пакетов данных за 10 ± 5 мс. При занятости спутниковой линии пакет получает отказ.
Смоделировать обмен информацией в системе передачи
данных в течение 1 мин. Определить частоту вызовов
спутниковой линии и ее загрузку. В случае возможности
отказов определить необходимый для безотказной работы
системы объем буферных регистров.
Задание 5.
Специализированная вычислительная система состоит
из трех процессоров и общей оперативной памяти. Задания,
182
поступающие на обработку через
интервалы времени 5
± 2 мин, занимают объем оперативной памяти размером в
страницу. После трансляции первым процессором в течение 5 ± 1 мин их объем увеличивается до двух страниц и
они поступают в оперативную память. Затем после редактирования во втором процессоре, которое занимает 2,5 ±
0,5 мин на страницу, объем возрастает до трех страниц.
Отредактированные задания через оперативную память поступают в третий процессор на решение, требующее 1,5 ±
0,4 мин на страницу, и покидают систему, минуя оперативную память.
Смоделировать работу вычислительной системы в течение 50 ч. Определить характеристики занятия оперативной
памяти по всем трем видам заданий.
Задание 6.
На вычислительном центре в обработку принимаются
три класса заданий А, В и С. Исходя из наличия оперативной памяти ЭВМ задания классов А и В могут решаться одновременно, а задания класса С монополизируют ЭВМ. Задания класса А поступают через 20 ± 5 мин, класса В через
20 ± 10 мин и класса С через 30 ± 10 мин и требуют для
выполнения: класс А 20 ± 5 мин, класс В 21 ± 3 мин и
класс С 28 ± 5 мин. Задачи класса С загружаются в ЭВМ,
если она полностью свободна. Задачи классов А и В могут
дозагружаться к решающейся задаче.
Смоделировать работу ЭВМ за 80 ч. Определить ее загрузку.
Задание 7.
В студенческой вычислительной лаборатории расположены две рабочие станции (PC) и одна ПЭВМ для
предварительной подготовки данных. Студенты приходят с
интервалом в 8±2 мин и одна треть из них хочет использовать ПЭВМ и PC, a остальные - только PC. Допустимая очередь в вычислительной лаборатории составляет 4
человека, включая работающего на ПЭВМ. Работа на
ПЭВМ занимает 18± 1 мин, а на PC - 27 мин. Кроме того,
20 % работающих на PC возвращаются для повторного использования ПЭВМ и PC.
Смоделировать работу вычислительной лаборатории в
183
течение 60 ч. Определить загрузку ПЭВМ, PC и вероятность отказа в обслуживании вследствие переполнения
очереди. Определить соотношение в очереди желающих
работать на PC и на ПЭВМ.
Задание 8.
К ЭВМ подключено четыре терминала, с которых осуществляется решение задач. По команде с терминала выполняют операции редактирования, трансляции, планирования и решения. Причем, если хоть один терминал выполняет планирование, остальные вынуждены простаивать изза нехватки оперативной памяти. Если два терминала выдают требование на решение, то оставшиеся два простаивают, и если работают три терминала, выдающих задания
на трансляцию, то оставшийся терминал блокируется. Интенсивности поступления задач различных типов равны.
Задачи одного типа от одного терминала поступают через
экспоненциально распределенные интервалы времени со
средним значением 160 с. Выполнение любой операции
длится 10 с.
Смоделировать работу ЭВМ в течение 4 ч. Определить
загрузку процессора, вероятности простоя терминалов и
частоту одновременного выполнения трансляции с трех
терминалов.
Задание 9.
В системе передачи цифровой информации передается
речь в цифровом виде. Речевые пакеты передаются через
два транзитных канала, буферизируясь в накопителях перед
каждым каналом. Время передачи пакета по каналу составляет 5 мс. Пакеты поступают через 6 ± 3 мс. Пакеты, передававшиеся более 10 мс, на выходе системы уничтожаются,
так как их появление в декодере значительно снизит качество передаваемой речи. Уничтожение более 30 % пакетов
недопустимо. При достижении такого уровня система за
счет ресурсов ускоряет передачу до 4 мс на канал. При
снижении уровня до приемлемого происходит отклонение
ресурсов.
Смоделировать 10с работы системы. Определить частоту уничтожения пакетов и частоту подключения ресурса.
184
Задание 10.
ЭВМ обслуживает три терминала по круговому циклическому алгоритму, предоставляя каждому терминалу 30 с.
Если в течение этого времени задание обрабатывается, то
обслуживание завершается; если нет, то остаток задачи
становится в специальную очередь, которая использует
свободные циклы терминалов, т. е. задача обслуживается,
если на каком-либо терминале нет заявок. Заявки на терминалы поступают через 30 ± 5 с и имеют длину 300 ± 50
знаков. Скорость обработки заданий ЭВМ равна 10 знаков/с.
Смоделировать 5 ч работы ЭВМ. Определить загрузку
ЭВМ, параметры очереди неоконченных заданий. Определить величину цикла терминала, при которой все заявки
будут обслужены без специальной очереди.
Задание 11.
В узел коммутации сообщений, состоящий из входного
буфера, процессора, двух исходящих буферов и двух выходных линий, поступают сообщения с двух направлений.
Сообщения с одного направления поступают во входной
буфер, обрабатываются в процессоре, буферируются в выходном буфере первой линии и передаются по выходной
линии. Сообщения со второго направления обрабатываются
аналогично, но передаются по второй выходной линии.
Применяемый метод контроля потоков требует одновременного присутствия в системе не более трех сообщений на
каждом направлении. Сообщения поступают через интервалы 15 ± 7 мс.
Время обработки в процессоре равно 7 мс на сообщение, время передачи по выходной линии равно 15 ± 5 мс.
Если сообщение поступает при наличии трех сообщений в
направлении, то оно получает отказ.
Смоделировать работу узла коммутации в течение 10 с.
Определить загрузки устройств и вероятность отказа в обслуживании из-за переполнения буфера направления. Определить изменения в функции распределения времени передачи при снятии ограничений, вносимых методом контроля потоков.
185
Задание 12.
Распределенный банк данных системы сбора информации организован на базе ЭВМ, соединенных дуплексным каналом связи. Поступающий запрос обрабатывается на первой ЭВМ и с вероятностью 50 % необходимая
информация обнаруживается на месте. В противном случае
необходима посылка запроса во вторую ЭВМ. Запросы поступают через 10 ± 3 с, первичная
обработка запроса занимает 2 с, выдача ответа требует 18 ± 2 с, передача по каналу связи занимает 3 с. Временные характеристики второй
ЭВМ аналогичны первой.
Смоделировать прохождение 400 запросов. Определить
необходимую емкость накопителей перед ЭВМ, обеспечивающую безотказную работу системы, и функцию распределения времени обслуживания заявки.
Задание 13.
Система автоматизации проектирования состоит из
ЭВМ и трех терминалов. Каждый проектировщик формирует задание на расчет в интерактивном режиме. Набор строки задания занимает 10 ± 5 с. Получение ответа на строку
требует 3 с работы ЭВМ и 5 с работы терминала. После набора десяти строк задание считается сформированным и
поступает на решение, при этом в течение 10 ± 3 с ЭВМ
прекращает выработку ответов на вводимые строки. Вывод
результата требует 8 с работы терминала. Анализ результата занимает у проектировщика 30 с, после чего цикл
повторяется.
Смоделировать работу системы в течение 6 ч. Определить вероятность простоя проектировщика из-за занятости
ЭВМ и коэффициент загрузки ЭВМ.
Задание 14.
Для обеспечения надежности АСУ ТП в ней используется две ЭВМ. Первая ЭВМ выполняет обработку
данных о технологическом процессе и выработку управляющих сигналов, а вторая находится в «горячем резерве».
Данные в ЭВМ поступают через 10 ± 2 с, обрабатываются в
течение 3 с, затем посылается управляющий сигнал, поддерживающий заданный темп процесса. Если к моменту
посылки следующего набора данных не получен управ186
ляющий сигнал, то интенсивность выполнения технологического процесса уменьшается вдвое и данные посылаются
через 20 ± 4 с. Основная ЭВМ каждые 30 с посылает резервной ЭВМ сигнал о работоспособности. Отсутствие сигнала означает необходимость включения резервной ЭВМ
вместо основной. Характеристики обеих ЭВМ одинаковы.
Подключение резервной ЭВМ занимает 5 с, после чего она
заменяет основную до восстановления, а процесс возвращается к нормальному темпу. Отказы ЭВМ происходят через 300 ± 30 с.
Восстановление занимает 100 с. Резервная ЭВМ абсолютно
надежна.
Смоделировать 1 ч работы системы. Определить среднее время нахождения технологического процесса в заторможенном состоянии и среднее число пропущенных из-за
отказов данных.
Задание 15.
На вычислительный центр через 300 ± 100 с поступают
задания длиной 500 ± 200 Кбайт. Скорость ввода, вывода и
обработки заданий 100 Кбайт/мин. Задания проходят последовательно ввод, обработку и вывод, буферизируясь перед каждой операцией. После вывода 5 % заданий оказываются выполненными неправильно вследствие сбоев и возвращаются на ввод. Для ускорения обработки задания в
очередях располагаются по возрастанию их длины, т. е. короткие сообщения обслуживают в первую очередь. Задания, выполненные неверно, возвращаются на ввод и во всех
очередях обслуживаются первыми.
Смоделировать работу вычислительного центра в течение 30 ч. Определить необходимую емкость буферов и
функцию распределения времени обслуживания заданий.
Задание 16.
Вычислительная система включает три ЭВМ. В систему
в среднем через 30 с поступают задания, которые попадают
в очередь на обработку к первой ЭВМ, где они обрабатываются около 30 с. После этого задание поступает одновременно во вторую и третью ЭВМ. Вторая ЭВМ может обработать задание за 14 ± 5 с, а третья за 16 ± 1 с. Окончание обработки задания на любой ЭВМ означает снятие ее с
187
решения с той и другой машины. В свободное время вторая
и третья ЭВМ заняты обработкой фоновых задач.
Смоделировать 4 ч работы системы. Определить необходимую емкость накопителей перед всеми ЭВМ, коэффициенты загрузки ЭВМ и функцию распределения времени
обслуживания заданий. Определить производительность
второй и третьей ЭВМ на решении фоновых задач при условии, что одна фоновая задача решается 2 мин.
Задание 17.
В машинный зал с интервалом времени 10 ± 5 мин заходят пользователи, желающие произвести расчеты на ЭВМ.
В зале имеется одна ЭВМ, работающая в однопрограммном
режиме. Время, необходимое для решения задач, включая
вывод результатов на печать, характеризуется интервалом
15 ± 5 мин. Третья часть пользователей после окончания
решения своей задачи производит вывод текста программы
на печать (продолжительность 3 ± 2 мин). В машинном зале
не допускается, чтобы более семи пользователей ожидали
своей очереди на доступ к ЭВМ. Вывод программы на печать не мешает проведению расчетов на ЭВМ.
Смоделировать процесс обслуживания 100 пользователей. Подсчитать число пользователей, не нашедших свободного места в очереди. Определить среднее число пользователей в очереди, а также коэффициенты загрузки ЭВМ
и принтера.
Задание 18.
В вычислительную машину, работающую в системе
управления технологическим процессом, через каждые 3 ±
1 с поступает информация от датчиков и измерительных
устройств. До обработки на ЭВМ информационные сообщения накапливаются в буферной памяти емкостью в одно
сообщение. Продолжительность обработки сообщений на
ЭВМ 5 ± 2 с.
Динамика технологического процесса такова, что имеет
смысл обрабатывать сообщения, ожидавшие в буферной
памяти не более 12 с. Остальные сообщения считаются потерянными.
Смоделировать процесс поступления в ЭВМ 200 сооб188
щений. Подсчитать число потерянных сообщений и определить коэффициент загрузки ЭВМ.
Задание 19.
Вычислительная система состоит из трех ЭВМ. С интервалом 3 ± 1 мин в систему поступают задания, которые
с вероятностями P1=0,4, P2=P3=0,3 адресуются одной из
трех ЭВМ. Перед каждой ЭВМ имеется очередь заданий,
длина которой не ограничена. После обработки задания на
первой ЭВМ оно с вероятностью Р12=0,3 поступает в очередь на первой ЭВМ и с вероятностью P13=0,7 в очередь к
третьей ЭВМ. После
обработки на второй или третьей
ЭВМ задание считается выполненным. Продолжительность
обработки заданий на разных ЭВМ характеризуется интервалами времени:
Т1 = 7 ± 4 мин, T2 = 3 ± 1 мин, T3 =5 ± 2 мин.
Смоделировать процесс обработки 200 заданий. Определить максимальную длину каждой очереди и коэффициенты загрузки ЭВМ.
Задание 20.
Информационно-поисковая библиографическая система
построена на базе двух ЭВМ и имеет один терминал для
ввода и вывода информации. Первая ЭВМ обеспечивает
поиск литературы по научно-техническим проблемам (вероятность обращения к ней - 0,7), а вторая - по медицинским (вероятность обращения к ней - 0,3). Пользователи
обращаются к услугам системы каждые 5±2 мин. Если в
очереди к терминалу ожидают 10 пользователей, то вновь
прибывшие пользователи получают отказ в обслуживании.
Поиск информации на первой ЭВМ продолжается 6 ± 4
мин, а на второй 3 ± 2 мин. Для установления связи с нужной ЭВМ и передачи текста запроса пользователи тратят
2±1 мин. Вывод результатов поиска происходит за 1 мин.
Смоделировать процесс работы системы за 8 ч. Определить среднюю и максимальную длину очереди к терминалу,
а также коэффициенты загрузки технических средств системы. Как изменятся параметры очереди к терминалу, если
будет установлен еще один терминал?
Задание 21. В специализированной вычислительной
системе периодически выполняются три вида заданий, ко189
торые характеризуются уровнями приоритета: нулевым,
первым и вторым. Каждый новый запуск задания оператор
производит с помощью дисплея, работая на нем 50±30 с.
После запуска задания оно требует для своего выполнения
100±50 с времени работы процессора, причем задания более высокого приоритета прерывают выполнение задач более низкого приоритета. Результаты обработки задания выводятся на печать без прерываний в течение 30±10 с, после
чего производится их анализ в течение 60±20 с, и задание
запускается снова. Можно считать, что при работе дисплея
и при выводе результатов на печать процессор не используется.
Смоделировать процесс работы системы при условии,
что задание второго уровня приоритета выполняется 100
раз. Подсчитать число циклов выполнения остальных заданий и определить коэффициенты загрузки технических
средств системы.
Задание 22.
Задания на обработку данных, поступающие на рабочую
станцию (PC), характеризуются известным требуемым временем работы процессора и условно подразделяются на короткие и длинные. Короткие задания требуют менее 6 мин
времени работы процессора. Задания поступают на рабочую станцию (PC) через каждые 8 ± 3 мин и требуют для
своей обработки 4 ± 3 мин времени работы процессора. Короткие задания вводятся в PC с дисплея за 3 ± 2 мин. Дисплей остается занятым коротким заданием до момента
окончания выдачи результатов на печать. Короткие задания
имеют абсолютный приоритет над длинными при использовании процессора, т. е. они прерывают выполнение длинных заданий. Длинные задания предварительно готовятся
на дискетах на ПЭВМ за 8 ± 5 мин и вводятся в PC дисковода за 3 ± 2 мин. После обработки на процессоре как коротких, так и длинных заданий производится вывод результатов на печать в течение 2 ± 1 мин. Одновременно на PC
обрабатывается только одно задание.
Смоделировать процесс функционирования PC при условии, что обработать необходимо 100 заданий. Определить число коротких и длинных заданий, ожидающих обра190
ботки, а также число обработанных коротких заданий и коэффициент загрузки процессора.
Задание 23.
В вычислительной лаборатории (ВЛ) имеются три ЭВМ.
Задания на обработку поступают с интервалом 20 ± 5 мин в
пункт приема. Здесь в течение 12 ± 3 мин они регистрируются и сортируются оператором, после чего каждое задание поступает на одну из свободных ЭВМ. Примерно в 70
% заданий в результате их первой обработки на ЭВМ обнаруживаются ошибки ввода, которые сразу же в течение 3 ±
2 мин исправляются пользователями. На время корректировки ввода задание не освобождает соответствующей
ЭВМ, и после корректировки начинается его повторная обработка. Возможность ошибки при повторной обработке
исключается, т. е. повторная обработка всегда является
окончательной. Продолжительность работы ЭВМ при обработке задания в каждом случае составляет 10 ± 5 мин. В ВЛ
имеется лишь одно рабочее место для корректировки ввода.
Смоделировать процесс функционирования ВЛ при условии, что обработать необходимо 100 заданий. Определить среднее время ожидания в очереди на обработку, а
также коэффициенты загрузки технических средств ВЛ.
Задание 24.
Информационная система реального времени состоит из
центрального процессора (ЦП), основной памяти (ОП) емкостью 100 Кбайт и накопителя на жестком диске (НД). Запросы от большого числа удаленных терминалов поступают каждые 75 ± 25 мс и обрабатываются ЦП за время 1 мс.
После этого каждый запрос помещается в ОП либо получает отказ в обслуживании, если ОП заполнена (каждый запрос занимает 2 килобайта памяти). Для обслуживаемых
запросов производится поиск информации на НД за время
120 ± 25 мс и ее считывание за время 10 ± 5 мс. Работа с
НД не требует вмешательства ЦП. После этого запрос считается обслуженным и освобождает место в ОП.
Смоделировать процесс обслуживания 100 запросов.
Подсчитать число запросов, получивших отказ в обслуживании. Определить среднее и максимальное содержимое
191
ОП, а также коэффициент загрузки НД.
Задание 25.
Для ускорения прохождения «коротких» заданий на
ЭВМ выбран пакетный режим работы с квантованием времени процессора. Это значит, что всем заданиям пакета по
очереди предоставляется процессор на одинаковое время
10 с (круговой циклический алгоритм разделения времени).
Если в течение этого времени заканчивается выполнение
задания, оно покидает систему и освобождает процессор.
Если же очередного кванта времени не хватает для завершения задания, оно помещается в конец очереди - пакета.
Последнее задание пакета выполняется без прерываний.
Пакет считается готовым к вводу в ЭВМ, если в нем содержится 5 заданий. Новый пакет вводится в ЭВМ после
окончания обработки предыдущего. Задания поступают в
систему с интервалом времени 60 ± 30 с и характеризуется
временем работы процессора 50 ± 45 с.
Смоделировать процесс обработки 200 заданий. Определить максимальную длину очереди готовых к обработке
пакетов и коэффициент загрузки ЭВМ. Сравнить время
прохождения «коротких» заданий, требующих до 10 с времени работы процессора, с временем прохождения «длинных» заданий, требующих свыше 90 с времени работы процессора.
Задание 26.
Система автоматизации проектирования (САПР) создана на базе ЭВМ, функционирующей в режиме множественного доступа. Пятеро инженеров-проектировщиков с помощью своих дисплеев одновременно и независимо проводят диалог с ЭВМ, определяя очередной вариант расчета.
Каждый диалог состоит из 10 циклов ввода-вывода данных.
Во время одного цикла происходит следующее: за 10 ± 5 с
инженер обдумывает и вводит текст строки; в течение 2 с
работает процессор ЭВМ, подготавливая текст ответа; в течение 5 с текст ответа выводится на дисплей. После ввода
11й строки начинается работа процессора по расчету конструкции и продолжается 30 ± 10 с. За 5 с результат расчета выводится на экран, после чего инженер в течение 15 ± 5
с анализирует его и начинает новый диалог. Операции по
192
подготовке текста ответа имеют абсолютный приоритет над
расчетными, т. е. прерывают выполнение последних.
Смоделировать процесс работы САПР при условии, что
расчет вариантов конструкции повторяется 100 раз. Определить среднее время выполнения диалога и расчетных
операций, а также коэффициент загрузки процессора.
Задание 27.
Распределенный банк данных организован на базе трех
удаленных друг от друга вычислительных центров А, В и С.
Все центры связаны между собой каналами передачи данных, работающими в дуплексном режиме независимо друг
от друга. В каждый из центров с интервалом времени 50 ±
20 мин поступают заявки на проведение информационного
поиска.
Если ЭВМ центра, получившего заявку от пользователя,
свободна, в течение 2 ± 1 мин производится ее предварительная обработка, в результате которой формируются запросы для центров А, В и С. В центре, получившем заявку
от пользователя, начинается поиск информации по запросу,
а на другие центры по соответствующим каналам передаются за 1 мин тексты запросов, после чего там также может
начаться поиск информации, который продолжается: в центре А - 5 ± 2 мин, в центре В - 10 ± 2 мин, в центре С -15 ±
2 мин. Тексты ответов передаются за 2 мин по соответствующим каналам в центр, получивший заявку на поиск. Заявка считается выполненной, если получены ответы от
всех трех центров. Каналы при своей работе не используют
ресурсы ЭВМ центров.
Смоделировать процесс функционирования распределенного банка данных при условии, что всего обслуживается 100 заявок. Подсчитать число заявок, поступивших и обслуженных в каждом центре. Определить коэффициенты
загрузки ЭВМ центров.
Задание 28.
В системе автоматизации экспериментов (САЭ) на базе
специализированной ЭВМ данные от измерительных устройств поступают в буферную зону оперативной памяти
каждые 800 ± 400 мс. Объем буфера - 256 Кбайт, длина одного информационного сообщения - 2 Кбайт. Для записи
193
сообщения в буфер требуется 20 мс времени работы процессора. После заполнения буфера его содержимое переписывается на накопитель на жестком диске (НД), для чего
сначала необходима работа процессора в течение 30 мс, а
потом - совместная работа процессора и накопителя НД в
течение 100 ± 30 мс. Для обработки каждой новой порции
информации на НД, объем которой равен 2560 Кбайт, запускается специальная программа, требующая 100 ±20 с
времени работы процессора. Эта программа имеет самый
низкий приоритет и прерывается программами сбора и переписи данных на НД.
Смоделировать процесс сбора и обработки данных с
САЭ при условии, что обработать необходимо 5 порций
информации. Зафиксировать длительность выполненной
программы обработки и определить, сколько раз ее выполнение было прервано.
Задание 29.
Специализированное вычислительное устройство, работающее в режиме реального времени, имеет в своем составе два процессора, соединенные с общей оперативной памятью. В режиме нормальной эксплуатации задания выполняются на первом процессоре, а второй является резервным. Первый процессор характеризуется низкой надежностью и работает безотказно лишь в течение 150 ± 20
мин. Если отказ происходит во время решения задания, в
течение 2 мин производится включение второго процессора, который продолжает решение прерванного задания, а также решает и последующие задания до восстановления первого процессора. Это восстановление происходит
за 20 ± 10 мин, после чего начинается решение очередного
задания на первом процессоре, а резервный выключается.
Задания поступают на устройство каждые 10 ± 5 мин и решаются за 5 ± 2 мин. Надежность резервного процессора
считается идеальной.
Смоделировать процесс работы устройства в течение 50
ч. Подсчитать число решенных заданий, число отказов
процессора и число прерванных заданий. Определить максимальную длину очереди заданий и коэффициент загрузки
резервного процессора.
194
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1
2
3
4
5
6
7
8
9
10
11
12
13
Авен О.И., и др. Оценка качества и оптимизация вычислительных систем / О.И.Авен, Н.Н. Гурин,
Я.А.Коган - И.: Наука, 1982. - 464 с.
Боев В.Д. Моделирование систем. Инструментальные
средства GPSS WORLD: Учеб.пособие −СПб.:БХВ –
Петербург, 2004. − 368 с.
Гнеденко Б.В., Коваленко И.Н. Введение в теорию массового обслуживания. - М.: Наука, 1987. - 431 с.
Ивницкий В.А. Сети массового обслуживания и их
применение в ЭВМ // Зарубежная радиоэлектроника,
1977, №7, с. 33-70.
Клейнрок Л. Вычислительные системы с очередями:
Пер. с англ./ Под ред. Б.С. Цыбакова. - М.: Мир, 1979.
- 597 с.
Клейнрок Л. Теория массового обслуживания: Пер. с
англ./Под ред. В.И.Неймана. – М.: Машиностроение,
1979. - 432 с.
Компьютерные системы и технологии. Лабораторный
практикум /Под ред. Забродина Л.Д.-М.:ДиалогМИФИ,2001.-336с.
Основы теории вычислительных систем /Под ред.
С.А.Майорова. -М.: Высшая школа, 1978. - 408 с.
Павловский Ю.Н. Имитационные модели и системы. –
М.: Фазис: ВЦ РАН, 2000. – 134 с.
Прохоров С.А. Моделирование и анализ случайных
процессов. Лабораторный практикум.-2-е изд., переработанное и дополненное./СНЦ РАН, 2002.-277с.
Советов Б.Я., Яковлев С.А. Моделирование систем.
Практикум:учеб. пособие для вузов.-М.: Высшая школа,2003г.-295с.
Тарасов В.Н. Вероятностное компьютерное моделирование сложных систем. – Самара: Самарский научный
центр РАН, 2002.- 194 с.
Тарасов В.Н., Бахарева Н.Ф. Организация интерактивной системы вероятностного моделирования стохастических систем // Известия Самарского научного центра
РАН, 2003, №1, -с. 119 – 126.
195
14 Тарасов В.Н., Афанасьев А.А. Компьютерное моделирование вычислительных систем.-Оренбург.: ИПК
ОГУ,2002.-176с.
15 Тихонов В.И., Миронов М.А. Марковские процессы. М.: Сов. радио, 1977.- 488 с.
16 Феррари Д. Оценка производительности вычислительных систем: Пер.англ./Под ред. В.В.Мартынюка. - М.:
Мир, 1981. - 576 с.
17 Шварц М. Сети ЭВМ. Анализ и проектирование: Пер. с
англ./Под ред. В.А. Жожикашвили. - М.: Радио и связь,
1982. - 336 с.
18 Шеннон Р. Имитационное моделирование систем- искусство и наука.-М.: Мир, 1978.-272 с.
19 Шрайбер Т.Дж. Моделирование на GPSS. Пер. с англ. –
М.: Машиностроение, 1980.-576 с.
196
ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ 1
2
Таблица критических точек распределения χ
Число стеУровень значимости а
пеней сво- 0,01
0,025
0,05
0,95
0,975
боды k
1
6,6
5,0
3,8
0,0039
0,00098
2
9,2
7,4
6,0
0,103
0,051
3
11,3
9,4
7,8
0,352
0,216
4
13,3
11,1
9,5
0,711
0,484
5
15,1
12,8
11,1
1,15
0,831
6
16,8
14,4
12,6
1,64
1,24
7
18,5
16,0
14,1
2,17
1,69
8
20,1
17,5
15,5
2,73
2,18
9
21,7
19,0
16,9
3,33
2,70
10
23,2
20,5
18,3
3,94
3,25
11
24,7
21,9
19,7
4,57
3,82
12
26,2
23,3
21,0
5,23
4,40
13
27,7
24,7
22,4
5,89
5,01
14
29,1
26,1
23,7
6,57
5,63
15
30,6
27,5
25,0
7,26
6.26
16
32,0
28,8
26,3
7,96
6,91
17
33,4
30,2
27,6
8,67
7,56
18
34,8
31,5
28,9
9,39
8,23
19
36,2
32,9
30,1
10,1
8,91
20
37,6
34.2
31,4
10,9
9,59
21
38.9
35,5
32,7
11,6
10,3
22
40,3
36,8
33,9
12,3
11,0
23
41,6
38,1
35,2
13,1
11,7
24
43,0
39,4
36.4
13,8
12,4
25
44,3
40,6
37,7
14,6
13,l
26
45,6
41.9
38,9
15,4
13,8
27
47,0
43,2
40,1
16,2
14,6
28
48,3
44,5
41,3
16,9
15,3
29
49,6
45,7
42,6
17,7
16,0
30
50,9
47,0
43,8
18,5
16,8
0,99
0,00016
0,020
0,115
0,297
0,554
0,872
1,24
1,05
2,09
2,56
3,05
3,57
4,11
4,66
5,23
5,81
6,41
7,01
7,63
8,26
8,90
9,54
10,2
10,9
11,5
12,2
12,9
13.6
14,3
15,0
197
ПРИЛОЖЕНИЕ 2
Таблица значений коэффициента λ к критерию Колмогорова
δ\N
0,002
0,005
0,01
0,02
0,03
0,04
0,05
500
0,0559
0,1118
0,2236
0,4472
0,6708
0,8972
1,1208
1000
0,0790
0,1581
0,3162
0,6324
0,9486
1,2648
1,5810
2000
0,1118
0,2236
0.4472
0,8944
1,3416
1,7888
2,2360
5000
0,1767
0,3535
0,7071
1,4142
2,1213
2,8284
3,5355
8000
0,2236
0,4472
0,8944
1,7889
2,6833
3,5777
4,4721
10000
0,25
0,5
1
2
3
4
5
ПРИЛОЖЕНИЕ 3
Основные операторы языка GPSS
Оператор
GENERATE
QUEUE
DEPART
SEIZE
RELEASE
ENTER
LEAVE
ADVANCE
ASSIGN
PREEMPT
RETURN
BUFFER
GATE
GATHER
LINK
UNLINK
<Имя> STORAGE
MARK
MATCH
198
Описание
A,B,C,D,E,F,G, Генерация требований
H
A,B
Встать в очередь(увеличить содержимое очереди)
A,B
Покинуть очередь
(уменьшить содержимое очереди)
A
Занять канал обслуживания
A
Освободить канал обслуживания
A,B
Увеличить вместимость накопителя
A,B
Уменьшить вместимость накопителя
A,B
Задержать перемещение требования
A,B
Модифицировать параметр требования
A,B,C,D,E
Отстранить требование от обслуживания
A
Вернуть канал обслуживания А
Идти в хвост цепи текущих событий
A,B
Переместить в зависимости от состояния
A
Подождать родственные требования
A,B,C
Ввести в цепь пользователя
A,B,C,D,E,F,G Вывести из цепи пользователя
A
Определить вместимость накопителя
А
А
Создать временную метку
Подождать другое требование
Выбрать элемент
Модифицировать сохраняемое значение
MSAVEVALUE A,B,C,D
Модифицировать значение матрицы
PRIORITY
A,B
Изменить приоритет
SPLIT
A,B,C,D
Разделить требование
TABULATE
A,B
Собрать табличные данные элемента
TERMINATE
А
Уничтожить требование
TEST
A,B,C
Переместить согласно сравнению
TRANSFER
A,B,C,D
Передать в новое местоположение
ASSEMBLE
А
Собрать родственные требования
EQU
А,B
Определить эквивалентность
MATRIX
A,B,C
Задать матрицу
INITIAL
A,B
Инициализировать
RMULT
A,B,C,D,E,F,G Установить значение генератора
<Имя> VARIA- A
Определить целую переменную
BLE
<Имя> FVARI- A
Определить вещественную переменABLE
ную
<Имя> BVARI- A
Определить булеву переменную
ABLE
<Имя> FUNC- A,B
Определить функцию
TION
<Имя> TABLE
A,B,C,D,E
Определить таблицу
QTABLE
A,B,C,D
Определить таблицу для очереди
LOGIC
A
Изменить логический переключатель
LOOP
A,B
Изменить параметр требования и зациклить
REPORT
Сообщить
COUNT
A,B,C,D,E
Поместить индекс объекта внутрь параметра
TRACE
Начать трассировку
UNTRACE
Завершить трассировку
INDEX
A,B
Увеличить параметр требования
EXECUTE
A
Выполнить блочную операцию элемента
WRITE
Разместить текстовую строку в потоке
данных
READ
Считать текстовую строку из потока
данных
RESET
Сбросить
ADOPT
Изменить номер ансамбля
CLOSE
Закрыть поток данных
JOIN
Увеличить группу членов
SELECT
SAVEVALUE
A,B,C,E,F,G
A,B,C
199
ALTER
DISPLACE
EXAMINE
FAVAL
FU NAVAL
INTEGRATON
PLUS
SAVAL
SUNAVAL
REMOVE
SEEK
SCAN
200
Изменить атрибуты требования
Переместить требование к блоку
Исследовать член группы
Сделать канал обслуживания доступным
Сделать канал обслуживания недоступным
Включить или выключить интегрирование
Оценить PLUS-выражение
Сделать накопитель доступным
Сделать накопитель недоступным
Уменьшить группу членов
Установить позицию в потоке данных
Восстановить информацию группы
членов
ПРИЛОЖЕНИЕ 4
Элементы стандартного отчета GPSS
Строка заголовка стандартного отчета содержит имя файла модели, который
создал отчет. Также в нее включена дата и время прогона модели.
GPSS World Simulation Report - Пример_2.8.24.2 Tuesday, September 02, 2003
11:45:55
1 Общая информация о результатах работы модели
START TIME
END TIME
BLOCKS FACILITIES STORAGES
0.000
43200.000
23
1
0
STARTTIME — начальное время. Абсолютное модельное время в момент начала моделирования. Устанавливается равным абсолютному модельному времени с помощью оператора RESET или CLEAR;
END TIME — конечное время. Абсолютное модельное время, когда счетчик завершения принимает значение 0;
BLOCKS — количество блоков, использованных в текущей модели, к моменту
завершения моделирования;
FACILITIES — количество устройств, использованных в модели, к моменту завершения моделирования;
STORAGES — количество многоканальных устройств, использованных в текущей модели к моменту завершения моделирования.
2 Информация об именах
Файл статистики содержит информацию об именах, которые просматривает
GPSS в ходе моделирования.
NAME
VALUE
REM1
10005.000
REMQ
10003.000
REMQ1
10006.000
REMQ2
.
10004.000
VRREM
10002.000
VRREMl
10000.000
VRREM2
10001.000
NAME — перечень заданных пользователем имен, содержащихся в программе модели;
VALUE — числовое значение, присваиваемое имени. Система начинает отсчет с 10 000;
3 Информация о блоках
LABEL LOC
TRY
1
BLOCK TYPE
GENERATE
ENTRY COUNT
728
CURRENT COUNT RE-
0
0
201
2
QUEUE
728
0
0
3
QUEUE
728
153
0
4
SEIZE
575
0
0
5
DEPART
575
0
0
6
DEPART
575
0
0
7
ADVANCE
575
0
0
8
RELEASE
575
0
0
9
TABULATE
575
0
0
10
TRANSFER
575
0
0
11
GENERATE
595
0
0
12
QUEUE
595
0
0
13
QUEUE
595
124
0
14
SEIZE
471
0
0
15
DEPART
471
0
0
16
DEPART
471
0
0
17
ADVANCE
471
1
0
18
RELEASE
470
0
0
19
TABULATE
470
0
0
MET1 20
TABULATE
1045
0
0
21 TERMINATE
1045
0
0
22 GENERATE
100
0
0
23 TERMINATE
100
0
0
LABEL — метка, алфавитно-цифровое имя данного блока (если оно задано);
LOC — числовой номер позиции данного блока в модели; BLOCK TYPE —
тип блока GPSS;
ENTRY COUNT — количество транзактов, вошедших в данный блок, с начала работы программы или после последнего выполнения оператора RESET
или CLEAR;
CURRENT COUNT — количество транзактов, находящихся в данном блоке к
моменту завершения моделирования;
RETRY — количество транзактов, ожидающих специального условия, зависящего от состояния данного блока.
4 Информация об объектах типа «устройство»
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
REM1
82
0.828 435.987
1
92
0
0
0
0
Элементы статистики, представленные в данном разделе, имеют следующее
содержание:
FACILITY — имя или номер устройства;
ENTRIES — количество раз, когда устройство было занято или занято с прерыванием с начала моделирования или после последнего выполнения оператора RESET или CLEAR;
UTIL. — коэффициент использования, доля времени моделирования, в течение которого устройство было занято;
202
AVE.TIME — среднее время занятия устройства одним транзактом в течение
времени моделирования с начала моделирования или после выполнения оператора RESET или CLEAR;
AVAIL. — состояние устройства в конце моделирования (равно 1, если устройство доступно; 0 — если недоступно);
OWNER- номер транзакта, который занимает устройство(0 – устройство не
занято):
PEND — количество транзактов, ожидающих выполнения с прерыванием
других транзактов (т. е. вошедших в блоки PREEMPT в режиме прерывания);
INTER — количество транзактов, прерванных на данный момент (количество
транзактов в списке прерываний);
RETRY — количество транзактов, ожидающих выполнения специального условия, зависящего от состояния данного устройства;
DELAY — количество транзактов, ожидающих занятия устройства (входят
также транзакты, ожидающие занятия устройства в режиме прерывания с помощью блоков PREEMPT).
5 Информация об объектах типа «очередь»
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE. (-0) RETRY
REMQ 2
0
82
28
0.461
242.755 368.628 0
REMQ2 2
0
47
19
0.237
218.158 366.195 0
REMQ 1
10
35
9
0.223
275.785 371.249 0
QUEUE — имя или номер очереди;
MAX — максимальное содержимое очереди в течение периода моделирования,
который начинается с момента трансляции модели или применения оператора RESET или CLEAR;
CONT. — текущее содержимое очереди в конце процесса моделирования;
ENTRY – общее количество входов транзакта в очередь в течение времени
ENTRY(0) — общее количество входов транзактов в очередь с нулевым временем ожидания;
AVE.CONT. — среднее значение содержимого очереди в течение времени
моделирования;
AVE.TIME — среднее время пребывания одного транзакта в очереди с учетом всех входов в очередь;
AVE.(−0) — среднее время пребывания одного транзакта в очереди без учета
«нулевых» входов в очередь;
RETRY — количество транзактов, ожидающих выполнения специального условия, зависящего от состояния очереди.
203
6 Информация об объектах типа «многоканальное устройство»
STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY
PUN1
5
5
0
5
54
1
0.368
0.074
0
0
PUN3
4
4
0
4
74
1
0.103
0.026
0
0
STORAGE — имя или номер памяти;
САР. — емкость памяти, заданная оператором STORAGE;
REM. — число единиц памяти, свободных в конце моделирования;
MIN. — минимальное число единиц памяти, использовавшихся за период моделирования;
МАХ. — максимальное число единиц памяти, использовавшихся за период
моделирования;
ENTRIES — количество входов в память за период моделирования;
AVL. — состояние памяти в конце моделирования (1 — доступно; 0 — недоступно);
AVE.C — среднее значение занятой емкости за период моделирования; UTIL.
— коэффициент использования памяти;
RETRY — количество транзактов, ожидающих выполнения специального условия, зависящего от состояния данной памяти;
DELAY — количество транзактов, ожидающих в блоках ENTER, связанных с
данной памятью.
7 Информация о таблицах
TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.%
VRREM1 591.899 271.392
0
- 420.000
11369
31.54
420.000 - 600.000
9972
59.21
600.000 - 780.000
6765
77.98
780.000 - 960.000
4418
90.23
960.000 3520
100.00
TABLE — имя или номер таблицы или Q-таблицы;
MEAN — средневзвешенное значение табулируемого аргумента;
STD.DEV. — взвешенное среднеквадратическое отклонение:
STD. DEV.= SQR((SOS/(COUNT-1)) - (SUM2/(C0UNT)(C0UNT-1))),
где SOS — накопленная сумма квадратов;
RANGE — нижний и верхний пределы частотного класса:
− при попадании табулируемого аргумента в интервал, который имеет значение больше или меньше нижней границы частотного класса или равное
верхней границе, изменяется значение частоты (FREQUENCY);
− операнд В (весовой коэффициент) блока TABULATE может быть использован для определения величины, которая добавляется в частотный класс при
попадании табулируемого значения в этот частотный класс;
−частотные классы, суммарное значение которых равно 0, в файл статистики
не выводятся;
204
−RETRY — количество транзактов, ожидающих выполнения специального
условия, зависящего от состояния данной таблицы;
−FREQUENCY — суммарная величина, которая формируется при попадании
табулируемого аргумента в указанные границы (значения операнда В суммируются блоком TABULATE);
−CUM.% — величина частоты в процентах к общему количеству значений
табулируемого аргумента.
8 Информация о списках пользователя
USER CHAIN SIZE RETRY AVE.CONT ENTRIES MAX AVE.TIME
NAK
0
0
0.260
2709
1
3.458
USER CHAIN — имя или номер списка пользователя;
SIZE — количество транзактов в списке пользователя в конце времени моделирования;
RETRY — количество транзактов, ожидающих наступления специального
условия, зависящего от состояния данного списка пользователя;
AVE.CONT. — среднее содержимое списка пользователя в течение времени
моделирования;
ENTRIES — общее число транзактов, входивших в список пользователя в
течение времени моделирования;
МАХ — максимальное количество транзактов в списке пользователя за период моделирования;
AVE.TIME — среднее время пребывания транзакта в списке пользователя.
9 Информация о группах транзактов
ХАСТ GROUP GROUP SIZE RETRY
USERGR
10
0
ХАСТ GROUP — имя или номер объекта группы транзактов;
GROUP SIZE — число транзактов в группе в конце моделирования;
RETRY — число транзактов, ожидающих выполнения специального условия,
зависящего от состояния данной группы транзактов.
10 Информация о числовых группах
NUMERIC GROUP GROUP SIZE RETRY
DEPOSITE
1
0
NUMERIC GROUP — имя или номер числовой группы;
GROUP SIZE — количество транзактов, содержащихся в числовой группе в
конце моделирования;
RETRY — число транзактов, ожидающих выполнения специального условия,
зависящего от состояния данной числовой группы.
205
11 Информация о логических переключателях
LOGICSWITCH VALUE RETRY SWITCH1
1
0
LOGICSWITCH — имя или номер логического ключа;
VALUE — значение ключа в конце моделирования (1 (true) — «установлен»;
0 (false) — «сброшен»);
RETRY — количество транзактов, ожидающих выполнения специального условия, зависящего от состояния данного логического ключа.
12 Информация о сохраняемых величинах (ячейках)
SAVEVALUE
RETRY VALUE
KOLVIDMS
0
13.000
VSETRANS
0
8.000
SAVEVALUE — имя или номер ячейки;
VALUE — значение сохраняемой величины в конце моделирования;
RETRY — количество транзактов, ожидающих выполнения специального условия, зависящего от состояния данной ячейки.
13 Информация о матрицах
MATRIX
PLAN
RETRY
0
INDICES
VALUE
11
52
12
0
13
64
MATRIX — имя или номер матрицы;
RETRY — количество транзактов, ожидающих выполнения специального условия, зависящего от состояния данной матрицы;
INDICES — до шести целых чисел, определяющих элемент матрицы;
VALUE — значение элемента матрицы в конце моделирования (элементы,
равные 0, выводятся в отчете группами).
14 Информация о списках текущих и будущих событий
СЕС XN PRI Ml
ASSEM CURRENT NEXT PARAMETER VALUE
32
0 3600138.403 1713
0
29
Списки текущих (СЕС) и будущих (FEC) событий выводятся в файл статистики, если в команде START значение операнда D равно 1.
Элементы статистики для СЕС, представленные в данном разделе, имеют
следующее содержание:
− XN — номер каждого транзакта, находящегося в списке текущих событий;
− PRI — приоритет транзакта;
− Ml — время входа транзакта в модель или время его самого раннего предка
(породившего данный транзакт);
206
− ASSEM — номер семейства данного транзакта;
− CURRENT — номер блока, в котором находится транзакт в конце моделирования;
− NEXT — номер следующего блока, в который должен был войти транзакт;
− PARAMETER — имя или номер параметра транзакта;
− VALUE — значение параметра.
В содержании статистики для FEC имеется только одно отличие. Вместо поля Ml присутствует поле BDT, которое определяет момент абсолютного модельного времени, когда транзакт покинет список будущих событий.
FEC XN PRI
BDT
53
32
16
3600142.809
3600251.545
3604171.277
0
0
1
ASSEM CURRENT NEXT PARAMETER VALUE
1719
1717
1714
0
0
52
29
15
53
1
1
207
В.Н. ТАРАСОВ, Н.Ф. БАХАРЕВА
КОМПЬЮТЕРНОЕ
МОДЕЛИРОВАНИЕ
ТЕОРИЯ
АЛГОРИТМЫ
ПРОГРАММЫ
ИЗДАНИЕ ВТОРОЕ,
ПЕРЕРАБОТАННОЕ
Подписано в печать: 15. 09.2009
Тираж: 120 экз. 11 усл. п.л. Заказ № 365
Отпечатано в типографии ГОУ ВПО ПГУТИ
443090, г. Самара, Московское шоссе, 77
Документ
Категория
Без категории
Просмотров
0
Размер файла
3 175 Кб
Теги
tarasov, bachareva
1/--страниц
Пожаловаться на содержимое документа