Серверні технології - ecc vs non-ecc вплив типу пам'яті на продуктивність процесора
У Мережі часто можна побачити на тематичних форумах питання, що стосуються пам'яті з корекцією помилок, а саме - її вплив на продуктивність системи. Сьогоднішнє тестування відповість на це питання.
Перед тестуванням розповімо про помилки пам'яті.
Помилки, що виникають в пам'яті, можна розділити на два типи - апаратні і випадкові. Причиною появи перших є дефектні мікросхеми DRAM. Другі ж виникають унаслідок впливу електромагнітних завад, випромінювання, альфа- і елементарних частинок і т.д. Відповідно, виправити апаратні помилки можна тільки шляхом заміни мікросхем DRAM, а випадкові - за допомогою спеціальних технологій, наприклад, ECC (Error-Correcting Code). Корекція помилок ECC в своєму арсеналі має два методи: SEC (Single Error Correction) і DED (Double Error Detection). Перший виправляє однобітові помилки в 64-бітному слові, а другий детектирует двухбітовий помилки.
Апаратна реалізація ECC полягає в розміщенні додаткових чіпів пам'яті, які необхідні для запису 8-бітних контрольних сум. Таким чином, модуль пам'яті з корекцією помилок при односторонньому дизайні матиме 9 чіпів пам'яті замість 8 (як у стандартного модуля), а при двосторонньому - 18 замість 16. Разом з цим збільшується і ширина модуля з 64 до 72 біт.
При зчитуванні даних з пам'яті відбувається повторний підрахунок контрольної суми, яка порівнюється з вихідною. Якщо помилка в одному бите - вона виправляється, якщо в двох - детектується.
В теорії все добре - пам'ять з корекцією помилок підвищує надійність системи, що дуже важливо при побудові сервера або робочої станції. А на практиці існує ще й фінансова сторона даного питання. Якщо серверу пам'ять з корекцією помилок обов'язкове, то робоча станція цілком може обійтися без ECC (багато готові робочі станції різних виробників оснащуються звичайної ОЗУ). Наскільки ж дорожче пам'ять з корекцією помилок?
Типовий модуль DDR4-2133 з об'ємом 8 ГБ коштує близько 39 доларів, а модуль з ECC - 48 доларів (на момент написання матеріалу). Різниця у вартості становить близько 23%, що досить значно на перший погляд. Але якщо подивитися на загальну вартість робочої станції, то ця різниця не перевищить і 5% від неї. Таким чином, придбання пам'яті з ECC лише незначно збільшує вартість робочої станції. Залишається лише питання - а як впливає пам'ять з ECC на продуктивність процесора.
Для того, щоб відповісти на це питання редакція ServersTech.ru взяла для тестування модулі пам'яті Samsung DDR4-2133 ECC і Kingston DDR4-2133 з однаковими таймингами 15-15-15-36 і обсягом 8 ГБ.
На модулях пам'яті Samsung M391A1G43DB0-CPB з корекцією помилок розпаяно по 9 чіпів з кожного боку.
У той час як на звичайних модулях пам'яті Kingston KVR21N15D8 / 8 розпаяно по 8 чіпів з кожного боку.
Тестовий стенд: Intel Xeon E3-1275v5, Supermicro X11SAE-F, Samsung DDR4-2133 ECC 8GB, Kingston DDR4-2133 non-ECC 8GB
У тесті пам'яті результати напрочуд однакові (в межах похибки тесту).
Для цілочисельний арифметики не має значення використовуваний тип пам'яті - корекція помилок не робить істотного впливу на кінцевий результат.
Арифметика з плаваючою точкою також виявилася несприйнятливою до типу пам'яті.
Навіть найбільш вимоглива до швидкості пам'яті інтегрована графіка не показала значної різниці між ECC і non-ECC пам'яттю.
Даний тестовий пакет також не помітив зміну типу пам'яті, показавши практично однакові результати для обох учасників.
Абстраговані від «заліза» фрейморк також не помітив різниці між тестованих.
Вимоглива до швидкості пам'яті інтегрована графічна карта не бачить різницю між ECC і non-ECC.
На швидкість рендеринга тип пам'яті також не впливає.
У тесті транзакционной пам'яті в області низької ймовірності змін ECC-пам'ять все ж програє звичайній, показуючи невеликий провал.
Навіть в безпосередньому тесті пам'яті результати виявилися однаковими - як по пропускній здатності, так і по латентності.
В процесорному подтестов результати обох типів пам'яті виявилися максимально схожими.
Та й на продуктивності інтегрованого графічного ядра зміна типу пам'яті не позначилася.
Даний бенчмарк також не показав суттєвої різниці між різними типами пам'яті.
Мабуть, лише в подтестов Image Editing присутній більш-менш суттєва різниця - 2% на користь звичайної пам'яті.
Даний бенчмарк також не помітив зміну типу пам'яті.
У загальному заліку ЕСС-пам'ять зуміла вирватися вперед, але з огляду на певну похибку тесту, можна сміливо зробити висновок, що між ECC і non-ECC різниці немає.
Багато-режим картину не змінює - різниці в продуктивності немає.
Істотної різниці в продуктивності між різними типами пам'яті немає (слід зазначити, що результат в 2D залежить цілком від працездатності драйвера, який на момент тестування не хотів стабільно працювати).
Дивлячись на результати, можна зробити висновок, що корекція помилок не позначається на продуктивності графічного ядра, яке в більшій мірі, ніж процесор, залежить від швидкості пам'яті.
Навіть дуже вимогливий до швидкості пам'яті wPrime не помітив різницю між звичайною і пам'яттю з корекцією помилок.
Багато-режим кардинально не змінює картину - результати максимально схожі.
Швидкість шифрування також не залежить від типу пам'яті.
У однопоточном режимі 7zip «помітив» різницю між різними типами пам'яті, віддавши перевагу звичайній ОЗУ, яка показала на 16% більшу швидкість стиснення.
У багатопотоковому режимі 7zip не відчув особливої різниці між ECC і non-ECC - різниця в результатах в межах +/- 1%.
На відміну від 7zip, WinRAR залишається байдужим до типу пам'яті.
Все бенчмарки проводилися в Firefox 45.
Браузерні тести також виявилися байдужі до типу пам'яті.
Підводячи підсумки, можна сказати, що корекція помилок ніяк не позначається на продуктивності як процесора, так і інтегрованої графічної карти - принаймні це може бути застосовано до процесорів Інтел. Але розглядаючи це питання, необхідно враховувати трирівневий кеш, його високу швидкість і досить великий обсяг - все це знижує залежність від швидкості ОЗУ, зрівнюючи ECC-пам'ять зі звичайною.
Таким чином, придбання ECC-пам'яті замість звичайної чи не позначиться на продуктивності процесора, а різниця в їх вартості не перевищить і 5% від загальної вартості сервера або робочої станції.