Меры производительности эвм
Существует несколько способов измерить производительность.
Для сравнения ЭВМ по скорости выполнения
можно посчитать число выполненных
команд в единицу времени: MIPS
(Million Instructions
Per Second) –
миллион команд в секунду, BOPS
(Billion Operation
Per Second) –
миллиард операций в секунду, TOPS
или teraops (Tera
Operations Per
Second) -
операций в секунду, FLOPS
(floating point
operations per
second) – число операций с
плавающей точкой в секунду и соответственно
(MFLOPS, GFLOPS,
TFLOPS), COPS
(COnnections Per
Second) – число соединений
в секунду.
Одним из простейших мер является время выполнения программы на некоторой ЭВМ. При этом само время выполнения может быть различным в зависимости от того, что измеряется: общее время выполнения учитывает выполнение всех команд, а также ожидание ввода/вывода данных и возможно выполнение других программ, тогда более точная характеристика - время выполнения программы в ЦП. Для любой программы можно вычислить 2-мя способами:
=
число тактов ЦП
период
тактовых импульсов
либо:
=
![]()
Однако такая характеристика крайне неточная и не отражает какого-либо аспекта архитектуры компьютера, поскольку зависит от многих факторов. Число выполненных в программе команд позволит вычислить еще одну меру – CPI (cycles per instruction) – число тактов на команду (и обратную ей IPC – число команд за один такт).
![]()
Одним из наиболее распространенных мер
является абсолютная пиковая
производительность (Absolute
Peak Performance).
Зависит от тактовой частоты процессора
и минимального значения CPI.
![]()
Тактовая частота зависит от технологических характеристик процессора. Минимальное значение CPI зависит от архитектуры набора команд (как правило, только одна-две команды имеют минимальное CPI) и скорости доступа к внутренней кэш-памяти, расположенной на одном кристалле с процессором. Это значение может быть меньше единицы при параллельной обработке данных. Абсолютная пиковая производительность игнорирует тот факт, что значение CPI меняться в зависимости от указанных выше факторов.
Отметим, что АПП зависит линейно от тактовой частоты процессора, которая считается второй по значимости мерой производительности процессора. При сравнении двух процессоров с одинаковой архитектурой и различной тактовой частотой отношение их тактовых частот будет отражать разницу в производительности.
Скорость выполнения программы зависит от нескольких факторов:
-
- компилятора (эффективности генерации кода, способности оптимизировать схемы доступа к данным)
- набора команд (сколько команд необходимо для выполнения программы)
- доступных операций (есть ли поддержка операций с плавающей точкой)
- CPI
- тактовой частоты
- производительности памяти (коэффициента попаданий в кэш-памяти, задержке при промахах)
- эффективности системы ввода/вывода
Один из способов точно посчитать характеристики системы – создать код соответствующий программы и выполнить ее. Эталонные программы-тесты (benchmark) были разработаны как стандартные коды для оценки производительности различных типов процессоров. Одними из самых популярных являются: SPECmark, Perfect Club, Linpack, Livermore Loops.
В следующей таблице представлены оценки двух типов машин:
Machine Clock Rate Peak Performance CPU Time
VAX 11/780 5 MHz 1 MIPS 12 seconds
IBM RS/6000 25 MHz 18 MIPS 1 second
Почему отношение тактовой частоты к пиковой производительности для машины VAX 5:1, а для IBM RS 1.4:1? Потому что VAX имеет CISC-архитектуру. Если разогнать VAX до 25 МГц, она будет иметь пиковую производительность в 5 MIPS, а время выполнения вырастет до 2,4 секунд.
Почему же машина, которая имела преимущество в пиковой производительности в 3,6 раза (IBM RS), «теряет» это преимущество для времени выполнения до 2,4? IBM RS необходимо выполнить большее число команд для той же программы. VAX может иметь скрытые
Производительность – число транзакций в программе в единицу времени, где транзакция – некоторый блок операций в программе (число запросов в БД в секунду).
