Навигация
Главная
Поиск
Форум
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
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

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

Двунаправленный динамический список на Delphi + Блок схемы
Поиск пути в графе заданном списками инцедентности на Turbo Pascal
Лабораторная работа по динамическим спискам на Turbo Pascal (перемещение...

Моделирование электронных средств в GPSS 3
В в е д е н и е
Целью данного проекта является анализ вычислительных систем. Анализ проводится с целью ознакомления с методами моделирования. Модели, описывающие реальные системы, имеют разную степень детализации. В зависимости от степени детализации объекта, в технологии автоматизированного проектирования выделяют четыре основных уровня моделирования: электронных схем, логических элементов, регистровых передач и системный. Модели, применяемые на первых трёх уровнях, образуют последовательность всё более упрощённых описаний реальных элементов, из которых состоит вычислительная система (ВС). Однако модели системного уровня строятся на основе абстрагирования от свойств реальных элементов. С помощью математических моделей имитируются процессы ввода, обработки и вывода данных в соответствии с назначением моделируемой системы. Анализ соответствия ВС своему назначению не может быть выполнен на примере отдельной задачи, решаемой аппаратурой. Необходимо учитывать описания, обобщённые на целый класс задач и данных. Такое обобщение достигается при учёте статистических закономерностей поступления и обработки данных в системе. Поэтому вычислительные средства на системном уровне моделируются системами массового обслуживания (СМО). В настоящее время основным подходом к исследованию СМО на системном уровне является имитационное моделирование.
Имитационное моделирование СМО – исследование поведения этой системы, т.е. определение временных зависимостей переменных, которые характеризуют состояние системы при подаче на входы любых, требуемых в соответствии с заданием на эксперимент, потоков заявок
Событийный метод является основным для организации вычислений при имитационном моделировании СМО. Его сущность заключается в отслеживании на модели последовательности событий в том же порядке, в котором они проходили бы в реальной системе. Вычисления производятся только для тех моментов времени и элементов модели, к которым относятся совершаемые события. Модельное время обычно является дискретным, причём шаг его изменения выбирается из требований точности расчёта выходных данных. Реализация событийного метода имитационного моделирования на ЭВМ осуществляется с помощью языков моделирования, использующих транзактный способ имитации пространственного движения объектов модели. Здесь в качестве динамических объектов при разработке моделей используются транзакты (заявки на обслуживание). При этом каждый переход из блока в блок приписывается к определённому моменту модельного времени. Языками данной группы являются GPSS и CSS.

Построение структурной схемы модели
В соответствии с техническим заданием, структурная схема модели имеет вид:

Рис.1 Структурная схема модели

2. Описание сети в виде системы массового обслуживания

При решении задач моделирования с помощью СМО процесс анализа связан с исследованием прохождения через эти системы заявок (требований). Эти заявки называются транзактами. Все транзакты являются случайными процессами и при моделировании СМО могут быть известны лишь законы распределения и числовые характеристики этих случайных распределений, т.е. СМО носит статистический характер.
Устройства, в которых производится обслуживание транзактов, называются обслуживающими аппаратами (ОА) или каналами. ОА в совокупности образуют статические объекты. Транзакты называются динамическими объектами. ОА (каналы) описываются в СМО с помощью булевых переменных: «свободно» или «занято» («1» или «0»).
В процессе работы СМО могут возникать очереди. Количество очередей может быть бесконечно или с ограничением. Правила, согласно которым заявки выбираются из очереди, называются дисциплиной обслуживания. Величина, выражающая преимущество на право обслуживания называется приоритетом.

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



Буфер1 – входной буфер системы.
Буфер2 – буфер первого компьютера, первого сегмента конвейера.
Буфер3 – буфер второго компьютера, первого сегмента конвейера.
Буфер4 – буфер первого компьютера, второго сегмента конвейера.
Буфер5 – буфер второго компьютера, второго сегмента конвейера.
P – вероятность поступления сигнала в какой-либо буфер.

Рис.2 Модель в виде СМО


Алгоритм обработки транзактов
1. Вход транзакта в модель;
2. Вход в буфер системы (BUFS);
3. Равновероятный переход в буфер первого или второго компьютера;
4. Вход в очередь 1;
5. Вход в буфер первого компьютера (BUFC1);
6. Выход из очереди 1;
7. Выход из буфера системы;
8. Занятие первого компьютера для обработки;
9. Обработка за время 12 – 24 мкс;
10. Освобождение первого компьютера;
11. Проверка условия: возник сбой? Если ДА, то переход к п.8; НЕТ – к п.12
12. Выход из буфера первого компьютера;
13. Равновероятный переход на обработку в компьютерах 3 и 4 (п. 13 – обработка в комп.3);
• Обработка в компьютере 2 аналогично пунктам 5 – 12 с заменой BUFC1 на BUFC2, СОМР1 на СОМР2, очередь 1 на очередь 2;

14. Вход в буфер третьего компьютера (BUFC3);
15. Занятие третьего компьютера (COMP3) для обработки;
16. Обработка за время 13 – 17 мкс;
17. Освобождение третьего компьютера;
18. Проверка условия: возник сбой? Если ДА, то переход к п.15; НЕТ – к п.19
19. Выход из буфера третьего компьютера;
• Обработка в компьютере 4 аналогично пунктам 13 – 17 с заменой BUFC3 на BUFC4, СОМР3 на СОМР4;

20. Уничтожение транзактов.

Блок-схема программы




Текст программы
REALLOCATE XAC, 500

BUFS EQU 1 ;символическое и числовое имена буфера системы
BUFC1 EQU 2 ;символическое и числовое имена буфера компьютера №1
BUFC2 EQU 3 ;символическое и числовое имена буфера компьютера №2
BUFC3 EQU 4 ;символическое и числовое имена буфера компьютера №3
BUFC4 EQU 5 ;символическое и числовое имена буфера компьютера №4
COMP1 EQU 6 ;символическое и числовое имена компьютера №1
COMP2 EQU 7 ;символическое и числовое имена компьютера №2
COMP3 EQU 8 ;символическое и числовое имена компьютера №3
COMP4 EQU 9 ;символическое и числовое имена компьютера №4
BUFC1 STORAGE 8 ;объём буфера компьютера №1
BUFC2 STORAGE 8 ;объём буфера компьютера №2

SIMULATE ;разрешает моделирование

GENERATE 10 ;генерация транзактов
ENTER BUFS ;вход в буфер системы
TRANSFER .5,LBUF1,LBUF2;передача транзакта с вер. 0.5 на метки LBUF1,LBUF2

LBUF1 QUEUE1 ;вход в очередь 1
ENTER BUFC1 ;вход в буфер первого компьютера
DEPART 1 ;выход из очереди
LEAVE BUFS ;выход из буфера системы
SBOY1 SEIZE COMP1 ;занятие первого компьютера
ADVANCE 18,6 ;задержка на 12 – 24 мкс
RELEASE COMP1 ;освобождение компьютера №1
TRANSFER .1,N1,SBOY1 ;переход с вероятностью 0.1 на метку SBOY1, иначе на N1
N1 LEAVE BUFC1 ;выход из буфера первого компьютера
TRANSFER .5,LBUF3,LBUF4;передача транзакта с вер. 0.5 на метки LBUF3,LBUF4
LBUF2 QUEUE 2 ;вход в очередь 2
ENTER BUFC2 ;вход в буфер второго компьютера
DEPART 2 ;выход из очереди
LEAVE BUFS ;выход из буфера системы
SBOY2 SEIZE COMP2 ;занятие второго компьютера
ADVANCE 18,6 ;задержка на 12 – 24 мкс
RELEASE COMP2 ;освобождение компьютера №2
TRANSFER .1,N2,SBOY2 ;переход с вероятностью 0.1 на метку SBOY2, иначе на N2
N2 LEAVE BUFC2 ;выход из буфера второго компьютера
TRANSFER .5,LBUF3,LBUF4;передача транзакта с вер. 0.5 на метки LBUF3,LBUF4

LBUF3 ENTER BUFC3 ;вход в буфер третьего компьютера
SBOY3 SEIZE COMP3 ;занятие третьего компьютера
ADVANCE 15,2 ;задержка на 13 – 17 мкс
RELEASE COMP3 ;освобождение компьютера №3
TRANSFER .05,N3,SBOY3 ;переход с вероятностью 0.05 на метку SBOY3, иначе на N3
N3 LEAVE BUFC3 ;выход из буфера третьего компьютера
TRANSFER ,LAST ;безусловный переход на метку LAST

LBUF4 ENTER BUFC4 ;вход в буфер четвёртого компьютера
SBOY4 SEIZE COMP4 ;занятие четвёртого компьютера
ADVANCE 15,2 ;задержка на 13 – 17 мкс
RELEASE COMP4 ;освобождение компьютера №4
TRANSFER .05,N4,SBOY4 ;переход с вероятностью 0.05 на метку SBOY4, иначе на N4
N4 LEAVE BUFC4 ;выход из буфера четвёртого компьютера

LAST TERMINATE ;удаление транзактов из системы
GENERATE 5000 ;генерирует транзакты каждые 5000 мкс (5 мс)
TERMINATE 1 ;удаление транзактов из системы и уменьшение ССМ на 1
START 1 ;установка нач. значения счётчика моделирования (1)
END ;конец программы




Листинг результатов моделирования
LINE BLOCK

1 REALLOCATE XAC, 500
2 BUFS EQU 1
3 BUFC1 EQU 2
4 BUFC2 EQU 3
5 BUFC3 EQU 4
6 BUFC4 EQU 5
7 COMP1 EQU 6
8 COMP2 EQU 7
9 COMP3 EQU 8
10 COMP4 EQU 9
11 BUFC1 STORAGE 8
12 BUFC2 STORAGE 8
13 SIMULATE
14 1 GENERATE 10
15 2 ENTER BUFS
16 3 TRANSFER .5,LBUF1,LBUF2
17 4 LBUF1 QUEUE1
18 5 ENTER BUFC1
19 6 DEPART 1
20 7 LEAVE BUFS
21 8 SBOY1 SEIZE COMP1
22 9 ADVANCE 18,6
23 10 RELEASE COMP1
24 11 TRANSFER .1,N1,SBOY1
25 12 N1 LEAVE BUFC1
26 13 TRANSFER .5,LBUF3,LBUF4
27 14 LBUF2 QUEUE 2
28 15 ENTER BUFC2
29 16 DEPART 2
30 17 LEAVE BUFS
31 18 SBOY2 SEIZE COMP2
32 19 ADVANCE 18,6
33 20 RELEASE COMP2
34 21 TRANSFER .1,N2,SBOY2
35 22 N2 LEAVE BUFC2
36 23 TRANSFER .5,LBUF3,LBUF4
37 24 LBUF3 ENTER BUFC3
38 25 SBOY3 SEIZE COMP3
39 26 ADVANCE 15,2
40 27 RELEASE COMP3
41 28 TRANSFER .05,N3,SBOY3
42 29 N3 LEAVE BUFC3
43 30 TRANSFER ,LAST
44 31 LBUF4 ENTER BUFC4
45 32 SBOY4 SEIZE COMP4
46 33 ADVANCE 15,2
47 34 RELEASE COMP4
48 35 TRANSFER .05,N4,SBOY4
49 36 N4 LEAVE BUFC4
50 37 LAST TERMINATE
51 38 GENERATE 5000
52 39 TERMINATE 1
53 START 1
54 END





SYMBOL VALUE SYMBOL VALUE
====== ===== ====== =====

BUFC1 2 BUFC2 3
BUFC3 4 BUFC4 5
BUFS 1 COMP1 6
COMP2 7 COMP3 8
COMP4 9 LAST 37
LBUF1 4 LBUF2 14
LBUF3 24 LBUF4 31
N1 12 N2 22
N3 29 N4 36
SBOY1 8 SBOY2 18
SBOY3 25 SBOY4 32

RELATIVE CLOCK 5000 ABSOLUTE CLOCK 5000

BLOCK COUNTS
BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL

1 1 500 2 0 499 3 0 499
4 0 240 5 0 240 6 0 240
7 3 240 8 0 264 9 1 264
10 0 263 11 0 263 12 0 236
13 0 236 14 22 259 15 0 237
16 0 237 17 7 237 18 0 265
19 1 265 20 0 264 21 0 264
22 0 229 23 0 229 24 1 247
25 0 259 26 1 259 27 0 258
28 0 258 29 0 245 30 0 245
31 0 218 32 0 231 33 0 231
34 0 231 35 0 231 36 0 218
37 0 463 38 1 2 39 0 1


FACILITY AVERAGE NUMBER AVERAGE SEIZING PREEMPTING
UTILIZATION ENTRIES TIME/TRAN TRANS.NO. TRANS.NO.
6 0.95 264 17.99 14
7 0.98 265 18.40 23
8 0.77 259 14.93 22
9 0.70 231 15.10


STORAGE CAPACITY AVERAGE AVERAGE ENTRIES AVERAGE CURRENT MAXIMUM
CONTENT UTILIZ. TIME/TR CONTENT CONTENT
1 32767 7.00 0.00 499 70.37 22 24
2 8 4.00 0.55 240 91.45 4 8
3 8 6.00 0.83 237 139.54 8 8
4 32767 1.00 0.00 247 27.62 2 5
5 32767 1.00 0.00 218 24.09 0 4


QUEUE MAXIMUM AVERAGE TOTAL ZERO PERC. AVERAGE $AVERAGE TABLE CURRENT
CONTENT CONTENT ENTRIES ENTRIES ZERO TIME/TR TIME/TR NUMBR CONTENT
1 7 0.58 240 182 75.83 12.18 50.38 0
2 24 6.44 259 70 27.03 124.29 170.32 22




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

1. Сначала определим необходимые для нормальной работы объёмы буферов.

Буфер системы должен иметь объём не менее: 24 у.е. памяти*;
Буфер третьего компьютера должен иметь объём не менее: 5 у.е. памяти;
Буфер четвёртого компьютера должен иметь объём не менее: 4 у.е. памяти.

*1 у.е. памяти в нашем случае равна объёму одного транзакта.

2. Основные данные о работе очередей:

Очередь к буферу первого компьютера:
- максимальное содержимое: 7 транзактов;
- среднее содержимое: 0.58 транзакта;
- среднее время пребывания в очереди: 12.18 мкс;

Очередь к буферу второго компьютера:
- максимальное содержимое: 24 транзактов;
- среднее содержимое: 6.44 транзакта;
- среднее время пребывания в очереди: 124.29 мкс.

3. Потери времени на восстановление сбойных ситуаций составляют в среднем:

Для компьютера №1: (264-240)*17.99 = 431.76 мкс;
Для компьютера №2: (265-237)*18.40 = 515.2 мкс;
Для компьютера №3: (259-247)*14.93 = 179.6 мкс;
Для компьютера №4: (231-218)*15.10 = 196.3 мкс.
Опубликовал Kest June 03 2009 13:40:30 · 0 Комментариев · 13251 Прочтений · Для печати

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


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



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

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

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

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

Пароль



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

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

Случайные загрузки
SysInfo [Исходник...
XPcontrol
Пример работы с ф...
Технология .Net в VB
Игра PackMan
ZipTV
Панель поиска
Пишем программы и...
Delphi. Разработк...
Дешифратор содерж...
DateEdit
Проигрыватель Mp3
Binary2XMLDemo (Р...
Animated Menus
Java 2. Наиболее ...
Delphi 2006 - Спр...
Аватары в комме...
AboutSystem
Импорт новостей ...
База для Allsubmi...

Топ загрузок
Приложение Клие... 100771
Delphi 7 Enterp... 97787
Converter AMR<-... 20259
GPSS World Stud... 17014
Borland C++Buil... 14186
Borland Delphi ... 10267
Turbo Pascal fo... 7372
Калькулятор [Ис... 5968
Visual Studio 2... 5205
Microsoft SQL S... 3661
Случайные статьи
Дорвеи и поисковые...
Основные понятия и...
• Убедитесь, что е...
8.5. И что это зна...
Как получить текст...
FIXED
Надписи
Программирование: ...
Элемент ввода radi...
Pragmatic Bookshelf
Введенную с клавиа...
Игры для программиста
решения для выделе...
Стратегия тестиров...
Распродажа Черная ...
Управление трафико...
Определить номера ...
Строки в стиле язы...
Он установил для э...
Работайте для дост...
Команды факс-модема
Пример программиро...
Статический импорт...
Элементы ввода для...
Identifier expected
Статистика



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


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