Чи варто використовувати біос "Advanced ECC" у Dell PowerEdge R710 Bios з ECC DIMM?


15

У мене Dell PowerEdge R710 з подвійними процесорами Intel Xeon E5503. Він має 96 ГБ (12х8 ГБ) DIMM ECC. У його BIOS пам'ять налаштована для "Advanced ECC".

Моє запитання: якщо мої DIMM вже є ECC, чи є сенс включити цей режим «Розширений ECC» в BIOS або я повинен перейти на «Оптимізований»?

Dell описує такі режими як такі:

Розширений режим ECC У цьому режимі використовуються два MCH та "зв'язуються" їх разом для імітації 128-бітної шини даних DIMM. Це в першу чергу використовується для досягнення корекції даних єдиного пристрою (SDDC) для DIMM на основі технології x8 DRAM. SDDC підтримується DIMM на основі x4 у кожному режимі пам'яті. Один MCH повністю не використовується, і будь-яка пам'ять, встановлена ​​на цьому каналі, формуватиме попереджувальне повідомлення під час POST.

Режим оптимізованої пам'яті У цьому режимі MCH працюють незалежно один від одного; наприклад, один може працювати в режимі очікування, один може виконувати операцію запису, а другий - підготовку до операції читання. Пам'ять може бути встановлена ​​в одному, двох або трьох каналах. Щоб повністю зрозуміти перевагу продуктивності в режимі оптимізованої пам'яті, усі три канали на центральний процесор повинні бути заповнені. Це означає, що деякі "нетипові" конфігурації пам'яті, такі як 3 ГБ, 6 ГБ або 12 ГБ, дадуть найкращі показники. Це рекомендований режим, якщо не потрібні конкретні функції RAS.

Інструкція з експлуатації обладнання Dell PowerEdge R710 (PDF)

Відповіді:


24

Це має значення, це матиме сенс лише в тому випадку, якщо вам потрібні функції RAS (Надійність, Доступність та Сервіс) на пристроях x4 або x8 і зрозумієте компроміси для ваших потреб. Більш детальну інформацію можна пояснити на Dell ™ Dell ™ PowerEdge ™ Servers 2009 - Пам'ять .

Крім того, конфігурація та макет із деталями, характерними для R710, доступні в Технічному посібнику для PowerEdge R710 - (Google це тому, що я не маю репутації посилання).

Важливе питання, що слід зазначити, - це різниця між ECC на мікросхемі та "Advanced ECC", що надається BIOS Dell для корекції даних для одного пристрою (SDDC). Ви матимете ефективність на обидва. ECC відновиться після помилок під час запису на чіп. Однак SDDC піде на крок далі і організує біти так, що цілий чіп може вийти з ладу і все-таки відновити. Дивіться приклад та детальну інформацію про мікросхему SDDC E7500

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

Я реалізував обидва в цій галузі на серверах Dell PowerEdge для одиночних реалізацій Microsoft SQL Server. Якщо я можу допомогти більше, просто прокоментуйте, щоб повідомити мені.

Сподіваюся, що це допомагає.

EDIT: Розрив покриття / впровадження ECC

Так, існує розрив у покритті, навіть якщо ви реалізуєте і те й інше. Оскільки ви спеціально використовуєте кластер серверів високої доступності, IMHO, вам слід використовувати Advanced ECC. Ваш вплив на продуктивність мінімальний порівняно з перевагами для кластерних пристроїв. На думку Важливого, у вас загалом лише на 2% зниження продуктивності пам’яті ECC .

Розрив буде більш специфічним для типів помилок, які трапляються, і того, як кожен обробляє помилки. У вашій конкретній ситуації це не повинно перетворюватися на втрату даних. Оскільки це СУБД підприємства та помилки, проблеми з одночасністю тощо керуються на програмному рівні з метою запобігання втрати даних. Зберігається детальна історія змін у правильно налаштованій СУБД, а програмне забезпечення, яке її використовує, як правило, може налаштуватись на те, щоб транзакція була "відкатна" будь-якою, якщо трапляється серйозна помилка.

Впровадження ECC

ECC намагатиметься виправити будь-які бітові помилки читання / запису пам'яті. Однак, якщо помилка є більш значною, то навіть ECC не зможе відновитись, спричиняючи потенційні втрати даних. Більше дискусій про ECC також на ServerFault / Що таке ECC таран і чому це краще?

Згідно Вікіпедії на ECC_Memory

Пам'ять ECC підтримує систему пам'яті, ефективно вільну від однобітних помилок ...

SDDC

Якщо ви посилаєтесь на документ чіпсета E7500 вище (зверніть увагу, що 55xx / 56xx від Intel вимагають входу / партнерства, але ідея схожа, тому я не посилався спочатку), де описано SDDC та як це стало можливим. В основному, він використовує техніку організації слів, записаних у пам'ять, що забезпечує, що всі записані таким чином, що кожне слово буде містити лише одну бітну помилку, тобто слово має бути відновлене з однієї бітової помилки (як вище). Тепер це за кожне слово, тому воно може потенційно відновити від 4-розрядних помилок на пристроях x4 (1 за слово) та до 8-бітних помилок на пристроях x8 (досі 1 за слово), виправляючи помилки кожного слова.

Додаткові помилки, більше бітових помилок, загальна помилка пам'яті, збій каналу, збій шини тощо можуть все-таки спричинити жахливі проблеми, але саме тому у вас є кластер і Enterprise СУБД.

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


Щоб бути більш конкретним, це набір з 3 однакових R710, на яких працює кластер Oracle DB. Тому наявність однієї машини не має найважливішого значення. Однак корупція даних викликає занепокоєння. Я бачив технічний посібник R710. У ньому не було багато додаткової інформації про пам’ять. Так що з-dimm ECC він виявить / виправить помилки в мікросхемах? Однак Advanced ECC виявить / виправить помилки для всього димма? Якщо це так, чи існує розрив у покритті між цими двома методами?
Mxx

@Mxx Я оновив свою відповідь, щоб спробувати пояснити. IMHO, оскільки ви використовуєте кластер Oracle DB, я сумніваюся, що у вас втрачаються дані. У рідкісних випадках відмови СУБД будується для запобігання втрати даних та інших проблем. У вашому випадку для кластера я б включив Advanced ECC, оскільки продуктивність повинна бути незначною, але ви можете перевірити її під навантаженням, якщо у вас є проблеми.
Меттью Рейд

Дуже дякую за відповідь. Вибачте, але мені все одно не зрозуміло одне. Що могло б "Advanced ECC" захистити мене від цього неглибокого ECC? Якщо ми використовуємо dbms, то чи не має сенсу перемикати біоси в «оптимізований режим», щоб отримати перевагу продуктивності конфігурації триканальної пам’яті та буде захищена вбудованою системою ECC і власним підтвердженням Oracle?
Mxx

@Mxx Я вважаю, що це точно не гарантовано. Однак за допомогою параметра Advanced ECC On ви зможете відновитись після більшої кількості помилок без втручання (нижча загальна ймовірність трохи помилки), а показник ефективності повинен бути низьким. Це, звичайно, нижча спроба виправити в СУБД. Незважаючи на те, що СУБД може бути в змозі зберегти ваші дані, досвід кінцевого користувача все ще може бути представлений в результаті збоїв програмного забезпечення та / або відкату потенційно великої операції. Я вважаю, що за допомогою моніторингу, якщо чіп виходить з ладу і частота помилок зростає, Advanced ECC може дати вам час для чистої заміни DIMM.
Меттью Рід
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.