Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MU_lb_KMPS.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.64 Mб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ТЕХНОЛОГІЧНИЙ ІНСТИТУТ

СХІДНОУКРАЇНСЬКОГО НАЦІОНАЛЬНОГО УНІВЕРСИТЕТУ

імені ВОЛОДИМИРА ДАЛЯ

(м. Сєвєродонецьк)

МЕТОДИЧНІ ВКАЗІВКИ

до лабораторних робіт за дисципліною

“КОМП’ЮТЕРНЕ МОДЕЛЮВАННЯ ПРОЦЕСІВ І СИСТЕМ”

(Електронне видання)

для студентів денної і заочної форм навчання

напряму підготовки 6.050102 “Комп’ютерна інженерія”

(спеціальності 7.091501 “Комп’ютерні системи та мережі”, 7.091502 “Системне програмування”)

Затверджено

на засіданні кафедри

комп'ютерної інженерії

протокол № 7 від 09.03.2011 р.

Сєвєродонецьк 2011

УДК 004.94

Методичні вказівки до лабораторних робіт по дисципліні "Компютерне моделювання процесів і систем" (для студентів напряму підготовки 6.050102 "Комп’ютерна інженерія" денної та заочної форм навчання)/ Укл.: Скарга-Бандурова І.С., Лифар В.О. – Сєвєродонецьк, Вид-во ТІ СНУ ім. В. Даля (м. Сєвєродонецьк), 2011. – 34 с.

Наведено рекомендації до виконання лабораторних робіт присвячених моделюванню обчислювальних структур засобами мови GPSS і апарату мереж Петрі. Основна увага приділяється моделюванню послідовних та паралельних обчислювальних структур з різними дисциплінами обслуговування заявок, практичній реалізації способів завдання випадкового навантаження в досліджуваних моделях, використанню мереж Петрі при аналізі моделей багаторівневих обчислювальних структур. Закріплюються навички обгрунтування вибору мов опису моделей.

Методичні вказівки для виконання лабораторних робіт розроблені у відповідності до робочої програми курсу "Комп’ютерне моделювання процесів і систем" і навчального плану за напрямом "Комп’ютерна інженерія".

Затверджено методичною комісією факультету КІ.

Протокол №7 від 09. 03. 2011 р.

Укладачі:

І.С. Скарга-Бандурова, к.т.н.

В.О. Лифар, к.т.н.

Відповідальний за випуск:

О.І. Рязанцев, доцент, к.т.н.

Рецензент:

Є.В.Щербаков, доцент, к.т.н.

ЗМІСТ

Вступ 4

Лабораторна робота 1. Способи завдання випадкового навантаження при моделюванні обчислювальних структур 5

Лабораторна робота 2. Моделювання конвеєрних обчислювальних структур 12

Лабораторна робота 3. Моделювання паралельних обчислювальних структур з пріоритетною дисципліною обслуговування заявок 16

Лабораторна робота 4. Вивчення способів аналізу МП-моделей 22

Лабораторна робота 5. Використання ієрархічних мереж Петрі при аналізі моделей багаторівневих обчислювальних структур 28

Додаток А. Порядок роботи з пакетом GPSS 32

ВСТУП

Методичні вказівки містять цикл робіт, в результаті виконання яких студент набуває навичок і освоює основні принципи комп’ютерного моделювання обчислювальних процесів і систем в питаннях:

  • складання програм імітаційного і математичного моделювання на відповідній алгоритмічній мові для наступного дослідження множини досяжних станів, особливостей поведінки та значущих властивостей проектованого технічного об’єкту (ТО);

  • проведення необхідних експериментів на моделях с урахуванням допустимих діапазонів змінення параметрів ТО;

  • виконання оптимальної кількості розрахунків на моделях;

  • отримання статистично значущих дані для достовірної інтерпретації результатів моделювання.

Домашня підготовка до лабораторної роботи містить у собі ознайомлення з описом роботи, а також з відповідними розділами лекцій і підручників, розробку плану рішення задачі, підготовку робочих матеріалів.

Звіт по лабораторній роботі оформляється кожним студентом на окремих аркушах і повинен містити:

  • титульний аркуш;

  • мету роботи;

  • завдання на роботу;

  • опис вихідних даних, засобів виконання та результатів роботи;

  • висновки.

На титульному аркуші повинні бути:

  • найменування навчального закладу;

  • найменування дисципліни;

  • формулювання теми роботи;

  • прізвище, ініціали, курс і група студента.

Висновки повинні відповідати поставленій задачі лабораторної роботи й містити конкретні пояснення про розраховані параметри і конкретні рекомендації з вибору параметрів.

При захисті лабораторної роботи студент повинен виявити розуміння досліджуваного процесу, знати відповіді на контрольні питання.

Лабораторна робота 1 Способи завдання випадкового навантаження при моделюванні обчислювальних структур

Мета роботи. Вивчення способів та набуття практичних навичок завдання випадкової навантаження при моделюванні обчислювальних структур (ОС) засобами мови GPSS.

Постановка завдання. Імітаційне моделювання проводиться з метою дослідження ОС шляхом побудови і дослідження моделі ОС Так як реальні умови функціонування ОС на етапі моделювання, як правило, невідомі, то моделювання проводиться при випадкових умовах або, іншими словами, при випадковій навантаженні на ресурси ОС.

При цьому для отримання достовірних статистичних результатів моделювання необхідно забезпечити, щоб випадкове навантаження було не менше реального. Випадкове навантаження при моделюванні ОС створюється шляхом завдання:

a) випадкових моментів часу надходження транзактов в модель через блок GENERATE A,B, де A і B - операнди, що визначають інтервали між повідомленнями;

b) випадкової тривалості обслуговування транзактов в приладах і багатоканальних пристроях (БКП), яка визначається затримкою транзакта, реалізованої блоком ADVANCE A,В, де A і B - операнди, що визначають час затримки;

c) випадкових альтернативних переходів транзактов між блоками.

При випадкових параметрах моделі вихідні характеристики моделі також стають випадковими. До числа таких характеристик відносяться:

  • час перебування транзактов в моделі,

  • проміжки часу між моментами проходження транзактов певних точок моделі,

  • час перебування транзактов в чергах до приладів і БКП,

  • довжини черг та інші.

Існують різні способи завдання операндів A і B блоків ADVANCE і GENERATE:

1) операнд A є, константою або ВЧА, відмінним від ВЧА функції, а операнд B відсутній. Наприклад:

GENERATE 150

ADVANCE 80

ADVANCE V1

GENERATE X1

У цьому випадку інтервали між повідомленнями або час затримки повідомлень, як правило, є постійними.

2) операнди A і B є константами або ВЧА, відмінними від ВЧА функції. Наприклад:

GENERATE 80,20

ADVANCE 200,40

ADVANCE X1,X2

У цьому випадку часовий інтервал що задається є випадковою величиною, рівномірно розподіленою на інтервалі від А-В до A+B, причому A - середнє значення випадкової величини, а B половина "розмаху". Подібним чином можна задавати рівномірний розподіл випадкової величини, якщо число значень, яке вона може приймати, непарно. Конкретне значення випадкової величини R визначається за допомогою ГВЧ наступним чином:

де U - псевдовипадкове число, що отримується від ГВЧ з рівномірним розподілом (U = 0.000000-0.999999).

3) операнд A є ВЧА функції, а операнд B відсутній. Наприклад:

GENERATE FN3

ADVANCE FN$DISTR

Поставлені часові інтервали є випадковими величинами, розподіли яких задаються відповідними оригінальними функціями. При цьому розподіл може бути як дискретним, так і безперервним (визначається типом функції). Карта опису функції має такий вигляд:

ІМ'Я FUNCTION A,BN

Xl,Yl/X2,Y2/.../XN,YN

де ІМ'Я - числове або символічне ім'я функції; А - аргумент функції (часто використовується ГВЧ RN1-RN8); B - тип функції (D - дискретна, С - безперервна); N - кількість описаних у другій та наступних рядках значень функції; X1, X2 ,..., XN - значення аргументу / X1 <X2 <... <Хn /; Y1, Y2 ,..., YN - відповідні значення функції аргументів.

Для дискретної функції N визначає число значень, які може приймати функція. На відміну від цього, безперервна функція може набувати значення, проміжні по відношенню до описаних. Відзначимо, що безперервна функція, описана двома точками, задає рівномірний розподіл.

На рис. 1.1 наведено приклад графіків дискретних (а і в) і безперервних функцій (б і г).

Посилання на функцію з числовим ім'ям - FNj. Посилання на функцію з символічним ім'ям FN $ ІМ'Я. При визначенні значення функції в переважній більшості випадків дробова частина відкидається.

a)

б)

в)

г)

Рисунок 1.1 – Приклади графіків дискретних і безперервних функцій

4) операнд A є константою або ВЧА, операнд B є ВЧА функцією. Наприклад:

GENERATE 100,FN$EXP

ADVANCEX1,FN1

ADVANCE FN2,FN3

Зумовлені часові інтервали є випадковими величинами з середнім значенням, що задається операндом А. Вид нормованого розподілу задається функцією, відповідної операнду В.

Такий спосіб завдання операндів застосовується при найбільш часто використовуваних розподілах, таких, як експоненційний, нормальне і інших. Чергове значення функції визначається шляхом множення середнього значення (операнд А) на розігране за допомогою ГВЧ значення нормованої функції.

Функція нормованого експоненціального розподілу (при середньому значенні, рівному 1) описується наступним чином:

XPDIS FUNCTION RN1,C24

0,0/.1,.104/.2,.222/.3,.355/.4,.509

.5,.69/.6,.915/.7,1.2/.75,1.38/.8,1.6

.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81

.95,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6

.995,5.3/.998,6.2/.999,7/.9998,8

Функція нормованого нормального розподілу (при середньому значенні, рівному 0, і середньоквадратичне відхилення, що дорівнює 1) дописується так:

NORM FUNCTION RN1,C25 0,5/.00003,4/.00135,3/.00621,2.5/.02275,2 .06681,1.5/.11507,1.2/.15866,1/.21186,.8/.27425,.6 .34458,.4/.42074,.2/.5,0/.57926,.2/.65542,.4 .72575,.6/.78814,.8/.84134,1/.88493,1.2/.93319,1.3 .97725,2/.99379,2.5/.99865,3/.99997,4/1,5

Якщо середнє значення М0 і середньоквадратичне відхилення D1, нормальний розподіл задається через дійсну змінну, певну через функцію нормованого нормального розподілу. Наприклад, при М=12 і D=2 маємо:

NORM FVARIABLE FN$NORM#2+12

Посилання на випадкову величину з нормальним розподілом в цьому випадку буде мати вигляд V$NORM.

Випадкові альтернативні переходи транзактов між блоками реалізуються блоком TRANSFER A,B,С, що працює в режимі статистичної передачі, де A - частота переходу транзакта в блок C (A<1). До блоку B транзакт переходить з частотою 1-А. В операнді A можна записувати не більше трьох цифр. Якщо операнд B відсутній, то транзакти з частотою 1-А будуть переходити в наступний по порядку блок.

Для автоматизації підрахунку вихідних характеристик моделі використовуються таблиці, що дозволяють побудувати гістограму розподілу випадкової величини, підрахувати її середнє значення, середньоквадратичне відхилення та інші характеристики. Карта визначення таблиці має вигляд:

ІМ'Я TABLE A,B,C,D

де ІМ'Я - числове або символічне ім'я таблиці; A - ВЧА, що визначає випадкову величину що підлягає табулюванню (аргумент таблиці); B - верхня межа нижнього "частотного класу" (інтервалу) гістограми; C - ширина всіх проміжних інтервалів (за винятком крайнього лівого і крайнього правого ); D - загальна кількість інтервалів таблиці, включаючи крайні інтервали.

Значення вибірки випадкової величини потрапляють в таблицю в ті моменти, коли транзакти входять до блоку TABULATE A, де операнд A задає ім'я таблиці, в яку потрапляють значення вибірки.

Порядок виконання роботи

  1. Вибрати завдання з табл.1.1. У крайній правій колонці дана частота переходу транзактів до блоку з ім'ям LBL1.

Таблиця 1.1

Варіант

Інтервали між повідомленнями

Затримки

Частота переходу (LBL1)

1

2

3

4

1

Exp;

М=110

Uniform;

2..32

FN4

Uniform;

43.. 58

FN5

.17

2

Norm;

М=150, D=20

FN5

Uniform;

17..23

Uniform;

31..40

FN4

.635

3

Uniform;

100..200

Exp;

М=54

FN5

FN4

Uniform;

38..48

.29

4

Uniform;

100..121

FN4.

Exp;

M=48

FN5

Uniform;

55..65

.7

5

FN6

Norm;

М=20; D=3

Uniform;

13..32

Uniform;

13..33

FN5

. 587

6

FN7

Uniform;

26..38

FN4

Norm;

M=35, D=4

Uniform;

26..39

.908

7

Exp;

M=150

FN5 .

Uniform;

60..81

FN4

Uniform;

52..64

.46

8

Norm;

М=120, D=15

Uniform;

23.. 37

FN4

FN5

Uniform;

28..41

.821

9

Uniform;

105..135

FN4

Exp;

M=62

Uniform;

64..75

FN5

.376

10

Uniform;

105.. 136

Uniform;

44. .66

FN5

FN4

Exp;

M=45

.23

11

FN6

FN5

Norm;

М=25, D=3

Uniform;

15..27

Uniform;

15..28

.8

12

FN7

Uniform;

15..24

FN4

Uniform;

17. .27

Norm;

M=30, D=5

.39

Умовні позначки:

Exp;

М=170

експоненційний розподіл із середнім значенням, рівним 170;

Norm;

М=200, D=30

нормальний розподіл із середнім значенням, рівним 200, і середньоквадратичним відхиленням, рівним 30;

FNj

розподіл відповідно з функцією FNj;

Uniform;

10..30

рівномірний розподіл в інтервалі від 10 до 30

  1. Для використовуваних функцій скласти опис карт FUNCTION. Функції FN5, FN7 (рис. 1.1, б, г) закодувати не менше ніж 5 точками.

  2. Використовуючи представлений в прикладі текст базової моделі, скласти програму конкретної моделі на мові GPSS, задаючи складений опис функцій і вибираючи відповідні операнди; блоків GENERATE, ADVACE, TRANSFER і карт FVARIABLE, TABLE.

  3. Виконати прогін моделі на ЕОМ.

  4. Отримати та проаналізувати лістинг. При необхідності скоригувати операнди карти TABLE і виконати повторний прогін.

  5. За лічильниками числа входів в блоки визначити відсоток транзактів, що потрапили в блоки з іменами LBL1 і LBL2, і зіставити його з операндом A блоку TRANSFER.

  6. Оформити отримані результати до звіту.

Приклад реалізації та опису моделі

Лістинг базової моделі

FUNC1 FUNCTION RN1,C2

0,1/1,17

FUNC2 FUNCTION RN2,D4

.25,10/.5,20/.73,30/1,40.

FUNC3 FUNCTION RN3,C25

0,-5/.00003,-4/.00135,-3

.00621,-2.5/.02275,-2/.06681,-1.5

.11507,-1.2/.15866,-1/.21186,-.8

.27425,-.6/.34458,-.4/.42074,-.2

.5,0/.57926,.2/.65542,.4

.72575,.6/.78814,.8/.84134,1

.88493,1.2/.93319,1.5/.97725,2

.99379,2.5/.99865,3/.99997,4/1,5

NORM VARIABLE FN$FUNC3#3+10

TAB1 TABLE M1,20,10,12

************************************************************

GENERATE 100,30 ; Генерація транзактів

ADVANCE V$NORM ; Затримка 1

ADVANCE 35,10 ; Затримка 2

ADVANCE FN$FUNC2 ; Затримка 3

ADVANCE FN$FUNC1 ; Затримка 4

TABULATE TAB1 ; Табулювання

TRANSFER .831,LBL1,LBL2 ; Випадковий перехід

LBL1 TERMINATE 1 ; Видалення транзактів 1

LBL2 TERMINATE 1 ; Видалення транзактів 2

************************************************************

START 500 ; Повторити 500 разів

Базова модель функціонує наступним чином. Транзакти генеруються блоком GENERATE, операнди A і B якого визначають розподіл інтервалів між моментами надходження транзактов. Далі транзакти послідовно проходять 4 блоки ADVANCE, затримуючись у кожному блоці на час, що задається його операндами A і B. Потім проводиться табулювання загального часу затримки транзактів за допомогою ВЧА M1 (M1 - час між моментом входу транзакта в модель і моментом використання даного ВЧА).

Транзакти видаляються з моделі через один з двох блоків TERMINATE, визначається випадковим чином за допомогою блоку TRANSFER, що працює в режимі статистичної передачі. Обсяг вибірки досліджуваної випадкової величини, (число значень, що потрапляють в таблицю) задається операндом A карти START.

Контрольні питання

  1. Що розуміється під "випадковим навантаженням"?

  2. Які існують способи завдання випадкової навантаження?

  3. Які існують способи завдання операндів A і B блоків GENERATE і ADVANCE?

  4. Які існують розподіли випадкових величин?

  5. Для чого призначені таблиці в GPSS?

Рекомендована література

  1. Боев В.Д. Моделирование систем. Инструментальные средства GPSS World: Учеб. Пособие. – СПб.: БХВ-Петербург, 2004. – 368 с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]