Продуктивність комп’ютерних систем
Припустимо, що використано дві різні робочі станції, що виконують ту ж саму програму. За умови, коли перша робоча станція виконала програму за менший час у порівнянні з другою, можна казати, що ця перша робоча станція є скорішою. Тут ідеться про так званий час відгуку (response time чи execution time), тобто проміжок часу поміж стартом та завершенням виконання деякого програмного завдання (task). Менеджери обчислювальних центрів зацікавлені у збільшенні перепускної спроможності (throughput, продуктивність) – загальної кількості обчислювальної роботи, яку виконано за фіксований часовий інтервал. Проте обидві щойно зазначені характеристики є взаємно залежними. Адже заміна процесора на більш швидкий призведе до покращення як першої, так і другої характеристики. Це дозволяє визначити продуктивність (performance) наступним чином: Продуктивність X = 1/Час_виконання_X. Тоді порівняння характеристик двох робочих станцій X i Y можна виконати за наступними правилами. Якщо Продуктивність _X > Продуктивність _Y, тоді 1/ Час_виконання _X > 1/ Час_виконання _Y, Час_виконання _Y > Час_виконання _X Тобто, час виконання Y перевищує час виконання Х. Часто-густо кажуть про те, щo продуктивність X перевищує продуктивність Y в n разів. Формально це можна записати як: Продуктивність _X/ Продуктивність _Y = n.
Зараз треба детальніше розглянути питання про складові часу виконання. Найпростіше визначити час виконання через сумарний час виконання завдання. Цей сумарний час складається з часу доступу до диска, часу звернення до пам’яті, часу активності уводу-виводу, додаткових витрати часу на спрацювання модулів операційної системи, витрат процесорного часу тощо. Зауважимо, що саме витрати процесорного часу є найважливішими в контексті порівняння ефективності архітектур. Вони мають назву CPU execution time чи CPU time. В межах витрат процесорного часу також треба розрізняти дві складові компоненти, а саме, процесорний час користувача (user CPU time) та системний процесорний час (system CPU time). Зауважимо, що відокремлене вимірювання цих двох складових є неординарним завданням, але яке є реалізованим в ОС Unix засобами команди time у дуже зручний з погляду користувача спосіб. Нехай виклик команди time cпричинив наступний відгук: 90,7u 12,9s 2:39 65%. Отримане треба тлумачити так. User CPU time = 90,7 sec, System CPU time = 12,9 sec, загальний час виконання завдання = 2 хвилини 39 секунд. Питома вага процесорного часу у загальному часі виконання завдання склала (90,7 + 12.9) / 159 = 65 відсотків. Зауважимо, що більше від третини загального часу втрачено на допоміжні дії комп’ютерної системи. Привернемо увагу до того, що у подальшому викладенні термін “команда” належатиме виключно командам операційної системи, а термін “інструкція” – лише командам процесорів.
Продуктивність як головний чинник еволюції комп’ютерних систем
Залежність зростання продуктивності (performance) від напрямку еволюції комп’ютерних систем подано наступним рисунком.
Еволюція продуктивності
міні-комп'ютерівю. Це зумовило перевагу мікросистем. [Hennessy and Jouppi, 1991]. Зазначимо, що
мейнфрейм (mainframe спочатку був виключно назвою рами конструкції металевої шафи, що містить
апаратуру машини; потім саме цим словом почали називати вже перші машини системи ІВМ 360) – це
машина загального призначення, або ж, просто велика машина.