
- •Література..........................................................................................61 Передмова
- •Системи масового обслуговування як об'єкти комп'ютерного моделювання.
- •Загальні відомості про системи масового обслуговування.
- •Характеристики систем масового обслуговування.
- •Вхідний потік вимог.
- •Властивості пуассоновского потоку.
- •Моделювання пуассоновського потоку.
- •Організація черги.
- •Вихідний потік вимог.
- •1.8 Режими роботи смо.
- •Типи моделей смо.
- •Аналіз смо. Мережі смо.
- •Формула Літтла.
- •Одноканальні смо.
- •Багатоканальні смо
- •Основи дискретно-подійного моделювання смо.
- •Простір станів смо.
- •Алгоритм моделювання смо.
- •Мережі смо.
- •Операційний аналіз мереж смо.
- •Операційні змінні.
- •Операційні залежності.
- •Аналіз вузьких місць в мережі
- •Імітаційне моделювання систем масового обслуговування.
- •Формулювання проблеми та змістовна постановка завдання.
- •Розробка концептуальної моделі.
- •Вибір ступеня деталізації опису об’єкта моделювання.
- •Опис змінних моделі.
- •Формалізоване зображення концептуальної моделі.
- •Вибір засобів реалізації імітаційної моделі
- •Розробка структурної схеми імітаційної моделі й опис її функціонування.
- •Програмна реалізація імітаційної моделі.
- •Перевірка вірогідності й правильності імітаційних моделей.
- •Моделювання обчислювальних та операційних систем.
- •Загальні відомості про обчислювальні та операційні системи.
- •Мережі та системи передачі даних .
- •Проблеми моделювання комп’ютерів і мереж.
- •4.4 Імітаційна модель персонального компютера.
- •Лiтература
4.4 Імітаційна модель персонального компютера.
Визначимо цілі моделювання персонального комп'ютера (ПК). Припустимо, що метою моделювання є прогнозування впливів зміни продуктивності устаткування на середню пропускну здатність ПК і середній час виконання програм. Будемо розглядати ПК із загальною шиною, схему якого зображено на рис. 4.1.
З основних пристроїв комп'ютера виділимо ті, які повинні бути відображені в моделі, а саме: мікропроцесор (МП), оперативну пам'ять (ОП), монітор, накопичувач на жорстких магнітних дисках (НМД), накопичувач на гнучких магнітних дисках (НГД), принтер, клавіатуру та контролери цих пристроїв - контролер клавіатури (КК), контролер монітору (КМ), контролер НМД (КНМД), контро лер (КНГД), контролер принтера (КП).
Функціонування комп'ютера можна описати таким чином. Користувачі з клавіатури вводять команди, що складаються з кількох інструкцій, які викликають програмні модулі. Кожну інструкцію будемо вважати одним кроком завдання. Програма та дані знаходяться на магнітних дисках і завантажуються в оперативну пам'ять за окремою командою. Роботу користувача з клавіатурою в моделі можна не враховувати, припускаючи, що набір команд з клавіатури відображається на екрані монітора. Для перенесення програми з магнітних дисків у пам'ять комп'ютера організується вхідний буфер. Якщо обсяг пам'яті достатній для виконання першого кроку, то після завантаження програми в пам'ять і надання їй часу процесора вона може опрацьовуватися ним доти, доки не видасть запит до магнітних дисків або принтера. У той час, коли здійснюється введення-виведення даних на зовнішні пристрої, процесор може виконувати інше завдання. Після виконання операції введення-виведення даних завдання знову чекає в черзі, доки йому не буде надано час процесора. Якщо крок завдання закінчився, то звільняється пам'ять і здійснюється виведення даних на принтер через вихідний буфер.
Вважається, що на жорсткому диску знаходяться програми операційної системи і системні програми, а також бібліотеки користувача. Під час виконання програми вона може запитувати вхідні дані з гнучкого диска. Роботу операційної системи і системних програм до уваги не прийматимемо, припускаючи, що вони в однаковій мірі впливають на програми користувачів.
4.4.1. Концептуальна модель персонального комп'ютера
Всі пристрої, продуктивність яких впливає на час виконання завдання на комп'ютері, будемо розглядати як ресурси системи. Такі пристрої, як монітор, процесор, накопичувачі на магнітних дисках і принтер, не можна експлуатувати в режимі розподілу часу, тобто в конкретний час їх може використовувати тільки одне завдання. У пам'яті ж одночасно можуть знаходитись кілька завдань. Завдання може одночасно використовувати кілька ресурсів.
Враховуючи те, що швидкість роботи контролерів пристроїв уведення-виве-дення значно перевищує швидкість роботи самих пристроїв, будемо вважати, що швидкість роботи пристроїв визначається швидкістю роботи самих пристроїв, а не їх контролерів.
Тоді структурну схему концептуальної моделі комп'ютера можна відобразити так, як зображено на рис. 4.2. Зазначені на схемі лічильники необхідні для підра-хування кількості завдань, які надійшли до комп'ютера і залишили його.
Вхідні і вихідні буфери можна об'єднати відповідно з монітором і пристроєм для друку. Тоді в концептуальній моделі будуть явно задані такі ресурси: МП, ОП, НМД, НГД, МОНІТОР, ПРИНТЕР.
Рис. 5.7. Концептуальна модель комп'ютера
З огляду на мету моделювання визначимо, що на виході моделі необхідно отримати дані про середній час виконання завдань і пропускну здатність комп'ютера (кількість завдань, виконаних за певний час). Вхідні дані визначають закон розподілу надходження завдань у комп'ютер, число кроків у кожному завданні та ємність пам'яті, загальний час виконання кроку завдання процесором, частоту запитів до зовнішніх накопичувачів і пристроїв, розподіл обсягу виведеної на друк інформації, обсяг інформації, яка зчитується або записується на зовнішні накопичувачі, обсяг інформації, що вводиться. Ці дані
можна отримати за допомогою програм тестування реального комп'ютера. Крім цих даних необхідно задати параметри для пристроїв комп'ютера, такі як швидкодія процесора, ємність пам'яті, накопичувачів на магнітних дисках, вхідних і вихідних буферів, мінімальний та максимальний час пошуку даних на магнітних дисках, швидкість друку на принтері, швидкість уведення інформації з клавіатури.
4.4.2. Розроблення імітаційної моделі
Для розроблення моделі скористаємось подійним алгоритмом моделювання. Для кожної пари «завдання—ресурс» будемо визначати, як довго деяке завдання J використовуватиме деякий ресурс R, тобто визначатимемо інтервал часу, коли завданню J буде призначено ресурс R і коли воно звільнить цей ресурс.
Однак перед тим, як ресурс R буде призначено завданню J, повинна надійти вимога на його використання. У загальному випадку завдання може чекати в черзі надання ресурсу.
Тоді під час створення імітаційної моделі комп'ютера можна користуватись такими двома способами.
-
Створити та підтримувати протягом моделювання список подій у хронологічному порядку.
-
Створити підпрограми опрацювання подій кожного типу і викликати їх тоді, коли подія даного типу стає першою в списку подій. Всі підпрограми подій можуть змінювати список подій, створюючи нові події та плануючи їхнє виконання в деякому майбутньому модельному часі.
Діаграму подій імітаційної моделі комп'ютера зображено на рис. 4.3.
Рис. 5.8. Діаграма подій імітаційної моделі комп'ютера
Тепер опишемо алгоритми роботи цих підпрограм.
Підпрограма Запит-призначення
Якщо ресурс R вільний і його можна негайно виділити завданню J, то він позначається як зайнятий і планується настання наступної події для завдання J, У протилежному випадку запит від завдання J ставиться в чергу до ресурсу R.
Підпрограма Звільнення
Ресурс R позначається як вільний і планується наступна подія для завдання J. Якщо черга до ресурсу R не порожня, планується подія Запит-призначення чергового завдання К для ресурсу R і завдання вибирається з черги до ресурсу R. У протилежному випадку підпрограма не виконує ніяких дій.
Для того щоб простежити шляхи проходження завдань по ресурсам комп'ютера, необхідно визначити ще дві події і відповідні підпрограми: Надходження та Вихід. Між цими подіями не існує явного зв'язку. Якщо уявити персональний комп'ютер як деякий узагальнений ресурс, то підпрограма Надходження завжди призначає цей узагальнений ресурс завданню, яке надійшло.
Підпрограма Надходження
Готує характеристику (параметри) завданню J, тобто фіксує час надходження завдання до ПК. Визначає вимоги завдання до ресурсів. Планує наступну подію для/ і прибуття наступного завдання К.
Підпрограма Вихід
Підпрограма Вихід є набагато простішою за підпрограму Звільнення. Вона лише знищує характеристику завдання J.
Структурну схему програми імітаційної моделі комп'ютера наведено на рис. 4.4.
Програма ініціалізації готує структури даних, необхідні для моделювання, та задає їм початкові значення. Програма керування моделюванням вибирає (викликає) наступну подію, яка після виконання підпрограми повертає керування ПКМ, а потім збільшує модельний час до наступної події. Обидва ці завдання виконуються шляхом перевірки запису в списку подій.
Кожний запис у цьому списку містить: тип події, яка використовується для виклику відповідної підпрограми події; ім'я або номер завдання, що передається як аргумент усім підпрограмам події; тип події, що буде викликатись за даною подією.
Якщо необхідно враховувати пріоритетне планування, алгоритм роботи підпрограми обробки події процесора значно ускладнюється. Програми, які виконуються комп'ютером, можуть мати різний пріоритет, наприклад програми операційної системи і програми користувачів. Якщо поява більш пріоритетного завдання може перервати виконання процесором завдання з меншим пріоритетом, то необхідно дозволити процесору виконувати завдання з більшим пріоритетом, як тільки воно з'явиться в черзі. У цьому випадку подію звільнення процесора від завдання потрібно вивести зі списку подій за допомогою програми Запит-призначення для процесора і процесор призначити завданню з більш високим пріоритетом. Ця ж підпрограма повинна поставити перерване завдання в чергу до процесора для того, щоб надати їй його знову для доопрацювання перерваної програми. Надходження завдання з більшим пріоритетом може також перервати завдання, яке виконує процесор, тобто в цьому випадку може утворитись список перерваних завдань.
На діаграмі подій є події, після яких можливе одночасне настання двох подій. Ці події є взаємовиключними. Порядок звертання до тих або інших подій залежить від логіки та характеристик завдань, виконуваних користувачем.
Наприклад, після звільнення НМД для j-го завдання необхідно запланувати настання однієї з таких подій:
Запит-призначення НМД;
Запит-призначення МП;
Звільнення ОП;
Звільнення принтера.
Наприклад, Запит-призначення МП буде заплановано в тому випадку, якщо завдання J було тільки що завантажене в пам'ять або запит на НМД був задовільний, а обчислення для поточної команди завдання ще не завершене. Таким чином, інформація про послідовність виконання подій у програмі повинна утримуватись у самій моделі та безперервно опрацьовуватись у процесі моделювання.
Підпрограму Вибірка призначено для збору статистичних даних у процесі моделювання. Наприклад, пропускну здатність комп'ютера можна визначити, якщо підрахувати завдання, які залишили комп'ютер у підпрограмі Вихід, і поділити їх на час моделювання після виходу всіх завдань. Також потрібно збирати статистичні дані про завантаження ресурсів. Для цього необхідно визначити загальний час використання ресурсу та поділити його на загальний час моделювання.
4.4.3. Процесно-орієнтований алгоритм моделювання персонального комп'ютера.
Для того щоб урахувати взаємодію процесів у моделі, потрібно вести два списки подій: список майбутніх подій
(СМП) і список умовних подій (СУП) (рис. 4.5). Основна увага при розробці моделюючого алгоритму зосереджується на шляхах проходження завдання в моделі і взаємодіях процесів, що виконуються паралельно. Підпрограма процесу описує «життєвий цикл» завдання в системі.
Рис. 5.10. Списки подій для моделі комп'ютера, орієнтованої на процеси
Якщо наступна подія для модельованого завдання повинна відбутись у деякий модельний час, то цю подію можна планувати безумовно, і для неї додається запис у СМП. Якщо це зробити неможливо, наприклад через взаємодію з іншими завданнями, які в даний момент займають необхідні ресурси, то запит подається в СУП. Після цього керування повертається до ПКМ, яка здійснює повернення в підпрограму процесу через точку входу, що є безпосередньо наступною за оператором ЧЕКАТИ (умови) доти, доки завдання не буде вибране для обслуговування цим ресурсом. Таким чином, підпрограми процесів повинні мати ряд точок входу та виходу з процесів.
На рис. 4.6 зображено схему частини процесу для надання завдання МП для обчислювання. У цій схемі ПКМ, а не програма процесу, планує та призначає ресурси. Схему можна модифікувати, щоб це завдання вирішувала програма процесу.
Дійсно, ресурси розглядаються як пасивні об'єкти, і ця схема не моделює в явному вигляді поведінку ресурсу.