FLOPS

величина, що використовується для вимірювання продуктивності обчислювальних систем

FLOPS (англ. Floating Point Operations Per Second — «операцій з рухомою комою на секунду») — одиниця вимірювання швидкодії обчислювальних приладів, особливо в галузі наукових обчислень.

Продуктивність суперкомп'ютерів
Назва рік FLOPS
флопс 1941 100
кілофлопс 1949 10³
мегафлопс 1964 106
гігафлопс 1987 109
терафлопс 1997 1012
петафлопс 2008 1015
ексафлопс 2022 1018
зетафлопс 1021
йотафлопс 1024

Обчислювальні прилади мають широкий діапазон швидкодії, тому використовуються одиниці більші ніж просто FLOPS. Для цього можуть використовуватись стандартні префікси системи SI, що приводить до появи таких одиниць, як мегафлопс (англ. megaFLOPS, MFLOPS, 106FLOPS), гігафлопс (англ. gigaFLOPS, GFLOPS, 109 FLOPS), терафлопс (англ. TFLOPS, 1012 FLOPS), петафлопс (англ. petaFLOPS, PFLOPS, 1015 FLOPS) та ексафлопс (англ. exaFLOPS, EFLOPS, 1018 FLOPS).

Флопс як міра продуктивності

ред.

Як і більшість інших показників продуктивності, дана величина визначається шляхом запуску на комп'ютері тестової програми, яка вирішує задачу з відомою кількістю операцій та підраховує час, за який вона була вирішена. Найпопулярнішим тестом продуктивності на сьогоднішній день є програма LINPACK, яка використовується, в тому числі, при складанні рейтингу суперкомп'ютерів TOP500 [Архівовано 21 січня 2005 у Wayback Machine.].

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

Межі застосування

ред.

Попри начебто однозначність, у реальності FLOPS є досить поганою мірою продуктивності, оскільки неоднозначне вже саме його визначення. Під «операцією з рухомою комою» можна розуміти різні поняття, не кажучи вже про те, що істотну роль в обчисленнях відіграє розрядність операндів, яка ніде не згадується.

Крім того, величина флопс підлягає впливу дуже багатьох факторів, безпосередньо не пов'язаних із продуктивністю обчислювального модуля, таких як: пропускна здатність каналів зв'язку з оточенням процесора, продуктивність основної пам'яті та синхронність роботи кеш-пам'яті різних рівнів.

Все це, в кінцевому підсумку, призводить до того, що результати, отримані на одному й тому ж комп'ютері за допомогою різних програм, можуть суттєво відрізнятися, більш того, з кожним новим випробуванням різні результати можна отримати при використанні одного алгоритму. Частково ця проблема вирішується договором про використання одноманітних тестових програм (тієї ж LINPACK benchmarks) з виведенням середніх результатів, але з часом можливості комп'ютерів «переростають» межі прийнятого тесту й він починає давати штучно занижені результати, оскільки не використовує нові можливості ЕОМ. А до деяких систем загальноприйняті тести зовсім не можуть бути застосовані, в результаті чого питання про їх продуктивність залишається відкритим.

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

Також високу продуктивність на специфічних задачах показують графічні процесори сучасних відеокарт та ігрових приставок. Наприклад, заявлена продуктивність ігрової приставки Xbox 360 становить 1 Тфлопс, а приставки PlayStation 3 і зовсім 2 Тфлопс[джерело?], що ставить їх поряд із суперкомп'ютерами початкового рівня. Такі високі показники пояснюються тим, що вони оперують 32-бітними числами, тоді як для суперкомп'ютерів зазвичай вказують продуктивність на 64-розрядних даних. Крім того, ці приставки й відео-процесори розраховані на операції з трьохвимірною графікою, які добре піддаються розпаралелюванню, однак їх процесори не в змозі виконувати більшість задач загального призначення, їх продуктивність складно оцінити класичним тестом LINPACK і складно порівняти з іншими системами.

Причини широкого розповсюдження

ред.

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

Для підрахунку максимальної кількості FLOPS для процесора треба враховувати, що сучасні процесори в кожному своєму ядрі містять декілька виконавчих блоків кожного типу (в тому числі і для операцій з рухомою комою), які працюють паралельно, і можуть виконувати більше однієї інструкції за такт. Ця особливість архітектури називається суперскалярністю і вперше з'явилась ще в самому першому процесорі Pentium в 1993 році. Ядро Intel Core 2 також є суперскалярним і містить 2 пристрої обчислень над 64-бітними числами з рухомою комою, які можуть завершувати по 2 послідовні операції (множення і наступне додавання, MAC) в кожному такті, що теоретично дозволяє досягти пікової продуктивності до 4-х операцій за 1 такт в кожному ядрі — мікроархитектура Core 2. Таким чином, для процесора, що має в своєму складі 4 ядра (Core 2 Quad) і працює на частоті 3.5 ГГц, теоретична межа продуктивності становить 4х4х3.5=56 гігафлопс, а для процесора, що має 2 ядра (Core 2 Duo) і працює на частоті 3 ГГц — 2х4х3=24 гігафлопс, що добре погоджується з практичними результатами, отриманими на тесті LINPACK. Типова продуктивність тесту LINPACK становить 80-95% від теоретичного максимуму.

Суперкомп'ютери

ред.
Докладніше: ТОП500 та Суперкомп'ютер

Персональні комп'ютери

ред.

Більше 50 Гфлопс

ред.
  • Intel Core i7-975 XE 3,33 ГГц (2009) — 53.28 Гфлопс
  • AMD Phenom II X4 965 BE 3,4 ГГц, 4 ядра (2009) — 54,4 Гфлопс
  • AMD Phenom II X6 1100T 3,3 ГГц , 6 ядер (2010) — 79,2 Гфлопс
  • Intel Core i5-2500K (Sandy Bridge), частоти 3,3-3,7 ГГц (2011) — 105,6-118 Гфлопс[1]
  • FX-8350 4,0 ГГц, 8 ядер (2012) — 69,13 Гфлопс FP64[2]
  • Intel Core i7-4930K (Ivy Bridge), частоти 3,4-3,9 ГГц, 6 ядер (2013) — 151 - 173 Гфлопс FP64 [3]
  • Loongson-3B1500 (MIPS64), 1,5 ГГц, 8 ядер (2016) — до 192 Гфлопс.[4]
  • IBM Power8 4.4 ГГц, 12 ядер, (2013), 290 ГФлопс.
  • Intel Core i7-5960X (Extreme Edition Haswell-E), частоти 3,0-3,5 ГГц (2014) — до 350 Гфлопс [5]

Кишенькові комп'ютери

ред.
  • КПК на основі процесора Samsung S3C2440 400 МГц (архитектура ARM9) — 1,3 Мфлопс
  • Intel XScale PXA270 520 МГц — 1,6 Мфлопс
  • Intel XScale PXA270 624 МГц — 2 Мфлопс

Примітка: Наведені процесори не мають апаратної підтримки обчислень з рухомою комою. Сучасніші процесори цього класу (I.MX31, OMAP-Lx) з апаратним FPU мають на 2 порядки більшу продуктивність.

Розподілені системи

ред.

Дані наведені станом на 4 квітня 2020 року

Ігрові приставки

ред.

Вказані операції з рухомою комою над 32-розрядними даними

Див. також

ред.

Примітки

ред.
  1. [1] [Архівовано 3 грудня 2013 у Wayback Machine.] http://www.intel.com/support/processors/sb/CS-032815.htm [Архівовано 3 грудня 2015 у Wayback Machine.]
  2. Flops/2012 - AMD FX-8350.txt at master · Mysticial/Flops · GitHub
  3. Архівована копія. Архів оригіналу за 7 червня 2020. Процитовано 26 червня 2020.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  4. Alex Voica (3 вересня 2015). New MIPS64-based Loongson processors break performance barrier (англ.). Архів оригіналу за 5 лютого 2017. Процитовано 4 лютого 2017. [Архівовано 2017-02-05 у Wayback Machine.]
  5. Linpack performance Haswell E (Core i7 5960X and 5930K) — Puget Custom Computers. Архів оригіналу за 27 березня 2015. Процитовано 22 травня 2019.

Посилання

ред.