Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ВС (Карцева А.С.) / Lection / Меры производительности ЭВМ.doc
Скачиваний:
101
Добавлен:
10.05.2015
Размер:
79.36 Кб
Скачать

Меры производительности эвм

Существует несколько способов измерить производительность.

Для сравнения ЭВМ по скорости выполнения можно посчитать число выполненных команд в единицу времени: 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 может иметь скрытые

Производительность – число транзакций в программе в единицу времени, где транзакция – некоторый блок операций в программе (число запросов в БД в секунду).

Соседние файлы в папке Lection