FLOPS.Измерение производительности

Опубликовано 13.11.2010 Ведущий Антон Степанов

FLOPS - это английская аббревиатура, расшифровывающаяся как Floating point Operations per Second, что можно перевести на русский, как Операции с плавающей запятой в секунду. Т.е можно догадаться, что величина FLOPS используется в компьютерной технике для характеристики ее производительности. Указывает на количество операций с числами с плавающей запятой, которые способен производить за одну секунду тот или иной компьютер. Чем выше эта величина, тем компьютер более производителен. Определяется для каждого компьютера экспериментально, как правило, путем запуска тестовой программы, которая производит известное количество вычислений, и замеряется время, которое уходит на их выполнение компьютером. Достоинством характеристики FLOPS является так же то, что ее можно вычислить теоретически, например для еще конструируемых и несуществующих компьютеров, в то время как прочие характеристики производительности являются относительными, оцениваются в сравнении с прочими параметрами компьютера.
Впрочем, данный метод сравнения техники не лишен недостатков. Главный заключается в том, что под определением понятия "операция с плавающей точкой" может заключаться масса разных понятий, существенную роль в данных вычислениях играет разрядность операндов. На величину может влиять производительность основной памяти, пропускная способность каналов связи окружения процессора и прочие факторы. Всё это, в конечном итоге, приводит к тому, что результаты, полученные на одном и том же компьютере при помощи разных программ, могут существенным образом отличаться, более того, с каждым новым испытанием разные результаты можно получить при использовании даже одного алгоритма. Кроме того, для подсчета максимального количества FLOPS для процессора нужно учитывать, что современные процессоры в каждом своём ядре содержат несколько исполнительных блоков каждого типа (в том числе и для операций с плавающей точкой), работающих параллельно, и могут выполнять более одной операций за такт. Используя одну и ту же программу для тестирования различных компьютеров, усредняя значения всё же можно добиться некоторой определенности FLOPS и использовать эту характеристику для сравнения устройств.
Несмотря на большое число существенных недостатков, показатель FLOPS продолжает с успехом использоваться для оценки производительности, базируясь на результатах популярного теста LINPACK. Причины такой популярности обусловлены, во-первых, тем, что FLOPS является абсолютной величиной. А во-вторых, очень многие задачи инженерной и научной практики в конечном итоге сводятся к решению систем линейных алгебраических уравнений. Подавляющее большинство компьютеров (включая суперкомпьютеры) построены по классической архитектуре с использованием стандартных процессоров, что позволяет использовать общепринятые тесты с большой достоверностью.
Каковы же усредненные характеристики производительности известных компьютеров, выраженные во FLOPS?
Первые компьютеры обладали производительностью всего в несколько FLOPS. 27ми тонный ЭНИАК, построенные в 1946 году показывал производительность в 300 флопс. Но естественно, с развитием техники величина росла на порядки. Первый IBM совместимый компьютер, поколения XT имел производительность около 7 Кфлопс, Pentium II с частотой процессора 300мГц - уже 50 мфлопс. Современные двуядерные процессоры, например Intel Core 2 Duo - порядка 19 Гфлопс. Можно так же измерять производительность карманных компьютеров - она составляет порядка 1-2 Мфлопс, игровых видеоприставок - несколько Гфлопс у устаревших, и более сотни Гфлопс у современных, таких, как Play Station 3.
Самый мощный суперкомпьютер в наше время имеет производительность 2,5 петафлопс.
В принципе, можно измерять и производительность человеческого мозга - чего проще. Скорее всего, она будет выражена в величинах порядка мили или микрофлопс. Но стоит помнить, что по отношению к человеку, использовать данную величину, наверное, некорректно. Ведь просто измеряя кол-во вычислений, которые мы можем произвести, мы не учтем ту работу, которую производит наш мозг с гораздо большей легкостью, чем любой компьютер - например координацию в пространстве, функции речи и распознавание образов.