
- •Імітаційна модель системи оцінки продуктивності
- •1 Приклад системи для вивчення оцінки продуктивності
- •2.2. Опис роботи проп-системи
- •3 Етапи роботи за оцінкою
- •4 Індекси продуктивності
- •2.5 Класифікація робіт за оцінкою
- •6 Огляд методів оцінки
- •Структура моделі
- •1 Опис моделі
- •3.2. Організація моделі системи
4 Індекси продуктивності
Розглянемо технічні індекси продуктивності. Ці індекси, якщо вони акуратно визначені, могли б бути об'єктивними засобами деяких аспектів продуктивності системи. Таким чином, суб'єктивність оцінки могла б бути в значній мірі обмежена їх вибором і відносною вагою, що додається їм. Вагові коефіцієнти будуть, взагалі кажучи, відрізнятися з погляду різних категорій людей (виробників, адміністрації установки, представників компанії, галузевих інженерів, системних програмістів, операторів, прикладних програмістів) і іноді від індивідуума до індивідуума.
Проте ряду важливих індексів продуктивності важко або неможливо надати кількісного вигляду, наприклад легкість користування системою, структурованість програми або мови, потужність набору команд. У цій роботі приймемо обмежене визначення продуктивності, яке пропонує індекси, що легко приймають кількісну форму. Тільки ефективність системи, її швидкість виконання даного завдання або набору завдань, швидкість відповіді на зовнішні сигнали розглядатимуться з аспектів широкого визначення продуктивності Таким чином, ми зарезервуємо термін продуктивність для цих аспектів і називатимемо інші (правильність, легкість використання, структурна, надійність і т. д.) функціональними аспектами.
Найбільш широко поширені класи кількісних індексів продуктивності для обчислювальних систем перераховані у табл. 2.2. Із загальних визначень, даних в тій же таблиці, має бути очевидно, що індекси продуктивності мають розмірність: об'єм*час, індекси реактивності — розмірність часу, а індекси використання безрозмірні. В даний час не існує стандартизованого єдиного способу вимірювання об'єму, або кількості інформації, переробленою системою.
Таблиця 2.2 Основні класи кількісних індексів продуктивності обчислювальних систем
Клас індексу |
Приклади індексів |
Загальне визначення |
Продуктивність |
Пропускна спроможність |
Об'єм інформації, оброблюваною системою в одиницю часу |
|
Максимальне вироблення (максимум пропускної спроможності) |
|
|
Швидкість виконання команд |
|
|
Швидкість обробки даних |
|
Реактивність |
Час відповіді |
Час між пред'явленням системі вхідних даних і появою відповідної вихідної інформації |
|
Час проходження |
|
|
Час реакції |
|
Використання |
Коефіцієнти використання |
Відношення часу исполь зования вказаної частини системи (або її использо |
|
устаткування (центральний процесор, канал введення-виведення, пристрій введення-виведення) |
вания для заданої мети) протягом заданого інтервалу часу до тривалості цього інтервалу |
|
Коефіцієнт використання операційної системи |
|
|
Коефіцієнт використання загального модуля програмного забезпечення (наприклад, компілятора) |
|
|
Коефіцієнт використання бази даних |
|
Таким чином, залежно від системи і від її робочого навантаження використовуватимуться різні міри об'єму; серед найбільш поширених можна назвати: завдання, програма, процес, крок завдання, взаємодію (обмін повідомленнями). Перерахувати всі значення, приписані раніше і приписувані нині цим термінам в літературі по обчислювальних системах [7, 8, 9] неможливо. Тут відзначимо, що всі вони до деякої міри залежать від природи робочого навантаження, від мови, на якій програмісти описують свої алгоритми для обчислювальної машини, від внутрішньої мови машини і від способу організації системи. Таким чином, жоден з цих заходів не володіє властивістю незалежності від робочого навантаження і властивістю незалежності від системи — це дві властивості, необхідні для того, щоб можна було встановити деяку міру об'єму інформації як універсальної.
У наступному прикладі обговоримо вибір індексів продуктивності для діалогової системи.
Приклад 2.1. Діаграма на рис. 2.4 характеризує діалогову установку з погляду окремого користувача, що взаємодіє з системою через термінал.
Рис. 2.4. Визначення часу взаємодії і часу відповіді для діалогової системи
Відмітимо, що частина циклу взаємодії, протягом якої машина чекає повідомлення від терміналу, часто називається часом обдумування, навіть якщо вона включає також час введення і частину часу виведення. Для користувача найбільш важливим аспектом продуктивності (відповідно до нашого обмеженого визначення цього терміну) буде реактивність системи. Діаграма на рис. 2.4 дозволяє точно визначити індекс реактивності, званий часом відповіді. Наприклад, час відповіді буде визначено як інтервал між моментом, коли користувач набирає останній символ вхідного повідомлення, і моментом появи першого символу вихідного повідомлення на терміналі. Це тільки одне з декількох можливих визначень, які можна було б запропонувати. У деяких системах воно може опинитися навіть двозначним і потребує модифікації, принаймні в уточненні.
Важливо відзначити, що співвідношення між індексами продуктивності системи і цінністю (у економічному сенсі), приписаною їм людьми, що беруть участь в оцінці, не обов'язково є лінійним. Наприклад, ніяк не можна вважати вірним, що час відповіді 4 секунди на дане повідомлення приблизно удвічі менш бажано, ніж час відповіді 2 секунди на те ж повідомлення. Форма цієї залежності, яка міняється від користувача до користувача і від зміни типу повідомлення, швидше схожа на криву, зображену на рис. 2.5. Нижче певного порогу користувачі не в змозі навіть відчувати різницю в часі відповіді. Вище за інший поріг рівень задоволення різко падає, і переважає відчуття розчарування і безсилля.
Які параметри установки впливають на час відповіді? Час відповіді залежить від даного повідомлення, від системи і від решти частини робочого навантаження, яке обробляє система під час прийому повідомлення. Щоб користуватися часом відповіді як індексом продуктивності системи, ми повинні специфікувати повідомлення і решту частини робочого навантаження. Його значення не має сенсу без цієї додаткової інформації. Проте охарактеризувати робоче навантаження в достатньо компактному вигляді вельми важко. Поліпшення одного індексу не завжди покращує інші індекси, як показано в наступному прикладі.
Приклад 2.2. У діалоговій ПРОП-системі, розглянутій в прикладі 2.1, зменшимо квант часу з 2 одиниць часу до 1 одиниці. Нова часова діаграма зображена на рис. 2.6(b). Використовуючи ті ж самі індекси продуктивності, що і в прикладі 2.1, знайдемо, що середній час відповіді зменшується з 8.16 до 7.6 одиниці часу. Проте середня пропускна спроможність також падає з 0.447 до 0.422 взаємодії в одиницю часу. Відмітимо, що стандартне відхилення часу відповіді збільшується з 9.55 до 11.35 одиниці часу. Середній час відповіді для команд редагування убуває з 6.1 до 4.6 одиниці часу, тоді як для команд компіляції воно збільшується з 12.3 до 13.6 одиниці часу.
У роботі за оцінкою можна розглядати вторинні індекси продуктивності разом з первинними. Первинні індекси — це ті, якими дійсно цікавиться оцінювач. Специфікації продуктивності системи звичайно виражаються в термінах первинних індексів. Взагалі метою роботи за оцінкою на існуючій системі є поліпшення первинних індексів. Ці індекси змінюються залежно від типу системи, завдання і від оцінювача. Наприклад, для користувачів, як правило, первинний індекс — це індекс реактивності. З іншого боку, адміністрація установки звичайно зацікавлена в продуктивності разом з реактивністю. Залежно від обставин адміністратор приділятиме більше уваги то одному, то іншому показнику, але обидва типу індексів завжди гратимуть головну роль в оцінці системи адміністратором. Таким чином, навіть у тих роботах, цілі яких формулюються в термінах одного типу індексів, іншому типу завжди слід приділяти належну увагу.
Вторинні індекси звичайно висуваються в процесі самої роботи за оцінкою. Їх значення можуть бути корисні для виявлення симптомів неефективності або для знаходження причин цієї неефективності. Як приклад для ряду таких робіт можна назвати індекси коефіцієнта використання (табл. 2.2).
У більшості робіт значення первинних і вторинних індексів продуктивності доводиться визначати для даних значень параметрів установки. Ця операція може бути названа аналізом продуктивності. Протилежну їй операцію, визначення параметрів за даними значеннями індексів, назвемо синтезом продуктивності. Якби існували відповідні методи синтезу, вони знайшли б природне застосування в проектуванні систем. Методи оцінки всі належать до методів аналізу продуктивності. Цей аналіз продуктивності може бути повторений для різних комбінацій значень параметрів установки. За допомогою такого методу можемо досліджувати простір параметрів, тобто збірати інформацію про залежність індексів продуктивності від параметрів і один від одного. Таке дослідження важливо для розуміння поведінки системи.