Производительность в вычислительной технике
Производи́тельность, в вычислительной технике – наиболее используемый критерий качества параллельной программы или характеристика компьютера, количество выполняемых операций (чаще всего арифметических) в единицу времени.
Различают пиковую и максимальную реальную производительность.
Пиковая производительность компьютера – это максимальная теоретически возможная производительность. Она определяется по архитектуре компьютера в предположении: все его устройства работают с полной загрузкой, без остановок, необходимые аргументы всегда готовы, а передача данных выполняется мгновенно. Это теоретически максимальная производительность компьютера, определяемая как количество операций в единицу времени, которые он может выполнить при условии полной загрузки. Любая реальная программа может исполняться на данном компьютере с производительностью, не превосходящей
Максимальная реальная производительность – это производительность, которая может быть подтверждена экспериментально по результатам выполнения специализированных тестов и бенчмарков. Большее значение максимальной реальной производительности обычно соответствует лучшему качеству параллельной программы.
Оценивать производительность можно либо по значениям специальных аппаратных счётчиков, либо подсчитывая количество выполняемых операций и замеряя время выполнения параллельной программы на процессах
Для операций с плавающей точкой (или с плавающей запятой, см. Компьютерная арифметика) единицу величины производительности принято обозначать как флопс (flops, от англ. floating point operations per second). Поскольку производительность современных суперкомпьютеров крайне велика, часто используются специальные приставки – мегафлопс (Mflops, 106 flops), гигафлопс (Gflops, 109 flops), терафлопс (Tflops, 1012 flops), петафлопс (Pflops, 1015 flops), а для самых мощных на данный момент суперкомпьютеров – экзафлопс (Eflops, 1018 flops).
Важно, что от разрядности числа с плавающей точкой зависит и число возможных операций с такими числами, т. е. и производительность. Часто используют понятия: FP64, DP [от англ. double precision (двойная точность, 64 бит)]; FP32, SP [от англ. single precision (одинарная точность, 32 бит)]; FP16, HP [от англ. half precision (половинная точность, 16 бит)].
Аналогично в качестве меры производительности используют и число арифметических операций с целыми числами – Iops (от англ. integer operations per second).
Начиная с 1993 г. максимальная реальная производительность на тесте Linpack служит ключевым параметром создания списка наиболее мощных суперкомпьютеров мира Топ-500. С 2004 г. она же используется при составлении списка наиболее мощных суперкомпьютеров России Топ-50.
Зачастую в зависимости от характера решаемых задач в качестве оценки максимальной реальной производительности используют что-то отличное от количества арифметических операций в секунду. Так, например, для оценки производительности графовых алгоритмов, которые практически не выполняют арифметических операций, используют другой критерий качества, определяемый количеством пройденных дуг графа за единицу времени:
В этом случае единицу величины принято обозначать как teps (от англ. traversed edges per second). В зависимости от мощности суперкомпьютера и особенностей решаемой задачи возможно использование тех же приставок, что и для flops. Данная метрика используется при составлении рейтинга Graph500.
Аналогично в качестве максимальной реальной производительности других алгоритмов иногда используют количество выполненных шагов алгоритма (итераций цикла, обсчитанных элементов матриц, выполненных макроопераций и др.) в единицу времени.