Произвести запуск программы (command > start) на длину прогона в 10000 транзактов.

МИНОБРНАУКИ

Федеральное государственное автономное образовательное

учреждение высшего профессионального образования

«ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

 

 

Нерсесянц А.А.

 

Методические указания

к выполнению лабораторного практикума

по курсу лекций «Теория построения инфокоммуникационных систем и сетей» для студентов физического факультета ЮФУ

Направление подготовки – инфокоммуникационные технологии и системы связи

 

 

Изучение способов анализа структурных элементов

инфокоммуникационных систем методами имитационного моделирования в системе GPSS World

 

 

Ростов-на-Дону

2013

 

Методические указания разработаны профессором кафедры Радиофизики Физического факультета ЮФУ

Нерсесянцем Альфредом Аванесовичем

 

 

Ответственный редактор – доктор физико-математических наук, профессор Г.Ф. Заргано

 

 

Печатается в соответствии с решением кафедры

Радиофизики Физического факультета ЮФУ,

Протокол № 3 от 28.09.2013 г.

1. Вводные замечания по использованию системы

моделирования GPSS World

Дружественный пользовательский интерфейс системы GPSS World позволяет работать с ней, владея лишь общей компьютерной грамотностью, и во многих случаях рассматривать приведённый ниже набор программ как некоторый чёрный ящик. В то же время необходимо дать хотя бы минимальные сведения о порядке запуска программ, способах изменения параметров и доступа к результатам моделирования.

 

1.1. Запуск моделирующей программы.

Щёлкнуть на ярлыке GPSSW на рабочем столе и далее по кнопке Открыть (2-я кнопка слева на шкале инструментов). В появившемся перечне выбрать один из модулей по указанию преподавателя и вывести его на рабочий стол.

Для запуска программы нажмите последовательно: Command > Create Simulation > Command > Start. В появившемся окне Start Command установите продолжительность эксперимента в виде числа вызовов (транзактов) вводимых в систему. Учесть, что чем продолжительнее эксперимент, тем точнее результат моделирования (меньше дисперсия). Для целей лабораторной работы можно ограничиться числом транзактов, равным, например, 10000 или 100000. Нажав ОК, Вы запускаете моделирующую программу, а после её завершения и доступ к стандартному отчёту.

1.2. Доступ к результатам моделирования.

Основные результаты моделирования представляются в стандартном отчёте, который автоматически выводится на рабочий стол по окончании прогона. Конкретные значения отчёта рассматриваются последовательно по мере выполнения занятий.

Для доступа к матрицам и гистограммам, при их наличии в данном модуле, необходимо нажать следующие кнопки: Window>Simulation Window и далее Matrix Window или Table Window.

 

1.3. Внесение изменений в параметры моделируемой системы.

Параметры, подлежащие изменению (интенсивность входного потока, число каналов, канальная скорость и др.), указываются в каждом конкретном задании.

Для внесения изменений в исходный модуль программы нужно вызвать этот модуль, нажав кнопку Window и в открывшемся меню вызвать имя программы под номером 1. Необходимо помнить, что ЭВМ выполняет вычисления не с исходным, а с машинным модулем. Поэтому после любых изменений в исходном модуле необходимо снова запускать программу транслятор запуском : Command > Create Simulation (или Retranslate).

Не забывайте после каждого прогона обнулять предыдущую статистику нажатием кнопок Clear или Reset. При выходе из программы по окончании занятия помните, что все изменения и получаемые результаты сохранению не подлежат.

Для более детального изучения основ компьютерного моделирования можно обратиться к монографии [1], а для овладения навыками моделирования на GPSS World следует обратиться к учебному пособию [2].

В отчёте по практическим занятиям необходимо по каждому пункту представлять программы с комментариями и основные результаты прогонов.

Изучить функции использованных операторов и операндов, а также содержание стандартных отчётов.

 

2. Практические занятия

Практическое занятие № 1.

Объект исследования. Одноканальное устройство с неограниченной очередью.

Одноканальные устройства широко применяются в современных телекоммуникационных системах. Вся сеть Internet на 3-м уровне семиуровневой модели представляет собой множество маршрутизаторов, связанных между собой одноканальными линиями связи. Основная работа маршрутизатора состоит в следующем:

- получив IP-пакет, маршрутизатор анализирует его адресную часть и определяет направление его дальнейшей передачи;

- если канал в выбранном направлении свободен, то он занимается для передачи этого пакета;

- если канал занят передачей ранее пришедшего пакета, то данный пакет устанавливается в очередь (записывается в буфер ожидания) и будет обслужен по мере освобождения канала.

При анализе работы IP-сетей наибольший интерес представляет время задержки пакета в маршрутизаторе (ожидание в очереди + передача по каналу).

В реальных маршрутизаторах объём буфера (длина очереди), конечно, ограничен. Но в данном занятии мы предварительно рассмотрим теоретическую модель с неограниченной очередью, как более простую.

Строго говоря, поступивший в маршрутизатор пакет не сразу поступает на обработку в одно из исходящих из маршрутизатора направлений. Предварительно пакет должен обработаться в устройстве анализа адреса (обычно специальный микропроцессор) для выбора направления дальнейшей передачи пакета. С точки зрения теории массового обслуживания это типичная двухфазная схема. Однако, пренебрегая временем работы микропроцессора по сравнению с временем передачи пакета по каналу (что как правило соответствует действительности), рассмотрим процесс передачи пакета через маршрутизатор как работу одноканального устройства.

Листинг 1 - Имитационная модель - модуль 1 - Модель одноканального устройства с неограниченной очередью.

 

; Модель одноканального устройства с неограниченной очередью.

generate 20 ;генерация транзактов (пакетов) с интервалом 20 е.м.в.

queue fff ;установить транзакт в очередь с именем fff

seize kkk ;занять канал с именем kkk

depart fff ;уйти из очереди fff

advance 19 ;задержать транзакт в канале на 19 е.м.в.

release kkk ;освободить канал kkk

terminate 1 ;вычесть 1 из длины прогона

 

е.м.в. – единица модельного времени.

Задание. Тщательно изучите каждый оператор и приведенные операнды по комментариям.

Произвести запуск программы (command > start) на длину прогона в 10000 транзактов.

Изучить содержимое стандартного отчета (REPORT), особенно в части характеристик обслуживающего устройства (канала) и очереди.

Обратите внимание на то, что данная модель статистически устойчива только, если длительность задержки транзакта (операнд А оператора advance) меньше интервала между моментами появления транзактов (операнд А оператора generate).

Убедитесь в этом, изменив соотношение операндов на противоположное и проведя два эксперимента с различной длиной прогона. Объясните причину зависимости длины очереди (AVE . CONT) от длины прогона.

В исходном варианте отсутствие в операторах generate и advance операндов В исключает случайность в работе устройства, что, как правило, не соответствует реальной ситуации. Исключение составляют, например, системы наблюдения, в которых различные датчики через равные промежутки времени выдают в центральный пункт сообщения одинаковой длины.

Внесите случайность в работу модели, добавив операнды В:

generate 20,20 - длительность интервала между моментами появления транзактов будет меняться от 0 до 40 .

advance 19,10 - длительность задержки транзакта в канале будет меняться от 9 до 29.

Сравните данные в новом отчёте с предыдущими и объясните произошедшие изменения.

Практическое занятие № 2.

Объект исследования. Одноканальное устройство с ограниченной очередью.

Наиболее типичная ситуация для маршрутизаторов в сетях с коммутацией пакетов. Важно отметить, что ограничение очереди в маршрутизаторах производится не столько с целью экономии буферной памяти (память, как известно, стремительно дешевеет), сколько из необходимости ограничить время пребывания пакетов в узлах сети. Застрявший сверх допустимого времени пакет, во-первых, утрачивает свою актуальность (возможно, что он уже не нужен получателю), а во-вторых, находясь в очереди, этот пакет задерживает тех, которые приходят в узел после него. Выбор наиболее целесообразного ограничения для длины очереди – сложнейшая оптимизационная задача. Слишком длинные очереди в сети приводят, как уже отмечалось, к большим задержкам пакетов в сети, а слишком короткие – увеличивают потери пакетов, т.к. пакет, поступивший в узел при занятости всех мест ожидания в нужном направлении, покидает систему и считается потерянным.

Ограничить очередь в имитирующей программе можно различными способами. Например, можно добавить в предыдущий модуль оператор test:

test L q $ fff ,10, met ;очередь меньше десяти?

Данный оператор проверяет на «меньшее» текущую длину очереди с именем fff (стандартный числовой атрибут q $ fff) с числом 10 и, если оно не меньше (вспомогательный операнд L), то направляет транзакт к метке met.

Таким образом, обслуживание транзакта (пакета) продолжается только в том случае, если в очереди есть свободные места. В противном случае с помощью оператора savevalue к переменной otk прибавляется единица.

 

Листинг 2 - Имитационная модель - модуль 2 - Модель одноканальной системы с ограниченной очередью.

; Модель одноканальной системы с ограниченной очередью.

generate 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

 

Задание. Запустите программу и проанализируйте отчет.

Снимите зависимости:

- Tож (ρ) для 4-х значений ρ в пределах от 0,5 до 1,5;

- P(ρ) – вероятность потери транзакта.

Здесь: Tож – среднее время ожидания в очереди (AVE . TIME в REPORT), а ρ = tзад/tинт – загрузка канала, определяемая как отношение времени задержки транзакта в операторе advance к интервалу между моментами появления транзактов в операторе generate. Вероятность потерь определяется как отношение числа потерянных пакетов (переменная otk) к общему числу вошедших в систему пакетов (устанавливается командой Start).

В теории телетрафика величина ρ является главным параметром, определяющим степень загруженности обслуживающей системы. При этом ρ определяется как ρ = λt, где λ – интенсивность входного потока требований, а t – длительность обслуживания. Значение ρ может меняться от 0 до 1 и при приближении к 1 такие параметры как длительность ожидания или длина очереди резко возрастают (теоретически до бесконечности).

Практическое занятие № 3.