FLOPS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Производительность суперкомпьютеров
Название год флопсы
флопс 1941 100
килофлопс 1949 103
мегафлопс 1964 106
гигафлопс 1987 109
терафлопс 1997 1012
петафлопс 2008 1015
эксафлопс 2019 или позже[1] 1018
зеттафлопс не ранее 2030[1] 1021
йоттафлопс[1] - 1024
ксерафлопс[1][2] - 1027
Рост производительности компьютеров в флопсах

FLOPS (также flops, flop/s, флопс или флоп/с) (акроним от англ. FLoating-point Operations Per Second, произносится как флопс) — внесистемная единица, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. Существуют разногласия насчёт того, допустимо ли использовать слово FLOP (или flop или флоп, от англ. FLoating point OPeration), и что оно может означать. Некоторые считают, что FLOP (флоп) и FLOPS (флопс) — синонимы, другие же полагают, что FLOP — это просто количество операций с плавающей запятой (например, требуемое для исполнения данной программы).

Поскольку современные компьютеры обладают высоким уровнем производительности, более распространены производные величины от флопс, образуемые путём использования кратных приставок СИ.

Флопс как мера производительности[править | править вики-текст]

Как и большинство других показателей производительности, данная величина определяется путём запуска на испытуемом компьютере тестовой программы, которая решает задачу с известным количеством операций и подсчитывает время, за которое она была решена. Наиболее популярным тестом производительности на сегодняшний день являются тесты производительности LINPACK, в частности HPL, используемый при составлении рейтинга суперкомпьютеров TOP500 (top500.org).

Одним из важнейших достоинств измерения производительности во флопсах является то, что данная единица до некоторых пределов может быть истолкована как абсолютная величина и вычислена теоретически, в то время как большинство других популярных мер являются относительными и позволяют оценить испытуемую систему лишь в сравнении с рядом других. Эта особенность даёт возможность использовать для оценки результаты работы различных алгоритмов, а также оценить производительность вычислительных систем, которые ещё не существуют или находятся в разработке.

Границы применимости[править | править вики-текст]

Несмотря на кажущуюся однозначность, в реальности флопс является достаточно плохой мерой производительности, поскольку неоднозначным является уже само его определение. Под «операцией с плавающей запятой» может скрываться масса разных понятий, не говоря уже о том, что существенную роль в данных вычислениях играет разрядность операндов, которая также нигде не оговаривается. Кроме того, флопс подвержен влиянию очень многих факторов, напрямую не связанных с производительностью вычислительного модуля, таких как: пропускная способность каналов связи с окружением процессора, производительность основной памяти и синхронность работы кэш-памяти разных уровней.

Всё это, в конечном итоге, приводит к тому, что результаты, полученные на одном и том же компьютере при помощи разных программ, могут существенным образом отличаться, более того, с каждым новым испытанием разные результаты можно получить при использовании одного алгоритма. Отчасти эта проблема решается соглашением об использовании единообразных тестовых программ (той же LINPACK) с усреднением результатов, но со временем возможности компьютеров «перерастают» рамки принятого теста и он начинает давать искусственно заниженные результаты, поскольку не задействует новейшие возможности вычислительных устройств. А к некоторым системам общепринятые тесты вообще не могут быть применены, в результате чего вопрос об их производительности остаётся открытым.

Так, 24 июня 2006 года общественности был представлен суперкомпьютер MDGrape-3, разработанный в японском исследовательском институте RIKEN (Йокогама), с рекордной теоретической производительностью в 1 петафлопс. Однако данный компьютер не является компьютером общего назначения и приспособлен для решения узкого спектра конкретных задач, в то время как стандартный тест LINPACK на нём выполнить невозможно в силу особенностей его архитектуры.

Также высокую производительность на специфичных задачах показывают графические процессоры современных видеокарт и игровые приставки. К примеру, заявленная производительность видеопроцессора игровой приставки PlayStation 3 составляет 192 гигафлопса[3], а видеоускорителя приставки Xbox 360 и вовсе 240 гигафлопсов[3], что сравнимо с суперкомпьютерами двадцатилетней давности. Столь высокие показатели объясняются тем, что указана производительность над числами 32-разрядного формата[4][5], тогда как для суперкомпьютеров обычно указывают производительность на 64-разрядных данных[6][7]. Кроме того, данные приставки и видео-процессоры рассчитаны на операции с трёхмерной графикой, хорошо поддающиеся распараллеливанию, однако эти процессоры не в состоянии выполнять многие задачи общего назначения, и их производительность сложно оценить классическим тестом LINPACK[8] и тяжело сравнить с другими системами.

Причины широкого распространения[править | править вики-текст]

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

Для подсчета максимального количества флопсов для процессора нужно учитывать, что современные процессоры в каждом своём ядре содержат несколько исполнительных блоков каждого типа (в том числе и для операций с плавающей запятой), работающих параллельно, и могут выполнять более одной инструкции за такт. Данная особенность архитектуры называется суперскалярность и впервые появилась ещё в самом первом процессоре Pentium в 1993 году. Процессор конца 2000-х годов, Intel Core 2, также является суперскалярным и содержит 2 устройства вычислений над 64-разрядными числами с плавающей запятой, которые могут завершать по 2 связанные операции (умножение и последующее сложение, MAC) в каждый такт, теоретически позволяющих достичь пиковой производительности до 4 операций за 1 такт в каждом ядре[9][10][11]. Таким образом, для процессора, имеющего в своём составе 4 ядра (Core 2 Quad) и работающего на частоте 3,5ГГц, теоретический предел производительности составляет 4х4х3,5=56 гигафлопсов, а для процессора, имеющего 2 ядра (Core 2 Duo) и работающего на частоте 3ГГц — 2х4х3=24 гигафлопса, что хорошо согласуется с практическими результатами, полученными на тесте LINPACK.

Более новые процессоры могут исполнять до 8 (например, Sandy и Ivy Bridge) или до 16 (Haswell) операций на 64-битными числами с плавающей запятой в такт (на каждом ядре)[11].

В различных алгоритмах кроме возможности выполнять большое количество математических действий в ядре процессора, может потребоваться пересылка больших объёмов данных через подсистему памяти, и их производительность будет сильно ограничена из-за этого, например, как в уровнях 1 и 2 библиотек BLAS[11]. Однако, алгоритмы, используемые в тестах типа LINPACK (уровень 3 BLAS) имеют высокий коэффициент переиспользования данных, пересылка данных между процессором и памятью в них занимает менее 1/10 общего времени, и они обычно достигают типичной производительности до 80-95 % от теоретического максимума.

Обзор производительности реальных систем[править | править вики-текст]

Из-за высокого разброса результатов теста LINPACK, приведены примерные величины, полученные путём усреднения показателей на основе информации из разных источников. Производительность игровых приставок и распределённых систем (имеющих узкую специализацию и не поддерживающих тест LINPACK) приведена в справочных целях в соответствии с числами, заявленными их разработчиками. Более точные результаты с указанием параметров конкретных систем можно получить, например, на сайте The Performance Database Server.

Суперкомпьютеры[править | править вики-текст]

  • Компьютер ЭНИАК, построенный в 1946 году, при массе 27 т и энергопотреблении 174 кВт, обеспечивал производительность приблизительно в 500 флопсов[12]

Мега[править | править вики-текст]

Гига[править | править вики-текст]

Тера[править | править вики-текст]

Пета[править | править вики-текст]

В России и СНГ:

Экза[править | править вики-текст]

Планируемые:

  • Intel планирует к 2020 году создать суперкомпьютер производительностью 4 эксафлопса[21]
  • Японская компания Fujitsu сообщает о решениях, потенциально способных повысить производительность ее последующих суперкомпьютеров до 100 петафлопсов.[22][23][24][25]
  • К 2018—2020 годам планируется увеличить мощность суперкомпьютера Саровского ядерного центра до 1 эксафлопса[26].

Процессоры персональных компьютеров[править | править вики-текст]

  • Intel 30486DX/DX2 (1990-1992) - до 30-50 мегафлопсов[27]
  • Intel Pentium 75-200 МГц (1996) - до 75-200 мегафлопсов[27][28]
  • Intel Pentium III 500-1000 МГц (1999-2000) - до 1-2 гигафлопсов[27][28]
  • Intel Pentium 4 2,5-2,8 ГГц (2004) - до 5-5,6 гигафлопсов[27]
  • Intel Atom N270, D150 1,6 ГГц (2008-2009)— до 3,2 гигафлопсов[27]
  • AMD Athlon 64 2,211 ГГц (2003) — 8 гигафлопсов[29]
  • AMD Athlon 64 X2 4200+ 2,2 ГГц (2006) — 13,2 гигафлопса
  • Intel Core 2 Duo E6600 2,4 ГГц, 2 ядра (2006) — 19,2 гигафлопса[30]
  • Intel Core i3-2350M 2,3 ГГц (2011) — 36,8 гигафлопсов[31]
  • AMD Athlon II X4 640 (ADX640W) 3,0 ГГц (2010) — 37,4 гигафлопсов
  • Intel Core 2 Quad Q8300 2,5 ГГц, 4 ядра — 40 гигафлопсов[32]
  • Intel Core i7-975 XE (Nehalem) 3,33 ГГц, 4 ядра (2009) — 53,3 гигафлопсов[33]
  • AMD Phenom II X6 1075T (HDT75TFB) 3,0 ГГц, 6 ядер - 55,6 гигафлопса[34]
  • AMD FX-8350 — 74 гигафлопса[35]
  • Intel Core i5-2500K (Sandy Bridge), частоты 3,3–3,7 ГГц (2011) — 105,6–118 гигафлопсов[36]
  • Intel Core i7-4930K (Ivy Bridge), частоты 3,7–4,2 ГГц, 6 ядер (2013) — 130—140 гигафлопсов (теоретический пик 177 GFlops)
  • Intel Core i7-5960X (Haswell), частоты 3,0-3,5 ГГц (2014) — до 350 гигафлопсов (теоретический пик 384 ГФлопс на 3 ГГц)[37]

Процессоры карманных компьютеров[править | править вики-текст]

  • КПК на основе процессора Samsung S3C2440 400 МГц (архитектура ARM9) — 1,3 мегафлопса
  • Intel XScale PXA270 520 МГц — 1,6 мегафлопсов
  • Intel XScale PXA270 624 МГц — 2 мегафлопса
  • Samsung Exynos 4210 2х1600 МГц — 84 мегафлопса
  • Apple A6 — 645 мегафлопсов (по оценке программы LINPACK)
  • Apple A7 — 833 мегафлопса (по оценке программы LINPACK)[38]
  • Apple A8 — 1,4 гигафлопса на CPU[39]
  • Tegra X1 — 1 терафлопс

Распределённые системы[править | править вики-текст]

Данные приведены по состоянию на ноябрь 2013 года

  • Bitcoin — имеет значительное количество вычислительных ресурсов, но решает исключительно целочисленные задачи (хеш-суммы, sha256). Значительная часть ресурсов реализована в виде заказных микросхем (ASIC), которые технически не способны производить вычисления над числами с плавающей запятой. Следовательно, оценивать сеть Bitcoin с помощью флопсов в настоящее время некорректно.[40][41][42] Ранее, до 2011 года в сети использовались только ЦПУ и ГПУ, которые могут обрабатывать как целочисленные, так и плавающие данные, и оценка во флопсах получалась из метрики hash/s с помощью эмпирического коэффициента в 12,7 тысяч.[43][44] Например, на апрель 2011 мощность сети оценивалась таким методом примерно в 8 петафлопсов.[45]
  • Folding@home — более 4,6 петафлопсов[46]
  • BOINC — более 21,4 петафлопсов[47]
  • SETI@home — 0,6 петафлопсов[48]
  • Einstein@Home — более 470 терафлопсов[49]
  • Rosetta@home — более 66 терафлопсов[50]

Игровые приставки[править | править вики-текст]

Указаны операции с плавающей запятой над 32-разрядными данными

Графические процессоры[править | править вики-текст]

Теоретическая производительность (FMA; гигафлопсы):

Графический процессор Гигафлопсов, для 32-разрядных вычислений Гигафлопсов, для 64-разрядных вычислений Источник
GeForce GTX 590 2x1253,4 = 2506,8 2x156,7 = 313,4 [57]
GeForce GTX 580 1581,1 197,6 [57]
GeForce GTX 690 5621,7 702,7 [57]
Radeon HD 7970 3789 947-1024 [58]
Radeon HD 6990 2x2550 = 5100 2x637 = 1274 [58]
Radeon HD 5970 (AIB vendors) 2x2320 = 4640 2x464 = 928 [58]

Человек и калькулятор[править | править вики-текст]

Калькулятор не случайно попал в одну категорию вместе с человеком, поскольку хотя он и является электронным устройством, содержащим процессор, память и устройства ввода-вывода, режим его работы кардинально отличается от режима работы компьютера. Калькулятор выполняет одну операцию за другой с той скоростью, с какой их запрашивает человек-оператор. Время, проходящее между операциями, определяется возможностями человека и существенно превышает время, которое затрачивается непосредственно на вычисления. Можно сказать, что в среднем производительность обычного карманного калькулятора составляет порядка 10 флопсов.

Человек, пользуясь лишь ручкой и бумагой, выполняет операции с плавающей запятой очень медленно и часто с большой ошибкой. Говоря о производительности нашего вычислительного аппарата, придётся использовать такие единицы как миллифлопсы и даже микрофлопсы.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 1 2 3 4 Новый поворот Берд Киви, «Мир ПК», № 07, 2012: «Если нынешняя скорость прогресса суперкомпьютеров будет сохраняться, то следующий рубеж производительности в 1 экзафлопс, или квинтиллион (10^18) операций в секунду, ожидается достичь к 2019 г. … полагают, что компьютер производительностью один зеттафлопс (10^21 , или секстиллион операций) можно будет построить примерно к 2030 г. Более того, заранее припасены термины и для следующих вычислительных рубежей — йоттафлопс (10^24) и ксерафлопс (10^27).»
  2. Пета, экза, зетта, йотта… Берд Киви, «Компьютерра», Дата: 16 июля 2008 года: «За этим рубежом должны последовать зеттафлопс (10^21), йоттафлопс (10^24) и ксерафлопс (10^27).»
  3. 1 2 3 4 NVIDIA Tegra K1 A New Era in Mobile Computing // Nvidia, January 2014: "Figure 18 Tegra K1 delivers much higher graphics processing power than current generation consoles ... PS3 GPU Horsepower 192 .. GPU Horsepower is based on Peak Fragment Shader GFLOPS of each platform. PS3 GPU-Cell 154 GFLOPS FP32 not included. SPUs not included in the calculation of CPU Horsepower for PS3"
  4. http://ixbtlabs.com/articles3/video/rv670-part1-page1.html floating-point ALUs .. support for FP32 precision
  5. http://insidehpc.com/2009/07/01/personal-gpu-supercomputer-for-the-contrarian-puts-4-tflops-in-1u/ these are single precision GPU peak numbers
  6. http://www.top500.org/faq/what_hpl_benchmark HPL is a software package that solves a dense linear system in double precision (64 bits)
  7. [1] [2] HPL Faq entries for precision
  8. Exploiting the Performance of 32 bit FP Arithmetic in Obtaining 64 bit Accuracy (Revisiting Iterative Refinement for Linear Systems)
  9. SSE, SSE2 & SSE3 max throughput: 4 Flop / cycle
  10. The net result is that you can now process 2 DP adds and 2 DP multiplies per clock, or 4 FLOPS per cycle. (DP)
  11. 1 2 3 Jack Dongarra. Adaptive Linear Solvers and Eigensolvers (англ.). Argonne Training Program on Extreme-scale Computing. Argonne National Laboratory (August 13, 2014). Проверено 13 апреля 2015.
  12. The Emergence of Numerical Weather Prediction: from Richardson to the ENIAC, 2011
  13. IBM создала самый мощный суперкомпьютер в мире (рус.), Lenta.ru, 9 июня 2008 года
  14. Японский суперкомпьютер обогнал по производительности китайский (рус.)
  15. Lawrence Livermore’s Sequoia Supercomputer Towers above the Rest in Latest TOP500 List (англ.)
  16. Agam Shah (IDG News), Titan supercomputer hits 20 petaflops of processing power // PCWorld, Computers, Oct 29, 2012  (англ.)
  17. Перспективные особенности Tianhe-2 // «Открытые системы», № 08, 2013
  18. T-PLATFORM A-CLASS CLUSTER, XEON E5-2697V3 14C 2.6GHZ, INFINIBAND FDR, NVIDIA K40M // Top 500, November 2014
  19. Новый рейтинг TOP500 суперкомпьютеров // Компьютерра, 18 ноября 2014: "... кластер A-Class, созданный компанией «Т-Платформы» для Научно-исследовательского вычислительного центра МГУ."
  20. Новый суперкомпьютер в МГУ вошел в Top500 // Мир ЦОД, Открытые системы, 19.11.2014: "В новом суперкомпьютере МГУ всего пять вычислительных стоек с 1280 узлами на базе 14-ядерных процессоров Intel Xeon E5-2697 v3 и ускорителей NVIDIA Tesla K40 с общей емкостью оперативной памяти более 80 Тбайт. ... Каждая стойка суперкомпьютера потребляет около 130 кВт"
  21. Intel планирует увеличить мощность суперкомпьютеров в 500 раз к 2020 г., CNews, 2011-06-21  (рус.)
  22. http://www.fujitsu.com/global/Images/key-technologies-for-100-pflops_tcm100-1050343.pdf
  23. Fujitsu guns for faster supercomputers with new chip | PCWorld
  24. http://www.fujitsu.com/global/Images/next-generaton-primehpc_tcm100-1050349.pdf
  25. http://www.theregister.co.uk/2014/08/07/fujitsu_takes_nextgen_hpc_chip_on_the_road/
  26. Мощность суперкомпьютера в Сарове может достигнуть максимума к 2020 г. РИА Новости (23 февраля 2012). Проверено 24 февраля 2012. Архивировано из первоисточника 31 мая 2012.
  27. 1 2 3 4 5 Ryan Crierie. http://www.alternatewars.com/BBOW/Computing/Computing_Power.htm (англ.). Alternate Wars (13 March 2014). Проверено 23 января 2015.
  28. 1 2 Jack J. Dongarra. Performance of Various Computers Using Standard Linear Equations Software (англ.) (June 15, 2014). Проверено 23 января 2015.
  29. iXBT: Факты и предположения об архитектуре AMD Opteron и Athlon 64
  30. http://download.intel.com/support/processors/core2duo/sb/core_E6000.pdf (pdf) «E6600 2.40 GHz 19.20» GFlops
  31. [3] http://www.intel.com/support/processors/sb/CS-032816.htm
  32. http://download.intel.com/support/processors/core2quad/sb/core_Q8000.pdf (pdf) «Q8300 4 MB 1333 MHz 2.5 GHz 75833 40.00»
  33. http://download.intel.com/support/processors/corei7ee/sb/core_i7-900_d_x.pdf (pdf) «i7-975 Base 3.33 GHz, 101101 CTP, 53.328 GFLOPS»
  34. НИКС: Сводные таблицы тестирования Intel Linpack x64 Решение системы из 10000 уравнений
  35. [4] http://www.easycom.com.ua/cpu/amd_fx-8350/?lang=ru
  36. [5] http://www.intel.com/support/processors/sb/CS-032815.htm
  37. Linpack performance Haswell E (Core i7 5960X and 5930K) - Puget Custom Computers
  38. Сергей Уваров. Подробный обзор и тестирование Apple iPhone 5s. IXBT.com (23 сентября 2013). Архивировано из первоисточника 2 октября 2013.
  39. Apple A8 SoC - NotebookCheck.net Tech
  40. [6] // Gizmodo: «Because Bitcoin miners actually do a simpler kind of math (integer operations), you have to do a little (messy) conversion to get to FLOPS. And because the new ASIC miners—machines that are built from scratch to do nothing but mine Bitcoins—can’t even do other kinds of operations, they’re left out of the total entirely.»
  41. [7] // SlashGear: «Bitcoin mining technically doesn’t operate using FLOPS, but rather integer calculations, so the figures are converted to FLOPS for a conversion that most people can understand more. Since the conversion process is a bit weird, it’s led to some experts calling foul on the mining figures.»
  42. [8] // ExtremeTech: «As Bitcoin mining doesn’t rely on floating-point operations, these estimates are based on opportunity costs. Now that we have hardware with application-specific integrated circuits (ASIC) designed from the ground up to do nothing but mine Bitcoins, these estimates become even more fuzzy.»
  43. [9] // CoinDesk [неавторитетный источник?]: «Two, the estimates used to convert hashes to flops (resulting in about 12,700 flops per hash) date to 2011, before ASIC devices became the norm for bitcoin mining. ASICs don’t handle flops at all, so the current comparison is very rough.»
  44. [10] // VR-Zone: «A conversion rate of 1 hash = 12.7K FLOPS is used to determine the general speed of the network contribution. The estimate was created in 2011, before the creation of ASIC hardware solely designed for bitcoin mining. ASIC doesn’t use floating point operations at all,… Thus, the estimate doesn’t have any real-world meaning for such hardware.»
  45. Bitcoin Watch, архивная копия от 2011-04-08: «Network Hashrate TFLOP/s 8007»
  46. Folding@Home
  47. BOINC
  48. BOINCstats:SETI@home
  49. BOINCstats:Einstein@Home
  50. BOINCstats:Rosetta@home
  51. PSP Specs Revealed Processing speed, polygon rate and lots more. // IGN Entertainment, 2003. «PSP CPU CORE…FPU, VFPU (Vector Unit) @ 2.6GFlops»
  52. 1 2 SONY COMPUTER ENTERTAINMENT INC. TO LAUNCH ITS NEXT GENERATION COMPUTER ENTERTAINMENT SYSTEM, PLAYSTATION®3 IN SPRING 2006(англ.) "Cell Processor ... total floating point performance : 218 GFLOPS ... RSX @550MHz 1.8 TFLOPS floating point performance"
  53. Update: How many FLOPS are in game consoles? // TG Daily, May 26, 2008
  54. Anand Lal Shimpi. The Xbox One: Hardware Analysis & Comparison to PlayStation 4 (англ.). Anandtech (англ.) (22 Мая 2013). Архивировано из первоисточника 2 октября 2013.
  55. Спецификация PS4
  56. Philip Wong. Xbox One vs. PS4 vs. Wii U [update]  (англ.), CNET Asia, Games & Gear (22 May 2013). Проверено 29 ноября 2013.
  57. 1 2 3 Сравнительная таблица графических карт NVIDIA GeForce
  58. 1 2 3 Сравнительные таблицы графических карт AMD (ATI) Radeon

Ссылки[править | править вики-текст]