FLOPS
FLOPS (англ. Floating Point Operations Per Second — «операцій з рухомою комою на секунду») — одиниця вимірювання швидкодії обчислювальних приладів, особливо в галузі наукових обчислень. Обчислювальні прилади мають широкий діапазон швидкодії, тому використовуються одиниці більші ніж просто 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% від теоретичного максимуму. Суперкомп'ютери
Персональні комп'ютери
Більше 50 Гфлопс
Кишенькові комп'ютери
Примітка: Наведені процесори не мають апаратної підтримки обчислень з рухомою комою. Сучасніші процесори цього класу (I.MX31, OMAP-Lx) з апаратним FPU мають на 2 порядки більшу продуктивність. Розподілені системиДані наведені станом на 4 квітня 2020 року
Ігрові приставкиВказані операції з рухомою комою над 32-розрядними даними
Див. такожПримітки
Посилання
|