Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 29
На сайте нет зарегистрированных пользователей

Пользователей: 13,372
новичок: vausoz
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Лабораторная работа по динамическим спискам на Turbo Pascal (удаление ду...
Моделирование процесса поступления заявок в систему, состоящую из трёх Э...
Поиск пути в графе заданном списками инцедентности на Turbo Pascal

Моделирование распределенной системы обработки данных [GPSS]
Описание системы массового обслуживания
В математических моделях (ММ) сложных объектов, представленных в виде систем массового обслуживания (СМО), фигурируют средства обслуживания, называемые обслуживающими аппаратами (ОА), и обслуживаемые заявки, называемые транзактами. Так, в моделях систем обработки и передачи данных ОА отображают микропроцессоры и линии связи, а транзакты - поступающие на обработку заявки и пакеты данных.
Состояние СМО характеризуется состояниями ОА, транзактов и очередей к ОА. Состояние ОА описывается двоичной переменной, которая может принимать значения "занят" или "свободен". Переменная, характеризующая состояние транзакта, может иметь значения "обслуживания" или "ожидания". Состояние очереди характеризуется количеством находящихся в ней транзактов.
Имитационная модель СМО представляет собой алгоритм, отражающий поведение СМО, т.е. отражающий изменения состояния СМО во времени при заданных потоках заявок, поступающих на входы системы. Параметры входных потоков заявок - внешние параметры СМО. Выходными параметрами являются величины, характеризующие свойства системы - качество ее функционирования. Примеры выходных параметров: производительность СМО - среднее число заявок, обслуживаемых в единицу времени; коэффициенты загрузки оборудования - отношение времен обслуживания к общему времени в каждом ОА; среднее время обслуживания одной заявки. Основное свойство ОА, учитываемое в модели СМО, - это затраты времени на обслуживание, поэтому внутренними параметрами в модели СМО являются величины, характеризующие это свойство ОА. Обычно время обслуживания рассматривается, как случайная величина и в качестве внутренних параметров фигурируют параметры законов распределения этой величины.
Имитационное моделирование позволяет исследовать СМО при различных типах входных потоков и интенсивностях поступления заявок на входы, при вариациях параметров ОА, при различных дисциплинах обслуживания заявок. Дисциплина обслуживания - правило, по которому заявки поступают из очередей на обслуживание. Величина, характеризующая право на первоочередное обслуживание, называется приоритетом. В моделях СМО заявки, приходящие на вход занятого ОА, образуют очереди, отдельные для заявок каждого приоритета. При освобождении ОА на обслуживание принимается заявка из непустой очереди с наиболее высоким приоритетом.
Основной тип ОА - устройства, именно в них происходит обработка транзактов с затратами времени. К ОА относятся также накопители (памяти), отображающие средства хранения обрабатываемых данных в вычислительных системах. Накопители характеризуются не временами обслуживания заявок, а емкостью - максимально возможным количеством одновременно находящихся в накопителе заявок.
К элементам имитационных моделей СМО кроме ОА относят также узлы и источники заявок. Связи ОА между собой реализуют узлы, т.е. характеризуют правила, по которым заявки направляются к тому или иному ОА.
Для описания моделей СМО при их исследовании на ЭВМ разработаны специальные языки имитационного моделирования. Существуют общецелевые языки, ориентирован-ные на описание широкого класса СМО в различных предметных областях, и специали-зированные языки, предназначенные для анализа систем определенного типа. Примером общецелевых языков служит широко распространенный язык GPSS.
Для описания имитационной модели на языке GPSS полезно представить ее в виде схемы, на которой отображаются элементы СМО - устройства, накопители, узлы и источники. Описание на языке GPSS есть совокупность операторов (блоков), характеризующих процессы обработки заявок. Имеются операторы и для отображения возникновения заявок, задержки их в ОА, занятия памяти, выхода из СМО, изменения параметров заявок (например, приоритетов), вывода на печать накопленной информации, характеризующей загрузку устройств, заполненность очередей и т.п.
Пути продвижения заявок между ОА отображаются последовательностью операторов в описании модели на языке GPSS специальными операторами передачи управления (перехода). Для моделирования используется событийный метод. Соблюдение правильной временной последовательности имитации событий в СМО обеспечивается интерпретато-ром GPSS World - программной системой, реализующий алгоритмы имитационного моделирования.

Построение структурной схемы модели
Имеется система передачи данных, состоящая из:
• 3-х пунктов A,B и C
• 5-х линий AB1, AB2, AB3, BC1 и BC2

Система передачи данных обеспечивает передачу пакетов данных из пункта A в пункт C через промежуточный пункт B. В пункт А пакеты поступают через 8±4мс. Там они буферизуются и передаются по линии АВ1, AB2, AB3. В пункте В они буферизуются и передаются по линии BC1, а при достижении порогового значения в пункте А по линии ВС2.
Требуется смоделировать прохождение через систему 1000 пакетов данных и определить характеристики очередей в пунктах А и В и вероятность использования линии ВС2. Определить максимально возможную интенсивность входного потока пакетов данных, при котором система работает без потерь.

Описание сети в виде системы массового обслуживания.
В данной модели системы передачи данных, представляем:

пункты – статистические объекты типа очередь;
линии – аппаратные объекты типа прибор;
пакеты данных – транзакты.
За единицу модельного времени (е.м.в.) принята 1мс.

Формализация и алгоритмизация модели.
Формально схема модели имеет вытянутый вид с некоторым количеством узлов (переходов). Это делается для реализации передачи пакетов по четырем линиям и моделирования сбоев в них.

Алгоритм.

1. Генерация транзакта через 8±4 е.м.в.
2. если очередь на передачу меньше 25 то вниз, иначе в пункт 37
3. занять очередь 1 на передачу от A к B
4. равновероятная передача заявок: АВ1–переход в пункт 5;АВ2 – переход в пункт 10; AB3 – переход в пункт 15
5. занять устройство - линию AB1
6. выйти из очереди 1
7. передача по линий АВ1 - за время 23+/-6 мс
8. освободить устройство - линию AB1
9. перейти к передаче от B к C
10. занять устройство - линию AB2
11. выйти из очереди 1
12. передача по линий АВ2 - за время 34+/-8 мс
13. освободить устройство - линию AB2
14. перейти к передаче от B к C
15. занять устройство - линию AB3
16. выйти из очереди 1
17. передача по линий АВ2 - за время 25+/-2 мс
18. освободить устройство - линию AB3
19. перейти к передаче от B к C
20. если очередь на передачу меньше 20 то вниз, иначе в пункт 38
21. занять очередь на передачу от B к C
22. если очередь на передачу меньше 12 то вниз, иначе в пункт 26
23. занять очередь на передачу от B к C
24. если очередь>12 то переход в пункт 26
25. занять очередь на передачу от B к C
26. равновероятная передача заявок :BC1–переход в пункт 27;BC2– переход в пункт 32;
27. занять устройство - линию BС1
28. выйти из очереди 2
29. передача по линии ВС1 - за время 8+/-4 мс
30. задействовать счетчик использования стандартного режима передачи
31. освободить устройство - линию BС1
32. занять устройство - линию BС2
33. выйти из очереди 2
34. передача по линии ВС2 - за время 8+/-4 мс
35. задействовать счетчик использования не стандартного режима передачи
36. освободить устройство - линию BС2
37. задействовать счетчик отказов на постановку в очередь на передачу AB
38. задействовать счетчик отказов на постановку в очередь на передачу BС
39. повторение всех пунктов до тех пор пока не пройдут 1000 транзактов.




Блок схема:



Имитационный эксперимент.
Текст программы.

;ГЕНЕРАЦИЯ ПАКЕТОВ
GENERATE 8,4 ;поступление пакетов
TEST L Q1,25,met1 ;если очередь на передачу меньше 25 то вниз, иначе на метку met1

;ПЕРЕДАЧА от A к B
QUEUE 1 ;занять очередь на передачу от A к B
TRANSFER ALL,metAB1,metAB2,5 ;передача по каналам AB1 и AB2
;Линия AB1
metAB1 SEIZE AB1 ;занять устройство - линию AB1
DEPART 1 ;выйти из очереди
ADVANCE 23,6 ;передача по линий АВ1
RELEASE AB1 ;освободить устройство - линию AB1
TRANSFER ,met2 ;перейти к передаче от B к C

;Линия AB2
metAB2 SEIZE AB2 ;занять устройство - линию AB2
DEPART 1 ;выйти из очереди
ADVANCE 34,8 ;передача по линий АВ2
RELEASE AB2 ;освободить устройство - линию AB2
TRANSFER ,met2 ;перейти к передаче от B к C

;Линия AB3
metAB3 SEIZE AB3 ;занять устройство - линию AB3
DEPART 1 ;выйти из очереди
ADVANCE 25,2 ;передача по линий АВ3
RELEASE AB2 ;освободить устройство - линию AB3
TRANSFER ,met2 ;перейти к передаче от B к C

;ПЕРЕДАЧА от B к C
met2 TEST L Q2,20,met3 ;если очередь на передачу меньше 20 то вниз, иначе на метку met3
QUEUE 2 ;занять очередь на передачу от B к C
TEST L Q1,12,met5 ;если очередь на передачу меньше 18 то вниз, иначе на метку met5
TRANSFER ,metBC1 ; передача по каналам BC1


met5 TRANSFER BOTH,metBC1,metBC2 ;передача по каналам BC1,BC2

;Линия BC1
metBC1 SEIZE BC1 ;занять устройство - линию BС1
DEPART 2 ;выйти из очереди
ADVANCE 8,4 ;передача по линии ВС1
Savevalue countStandartMode+,1 ;счетчик использования стандартного режима передачи
RELEASE BC1 ;освободить устройство - линию BС1
TERMINATE

;Линия BC2
metBC2 SEIZE BC2 ;занять устройство - линию BС2
DEPART 2 ;выйти из очереди
ADVANCE 8,4 ;передача по линии ВС2
Savevalue countSRezervMode+,1 ;счетчик использования не стандартного режима передачи
RELEASE BC2 ;освободить устройство - линию BС2
TERMINATE

met1 savevalue countFullBufferA+,1 ;счетчик отказов на постановку в очередь на передачу AB
TERMINATE
met3 savevalue countFullBufferB+,1 ;счетчик отказов на постановку в очередь на передачу BС
TERMINATE

;ЗАВЕРШАЮЩИЙ ТРАНЗАКТ
GENERATE ,,,1 ;генерация только одного транзакта
TEST E (x$countStandartMode+x$countRezervMode+x$countFullBufferA+x$countFullBufferB),1000 ;когда сумма переменных станет = 1000 транзакт пройдет вниз, иначе проверка продолжится
SAVEVALUE VeroyatnostRezerva,(x$countRezervMode/(x$countStandartMode+x$countRezervMode)) ;вероянтость использования резерва
TERMINATE 1

start 1




Листинг результатов моделирования
GPSS World Simulation Report - Kursovoi.4.1


Monday, June 01, 2009 00:03:08

START TIME END TIME BLOCKS FACILITIES STORAGES
0.000 9674.700 44 4 0


NAME VALUE
AB1 10004.000
AB2 10005.000
AB3 UNSPECIFIED
BC1 10006.000
BC2 10007.000
COUNTFULLBUFFERA 10002.000
COUNTFULLBUFFERB 10003.000
COUNTREZERVMODE 10001.000
COUNTSREZERVMODE 10008.000
COUNTSTANDARTMODE 10000.000
MET1 37.000
MET2 20.000
MET3 39.000
MET5 24.000
METAB1 5.000
METAB2 10.000
METAB3 15.000
METBC1 25.000
METBC2 31.000
VEROYATNOSTREZERVA 10009.000


LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY
1 GENERATE 1219 0 0
2 TEST 1219 0 0
3 QUEUE 734 0 0
4 TRANSFER 734 25 0
METAB1 5 SEIZE 425 0 0
6 DEPART 425 0 0
7 ADVANCE 425 1 0
8 RELEASE 424 0 0
9 TRANSFER 424 0 0
METAB2 10 SEIZE 284 0 0
11 DEPART 284 0 0
12 ADVANCE 284 1 0
13 RELEASE 283 0 0
14 TRANSFER 283 0 0
METAB3 15 SEIZE 0 0 0
16 DEPART 0 0 0
17 ADVANCE 0 0 0
18 RELEASE 0 0 0
19 TRANSFER 0 0 0
MET2 20 TEST 707 0 0
21 QUEUE 707 0 0
22 TEST 707 0 0
23 TRANSFER 11 0 0
MET5 24 TRANSFER 696 0 0
METBC1 25 SEIZE 515 0 0
26 DEPART 515 0 0
27 ADVANCE 515 0 0
28 SAVEVALUE 515 0 0
29 RELEASE 515 0 0
30 TERMINATE 515 0 0
METBC2 31 SEIZE 192 0 0
32 DEPART 192 0 0
33 ADVANCE 192 0 0
34 SAVEVALUE 192 0 0
35 RELEASE 192 0 0
36 TERMINATE 192 0 0
MET1 37 SAVEVALUE 485 0 0
38 TERMINATE 485 0 0
MET3 39 SAVEVALUE 0 0 0
40 TERMINATE 0 0 0
41 GENERATE 1 0 0
42 TEST 1 0 0
43 SAVEVALUE 1 0 0
44 TERMINATE 1 0 0


FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY
AB1 425 0.999 22.739 1 1174 0 0 25 0
AB2 284 0.998 33.992 1 1173 0 0 25 0
BC1 515 0.430 8.070 1 0 0 0 0 0
BC2 192 0.163 8.208 1 0 0 0 0 0


QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY
1 25 25 734 2 24.005 316.398 317.263 0
2 1 0 707 703 0.001 0.020 3.475 0


SAVEVALUE RETRY VALUE
COUNTSTANDARTMODE 0 515.000
COUNTREZERVMODE 0 0
COUNTFULLBUFFERA 0 485.000
COUNTFULLBUFFERB 0 0
COUNTSREZERVMODE 0 192.000
VEROYATNOSTREZERVA 0 0


FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE
1174 0 9676.501 1174 7 8
1173 0 9682.252 1173 12 13
1221 0 9686.254 1221 0 1



Опубликовал Kest June 03 2009 10:47:05 · 1 Комментариев · 26389 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Сергей April 19 2012 19:14:39
Спасибо, понятно, полезно !!
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Еext Editor
Abc_component
WinAmp
Секреты программи...
CodeGear RAD Stud...
Ранги для форума
PHP: Полезные приемы
Книга по Delphi (...
Открытие Cd-ROM'a...
Мод "проверочный ...
С. Г. Горнаков - ...
Интерактивный инт...
Delphi на примерах
SUIPack
PrevInst
RxLIB
Программирование ...
Crypt32
Exe in exe
AVIwriter

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97839
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14193
Borland Delphi ... 10293
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Как купить гель ла...
Коллективное владение
Снова о времени жи...
Элементы протокола
Заблуждения в С++
Управление двусвяз...
Предикат вывода ра...
Эффект локализации...
Ввод-вывод на прим...
Фаза исследования
Функции ввода-выво...
Закрытые данные ка...
Технология FTTH
Деструкторы в язы...
Чип можно заказать...
Современные телеко...
Моделирование сист...
На чем завершается...
Как взломать форум...
ПРЕДИСЛОВИЕ КО ВТО...
ЭТИКА РАЗРАБОТКИ П...
точке, а два бранд...
вступали в силу в ...
Службы
Игровые автоматы. ...
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?