- •Федеральное агентство связи
- •Лабораторная работа №2
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы:
- •Лабораторная работа №3
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы:
- •Лабораторная работа № 3
- •Лабораторная работа № 4
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Лабораторная работа № 5
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Лабораторная работа № 6
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Лабораторная работа № 7
- •Лабораторная работа № 8
- •0,0/0.1,0.8/0.5,1.6/1.0,1.9
- •0,12/1,9/2,8/3,6
- •Лабораторная работа № 9
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 10
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 11
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 12
- •2.Литература:
- •3.Подготовка к работе:
- •7.Порядок выполнения работы
- •Лабораторная работа № 13
- •2.Литература:
- •3.Подготовка к работе:
- •7.Порядок выполнения работы
- •Лабораторная работа № 14
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 15
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 16
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 17
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 18
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 19
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 20
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 21
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 22
- •2.Литература:
- •3.Подготовка к работе:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7. Порядок выполнения работы
- •Приложение Редактирование текста модели
- •Запись и считывание модели с диска
- •Лабораторная работа № 24
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Описание машинной программы решения задачи
- •Результаты моделирования и их анализ
- •Лабораторная работа № 25
- •2.Литература:
- •3.Подготовка к работе:
- •7.Порядок выполнения работы
- •Лабораторная работа № 26
- •2Литература:
- •3.Подготовка к работе:
- •7. Порядок выполнения работы
- •Блоки устройств
- •Блоки накопителя
- •Блоки сбора статистических данных об очереди
- •Лабораторная работа № 27
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 28
- •2.Литература:
- •3.Подготовка к работе:
- •5. Содержание отчета:
- •7.Порядок выполнения работы
- •Лабораторная работа № 29
Лабораторная работа № 25
HАИМЕНОВАНИЕ:Модель сети Ethernet.
1.ЦЕЛЬ РАБОТЫ: Смоделировать сеть Ethernet..
2.Литература:
2.1 Д. Н. ШЕВЧЕНКО, И. Н. КРАВЧЕНЯ «ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ НА GPSS» Учебно-методическое пособие.
2.2 http://www.belsut.gomel.by/Ellibrary/12/
imitacionnoe_modelirovanie_gpss_kravchenya_shevchenko.pdf
2.3 http://www.bibliofond.ru/view.aspx?id=490533
2.4 Кельтон, В. Имитационное моделирование / В. Кельтон, A. Jloy. - 3-е изд. - СПб.: Питер, 2004. - 848 с.
2.5 Максимей, И. В. Имитационное моделирование на ЭВМ / И. В. Максимей. - М. : Радио и связь, 1988. - 232 с.
2.6 Шрайбер, Т. Дж. Моделирование на GPSS / Т. Дж. Шрайбер. - М. : Машиностроение, 1980. - 593 с.
3.Подготовка к работе:
3.1. Изучить предложенную литературу.
3.2. Подготовить бланк отчёта.
4. ОСНОВНОЕ ОБОРУДОВАНИЕ: 4.1. Персональный IBM PC.
4.2. Программа GPSS World
5. СОДЕРЖАНИЕ ОТЧЕТА:
5.1. Наименование и цель работы.
5.2. Описать модель сети Ethernet.
5.3. Выводы о проделанной работе.
5.4. Ответы на контрольные вопросы.
6. КОНТРОЛЬНЫЕ ВОПРОСЫ:
6.1 Что такое «ASSIGN»?
6.2 Что такое «Node_Count?
6.3 Что такое «Intermessage_Time?
6.4 Что такое «Max_Msg EQU»?
6.5 Что такое «Backrandom»?
6.6 Что такое «SAVEVALUE»?
6.7 Что такое «PRIORITY»?
7.Порядок выполнения работы
Постановка задачи | |
10-мегабитная сеть Ethernet с сотней подключенных в данный момент рабочих станций работает удовлетворительно. Было определено, что сетевой трафик состоит из двух классов сообщений, которые генерируются с одинаковой пропорцией во всех узлах. Общая структура входящего потока сообщений в час пик может быть смоделирована как пуассоновский процесс со случайным выбором отдельных рабочих станций. Необходимо определить влияние подключения к сети дополнительных 100 рабочих станций на ее производительность.
Приложение. |
|
Листинг | |
; Пример GPSS World - ETHERNET.GPS ***************************************************************************** * * Модель 10-мегабитной сети Ethernet * * Сообщения поступают экспоненциально и бывают двух типов: короткие и * длинные. Выбирается узел и удерживается в течение передачи * сообщения и всех выдержек времени в случае коллизии. * * Каждый узел Ethernet может быть занят одним сообщением до тех пор, пока оно * не будет отправлено или пока не произойдет некоторое количество коллизий * (во время попыток передачи другими узлами), после чего объявляется * постоянная ошибка и узел освобождается. * * Время измеряется в миллисекундах. Подразумевается, что отдельные узлы * отстоят друг от друга на 2,5 м. При расчете окна коллизии для определения * разделяющего расстояния используется идентификационный номер узла. * Задержки распространения между смежными узлами * равны 0,01 микросекунды. Каждый бит перемещается за 0,1 микросекунды. * Межкадровый интервал моделируется путем задержки сети передающим узлом * на некоторое дополнительное время, после того как он передал свое * сообщение. * * Сообщения представлены транзактами GPSS. Узлы и сеть представлены * устройствами GPSS. Дополнительное устройство используется во время передачи * преднамеренных помех для предотвращения начала передачи нового сообщения. * * Коллизия возникает из-за нескольких одновременных попыток передачи 2 или * более узлов. Задержка распространения сигнала препятствует одновременному * распознаванию узлов друг другом, тем самым приводя к возможности коллизии. * Интервал времени, в течение которого сигнал из другого узла может быть * обнаружен, называется «окном коллизии». * * Коллизия представлена лишением передающего транзакта права занимать * Ethernet и отправкой его в подпрограмму выдержки времени. Новый занимающий * транзакт передает преднамеренные помехи в Ethernet и затем сам выдерживает * некоторый временной интервал. Когда отправляется сообщение транзакта, * транзакт занимает устройство Ethernet с приоритетом 0 и может быть вытеснен * (PREEMPT) только транзактом с приоритетом 1. Когда транзакт передает * преднамеренные помехи, он занимает устройство Ethernet с приоритетом 1 * и не может быть вытеснен. * * Аргументы: * 1. Node_Count - Количество узлов, отстоящих друг от друга на 2.5 м. * 2. Min_Msg – Минимальное сообщение (бит). * 3. Max_Msg – Максимальное сообщение (бит). * 4. Fraction_Short_Msgs – Доля коротких сообщений (в долях от тысячи) * 5. Intermessage_Time – Общий интервал между сообщениями. * ***************************************************************************** Node_Count EQU 100 ;Общее число узлов Ethernet. Intermessage_Time EQU 1.0 ;Среднее значение общего количества сообщений, ;поступающих каждую миллисекунду. in_Msg EQU 512 ;Минимальное сообщение в битах. Max_Msg EQU 12144 ;Максимальное сообщение в битах. Fraction_Short_Msgs EQU 600 ;Короткие сообщения (в долях от тысячи). lot_Time EQU 0.0512 ;Время прохождения 512 битов. Jam_Time EQU 0.0032 ;Время прохождения 32 битов. Backoff_Limit EQU 10 ;Не больше, чем 10 повторов в случае коллизии. Interframe_Time EQU 0.0096 ;Время прохождения 96 битов. ***************************************************************************** * * Определение функций и переменных GPSS * ***************************************************************************** Backoff_Delay VARIABLE Slot_Time#V$Backrandom ;Вычисляется задержка ;перед повторной попыткой в случае коллизии. Backrandom VARIABLE 1+(RN4@((2^V$Backmin)-1)) Backmin VARIABLE (10#(10’L’P$Retries))+(P$Retries#(10’GE’P$Retries)) Node_Select VARIABLE 1+(RN3@Node_Count) Collide VARIABLE ABS((X$Xmit_Node-P$Node_ID)/100000)’GE’(AC1-X$Xmit_Begin) Msgtime VARIABLE (0.0001)#V$Msgrand Msgrand VARIABLE Min_Msg+(RN1’G’Fraction_Short_Msgs)#(Max_Msg-Min_Msg) ***************************************************************************** * * Диаграмма задержки сообщений * ***************************************************************************** Msg_Delays QTABLE Global_Delays,1,1,20 ***************************************************************************** * * Главная часть модели * ***************************************************************************** * ***************************************************************************** * Генерация сообщений ***************************************************************************** GENERATE (Exponential(1,0,Intermessage_Time)) ;Генератор ;отдельных сообщений. ASSIGN Node_ID,V$Node_Select ;Получить номер узла. ASSIGN Message_Time,V$Msgtime ;Вычисляется и сохраняется ;время передачи. ASSIGN Retries,0 ;При начале нет коллизий. ***************************************************************************** * Ожидание, пока узел не закончит любую предыдущую работу. ***************************************************************************** QUEUE Global_Delays ;Начало отсчета времени. SEIZE P$Node_ID ;Ожидание, занятие узла. Try_To_Send PRIORITY 1 ;Не отдавать управление. SEIZE Jam ;Ожидать, пока не завершится RELEASE Jam ;передача преднамеренных помех. TEST E F$Ethernet,1,Start_Xmit ;Если Ethernet свободен, ;переход. ***************************************************************************** * Ethernet занят. Проверим, находимся ли мы в окне коллизии передающего узла. * Если это так, данный узел в любом случае начнет передачу, т.к. несущая не * будет обнаружена. В этом случае мы должны инициировать коллизию. * Если задержка распространения до передающего узла больше или равна времени * передачи, происходит коллизия. ***************************************************************************** TEST E V$Collide,1,Start_Xmit ;Коллизии нет. Переход ;к ее ожиданию. * * * * * * * * * * * * * * * * Коллизия * * * * * * * * * * * * * * * * * * Collision PREEMPT Ethernet,PR,Backoff,,RE ;Удалить занимающий транзакт. SEIZE Jam ;Передача в Ethernet преднамер. помех. ADVANCE Jam_Time ;Время передачи помех. RELEASE Jam ;Конец передачи помех. RELEASE Ethernet ;Ethernet освобождается. PRIORITY 0 ;Возвращение к нормальному приоритету. Backoff ASSIGN Retries+,1 ;Увеличение счетчика повторов. TEST LE P$Retries,Backoff_Limit,Xmit_Error ;Ограничение ;попыток. ADVANCE V$Backoff_Delay ;Ожидание перед началом попытки. TRANSFER ,Try_To_Send ;Переход к новой попытке. ***************************************************************************** * Занятие Ethernet и начало передачи. ***************************************************************************** Start_Xmit SEIZE Ethernet ;Занимает Ethernet, если необходимо, ждет. SAVEVALUE Xmit_Node,P$Node_ID ;Определение передающего узла. SAVEVALUE Xmit_Begin,AC1 ;Отмечается начало времени передачи. PRIORITY 0 ;Обеспечивается то, что транзакт может быть вытеснен. ADVANCE P$Message_Time ;Ждем, пока сообщение не будет ;отправлено. ADVANCE Interframe_Time ;Интервал между сообщениями. RELEASE Ethernet ;Ethernet освобождается. Free_Node RELEASE P$Node_ID ;Узел освобождается DEPART Global_Delays ;для передачи следующего сообщения. TERMINATE ;Сообщение разрушается. ***************************************************************************** Xmit_Error SAVEVALUE Error_Count+,1 ;Подсчитывается количество ошибок. TRANSFER ,Free_Node ;Узел освобождается. ***************************************************************************** ** Сегмент таймера ***************************************************************************** GENERATE 1000 ;Каждый транзакт равен 1 секунде. TERMINATE 1 |