ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6863
Скачиваний: 22
24
з'явилося декілька методик вимірювання продуктивності. Вони дозволяють розробникам і користувачам здійснювати вибір між альтернативами на основі кількісних показників. Припустимо, що використано два комп'ютери для виконання тієї ж програми. Якщо перший комп'ютер виконав програму за менший час у порівнянні з другим, можна говорити, що перший комп'ютер є швидшим. Час виконання програми включає час роботи процесора, час звернення до дискової пам'яті, час звернення до основної пам'яті, час введення-виведення даних і накладні витрати операційної системи. Оскільки при роботі в мультипрограмному режимі під час очікування введення-виведення для однієї програми, процесор може виконувати іншу програму, то система не обов'язково мінімізуватиме час виконання даної конкретної програми. Тому вказаний підхід до порівняння комп'ютерів не є досконалим.
Іншим підходом до порівняння комп'ютерів є порівняння часу роботи процесора, необхідного для виконання заданої програми, який не включає час очікування введення-виведення або час виконання іншої програми. Час роботи процесора може бути виражений кількістю тактів синхронізації для даної програми, помноженою на тривалість такту синхронізації.
Важливою та часто вживаною характеристикою є середня кількість тактів синхронізації процесора на одну команду СРІ (clock cycles per instruction). При відомій кількості виконуваних команд в програмі ця характеристика дозволяє швидко оцінити час роботи процесора, необхідний для виконання заданої програми.
Досконалішою одиницею, яку можна використати для порівняння комп'ютерів, є продуктивність, тобто загальна кількість обчислювальної роботи, яку комп'ютер виконує за фіксований часовий інтервал. Якщо час виконання деякої програми позначити через Т, то продуктивність Р комп'ютера можна визначити наступним чином: Р = 1/Т. Годі порівняння двох комп'ютерів X і Y можна виконати за наступними правилами: якщо 1/Тх >1І/Ту тобто Ту > Тх, то комп'ютер X є швидшим. В сучасних комп'ютерах продуктивність вимірюється в мільйонах операцій за секунду - MIPS. Таким чином, продуктивність може бути визначена як зворотна до часу виконання величина, причому швидші комп'ютери при цьому матимуть вищий рейтинг кількості операцій за одиницю часу. Позитивними сторонами кількості операцій за одиницю часу як одиниці оцінки продуктивності комп'ютера є те, що цю характеристику легко зрозуміти, особливо покупцю, і що швидший комп'ютер характеризується більшим числом операцій за одиницю часу. Проте використання цієї одиниці як метрики для порівняння натрапляє на дві проблеми. По-перше, вона залежить від набору команд процесора, що ускладнює порівняння комп'ютерів з різними системами команд. По-друге, навіть на одному і тому ж комп'ютері вона змінюється від програми до програми.
Вимірювання продуктивності комп'ютерів при вирішенні науково-технічних задач, в яких переважно використовується представлення даних в форматі з рухомою комою, завжди викликало особливий інтерес. Саме для таких обчислень вперше постало питання про вимірювання продуктивності, а за досягнутими показниками часто робилися висновки про загальний рівень розробок комп'ютерів. Зазвичай для науково-технічних завдань продуктивність комп'ютера оцінюється в кількості операцій з рухомою комою за секунду FLOPS (Floating Point Operations Per Second). В сьогоднішніх комп'ютерах це мільйони та мільярди операцій з рухомою комою за секунду - MFLOPS, GFLOPS.
25
Погрібно відзначити, що вищеназвані одиниці вимірювання - такт (або частота) синхронізації, середня кількість тактів на команду і продуктивність комп'ютера є взаємозв'язаними. Неможливо змінити жодну з них ізольовано від іншої, оскільки базові иехнології, використовувані для зміни кожної з цих характеристик, взаємозв'язані: частота синхронізації визначається технологією виготовлення апаратних засобів і функціональною організацією процесора; середня кількість тактів на команду залежить від Функціональної організації і архітектури системи команд; а кількість виконуваних в програмі команд визначається архітектурою системи команд і технологією компіляторів. Коли порівнюються два комп'ютери, необхідно розглядати всі три компоненти, щоб зрозуміти відносну продуктивність.
1.2.3.2. Тестові програми для оцінки продуктивності
Важливість створення пакетів тестів, що базуються на реальних прикладних програмах широкого кола користувачів і забезпечують ефективну оцінку продуктивності комп'ютерів, була усвідомлена більшістю найбільших виробників комп'ютерних засобів, які в 1988 році заснували неприбуткову корпорацію SPEC (Standard Performance Evaluation Corporation). Основною метою цієї організації є розробка і підтримка стандартизованого набору спеціально підібраних на основі досвіду тестових програм для оцінки продуктивності новітніх поколінь високопродуктивних комп'ютерів.
Основним результатом роботи SPEC є набори тестів. Ці набори розробляються SPEC з використанням кодів, що поступають з різних джерел. SPEC працює над встановленням цих кодів на різні платформи, а також створює інструментальні засоби для формування з цих кодів осмислених робочих навантажень. В даний час є два базові набори тестів SPEC, що орієнтовані на інтенсизні розрахунки і вимірюють продуктивність процесора, пам'яті, а також ефективність генерації коду компілятором. Набір тестів СІNТ, що вимірює продуктивність процесора при обробці цілих чисел, складається з програм, написаних на мові С і вибраних з різних прикладних областей; теорія дробів, інтерпретатор мови LISP, розробка логічних схем, пакування текстових файлів, електронні таблиці і компіляція програм. Набір тестів СЕР, що вимірює продуктивність процесора при обробці чисел з рухомою комою, складається з програм, також вибраних з різних прикладних областей: розробка аналогових схем, моделювання методом Монте-Карло, квантова хімія, оптика, робототехніка, квантова фізика, астрофізика, прогноз погоди і інші наукові та інженерні завдання. Частина програм з цього набору написана на мові С, інша частина - на Фортрані. Результати виконання кожного індивідуального тесту з цих двох наборів виражаються відношенням часу виконання однієї копії тесту на комп'ютері, що тестується, до часу її виконання на деякому еталонному комп'ютері.
Іншим підходом до оцінки продуктивності комп'ютерів за допомогою тестів є розробка спеціального програмного забезпечення (синтетичних тестів), що дозволяє створювати різні робочі навантаження, відповідно до рівня системи, що тестується, і до вимог щодо її використання. Однією з незалежних організацій, яка здійснює оцінку продуктивності комп'ютерних систем за допомогою синтетичних тестів, є. приватна компанія AIM Technology, яка була заснована в 1981 році. Компанія розробляє і поставляє програмне забезпечення для вимірювання продуктивності систем, а також надає послуги з тестування систем кінцевим користувачам і постачальникам комп'ютерних систем та мереж, які використовують промислові стандартні операційні системи, такі як UNIX і
26
OS/2. Це програмне забезпечення складається з двох основних частин: генератора тестових пакетів і сумішей навантажень прикладних завдань. При кожному запуску генератора можуть виконуватися будь-які окремі або всі доступні тести у будь-якому порядку і при будь-якій кількості проходжень, дозволяючи тим самим створювати для системи практично довільне робоче навантаження. Якщо деякі необхідні тести відсутні у складі генератора тестових пакетів, то вони можуть бути туди легко додані. На основі оцінки продуктивності системи вибираються різні рівні збільшення навантаження. Це дозволяє з достатньою достовірністю зробити висновок про можливості роботи системи при даному навантаженні або при зміні навантаження. При цьому важливим є підбір сумішей навантажень, які ділять на дві категорії: замовлені і стандартні. Замовлені суміші створюють для точного моделювання особливостей середовища кінцевого користувача або постачальника устаткування. Стандартні суміші є звичайним середовищем прикладних завдань. До їх складу входять, зокрема, суміші для робочих станцій, геоінформаційних систем, ділових застосувань, керування базою даних та інші.
Важливим є створення тестів та оцінка продуктивності комп'ютерів на задачах з області їх конкретного застосування. Так, наприклад, фірма BDTI надає послуги з питань аналізу продуктивності комп'ютерів, призначених для вирішення задач цифрової обробки сигналів. З розширенням використання комп'ютерів при обробці транзакцій (комерційний обмін товарами, послугами або грошима) все важливішим стає забезпечення можливості їх коректного порівняння між собою. З цією метою в 1988 році була створена Рада для оцінки продуктивності обробки транзакцій (ТРС - Transaction Processing Performance Council), яка є неприбутковою організацією. ТРС публікує специфікації тестових пакетів, які регулюють питання, пов'язані з роботою тестів. Ці специфікації гарантують, що покупці мають об'єктивні значення даних для порівняння продуктивності різних комп'ютерних систем.
1.2.4. Організація зв'язків між функціональними вузлами комп'ютера
Для забезпечення роботи комп'ютера його функціональні вузли повинні бути відповідним чином з'єднані. Обмін інформацією між вузлами комп'ютера проводиться по шинах, до складу яких входять п ліній, де п - розрядність інформаційного слова. Є три головних типи шин: шина даних, шина керування (або шина команд) та шина адрес, які використовуються відповідно для пересилання даних, команд та їх адрес.
Три найуживаніших структури комп'ютера, які відрізняються організацією зв'язку між його функціональними вузлами, розглянуто нижче.
В двошинній структурі комп'ютера з обміном через процесор (рис. 1.6) введення інформації з пристрою введення до основної пам'яті, та виведення інформації з основної пам'яті до пристрою виведення здійснюється через процесор.