FLOPS

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Продуктивність суперкомп'ютерів
Назва рік FLOPS
флопс 1941 100
кілофлопс 1949 10³
мегафлопс 1964 106
гігафлопс 1987 109
терафлопс 1997 1012
петафлопс 2008 1015
ексафлопс 1018
цетафлопс 1021
йотафлопс 1024

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

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

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

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

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

Межі застосування[ред.ред. код]

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

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

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

Так, наприклад, 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% від теоретичного максимуму.

Суперкомп'ютери[ред.ред. код]

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

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

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

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

Розподілені системи[ред.ред. код]

Дані наведені станом на 17 січня 2010 року

Ігрові приставки[ред.ред. код]

Вказані операції з плаваючою крапкою над 32-розрядними даними

Див. також[ред.ред. код]

Посилання[ред.ред. код]