Построение гистограммы распределения времени ожидания в
очереди.
Дополнить программу Модуль 2 оператором:
wtime qtable fff ,0,50,40
поставив его перед оператором generate. Операнд А ( fff ) – имя очереди, операнд В (0) – начало гистограммы по оси абсцисс, операнд С (50) – длина интервала в единицах модельного времени, операнд D (40) – число интервалов. Подобрать операнды B , C , и D для наглядного представления гистограммы на экране монитора.
Листинг 3 - Имитационная модель - модуль 3 - Построение гистограммы
; Пример построение гистограммы
generate wtime qtable fff,0,50,40,
20,20 ;генерация транзактов (пакетов) с интервалом 20 е.м.в.
test L Q$fff,10,met ;есть свободные места в очереди?
queue fff ;Да. Установить транзакт в очередь с именем fff
seize kkk ;занять канал с именем kkk
depart fff ;уйти из очереди fff
advance 19,10 ;задержать транзакт в канале на 19 е.м.в.
release kkk ;освободить канал kkk
terminate 1 ;вычесть 1 из длины прогона
met savevalue otk+,1 ;зафиксировать отказ в переменной otk
terminate 1
Задание. Зарисовать гистограмму в отчёте. Сопоставить ориентировочные данные, представляемые гистограммой, с точными значениями, приведёнными в отчёте в соответствующей таблице.
Практическое занятие № 4
Объект исследования. Многоканальное устройство с ограниченной очередью.
Многоканальные устройства являются наиболее массовой структурой в телефонных сетях с коммутацией каналов. Узлы коммутации и многочисленные АТС связываются между собой стандартными телефонными каналами, число которых может достигать нескольких тысяч.
Принцип работы многоканального устройства с явными потерями состоит в следующем: поступивший вызов пытается занять свободный канал в некоторой соединительной линии для установления телефонного соединения и, если такой свободный канал находится, то он занимается. Если в многоканальном устройстве (в пучке каналов) все каналы заняты, то вызов получает отказ и считается потерянным. По соотношению числа потерянных вызовов (n) к общему числу вызовов, поступивших за время наблюдения (N), определяется главная характеристика системы с потерями – вероятность потери вызова Р = n / N.
В отличие от предыдущей модели в данную модель внесено изменение, связанное с реализацией многоканальной схемы.
В системе GPSS используются разные операторы для занятия и освобождения каналов в одноканальных и многоканальных устройствах, а именно seize или release для одноканальных систем и enter или leave – для многоканальных. При этом число каналов в многоканальной системе задаётся отдельным оператором storage (см. листинг) с именем МКУ, в котором указывается число каналов (в данном случае определено, что в МКУ с именем ggg имеется 10 каналов). Оператор gate snf передаст транзакт на обслуживание только при не заполненности МКУ (дополнительный операнд snf). В противном случае транзакт будет учтён как потерянный в переменной с именем ot .
Листинг 4 - Имитационная модель - модуль 4 - Потери в многоканальной системе
;Вероятность потерь в многоканальной системе с ограниченной очередью
kan storage 10 ;установка числа каналов
generate 8,8 ;генерация интервалов между вызовами
test l Q$och,7,met ;есть свободные места в очереди?
queue och ;Да.Установить транзакт в очередь
enter kan ;занять канал
depart och ;освободить место в очереди
advance 100,100 ;задержать транзакт на время обслуживания
leave kan ;освободить канал
terminate 1 ;покинуть систему
met savevalue otk+,1 ;увеличить число потерь на единицу
terminate 1 ;покинуть систему
Задание. Запустите программу и проанализируйте отчет.
Снимите зависимости:
- Tож (v) для 4-х значений ρ в пределах от 0,5 до 1,5;
- P ( v ) – вероятность потери транзакта.
В данном случае ρ =tзад/vtинт , где v – число каналов, задаваемое оператором storage.
Практическое занятие № 5.
Объект исследования. Модель разделения потока транзактов на 3 разно приоритетных потока.
Телекоммуникационные системы, как правило, рассматривают вызовы, обладающие различными приоритетами. Особенно необходимо дифференцировать качество обслуживания вызовов (QoS) в мультисервисных сетях. Известно, что потоковые виды трафика (речь, видео) требуют первоочередного обслуживания, так как допустимое время задержки в сети для них находится в пределах 150 – 250 мс, а файловый обмен данными не критичен к задержкам и их значения могут доходить до нескольких секунд.
Реальные маршрутизаторы анализируют требования по приоритетности передачи (классы обслуживания - CoS), находящиеся в заголовке пакета, и в соответствии с этими требованиями организуют несколько очередей для выдачи пакетов в каждый канал. Наиболее часто реализуется так называемая процедура относительных приоритетов, при которой при каждом освобождении канала выбирается очередной пакет из наиболее приоритетной очереди.
Имитационная модель. В системе GPSS реализовано 128 приоритетов, принимающих номера от нуля до 127. При генерации транзакта оператором generate ему присваивается самый низший приоритет «0», если иное не указано в операнде 5 оператора generate. Этот приоритет может быть при необходимости изменён в любом месте программы с помощью оператора priority конкретным указанием нового приоритета (например, priority 17) или в более сложных случаях с помощью функции как в приведённом ниже примере. Наивысшему приоритету может быть присвоен номер 127.
Листинг 5 - Имитационная модель - модуль 5 - Распределение приоритетов
;Распределение транзактов по приоритетам
sss function rn1,d3 ;аргумент – случайное число (rn1)
.5,1/.8,15/1,7 ;функция – числа 1, 15 или 7
generate 30,20
priority fn$sss ;присвоение приоритетов по функции sss
advance 1000
terminate 1
Операторы priority и function с именем sss разделят общий поток транзактов случайным образом (датчик случайных чисел rn1) на 3 потока. При этом 50% всех транзактов получит приоритет №1, 30% - №15 и 20% - №7. Аргументом функции в данном случае является случайное число, выбираемое в интервале 0 – 1, а функцией – номер нового приоритета для транзакта. Оператор advance с чрезмерно большой задержкой (операнд 1000) позволяет сохранить в отчёте все сгенерированные транзакты и наблюдать присвоенные им приоритеты.
Задание. Объясните структуру оператора priority. Измените операнды оператора function для разделения общего потока транзактов на 2, а потом на 4 приоритета.
Практическое занятие № 6.
Объект исследования. Модель системы с 3-я разно приоритетными очередями транзактов.
Исследуется маршрутизатор IP-пакетов в сети с коммутацией пакетов. Анализируется процедура выдачи пакетов в канал связи с заданной пропускной способностью СМбит/с. Разноприоритетные потоки для выдачи в этот канал поступают из нескольких входящих каналов с суммарной интенсивностью Λ = Σ λi , где λi – интенсивность потока i-го приоритета (i = 0 ÷ 127).
Соотношение между потоками определяется исследователем в зависимости от конкретной ситуации. Основные исследуемые характеристики – длительности задержек пакетов в узле в зависимости от канальной скорости, интенсивности суммарного потока и соотношением между интенсивностями потоков различных приоритетов.
Листинг 6 - Имитационная модель - модуль 6 - Исследование очереди с приоритетами
; Модель очередей с приоритетами
sss function rn1,d3 ;функция случайного распределения приорите
.5,1/.8,2/1,5 тов с вер. 0.5, 0.3 и 0.2
och function pr,d3 ;функция распределения длин очередей по при
1,30/2,15/5,7 оритетам
generate 20,20 ;генерация транзактов с интервалом 20 е.м.в.
priority fn$sss ;выбор номера приоритета
assign ocher,pr ;присвоение имени очереди номера приоритета
test L Q*ocher,fn$och,met ;есть свободные места в очереди?
queue pr ;Да. Установить транзакт в очередь с именем 1,2 или 5
seize kkk ;занять канал с именем kkk
depart pr ;уйти из очереди
advance 19,10 ;задержать транзакт в канале на 19 е.м.в.
release kkk ;освободить канал kkk
terminate 1 ;вычесть 1 из длины прогона
met savevalue otk+,1 ;зафиксировать отказ в переменной otk
terminate 1
Особенностью данной программы является использование в операторах queue и depart в качестве имени очереди номера приоритета (pr). Это дает возможность использовать одни и те же операторы для транзактов любого приоритета. В данном случае именами очереди будут цифры 1, 2 или 5.
Для этого используется оператор assign, который может вошедшему в него транзакту определить имя параметра и присвоить этому параметру заданное значение. В данном случае параметру с именем ocher присваивается числовое значение по номеру приоритета (1, 2 или 5). В дальнейшем этот параметр будет использоваться как имя очереди в операторе test L.
Оператор test L сравнивает на “меньше” текущую длину очереди под номером приоритета (Q * ocher), хранящегося в параметре транзакта ocher, с числом мест в приоритетных очередях, определяемых функцией с именем och. В исходном варианте данного модуля длины допустимых очередей по приоритетам равны соответственно 30-и, 15-и и 7-и.
Задание. Произведите прогон Модуля 6 и проанализируйте отчёт в части очередей с именами 1,2 и 5. Измените длины очередей в функции с именем och, произведите прогон и объясните изменения в отчёте.
Измените операнды оператора generate так, чтобы суммарный поток был равен 400 пакетов/с. Меняя с помощью оператора advance пропускную способность канала от 200 до 600 пакетов/с, снимите зависимости длительностей задержек пакетов Тожi и вероятностей потерь пакетов Р по каждому приоритету в зависимости от пропускной способности канала.
Измените программу Модуль 6 так, чтобы она имитировала многоканальную систему. Снимите зависимости средней длительности ожидания Тожi (значение AVE . TIME в REPORT) и средней длины очереди Dочi (значение AVE . CONT в REPORT) по каждой категории от числа каналов. Если значения откликов Тожi и Dочi исчезающе малы, измените параметры системы так, чтобы исследуемые зависимости оказались наиболее наглядными.
Практическое занятие № 7.
Объект исследования. Пуассоновское распределения потоков различных событий.
Один из наиболее часто используемых в теории телетрафика простейший поток вызовов описывается пуассоновским распределением:
Р i (t) =
где: λ – интенсивность входящего потока вызовов [выз/ед.вр.],
t – интервал времени [ед.вр],
Р i ( t ) – вероятность появления ровно i вызовов в интервале t.
Пуассоновский поток вызовов непосредственно связан с экспоненциальным распределением тем, что интервалы (z) между вызовами пуассоновского потока распределены по экспоненте: Р ( z < t ) = 1 - . А так как в операторе генерации транзактов generate устанавливаются именно интервалы между вызовами, то в модуле 7 реализован экспоненциальный генератор со средним интервалом равным 2 (это означает, что интенсивность вызовов составляет 0,5 выз/ед.вр.).
Программа работает следующим образом. Оператор «generate 100» нарезает временной процесс на равные интервалы времени в 100 е.м.в. (единицы модельного времени). В это время оператор «generate (2#v$eks)» генерирует случайное число транзактов, которое фиксируется в счётчике sch. Содержимое этого счётчика в начале каждого интервала в 100 е.м.в. табулируется и счётчик обнуляется.
Листинг 7 - Имитационная модель - модуль 7 - Построение пуассоновского распределения
;Построение пуассоновского распределения
tab table x$sch,10,2,40 ;построение гистограммы
eks fvariable -log((1+rn8)/1000) ;экспон.распределение
generate (2#v$eks) ;генерация пуассоновского потока
savevalue sch+,1 ;счётчик событий в интервале t
terminate
generate 100 ;генерация интервалов t
tabulate tab ;фиксация числа событий в инт. t
savevalue sch,0 ;обнуление счётчика событий в инт.t
terminate 1 ;общее число интервалов t
Задание. Снять гистограмму пуассоновского распределения. Рассчитать теоретическое распределение по формуле Пуассона. Проверить гипотезу о законе распределения исследуемой случайной величины по критерию согласия χ2 (см. приложение).
Практическое занятие № 8.
Объект исследования. Пуассоновское распределение входящего потока и экспоненциальное распределения длительности обслуживания.
Рассмотренные в предыдущих занятиях объекты функционировали при интервалах между вызовами и длительностях обслуживания распределёнными по закону равномерной плотности. Для этого в операторах generate и advance в качестве операнда В использовалось постоянное число. Однако в реальных телекоммуникационных системах гораздо чаще встречаются интервалы, распределённые по экспоненциальному закону. Это относится как к пуассоновскому входящему потоку, в котором интервалы между вызовами распределены по экспоненте, так и к длительности обслуживания.
Как правило, вызовы подчиняются пуассоновскому закону, если они исходят от большого количества источников (теоретически бесконечного), ни один из которых не является превалирующим. Экспоненциальное распределение длительности занятия каналов характерно для телефонных разговоров. Применительно к передаче данных время передачи пакета по каналу прямо пропорционально его длине, т.е. количеству байт (бит) в нём. И если длину пакета аппроксимировать экспоненциальным распределением (что нередко соответствует действительности), то можно и длительность занятия канала передачей одного пакета считать распределённой по экспоненте.
Реализация экспоненциального распределения для длительностей обслуживания и интервалов между вызовами осуществляется с помощью логарифмической функции t = - ln ξ. В листинге программы эту функцию выполняет оператор fvariable:
fvariable - log((1+rn8)/1000).
При этом среднее значение интервалов между транзактами устанавливается непосредственно в операторе generate (средний интервал между вызовами в данном случае установлен равным 2 емв), а средняя длительность задержки в операторе advance (транзакты задерживаются в среднем на 3 емв).
Листинг 8 - Имитационная модель - модуль 8 - Реализация пуассоновского и экспоненциального распределений
*реализация пуассоновского входного потока и экспоненциального
*распределения длительности обслуживания
tab table m1,0,0.2,100 ;гистограмма задержек
eks fvariable -log((1+rn8)/1000) ;экспоненциальное распределение
generate (2#v$eks) ;генерация потока
advance (3#v$eks) ;задержка транзакта
tabulate tab ;табуляция задержек
terminate 1
В операторе fvariable датчик случайных чисел rn8 при каждом обращении к нему выбирает случайное целое число в диапазоне от 0 до 999. Делением на 1000 эти числа переносятся в диапазон от 0 до 0.999. Чтобы избежать ситуации «log 0» к значению rn8 прибавляется 1 и окончательно диапазон чисел для логарифмирования устанавливается от 0.001 до 1.
Для построения гистограммы задержек в операторе table присутствует операнд m1, являющийся СЧА, определяющим время жизни транзакта. Операнды B , C и D определяют формат гистограммы по оси абсцисс.
Задание. Зафиксировать 3 – 4 гистограммы задержек при различных значениях входящего потока.
Практическое занятие № 9.
Объект исследования. Многоканальное устройство с явными потерями.
В данном занятии проводится анализ многоканального устройства средствами двух методов математического моделирования: аналитического и имитационного. Методы аналитического моделирования многоканальных устройств описаны в многочисленных работах по теории телетрафика. В большинстве случаев эти работы рассматривают системы с пуассоновским входящим потоком вызовов и с экспоненциальным распределением длительности обслуживания. В связи с этим для сопоставительного анализа многоканальной системы двумя методами необходимо использовать модель системы с экспоненциальным распределением как для интервалов между вызовами, так и для длительностей задержек.
Аналитическая модель
Наиболее реальную ситуацию при ограниченном числе каналов (v < ∞) отражает распределение Эрланга (усечённое распределение Пуассона), представленное на рисунке 1:
Р i = i = 0,v (*)
где Р i – вероятность того, что в случайный момент времени в v-канальном устройстве занято i каналов,
У = λt – нагрузка на v-канальную систему, зависящая от интенсивности потока вызовов λ и средней длительности занятия каналов t.
Наиболее важным в распределении Эрланга является состояние i = v, т.е. состояние, когда заняты все каналы. Разумеется, что это то состояние, когда наступают потери (отказы в обслуживании), т.е.
Р i = Р v = Р t = Рв = Рн = Ev (У).
Здесь значения Р t , Рв и Рн являются вероятностями потерь по времени, по вызовам и по нагрузке соответственно.
Последнее обозначение Ev (У) является общепринятым обозначением формулы Эрланга. Наиболее частая практическая задача определения необходимого число линий в пучке для обслуживания поступающей нагрузки при заданной вероятности потерь данной формулой в явном виде не решается, т.к. невозможно выразить число каналов v как функцию от У и Р. В связи с этими трудностями формула Эрланга табулирована в различных справочниках и задачниках. Кроме того в последнее время появилось несколько удобных программ, позволяющих очень легко из трёх величин – нагрузка (У), число каналов (v) и вероятность потерь Р – найти любую при двух других известных.
P ( i )
Распределение Эрланга
Распределение. Пуассона
i
0 1 2 3 4 5 v=6 7 8 9
Рисунок 1. Огибающие распределений вероятностей чисел занятых каналов для простейшего входящего потока.
Имитационная модель. В программном модуле, реализованы экспоненциальные распределения для интервалов между вызовами и длительностей задержек. Кроме того, реализован модуль, обеспечивающий построение гистограммы для сопоставления результатов имитационного моделирования с аналитическими результатами по формуле Эрланга.
Листинг 9 - Имитационная модель - модуль 9 - многоканальная система с потерями
*анализ многоканальной системы с потерями
raspr table s$ggg ;гистограмма Рi
ggg storage 10 ;установка числа каналов
eks fvariable -log((1+rn8)/1000) ;экспоненциальное распределение
generate (2#v$eks);генерация вызовов
gate snf ggg,met ;многоканальное устройство не заполнено?
enter ggg ;Да. Занять канал
advance (18#v$eks);задержать транзакт
leave ggg ;освободить канал
terminate ;вывести транзакт из системы
met savevalue ot+,1 ;зафиксировать очередной отказ
terminate ;вывести транзакт из системы
generate 50
tabulate raspr
terminate 1
Задание. Открыть Модуль 9 и запустить модель.
1. Построить распределение Эрланга по формуле (*) при нагрузке У = 9 Эрл и числе каналов v = 10. Нагрузка определяется как У = λt , где λ определяется по операнду А оператора generate (λ = 1/tинтерв) , а t – по операнду А оператора advance (t – длительность задержки).
2. Снять гистограмму для распределения числа занятых каналов при той же нагрузке У = 9 Эрл. для пуассоновского входного потока и экспоненциального обслуживания. В исходном варианте (модуль 9) установлено У = 0.5*18 = 9 Эрл.
3. Снять гистограмму для распределения числа занятых каналов при той же нагрузке У = 9 Эрл. при равномерно распределённом входном потоке и равномерно распределённой длительности обслуживания. Установить для этого generate 2,2 и advance 18,18.
4. Сравнить полученные экспериментальные зависимости (п.2 и п.3) с теоретическим распределением Эрланга по критерию согласия χ2. (См. приложение).
Практическое занятие № 10
Объект исследования. Одноканальная система с бесконечной очередью, с пуассоновским входным потоком и экспоненциальным обслуживанием.
Такая чисто теоретическая система является наиболее исследованной в теории массового обслуживания и поэтому в наибольшей степени подходит для сопоставительного изучения методов аналитического и имитационного моделирования.
Аналитическая модель
Основной характеристикой, наиболее часто используемой для практических расчётов, является вероятность ожидания для поступившего вызова Р(γ > 0), где γ – время ожидания. По существу, это вероятность того, что вызов до начала обслуживания будет ожидать освобождения канала. Для простейшего потока вызовов эта вероятность совпадает с вероятностью занятости всех каналов или с вероятностью потерь по времени:
Р(γ > 0) = Р≥ v = Pt = =
= Dv (У).
В данном случае суммирование проводится по всем состояниям (i), при которых заняты все каналы и имеется очередь любой длины: от нуля до бесконечности. Расчётное соотношение для вероятности ожидания полученное Эрлангом, называется второй формулой Эрланга, обозначается как Dv (У) и табулировано для практического применения. Таблицы, как и в случае первой формулы позволяют по любым двум из трех параметров – У, v , P – определить третий. Здесь Dv (У) является общепринятым обозначением
2-й формулы Эрланга, которая табулирована во многих источниках.
Очень важно отметить, что одноканальная система с неограниченной очередью может быть статистически устойчива только при У < 1. В противном случае очередь к каналу будет расти до бесконечности, в чём можно убедиться, сопоставив результаты прогонов разной длительности (например, в 10000 и 50000 транзактов).
Вышеприведённые соотношения сделаны для произвольного числа каналов v. В данном занятии v = 1, а в следующих занятиях будут рассмотрены системы с v > 1.
Листинг 10 - Имитационная модель - модуль 10 - одноканальная система с бесконечной очередью
*анализ одноканальной системы с бесконечной очередью
eks fvariable -log((1+rn8)/1000) ;экспоненциальное распределение
generate (20#v$eks) ;генерация транзактов (пакетов) с средним интервалом 20 е.м.в.
queue fff ;установить транзакт в очередь с именем fff
seize kkk ;занять канал с именем kkk
depart fff ;уйти из очереди fff
advance (19#v$eks);задержать транзакт в канале в среднем на 19 е.м.в.
release kkk ;освободить канал kkk
terminate 1 ;вычесть 1 из длины прогона
Данная имитационная модель почти полностью аналогична модели занятия № 1. Исключение составляют операнды в операторах generate и advance, в которых равномерные распределения интервалов заменены на экспоненциальные.
Задание. Открыть Модуль 10 и запустить модель.
1.Построить по таблицам Dv (У) график зависимости вероятности ожидания Р(γ > 0) от нагрузки У при изменении аргумента в пределах
0.2 < У < 0.9.
2. Построить на том же графике эмпирическую зависимость вероятности ожидания (параметр канала UTIL) от тех же аргументов. Напомним, что нагрузка подсчитывается как У = tз / tи, где tз – время задержки транзакта в операторе advance, а tи – длительность интервалов между вызовами в операторе generate.
3. Построить 3 графика по п. 1 и 2, меняя длительность прогона (10000, 100000 и 1000000). Объяснить имеющиеся различия.
Практическое занятие № 11
Объект исследования. Многоканальная система с бесконечной очередью с пуассоновским входным потоком и экспоненциальным обслуживанием. В данном занятии исследуются различные характеристики многоканальных устройств с бесконечной очередью.
а) Средняя длина очереди
Аналитически средняя длина очереди определяется как:
S ̅ = = У Dv (У)/( v – У) = Λ Р(γ > 0) /( v – У)
Здесь v – число каналов в системе, а остальные параметры имеют тот же смысл, что и в занятии № 10. Отметим, что в многоканальных системах условием статистической устойчивости является неравенство У < v, т.е. только в этом случае очередь не будет расти до бесконечности.
Экспериментально средняя длина очереди (S ̅) по результатам прогона фиксируется непосредственно в стандартном отчёте в параметре AVE . CONT .
Листинг 11 - Имитационная модель - модуль 11 – анализ средней длины очереди
;Определение средней длины очереди
ggg storage 5 ;число каналов в пучке
eks fvariable -log((1+rn8)/1000) ;экспон.распределение
generate (2#v$eks) ;генерация пуассоновского потока
queue fff ;установить транзакт в очередь с именем fff
enter ggg ;Занять канал
depart fff ;уйти из очереди fff
advance (3#v$eks) ;обслуживание с экспон. распределением
leave ggg ;освободить канал
terminate 1
Задание. Исследовать зависимость расхождений результатов аналитической и имитационной моделей от величины Р(γ > 0). Параметры моделей (Λ, v, n) установить идентичными. Результаты представить графически.
б) Вероятность превышения длиной очереди заданной величины n
Аналитически эта вероятность определяется с использованием второй формулы Эрланга:
Р( S > n ) = = (У / v ) n +1 Dv (У) = (У / v ) n +1 Р(γ > 0)
Для получения аналогичной вероятности на имитационной модели необходима достаточно сложная программа. Поэтому ниже приводится программа, позволяющая получить несколько приближённую оценку. Причём разница в результатах аналитической и имитационной моделей будет тем меньше, чем меньше эти вероятности.
Листинг 11а - Имитационная модель - модуль 11а
;Вероятность превышения установленной длины очереди (приблизительно)
ggg storage 5 ;число каналов в пучке
eks fvariable -log((1+rn8)/1000) ;экспон.распределение
generate (2#v$eks) ;генерация пуассоновского потока
test L Q$fff,10,met ;есть свободные места в очереди?
queue fff ;установить транзакт в очередь с именем fff
enter ggg ;Занять канал
depart fff ;уйти из очереди fff
advance (8#v$eks) ;обслуживание с экспон. распределением
leave ggg ;освободить канал
terminate 1
met savevalue otk+,1 ;зафиксировать отказ в переменной otk
terminate 1
Приближённый характер данной модели заключается в том, что реализуется очередь ограниченной длины, равной параметру n, и вместо вероятности превышения длиной очереди заданной величины n, имитационная модель определяет вероятность потери транзакта из-за ограниченной очереди.
Задание. Исследовать зависимость расхождений результатов аналитической и имитационной моделей от величины Р(γ > 0). Параметры моделей (Λ, v, n) установить идентичными. Результаты представить графически.
в) Вероятность ожидания свыше допустимого времени.
Это так называемые условные потери.
Аналитически эта величина получается достаточно просто:
Р(γ > t д ) = (γ > t д ) Pi = Dv (У)
= Р(γ > 0)
Здесь величина tд выражена в условных единицах времени (у.е.в.). Условные единицы времени широко применяются в теории телетрафика, т.к. позволяют абстрагироваться от конкретных астрономических единиц (час, мин, мкс) и получать математические выражения в унифицированном виде. Определяется как 1у.е.в. = tср.обсл. т.е. через среднюю длительность обслуживания.
На имитационной модели вероятность Р(γ > tд) определяется по гистограмме в стандартном отчёте. Точнее по таблице в отчёте, в которой по вертикали откладывается время, а в последнем столбце – накопленные проценты.
Листинг 11б - Имитационная модель - модуль 11б
;Вероятность ожидания свыше допустимого времени t
ggg storage 5 ;число каналов в пучке
wtime qtable fff,0,0.5,40 ;распределение длит. ожидания
eks fvariable -log((1+rn8)/1000) ;экспон.распределение
generate (2#v$eks) ;генерация пуассоновского потока
queue fff ;установить транзакт в очередь с именем fff
enter ggg ;Занять канал
depart fff ;уйти из очереди fff
advance (3#v$eks) ;обслуживание с экспон. распределением
leave ggg ;освободить канал
terminate 1
Задание. Снять зависимость вероятности Р(γ > tд) от допустимого времени tд. Пределы изменения tд подобрать так, чтобы Р(γ > tд) изменялось примерно от 0,001 до 0,1. При этом соответствующим образом нужно подбирать операнды в операторе qtable.
г) Средняя длительность ожидания рассматривается в двух вариантах:
- γ̅з - средняя длительность ожидания для задержанных вызовов, т.е. подсчитанная только среди тех, которые поступили на обслуживание после некоторого ожидания;
- γ̅ - средняя длительность ожидания для всех вызовов, т.е. для любого поступившего независимо от процедуры ожидания.
Аналитически оба параметра подсчитываются по формулам:
γ̅з = 1/(v – У), γ̅ = γ̅з Dv (У) = Dv (У) / (v – У) = Р(γ > 0) / (v – У)
Здесь величины γ̅з и γ̅ выражены в условных единицах времени (у.е.в.).
Эмпирически эти параметры выводятся непосредственно в стандартном отчёте в строке queue:
γ̅з – AVE.(-0), γ̅ - AVE.TIME
Задание. Построить на одном графике зависимости средних длительностей ожидания от степени загрузки канала: γ̅з (ρ) и γ̅ (ρ) для аналитических и эмпирических наблюдений. Объяснить результаты наблюдений.
Практическое занятие № 12.
Модель двухфазной системы с потерями.
Реальные телекоммуникационные системы никогда не состоят из одного обслуживающего устройства. Например, в ЛВС созданный в компьютере пользователя пакет, прежде чем попасть в канал доступа к Internet, в зависимости от конфигурации ЛВС пройдёт через несколько обслуживающих устройств (фаз обслуживания): каналы, коммутаторы, маршрутизатор. Каждое из этих устройств, строго говоря, тоже нельзя рассматривать как отдельное обслуживающее устройство. Например, в коммутаторе мы можем отдельно рассматривать работу входного порта (контроллера), центрального процессора, различных модулей ПО, общей шины, выходного порта. Причём такую детализацию можно продолжить. Например, в работе центрального процессора можно отдельно рассматривать работу АЛУ, управляющего устройства, памяти, интерфейсов.
В данном занятии исследуется система с двухфазным обслуживанием. Каждый транзакт должен обслуживаться вначале каналом с именем rrr , а затем каналом с именем kkk. Если к моменту поступления транзакта к любому из каналов данный канал занят (проверка оператором gate nu), то транзакт фиксируется как потерянный в переменных ot1 или ot2 в зависимости от номера фазы.
Листинг 12 - Имитационная модель - модуль 12
;модель двухфазной системы обслуживания с потерями
;с одним входным потоком
generate 20,20 ;генерация транзактов (пакетов) с интервалом 20 е.м.в.
gate nu rrr,otk1 ;устройство rrr свободно?
seize rrr ;Да. Занять канал с именем rrr
advance 29,20 ;задержать транзакт в канале на 29 е.м.в.
release rrr ;освободить канал с именем rrr
vtor gate nu kkk,otk2 ;Вторая фаза. Устройство kkk свободно?
seize kkk ;Да. Занять канал с именем kkk
advance 19,19 ;задержать транзакт в канале на 19 е.м.в.
release kkk ;освободить канал kkk
terminate 1 ;вычесть 1 из длины прогона
otk1 savevalue ot1+,1 ;Потеря транзакта в 1-й фазе
terminate 1 ;вычесть 1 из длины прогона
otk2 savevalue ot2+,1 ;Потеря транзакта во 2-й фазе
terminate 1 ;вычесть 1 из длины прогона
Задание. Откройте программу Модуль 12 и запустите её. Определите степень загрузки каждого канала и долю потерянных транзактов в каждой фазе. Определите суммарную вероятность потери транзактов в двух фазах.
Приложение