Расчет сети SDH
Содержание
Введение
В последние годы основные достижения в различных областях науки и техники неразрывно связаны с процессом совершенствования ЭВМ. Сфера эксплуатации ЭВМ — бурно развивающаяся отрасль человеческой практики, стимулирующая развитие новых теоретических и прикладных направлений. Ресурсы современной информационно-вычислительной техники дают возможность ставить и решать математические задачи такой сложности, которые в недавнем прошлом казались нереализуемыми, например моделирование больших систем.
Моделирование является основным методом исследований во всех областях знаний и научно обоснованным методом оценок характеристик сложных систем, используемым для принятия решений в различных сферах инженерной деятельности. Существующие и проектируемые системы можно эффективно исследовать с помощью математических моделей (аналитических и имитационных), реализуемых на современных ЭВМ, которые в этом случае выступают в качестве инструмента экспериментатора с моделью системы.
В мире информационных технологий имитационное моделирование переживает второе рождение. И это в первую очередь связано с появлением в 2000 году мощного программного продукта фирмы Minuteman Software – GPSS World (GPSSW – General Purpose System Simulation World – Мировая общецелевая система моделирования), разработанного для ОС Windows. Этот программный продукт вобрал в себя весь арсенал новейших информационных технологий. Он включает развитые графические оболочки для создания моделей и интерпретации выходных результатов моделирования, мультимедийные средства и видео, объектно-ориентированное программирование и др. В основу системы GPSS World положен язык имитационного моделирования GPSS (General Purpose System Simulation – Общецелевая система моделирования), разработанный профессором Гордоном чуть более 40 лет назад. В такой бурно развивающейся области, как программное обеспечение, только небольшое количество языков программирования достигло подобного почтенного возраста. Долгожительство языка GPSS объясняется многими причинами:
- он прост в изучении и использовании;
- многие пользователи достигли больших успехов при решении реальных проблем с использованием именно языка GPSS;
- наиболее важные классы объектов (требования (транзакты), каналы, накопители, логические переключатели и др.) и их свойства широко используются в реальных вычислительных сетях, производственных и коммерческих системах и т.д.;
- диапазон использования языка достаточно широк;
- язык постоянно совершенствуется;
- расширение создаваемых моделей легко осуществимо;
- доступно широкое использование анимации;
- пользователи способны легко понять внутреннюю логику и алгоритмы GPSS;
- интерфейс прост и удобен;
- при построении модели язык позволяет оперировать непосредственно понятиями имитируемой системы.
Система GPSS World – мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Эта система явилась следующим шагом развития системы GPSS/PC (1984 год), ориентированной на DOS. Обе системы разработаны специалистами фирмы Minuteman Software (основана в 1982 году) под руководством Спрингера Кокса. Сначала система GPSS World появилась в 1994 году с ориентацией на OS/2 фирмы IBM, и только в 2000 году она была реализована под ОС Windows фирмы Microsoft.
В GPSS World появились дополнительные возможности, вот основные из них:
- по всем классам объектов и переменных реализованы динамические графические окна, в которых представляется в реальном времени промежуточная и выходная статистика;
- гибкий процедурный язык PLUS может быть использован для построения моделей и в процедурах проведения эксперимента;
- введены средства поддержки факторного анализа, традиционного дисперсионного (AVONA) и регрессионного анализа, оптимизация на основе методологии оптимального планирования эксперимента;
- стали доступны элементы непрерывного моделирования;
- решены проблемы с целочисленным модельным временем.
Система GPSSW имеет новый высокоскоростной транслятор, работающий в сотни раз быстрее его предшественников. Для быстрого исправления ошибок используется полноэкранный текстовый редактор.
Система включает большое число различных типов окон, упрощающих просмотр и анализ объектов модели. Дружественный интерфейс облегчает работу с системой. В ней имеется библиотека распределений вероятностей, которые можно широко использовать в процессе моделирования. Кроме того, есть библиотека процедур, обеспечивающая манипуляции со строковыми данными и позволяющая выполнить расчеты и использовать распределения вероятности.
Использование системы моделирования GPSS World не только значительно ускоряет процесс моделирования и исследования самых разнообразных систем массового обслуживания и непрерывных процессов, но и позволяет проводить оптимизационные эксперименты.
1 Постановка задачи
В системе передачи данных осуществляется обмен пакетами данных между пунктами А и В по дуплексному каналу связи. Пакеты поступают в пункты системы от абонентов с интервалами времени между ними 8 ± 3 мс в пункт А и 6 ± 2 мс в пункт В. Передача пакета занимает 10 мс. В пунктах имеются буферные регистры, которые могут хранить два пакета (включая передаваемый). В случае прихода пакета в момент занятости регистров пунктам системы предоставляется выход на спутниковую полудуплексную линию связи, которая осуществляет передачу пакетов данных за 10 ± 5 мс. При занятости спутниковой линии пакет получает отказ.
Смоделировать обмен информацией в системе передачи данных в течение 1 мин. Определить частоту вызовов спутниковой линии и ее загрузку. В случае возможности отказов определить необходимый для безотказной работы системы объем буферных регистров.
2 Составление структурной схемы системы. Анализ задачи
Структурная схема отображает общий вид модели, то есть количество источников требований, обслуживающих каналов, очередей и способы их взаимодействия друг с другом. Кроме того, в структурной схеме указываются в случае их наличия потери или, другими словами, те требования, которые в силу каких-то особых условий изменили маршрут своего следования или вообще ушли из модели необслуженными.
Структурная схема данной задачи состоит из двух источников требований, имитирующих поступление сообщений из пункта А в пункт В и обратно, трех одноканальных устройств, два из которых изображают дуплексные каналы связи, а третий – канал, обслуживающий требования, если два других канала заняты. Кроме того, в каждом канале связи имеются буферы для хранения поступающих сообщений.
Структурная схема системы отображена на рисунке 1.
Рисунок 1 – Структурная схема системы
2.1 Анализ задачи
Из условия задачи можно описать данную систему как совокупность трех одноканальных устройств.
Одноканальное устройство имеет:
- список отложенных прерываний – список транзактов, ожидающих занятия ОКУ по приоритету;
- список прерываний – список транзактов, обслуживание которых данным ОКУ было прервано:
- список задержки – список транзактов, ожидающих занятия ОКУ в порядке приоритета;
- список повторных попыток – список транзактов, ожидающих изменения состояния ОКУ.
ОКУ характеризуются двумя
- каждое ОКУ в любой момент времени может обслужить только один транзакт, если в процессе обслуживания появляется новый транзакт, он должен либо подождать своей очереди обслуживания, либо пойти куда-нибудь в другое место, либо, если он имеет более высокий приоритет, прервать протекающее обслуживание до его завершения;
- когда на ОКУ поступает транзакт, в модели надо пропустить время, необходимое для его обслуживания.
Поскольку ОКУ в модели может быть много, для различия им дают символические имена. Имена образуются так же, как и имена блоков.
При моделировании возможны следующие режимы организации функционирования ОКУ:
- занятие ОКУ и его освобождения;
- прерывание обслуживания ОКУ;
- недоступность ОКУ и восстановление доступности.
2.2 Составление блок-диаграммы
Модели систем на GPSS могут быть первично описаны в виде блок-диаграмм. Блок-диаграмма представляет собой набор символов с характерными очертанием блоков, соединенных между собой линиями. Вид каждого из блоков стандартен. Модель строится следующим образом. Из допустимого множества блоков выбирают необходимые и далее выстраивают их в диаграмму для того, чтобы в процессе функционирования модели они как бы взаимодействовали друг с другом. Использование блоков при построении моделей зависит от логических схем работы реальных систем, моделируемых на ЭВМ. При этом отдельные элементы модели и модель в целом имеют достаточно различимое подобие. Оно может быть также усилено разработчиком за счет более продуманного на этапе разработки разделения исследуемого объекта и модели на сегменты.
Конфигурация блок-диаграммы отражает направления, по которым происходит движение перемещающихся элементов – транзактов. Работа модели заключается в перемещении транзактов от блоков к блокам.
В самом
начале моделирования в модели нет
ни одного транзакта. В процессе моделирования
транзакты входят в модель в определенные
моменты времени в соответствии
с теми логическими потребностями,
которые возникают в
Блок-диаграмма системы показана на рисунке 2.
Рисунок 2 –Блок-диаграмма системы
2.3 Оформление модели в GPSS
После того как блок-диаграмма построена, она должна быть записана в форме, удобной для создания объекта «модель». Для этого информация об объектах GPSS записывается в виде последовательности операторов.
Описание процесса поступления требований. Транзакты поступают в модель через блок GENERATE. В данной задаче требования из канала А поступают каждые 8 ± 3 мс. В GPSS это следует описать таким образом:
GENERATE 8,3.
Каждое из поступивших требований должно занять очередь. Для этого используется блок QUEUE. По условию, буфер может хранить одновременно только два пакета, включая передаваемый. Если буфер заполнен, пакеты уходят на спутниковый канал передачи. Для организации проверки очереди на наличие свободных мест предназначен блок TEST. В этом блоке следует сравнить длину очереди buff1 c единицей, и если она меньше единицы, занять очередь. В противном случае транзакт уходит на метку met1. Поэтому в данной системе занятие очереди требованием будет выглядеть следующим образом:
TEST L Q$buff1,1,met1
QUEUE buff1.
Имитация обслуживания требования. После того, как требование дождалось своей очереди, оно должно занять устройство, которое будет его обслуживать. Для занятия устройства в GPSS используется блок SEIZE.
В данной задаче устройством является передающий канал, поэтому занятие устройства следует описать так:
SEIZE canal_ab
Заняв устройство, транзакт должен освободить очередь, для чего используется блок DEPART, имеющий тот же самый формат записи, что и блок QUEUE.
DEPART buff1
Непосредственное обслуживание транзакта осуществляется блоком ADVANCE, имитирующим задержку транзакта в устройстве на некоторый промежуток времени. В задаче устройство обслуживает транзакт ровно 10 мс, и на языке GPSS это будет выглядеть так:
ADVANCE 10.
Далее транзакт освобождает устройство, что имитируется блоком RELEASE, имеющим такие же параметры, как и блок SEIZE, и покидает систему. Данные действия записываются следующим образом:
RELEASE canal_ab
TERMINATE.
Блок TERMINATE имитирует удаление транзакта из модели и уменьшает счетчик завершений на число, указанное в операнде А. В данном случае значение операнда А равно нулю.
Процесс обслуживания транзактов на втором устройстве происходит аналогично и выглядит таким образом:
GENERATE 6,2
TEST L Q$buff2,1,met1
QUEUE buff2
SEIZE canal_ba
DEPART buff2
ADVANCE 10
RELEASE canal_ba
TERMINATE
Обслуживание требований, изменивших направление. Если буфер какого-либо из каналов переполнен, по условию пакет переходит на обслуживание на спутниковую линию. В случае же ее занятости, пакет получает отказ. Проверка занятости устройства осуществляется блоком GATE. В условиях данной задачи следует проверить устройство на неиспользуемость, поэтому блок будет выглядеть так:
GATE NU sputnik,met2.
Проверив устройство sputnik на неиспользуемость и получив отрицательный ответ, транзакт последует на метку met2, которая будет находиться на дополнительном блоке TERMINATE. То есть если устройство занято, транзакт покинет систему.
Дальнейшее обслуживание на спутниковом канале имеет тот же вид, что и на каналах дуплексной связи:
SEIZE sputnik
ADVANCE 10,5
RELEASE sputnik
TERMINATE
Известно, что система должна отработать 1 минуты. Модельное время должно быть в одной и той же единице измерения, поэтому при переводе в миллисекунды система работает 60000 мс. Для организации таймера создается следующее:
GENERATE 60000
TERMINATE 1.
Система закончит работу, когда счетчик завершений станет равным нулю.
3 Текст программы на языке GPSS
GENERATE 8,3
TEST L Q$buff1,1,met1
QUEUE buff1
SEIZE canal_ab
DEPART buff1
ADVANCE 10
RELEASE canal_ab
TERMINATE
GENERATE 6,2
TEST L Q$buff2,1,met1
QUEUE buff2
SEIZE canal_ba
DEPART buff2
ADVANCE 10
RELEASE canal_ba
TERMINATE
met1 GATE NU sputnik,met2
SEIZE sputnik
ADVANCE 10,5
RELEASE sputnik
TERMINATE
met2 TERMINATE
GENERATE 60000
TERMINATE 1
4
Стандартный отчет GPSS о работе системы
По окончании работы модели система автоматически создает отчет. Статистическая информация выводится только о тех объектах, которые присутствуют в модели. В общем же случае стандартный отчет содержит кроме общей характеристики модели следующие сведения:
- об именах объектов модели;
- блоках модели;
- устройствах;
- многоканальных устройствах;
- очередях;
- списках пользователя:
- группах транзактов;
- числовых группах;
- логических переключателях;
- списке текущих событий;
- списке будущих событий.
Необходимость в выводе текущих и будущих событий определяет операнд D команды START. Если он не равен нулю, списки выводятся.
Вывод отчета может быть заблокирован. Для этого в поле операнда B команды START необходимо записать NP. Создание стандартных отчетов можно также отключить, сняв флажок Create Standard Report (создавать стандартные отчеты) на странице Reports (отчеты) журнала настроек модели.
Каждому отчету присваивается имя. Это имя по умолчанию составляется из имени файла модели, порядкового номера процесса моделирования, созданного из этого файла, и номера отчета данного процесса моделирования. Нумерация отчета начинается с единицы. У файлов с отчетами имеется расширение .gpr. При удалении некоторых отчетов их порядковые номера в сеансе работы будут непоследовательными.
В верхней строке окна Report указывается Start Time (начальное время), End Time (Время окончания), Blocks (Число блоков), Facilities (Число каналов обслуживания), Storages (Число накопителей).
Ниже перечисляются блоки модели и количество входов в них требований. При этом каждый блок имеет свой числовой номер.
Еще ниже указываются результаты моделирования каналов обслуживания: Entries (Число входов), Util. (Коэффициент использования), Ave. Time (Среднее время обслуживания), Avail. (Доступность), Owner (Возможное число входов) и так далее. А результаты моделирования очереди содержат следующее: Max (Максимальное содержание), Cont. (Текущее содержание), Entry (Число входов), Entry(0) (Число нулевых входов), Ave. Cont. (Среднее число входов), Ave. Time (Среднее время) и так далее.
На рисунке 3 представлен отчет о работе программы.
GPSS World Simulation Report - Untitled Model 1.7.1
Wednesday, April 21, 2010 21:56:47
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 60000.000 24 3 0
NAME VALUE
BUFF1 10002.000
BUFF2 10000.000
CANAL_AB 10003.000
CANAL_BA 10001.000
MET1 17.000
MET2 22.000
SPUTNIK 10004.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 7498 0 0
2 TEST 7498 0 0
3 QUEUE 5998 1 0
4 SEIZE 5997 0 0
5 DEPART 5997 0 0
6 ADVANCE 5997 1 0
7 RELEASE 5996 0 0
8 TERMINATE 5996 0 0
9 GENERATE 10038 0 0
10 TEST 10038 0 0
11 QUEUE 6000 0 0
12 SEIZE 6000 0 0
13 DEPART 6000 0 0
14 ADVANCE 6000 1 0
15 RELEASE 5999 0 0
16 TERMINATE 5999 0 0
MET1 17 GATE 5538 0 0
18 SEIZE 3525 0 0
19 ADVANCE 3525 1 0
20 RELEASE 3524 0 0
21 TERMINATE 3524 0 0
MET2 22 TERMINATE 2013 0 0
23 GENERATE 1 0 0
24 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
CANAL_BA 6000 1.000 9.999 1 17535 0 0 0 0
CANAL_AB 5997 0.999 10.000 1 17534 0 0 0 1
SPUTNIK 3525 0.585 9.954 1 17537 0 0 0 0
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
BUFF2 1 0 6000 1 0.688 6.881 6.882 0
BUFF1 1 1 5998 67 0.577 5.773 5.838 0
Рисунок 3 – Стандартный отчет GPSS
5 Выводы о работе модели
При анализе работы системы
обработки информации, было выявлено,
что во время работы модели, длительностью
в 60000 мс, на канал АВ поступило 7498 транзактов,
из них 1 транзакт находится в очереди,
1 транзакт находятся на обработке
на; на канал ВА поступило 10038транзактов,из
них 1 транзакт в стадии обработки;
5538 требований пришло в момент заполненности
буферных регистров и было перенаправлено
на обслуживание на спутниковую линию,
из которых один в данный момент обслуживается,
2013 транзактов были удалёны из-за перегруженности
системы; среднее время вторичной обработки,
на первой ЭВМ 32,999; коэффициент использования
канала ВА – 1, Канала АВ – 0,999,спутника
– 0,585; среднее время занятия устройства
одним транзактом канала ВА – 9,999, канала
АВ – 10,спутника – 9,954; в конце моделирования
все три канала являются доступными; максимальное
содержимое очереди в течение периода
моделирования и в канале АВ и ВА – 1; текущее
содержимое очереди в конце процесса моделирования
канала АВ – 1,ВА-0; общее количество входов
транзактов в очередь в течение времени
моделирования АВ-5998,ВА-6000; общее количество
входов транзактов в очередь с нулевым
временем ожидания канала АВ-67, канала
ВА-1; среднее значение содержимого очереди
в течение времени моделирования канала
АВ-5,773,канала ВА-6,881; среднее время пребывания
одного транзакта в очереди без учета
«нулевых» входов в очередь канала АВ
- 6,882, канала ВА -5,838.
6
Эксперименты с моделью
6.1 Эксперимент первый
По данным стандартного отчета можно сделать вывод, что оба канала работают с перегрузками, в то время как спутниковый канал загружен всего на 58.5% Следовательно, можно добиться более эффективной работы модели, перенаправив некоторое количество требований на спутниковый канал. Кроме того, учитывая возможность потерь на спутниковом канале, можно добавить к нему буфер для хранения сообщений.
Сообщения на спутниковый канал будут перенаправляться с основных каналов при условии, что эти каналы заняты. Структурная схема показана на рисунке 4. Текст программы для данного эксперимента показан на рисунке 5.
Рисунок 4 – Структурная схема модели
GENERATE 8,3
TEST L Q$buff1,1,met1
QUEUE buff1
SEIZE canal_ab
DEPART buff1
ADVANCE 10
RELEASE canal_ab
TERMINATE
GENERATE 6,2
TEST L Q$buff2,1,met1
QUEUE buff2
SEIZE canal_ba
DEPART buff2
ADVANCE 10
RELEASE canal_ba
TERMINATE
met1 TEST L Q$buff_sp,4,met2
QUEUE buff_sp
SEIZE sputnik
DEPART buff_sp
ADVANCE 10,5
RELEASE sputnik
TERMINATE
met2 TERMINATE
GENERATE 60000
TERMINATE 1
Рисунок 5 – Текст программы
6.1.2 Стандартный отчет по работе системы
GPSS World Simulation Report - Untitled Model 1.1.1
Thursday, April 22, 2010 21:51:06
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 60000.000 26 3 0
NAME VALUE
BUFF1 10002.000
BUFF2 10000.000
BUFF_SP 10004.000
CANAL_AB 10003.000
CANAL_BA 10001.000
MET1 17.000
MET2 24.000
SPUTNIK 10005.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 7503 0 0
2 TEST 7503 0 0
3 QUEUE 5998 1 0
4 SEIZE 5997 0 0
5 DEPART 5997 0 0
6 ADVANCE 5997 1 0
7 RELEASE 5996 0 0
8 TERMINATE 5996 0 0
9 GENERATE 10016 0 0
10 TEST 10016 0 0
11 QUEUE 6000 0 0
12 SEIZE 6000 0 0
13 DEPART 6000 0 0
14 ADVANCE 6000 1 0
15 RELEASE 5999 0 0
16 TERMINATE 5999 0 0
MET1 17 TEST 5521 0 0
18 QUEUE 5505 1 0
19 SEIZE 5504 0 0
20 DEPART 5504 0 0
21 ADVANCE 5504 1 0
22 RELEASE 5503 0 0
23 TERMINATE 5503 0 0
MET2 24 TERMINATE 16 0 0
25 GENERATE 1 0 0
26 TERMINATE 1 0 0
FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
CANAL_BA 6000 1.000 9.999 1 17518 0 0 0 0
CANAL_AB 5997 0.999 10.000 1 17517 0 0 0 1
SPUTNIK 5504 0.911 9.931 1 17515 0 0 0 1
QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
BUFF2 1 0 6000 1 0.690 6.897 6.899 0
BUFF1 1 1 5998 60 0.571 5.716 5.774 0
BUFF_SP 4 1 5505 1137 0.843 9.185 11.576 0
FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
17517 0 60000.963 17517 6 7
17522 0 60001.412 17522 0 9
17521 0 60004.240 17521 0 1
17518 0 60007.111 17518 14 15
17515 0 60012.617 17515 21 22
17523 0 120000.000 17523 0 25
Выводы о работе системы: система отработала 60000мс, отказ в обслуживании получили 16 транзактов, вероятность отказа обслуживания очень маленькая, что существенно отличается от исходной модели. Таким образом, мы добились более эффективной работы системы, засчет перенаправления некоторого количества требований на спутниковый канал, добавив к нему буфер для хранения сообщений.
6.2 Эксперимент второй
Также для устранения перегрузок и повышения эффективности и надежности модели, следует попробовать ввести второй спутниковый канал, идентичный первому. Текст программы для данного эксперимента показан на рисунке 5.4.
GENERATE 8,3
GATE NU canal_ab,met1
SEIZE canal_ab
ADVANCE 10
RELEASE canal_ab
TERMINATE
GENERATE 6,2
GATE NU canal_ab,met1
SEIZE canal_ba
ADVANCE 10
RELEASE canal_ba
TERMINATE
met1 TRANSFER 0.5,met2,met3
met2 TEST L Q$buff_sp1,2,met4
QUEUE buff_sp1
SEIZE sputnik1
DEPART buff_sp1
ADVANCE 10,5
RELEASE sputnik1
TERMINATE
met3 TEST L Q$buff_sp2,2,met4
QUEUE buff_sp2
SEIZE sputnik2
DEPART buff_sp2
ADVANCE 10,5
RELEASE sputnik2
TERMINATE
met4 TERMINATE
GENERATE 60000
TERMINATE 1
Рисунок 6 – Текст программы
6.2.1 Стандартный отчет по работе системы
GPSS World Simulation Report - Untitled Model 1.3.1
Thursday, April 22, 2010 22:39:52
START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 60000.000 30 4 0
NAME VALUE
BUFF_SP1 10002.000
BUFF_SP2 10004.000
CANAL_AB 10000.000
CANAL_BA 10001.000
MET1 13.000
MET2 14.000
MET3 21.000
MET4 28.000
SPUTNIK1 10003.000
SPUTNIK2 10005.000
LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 7483 0 0
2 GATE 7483 0 0
3 SEIZE 4070 0 0
4 ADVANCE 4070 1 0
5 RELEASE 4069 0 0
6 TERMINATE 4069 0 0
7 GENERATE 9994 0 0
8 GATE 9994 0 0
9 SEIZE 3228 0 0
10 ADVANCE 3228 1 0
11 RELEASE 3227 0 0
12 TERMINATE 3227 0 0
MET1 13 TRANSFER 10179 0 0
MET2 14 TEST 5021 0 0
15 QUEUE 4700 0 0
16 SEIZE 4700 0 0
17 DEPART 4700 0 0
18 ADVANCE 4700 0 0
19 RELEASE 4700 0 0
20 TERMINATE 4700 0 0