Под
производительностью (performance) понимают количество операций, выполняемых на данной вычислительной системе в единицу времени.
Быстродействие (speed) – величина, обратная среднему времени выполнения одной операции.
Производительность измеряется в миллионах команд в секунду MIPS (millions instructions per second) или миллионах операций с плавающей запятой в секунду MFLOPS (millions floating point operations per second).
Асимптотическая производительность векторно-конвейерных систем.
где

- фиксированное время запуска конвейера,

- время "разгона" конвейера.
После запуска конвейера и его "разгона" конвейер выдает результат через каждый такт

. Т.е. максимальная скорость выдачи результатов конвейером (максимальное
быстродействие) равна
 | (2) |
Быстродействие конвейера

принято называть
асимптотическим быстродействием.
Быстродействие конвейера приближается к асимптотическому
быстродействию в случае, когда в формуле (1) можно пренебречь слагаемыми

,

. Эта ситуация имеет место когда длина обрабатываемых векторов

много больше величин

. При этом предполагается, что отсутствуют конфликты при обращении к памяти.
Аналогичная ситуация имеет место для конвейеров любых операций. Условно принято говорить, что асимптотическое
быстродействие конвейера операций достигается на векторах бесконечной длины.
При работе конвейера в последовательном режиме, очевидно, максимальная скорость выдачи результатов равна
 | (3) |
Асимптотическая производительность векторно-параллельных и многопроцессорных систем.
где

- время коммуникаций,

- время вычислений;

- диаметр коммуникационной сети системы, [

] - ближайшее целое, большее A,

-
производительность каналов межпроцессорного обмена,

[сек] - время выполнения операции сложения двух чисел на одном
процессоре системы.
Если пренебречь коммуникационными расходами, то в качестве минимального времени выполнения операции сложения компонент

,

векторов

,

на
процессорах системы можно принять время

(

- время сложения всех

компонент векторов

,

, а

- минимальное время сложения двух компонент этих векторов). Таким образом, максимальная скорость выдачи результатов

-процессорной
векторно-параллельной системой и
MIMD-системой (максимальное
быстродействие) равна
 | (5) |
При сложении векторов

,

на одном
процессоре системы максимальная скорость выдачи результатов равна, очевидно,
 | (6) |
Длина полупроизводительности
Введем в рассмотрение величину

где

– средняя длина обрабатываемых векторов. Тогда

означает, что данный алгоритм может быть эффективно распараллелен для решения на данной вычислительной системе,

1 - означает противоположное.
Пример 1
Рассмотрим операцию перемножения двух матриц (для выполнения которой необходима операция скалярного произведения векторов) на параллельных вычислительных системах CYBER-205 и CRAY-1 (см. табл. 1).
Таблица 1
ЭВМ | Операция | [MFLOPS] |  |
CYBER-205 | Сложение векторов | 100 | 102 |
CYBER-205 | Скалярное произведение | 100 | 116 |
CRAY-1 | Перемножение двух матриц | 153 | 7 |
Положим, что средняя длина обрабатываемых векторов

равна 100. Тогда

Т.е. для решения рассматриваемой задачи система CRAY-1 гораздо более эффективна по сравнению с системой CYBER-205

Реальная производительность (производительность на тестах).
Существующие тестовые наборы можно разделить на три группы:
- тесты производителей (компаний-изготовителей компьютеров), предназначенные, как правило, для сравнения однотипных компьютеров, относящихся к одному семейству;
- стандартные тесты, разработанные независимыми аналитиками и предназначенные для сравнения широкого спектра компьютеров;
- пользовательские тесты, учитывающие специфику решаемых пользовательских задач.
В вычислительной практике чаще всего применяют стандартные тесты. Рассмотрим некоторые из них.
Поскольку большую часть времени выполнения программ обычно занимают циклы, часто именно они применяются в качестве тестов. В настоящее время наиболее известным тестом
производительности является набор тестов Linpack, который представляет собой набор программ для решения СЛАУ методом исключения Гаусса. Основным параметром тестов Linpack является порядок СЛАУ

. Обычно используются тесты с

=100 и тесты

=1000. Известно количество операций (как функция размерности СЛАУ

), которые необходимо выполнить для решения систем линейных алгебраических уравнений (СЛАУ) методом исключения Гаусса. Поэтому, зная время решения задачи, легко найти производительность системы в MFLOPS. Известный список TOP 500, включающий в себя 500 самых высокопроизводительных
компьютеров мира, строится на основе тестирования с помощью тестов Linpack.
Для
MPP-систем часто используют набор тестов Linpack-parallel. Приведем результаты исполнения теста Linpack-parallel на некоторых параллельных системах:
- 6768-процессорный Intel Paragon - 281 GFLOPS при N = 128600;
- Cray T916 - 522 MFLOPS при N=100;
- Hitachi S3800 - 6431 MFLOPS при N=1000.
Для
суперкомпьютеров широко используются набор тестов NAS parallel benchmark. Тесты представляют собой набор алгоритмов решения некоторых задач вычислительной газодинамики и гидродинамики.
Гипотеза Минского.
В первых параллельных вычислительных системах, когда количество
процессоров было невелико,
гипотеза Минского подтверждалась. В современных системах с большим количеством процессоров имеет место зависимость
производительности от числа процессоров, показанная на рис. 1 пунктиром. Основные причины такой зависимости:
Таким образом, если количество
процессоров системы

превышает величину

, то целесообразно использовать мультипрограммный режим работы системы.
Рис. 1. К гипотезе Минского.