Flops
FLOPS (также flops, flop/s, флопс или флоп/с) (от англ. FLoating-point Operations Per Second, произносится как флопс) — внесистемная единица, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. Существуют разногласия насчёт того, допустимо ли использовать слово FLOP, и что оно может означать. Некоторые считают, что FLOP и FLOPS — синонимы, другие же полагают, что FLOP (или flop или флоп, от англ. FLoating point OPeration) — это просто количество операций с плавающей запятой (например, требуемое для исполнения данной программы).
Поскольку современные компьютеры обладают высоким уровнем производительности, более распространены производные величины от FLOPS, образуемые путём использования стандартных приставок системы СИ.
Подробнее:
Флопс = 1 Флопс
Килофлопс = 1 000 Флопс
Мегафлопс = 1 000 000 Флопс = 1 000
Килофлопс
Гигафлопс = 1 000 000 000 Флопс = 1 000 000 Килофлопс
= 1 000 Мегафлопс
Терафлопс = 1 000 000 000 000
Флопс = 1 000 000
Мегафлопс
= 1 000 Гигафлопс
Петафлопс = 1 000 000 000 000 000 Флопс = 1 000 000
Гигафлопс
= 1 000 Терафлопс
Эксафлопс = 1 000 000 000 000 000 000 Флопс =
1 000 000
Терафлопс
= 1 000 Петафлопс
Зеттафлопс = 1 000 000 000 000 000 000 000 Флопс =
1 000 000
Петафлопс = 1 000
Эксафлопс
Йоттафлопс = 1 000 000 000 000 000 000 000 000
Флопс =
1 000 000
Эксафлопс = 1 000 Зеттафлопс
Флопс как мера производительности
Как и большинство других показателей производительности, данная величина определяется путём запуска на испытуемом компьютере тестовой программы, которая решает задачу с известным количеством операций и подсчитывает время, за которое она была решена. Наиболее популярным тестом производительности на сегодняшний день является программа Linpack, используемая, в том числе, при составлении рейтинга суперкомпьютеров TOP500.
Одним из важнейших достоинств показателя флопс является то, что он до некоторых пределов может быть истолкован как абсолютная величина и вычислен теоретически, в то время как большинство других популярных мер являются относительными и позволяют оценить испытуемую систему лишь в сравнении с рядом других. Эта особенность даёт возможность использовать для оценки результаты работы различных алгоритмов, а также оценить производительность вычислительных систем, которые ещё не существуют или находятся в разработке.
Границы применимости
Несмотря на кажущуюся однозначность, в реальности флопс является достаточно плохой мерой производительности, поскольку неоднозначным является уже само его определение. Под «операцией с плавающей запятой» может скрываться масса разных понятий, не говоря уже о том, что существенную роль в данных вычислениях играет разрядность операндов, которая также нигде не оговаривается. Кроме того, величина флопс подвержена влиянию очень многих факторов, напрямую не связанных с производительностью вычислительного модуля, таких как: пропускная способность каналов связи с окружением процессора, производительность основной памяти и синхронность работы кэш-памяти разных уровней.
Несмотря на большое число существенных недостатков, показатель флопс продолжает с успехом использоваться для оценки производительности, базируясь на результатах теста LINPACK. Причины такой популярности обусловлены, во-первых, тем, что флопс, как говорилось выше, является абсолютной величиной. А во-вторых, очень многие задачи инженерной и научной практики в конечном итоге сводятся к решению систем линейных алгебраических уравнений, а тест LINPACK как раз и базируется на измерении скорости решения таких систем. Кроме того, подавляющее большинство компьютеров (включая суперкомпьютеры) построены по классической архитектуре с использованием стандартных процессоров, что позволяет использовать общепринятые тесты с большой достоверностью.
Для подсчета максимального количества FLOPS для процессора нужно учитывать, что современные процессоры в каждом своём ядре содержат несколько исполнительных блоков каждого типа (в том числе и для операций с плавающей точкой), работающих параллельно, и могут выполнять более одной инструкции за такт. Данная особенность архитектуры называется суперскалярность и впервые появилась ещё в самом первом процессоре Pentium в 1993 году. Современное ядро Intel Core 2 так же является суперскалярным и содержит 2 устройства вычислений над 64-битными числами с плавающей запятой, которые могут завершать по 2 связанные операции (умножение и последующее сложение, MAC) в каждый такт, теоретически позволяющих достичь пиковой производительности до 4-х операций за 1 такт в каждом ядре. Таким образом, для процессора, имеющего в своём составе 4 ядра (Core 2 Quad) и работающего на частоте 3.5 ГГц, теоретический предел производительности составляет 4 х 4 х 3.5 = 56 гигафлопс, а для процессора, имеющего 2 ядра (Core 2 Duo) и работающего на частоте 3 ГГц — 2 х 4 х 3 = 24 гигафлопс, что хорошо согласуется с практическими результатами, полученными на тесте LINPACK. Типичная производительность теста LINPACK составляет 80-95 % от теоретического максимума.
Суперкомпьютеры:
- Компьютер ЭНИАК, построенный в 1946 году, при массе 27 тонн и энергопотреблении 150 кВт, обеспечивал производительность в 300 флопс
- IBM 709 (1957) — 5 Кфлопс = 0,005 Мфлопс
- БЭСМ-6 (1968) — 1 Мфлопс = 0,001
Гфлопс = 1 000
Кфлопс
- Cray-1 (1974) — 160 Мфлопс = 0,160 Гфлопс = 160 000 Кфлопс
- Cray-2 (1985) — 2 Гфлопс
=
0,002
Тфлопс = 2 000
Мфлопс
= 2 000 000
Кфлопс
- ASCI Red (1993) — 1 Тфлопс = 0,001
Пфлопс = 1 000
Гфлопс = 1 000 000 Мфлопс
- Fujitsu FX-1 (2008) — 121 Tфлопс = 0,121
Пфлопс = 121 000
Гфлопс = 121 000 000
Мфлопс
- Jaguar Cray XT5-HE (2009) — 2 Пфлопс = 0,002 Эфлопс = 2 000
Tфлопс = 2 000 000
Гфлопс = 2 000 000 000
Мфлопс
- IBM Sequoia (2012) — 16 Пфлоп = 0,016 Эфлопс = 16 000
Tфлопс = 16 000 000
Гфлопс = 16 000 000 000
Мфлопс
Планы на будущие:
- Fujitsu FX-10 (2012) — 23 Пфлопс = 0,023 Эфлопс
= 23 000 Тфлопс = 23 000 000
Гфлопс
- Intel планирует к 2020 году создать суперкомпьютер производительностью 4 Эфлопс = 0,004 Зфлопс
=
4 000
Пфлопс = 4 000 000
Тфлопс
Процессоры персональных компьютеров:
- AMD Athlon 64 2,211 ГГц (2003) — 8 Гфлопс = 0,008
Тфлопс
= 8 000
Мфлопс
- AMD Athlon 64 X2 4200+ 2,2 ГГц (2006) — 13.2 Гфлопс = 0,013 Тфлопс = 13 200
Мфлопс
- Intel Core 2 Duo 2,4 ГГц (2006) — 19,2 Гфлопс = 0,019 Тфлопс = 19 200
Мфлопс
- AMD Athlon II X4 640 (ADX640W) 3.0 ГГц (2010) — 37.39 Гфлопс = 0,037 Тфлопс = 37 390 Мфлопс
- AMD Athlon II X4 645 (ADX645W) 3.1 ГГц (2010) — 38.44 Гфлопс = 0,038 Тфлопс = 38 440
Мфлопс
- Intel Core 2 Quad Q8300 2,5 ГГц — 40 Гфлопс = 0,040
Тфлопс = 40 000
Мфлопс
- Intel Core i7-975 XE 3,33 ГГц (2009) — 53.328 Гфлопс = 0,053
Тфлопс = 53 328
Мфлопс
- CPU AMD Phenom II X6 1100T Black Edition (HDE00ZF) 3.3 ГГц — 60.0953 Гфлоп = 0,060 Тфлопс = 60 065
Мфлопс
- Intel Core i5-2500K 3.3-3.7 ГГц (2011) — 110 Гфлопс = 0,110
Тфлопс = 110 000
Мфлопс
Игровые приставки
Указаны операции с плавающей точкой над 32-разрядными данными
- Sega Dreamcast — 1,4 Гфлопс
- Nintendo Wii — 2,9 Гфлопс
- Sony PlayStation 2 — 6,2 Гфлопс
- Microsoft Xbox — 5,8 Гфлопс
- Microsoft Xbox 360 — 115,2 Гфлопс
- Sony PlayStation 3 — 218 Гфлопс
Карманные компьютеры:
- КПК на основе процессора Samsung S3C2440 400 МГц (архитектура ARM9) — 1,3 Мфлопс
- Intel XScale PXA270 520 МГц — 1,6 Мфлопс
- Intel XScale PXA270 624 МГц — 2 Мфлопс
- Samsung Exynos 4210 2х1600 МГц — 84 Мфлопс