Следует ли использовать BIOS «Advanced ECC» в Dell PowerEdge R710 Bios с модулями ECC DIMM?

14

У меня Dell PowerEdge R710 с двумя процессорами Intel Xeon E5503. Он имеет 96 ГБ (12x8 ГБ) модулей ECC DIMM. В его BIOS память настроена для «Advanced ECC».

У меня вопрос, если мои модули DIMM уже ECC, имеет ли смысл включить этот режим «Advanced 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)

Mxx
источник

Ответы:

23

Это действительно имеет значение, это будет иметь смысл только в том случае, если вам потребуются функции 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. Если я могу помочь, просто прокомментируйте, чтобы сообщить мне.

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: Разрыв покрытия / внедрения ECC

Да, существует разрыв в охвате, даже если вы реализуете оба варианта. Поскольку вы специально используете кластер серверов высокой доступности, ИМХО вам следует использовать Advanced ECC. Ваше влияние на производительность минимально по сравнению с преимуществами для кластерных устройств. Согласно Crucial, производительность памяти ECC снижается всего на 2% .

Разрыв будет более специфичным для типов ошибок, которые возникают, и того, как каждый из них обрабатывает ошибки. В вашей конкретной ситуации это не должно приводить к потере данных. Поскольку это корпоративная СУБД, ошибки, проблемы параллелизма и т. Д. Решаются на уровне программного обеспечения, чтобы предотвратить потерю данных. Подробно хранится история изменений в правильно настроенной СУБД, и программное обеспечение, которое ее использует, обычно может настроить «откат» транзакции в случае серьезной ошибки.

ECC Реализации

ECC попытается исправить любые битовые ошибки в памяти для чтения / записи. Однако, если ошибка является более существенной, даже ECC не сможет восстановиться, что приведет к потенциальной потере данных. На ServerFault также обсуждается ECC. Что такое ECC ram и почему он лучше?

Согласно Википедии на ECC_Memory

Память ECC поддерживает систему памяти эффективно без однобитовых ошибок ...

SDDC

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

Дополнительные ошибки, больше битовых ошибок, общий сбой памяти, сбой канала, сбой шины и т. Д. Могут все еще вызывать ужасные проблемы, но именно поэтому у вас есть кластер и корпоративная СУБД.

Короче говоря, если у вас все включено и слишком много битовых ошибок, чтобы алгоритмы исправления ошибок могли их исправить, у вас все равно будет ошибка, то есть пробел в покрытии ошибок. Они могут быть исключительно редкими, хотя.

Мэтью Рейд
источник
Чтобы быть более конкретным, это набор из 3 идентичных R710, работающих под управлением кластера Oracle DB. Таким образом, наличие одной машины не имеет первостепенного значения. Тем не менее, повреждение данных вызывает беспокойство. Я видел техническое руководство R710. Там не было много дополнительной информации о памяти. Таким образом, с помощью ECC on-dimm он будет обнаруживать / исправлять ошибки в чипах dimm? Тем не менее, Advanced ECC будет обнаруживать / исправлять ошибки для всего димма? Если это так, есть ли разрыв в охвате между этими двумя методами?
Mxx
@Mxx Я обновил свой ответ, чтобы попытаться объяснить. ИМХО, так как вы используете кластер Oracle DB, я сомневаюсь, что вы потеряете данные. В редких случаях сбоя СУБД создается для предотвращения потери данных и других проблем. В вашем случае для кластера я бы включил Advanced ECC, поскольку производительность должна быть незначительной, но вы можете протестировать ее под нагрузкой, если у вас есть проблемы.
Мэтью Рейд
Большое спасибо за ответ. Извините, но я до сих пор не понимаю одну вещь. Что может «Advanced ECC» защитить меня от того, что ECC не может сделать? Если мы используем dbms, то не имеет ли смысла переключать bios в «оптимизированный режим», чтобы получить выигрыш в производительности при конфигурации конфигурации трехканальной памяти, и он будет защищен встроенной ECC и собственной проверкой Oracle?
Mxx
@ Mxx Полагаю, это точно не гарантировано. Тем не менее, с опцией Advanced ECC On вы сможете восстанавливаться после большего количества ошибок без вмешательства (более низкая общая вероятность битовой ошибки), и снижение производительности должно быть низким. Это, конечно, меньше попыток исправить в СУБД. В то время как СУБД может сохранять ваши данные, взаимодействие с конечным пользователем все же может быть представлено в случае сбоя программного обеспечения и / или отката потенциально большой операции. Я полагаю, что с помощью мониторинга, если чип выходит из строя и частота ошибок растет, Advanced ECC может дать вам время для чистой замены модуля DIMM.
Мэтью Рейд