Ecc память что это
Память с коррекцией ошибок (Error correction code - ECC) – это тип памяти, использующийся в рабочих станциях и серверах. В первую очередь она предназначена для бизнеса и профессиональных задач где критически важна работа с данными. Такая память позволяет исправлять ошибки в памяти и бороться с повреждением данных. Также предполагается, что она может сократить количество сбоев в работе сервера или рабочей станции. Все это позволяет использовать ECC RAM в профессиональных сферах и бизнесе, включая финансовые институты и облачные вычисления, где ошибки с данными и простои недопустимы.
Схема подбора памяти
Финансовая сторона
реклама
Прежде чем приступить к тестированию, необходимо затронуть финансовый вопрос.
Стоимость обычного модуля памяти DDR3-1600 с напряжением 1.35 В и объемом 8 Гбайт составляет около 3600 рублей, а с коррекцией ошибок – 4800 рублей. На первый взгляд ECC-память выходит на 30-35% дороже, что, в целом, не позволяет их сравнивать в силу существенно большей стоимости последней. Но почему же тогда такой вопрос возникает при сборке рабочей станции? Все просто – необходимо смотреть на данный вопрос шире, а именно – смотреть на общую стоимость рабочей станции.
Ценник однопроцессорной станции на базе четырехъядерного восьмипоточного Xeon (настольные процессоры серий i5 и i7 не поддерживают ECC-память) с 32 Гбайтами памяти, материнской платы с чипсетом C222/С224/С226 (десктопные наборы логики Z87/Z97 и другие также не поддерживают память с коррекцией ошибок) будет превышать 70 000 рублей (при условии, что устанавливаются серверные SSD с повышенным ресурсом). А если включить в эту стоимость и дискретную видеокарту, и прочие сопутствующие компоненты, например, ИБП, то ценник из пятизначного превратится в шестиизначный, перевалив планку в 100 000 рублей.
Покупка 32 Гбайт памяти с коррекцией ошибок потребует дополнительных 4-6 тысяч рублей, что по отношению к общей стоимости рабочей станции не превышает 5%, то есть не является критичным. Также переход от десктопного к серверному железу предоставит и другие преимущества, например: интегрированные графические карты P4600 в процессорах Intel Xeon E3-1200 третьего поколения получили оптимизированные драйверы, которые должны повышать производительность в профессиональных приложениях, например, в CAD; поддержка технологии Intel VT-d, которая позволяет пробрасывать устройства в виртуальную среду, например, видеокарты; прочие серверные технологии – Intel AMT или IPMI, WatchDog и другие, которые также могут оказаться полезными.
Таким образом, хоть и сама ECC-память стоит заметно дороже обычной, в общей стоимости рабочей станции данная статья затрат является несущественной, и переплата не превышает 5%.
Недостатки ECC памяти
Возможно это покажется странным, но ECC память несколько медленней обычной памяти из-за того, что для проверки данных на ошибки требуется время. Вместе с тем, в 2014 году компания Puget провела исследования, согласно которым ECC память оказалась на 0,25 процента медленнее обычной памяти, а регистровая ECC память на 0,44 процента медленней. На наш взгляд данное исследование больше доказывает, что различия в производительности весьма незначительны.
Методика тестирования
В рамках тестирования были произведены замеры производительности как при одноканальном режиме работы ИКП, так и при двухканальном. Суммарный объем ОЗУ составил 8 (один модуль) и 16 Гбайт (два модуля) соответственно.
- 3DMark 2006 1.2;
- 7Zip 9.20;
- AIDA64 Extreme 5.20.3400;
- Cinebench R15;
- CrystalMark 2004R3;
- Fritz 4.20;
- LinX 0.6.5;
- wPrime 2.10.
Платформы Intel
За более чем 40-летнюю историю существования компания Intel разработала и выпустила десятки серверных платформ. Сейчас две из них пользуются повышенным вниманием: V3/V4 Xeon процессоры распространены благодаря относительно дешевым ценам в пересчете на 1 ядро, а также Xeon Scalable из-за неимоверного разнообразия процессоров.
Чтобы не запутаться в версиях/ревизиях посмотрим на типы процессоров Intel, разделив их на большие группы по архитектуре.
В процессе подбора оттолкнемся именно от архитектуры процессора, потому что лучше всего идти правильным путем: процессор -> материнская плата… В принципе можно этот путь пройти назад, однако частота и канальность памяти на 100% зависит от установленного процессора, но возможны и ограничения платы.
LGA 3647
Платформа LGA 3647 поддерживает до 12 разъемов DIMM (2x6 каналов), ECC с частотой от 2133 до 2666 МГц. Тип памяти DDR4. В список не включены процессоры Xeon Platinum 92ХХ.
8 слотов памяти при 6 (А, B, C, D, E, F) каналах. Два канала разделены на ранги (А1 ранг + А2 ранг и D1 + D2), типичная ситуация, когда «А» и «D» канал делят пополам. Допускается установка различных конфигураций, но наиболее производительная – установка 6 модулей без «2» рангов.
4 слота памяти при 6 (А, B, C, D, E, F) каналах. Из 6 каналов чаще всего выброшен канал «С» и «F». Другими словами, система из 6 канальной превращается в 4 канальную. Соответственно уменьшается пропускная способность и суммарная производительность.
6 и 12 слотов памяти прекрасно соотносятся с 6 канальными контроллерами памяти. Здесь все просто – для достижения максимальной скорости ПСП используем 6 или 12 модулей.
LGA 1200
Для Comet Lake-S LGA 1200 нужно использовать DDR4 память с и без ECC частотой до 2933 МГц. Существует 2 типа плат: с 2 разъемами и с 4 разъемами DIMM (SO-DIMM). Для 2 разъемов используйте парные модули, чтобы задействовать оба канала. Для 4 разъемов устанавливайте память парами (2х DIMM в 2 канала или 4х DIMM в 2 канала). В зависимости от версии процессора используйте максимально разрешенную частоту для достижения максимальной производительности подсистемы памяти.
Выводы
- Знать тип и конфигурацию установленной или устанавливаемой в будущем памяти;
- Стараться использовать все каналы памяти;
- Не допускать установку памяти с различными рангами;
- Использовать максимальную частоту памяти (зависит от CPU);
- Выбирать однотипную память (RDimm, LRDIMM) для всей платформы;
- Стараться не использовать разделенные каналы.
→ В разделе «Manufacturer Qualification» выбирается память по производителю системной платы:
выбрать
→ В разделе памяти с фиксированным BOM подбирается память исходя из требуемых характеристик: подобрать
Для получения дополнительной информации о продуктах Kingston обращайтесь на официальный сайт компании.
В продолжение рубрики "конспект админа" хотелось бы разобраться в нюансах технологий ОЗУ современного железа: в регистровой памяти, рангах, банках памяти и прочем. Подробнее коснемся надежности хранения данных в памяти и тех технологий, которые несчетное число раз на дню избавляют администраторов от печалей BSOD.
Сегодня на рынке представлены, в основном, модули с памятью DDR SDRAM: DDR2, DDR3, DDR4. Разные поколения отличаются между собой рядом характеристик – в целом, каждое следующее поколение "быстрее, выше, сильнее", а для любознательных вот табличка:
Для подбора правильной памяти больший интерес представляют сами модули:
RDIMM — регистровая (буферизованная) память. Удобна для установки большого объема оперативной памяти по сравнению с небуферизованными модулями. Из минусов – более низкая производительность;
UDIMM (unregistered DRAM) — нерегистровая или небуферизованная память — это оперативная память, которая не содержит никаких буферов или регистров;
LRDIMM — эти модули обеспечивают более высокие скорости при большей емкости по сравнению с двухранговыми или четырехранговыми модулями RDIMM, за счёт использования дополнительных микросхем буфера памяти;
HDIMM (HyperCloud DIMM, HCDIMM) — модули с виртуальными рангами, которые имеют большую плотность и обеспечивают более высокую скорость работы. Например, 4 физических ранга в таких модулях могут быть представлены для контроллера как 2 виртуальных;
Попытка одновременно использовать эти типы может вызвать самые разные печальные последствия, вплоть до порчи материнской платы или самой памяти. Но возможно использование одного типа модулей с разными характеристиками, так как они обратно совместимы по тактовой частоте. Правда, итоговая частота работы подсистемы памяти будет ограничена возможностями самого медленного модуля или контроллера памяти.
Для всех типов памяти SDRAM есть общий набор базовых характеристик, влияющий на объем и производительность:
частота и режим работы;
Конечно, отличий на самом деле больше, но для сборки правильно работающей системы можно ограничиться этими.
Понятно, что чем выше частота — тем выше общая производительность памяти. Но память все равно не будет работать быстрее, чем ей позволяет контроллер на материнской плате. Кроме того, все современные модули умеют работать в в многоканальном режиме, который увеличивает общую производительность до четырех раз.
Режимы работы можно условно разделить на четыре группы:
Single Mode — одноканальный или ассиметричный. Включается, когда в системе установлен только один модуль памяти или все модули отличаются друг от друга. Фактически, означает отсутствие многоканального доступа;
Dual Mode — двухканальный или симметричный. Слоты памяти группируются по каналам, в каждом из которых устанавливается одинаковый объем памяти. Это позволяет увеличить скорость работы на 5-10 % в играх, и до 70 % в тяжелых графических приложениях. Модули памяти необходимо устанавливать парами на разные каналы. Производители материнских плат обычно выделяют парные слоты одним цветом;
Для максимального быстродействия лучше устанавливать одинаковые модули с максимально возможной для системы частотой. При этом используйте установку парами или группами — в зависимости от доступного многоканального режима работы.
Ранг (rank) — область памяти из нескольких чипов памяти в 64 бита (72 бита при наличии ECC, о чем поговорим позже). В зависимости от конструкции модуль может содержать один, два или четыре ранга.
Узнать этот параметр можно из маркировки на модуле памяти. Например уKingston число рангов легко вычислить по одной из трех букв в середине маркировки: S (Single — одногоранговая), D (Dual — двухранговая), Q (Quad — четырехранговая).
Пример полной расшифровки маркировки на модулях Kingston:
Серверные материнские платы ограничены суммарным числом рангов памяти, с которыми могут работать. Например, если максимально может быть установлено восемь рангов при уже установленных четырех двухранговых модулях, то в свободные слоты память добавить не получится.
Перед покупкой модулей есть смысл уточнить, какие типы памяти поддерживает процессор сервера. Например, Xeon E5/E5 v2 поддерживают одно-, двух- и четырехранговые регистровые модули DIMM (RDIMM), LRDIMM и не буферизированные ECC DIMM (ECC UDIMM) DDR3. А процессоры Xeon E5 v3 поддерживают одно- и двухранговые регистровые модули DIMM, а также LRDIMM DDR4.
Тайминги или латентность памяти (CAS Latency, CL) — величина задержки в тактах от поступления команды до ее исполнения. Числа таймингов указывают параметры следующих операций:
CL (CAS Latency) – время, которое проходит между запросом процессора некоторых данных из памяти и моментом выдачи этих данных памятью;
tRCD (задержка от RAS до CAS) – время, которое должно пройти с момента обращения к строке матрицы (RAS) до обращения к столбцу матрицы (CAS) с нужными данными;
tRP (RAS Precharge) – интервал от закрытия доступа к одной строке матрицы, и до начала доступа к другой;
tRAS – пауза для возврата памяти в состояние ожидания следующего запроса;
Разумеется, чем меньше тайминги – тем лучше для скорости. Но за низкую латентность придется заплатить тактовой частотой: чем ниже тайминги, тем меньше допустимая для памяти тактовая частота. Поэтому правильным выбором будет "золотая середина".
Существуют и специальные более дорогие модули с пометкой "Low Latency", которые могут работать на более высокой частоте при низких таймингах. При расширении памяти желательно подбирать модули с таймингами, аналогичными уже установленным.
Для коррекции нерегулярных ошибок применяется ECC-память, которая содержит дополнительную микросхему для обнаружения и исправления ошибок в отдельных битах.
Метод коррекции ошибок работает следующим образом:
При записи 64 бит данных в ячейку памяти происходит подсчет контрольной суммы, составляющей 8 бит.
Когда процессор считывает данные, то выполняется расчет контрольной суммы полученных данных и сравнение с исходным значением. Если суммы не совпадают – это ошибка.
Технология Advanced ECC способна исправлять многобитовые ошибки в одной микросхеме, и с ней возможно восстановление данных даже при отказе всего модуля DRAM.
Исправление ошибок нужно отдельно включить в BIOS
Большинство серверных модулей памяти являются регистровыми (буферизованными) – они содержат регистры контроля передачи данных.
Регистры также позволяют устанавливать большие объемы памяти, но из-за них образуются дополнительные задержки в работе. Дело в том, что каждое чтение и запись буферизуются в регистре на один такт, прежде чем попадут с шины памяти в чип DRAM, поэтому регистровая память оказывается медленнее не регистровой на один такт.
Все регистровые модули и память с полной буферизацией также поддерживают ECC, а вот обратное не всегда справедливо. Из соображений надежности для сервера лучше использовать регистровую память.
Для правильной и быстрой работы нескольких процессоров, нужно каждому из них выделить свой банк памяти для доступа "напрямую". Об организации этих банков в конкретном сервере лучше почитать в документации, но общее правило такое: память распределяем между банками поровну и в каждый ставим модули одного типа.
Если пришлось поставить в сервер модули с меньшей частотой, чем требуется материнской плате – нужно включить в BIOS дополнительные циклы ожидания при работе процессора с памятью.
Для автоматического учета всех правил и рекомендаций по установке модулей можно использовать специальные утилиты от вендора. Например, у HP есть Online DDR4 (DDR3) Memory Configuration Tool.
Вместо пространственного заключения приведу общие рекомендации по выбору памяти:
Для многопроцессорных серверов HP рекомендуется использовать только регистровую память c функцией коррекции ошибок (ECC RDIMM), а для однопроцессорных — небуферизированную с ECC (UDIMM). Планки UDIMM для серверов HP лучше выбирать от этого же производителя, чтобы избежать самопроизвольных перезагрузок.
В случае с RDIMM лучше выбирать одно- и двухранговые модули (1rx4, 2rx4). Для оптимальной производительности используйте двухранговые модули памяти в конфигурациях 1 или 2 DIMM на канал. Создание конфигурации из 3 DIMM с установкой модулей в третий банк памяти значительно снижает производительность.
Список короткий, но здесь все самое необходимое и наименее очевидное. Конечно же, старый как мир принцип RTFM никто не отменял.
На просторах Рунета зачастую можно встретить открытые темы на форумах с вопросами – стоит ли брать рабочую станцию с ECC-памятью? И в данных ветках можно прочесть утверждения о том, что коррекция ошибок сильно замедляет память, а следовательно и процессор. Но мало кто на деле это проверял. Сегодня мы разберемся в этом вопросе.
Вступление, коррекция ошибок, финансовая сторона, тестовый стенд и методика, результаты тестирования: тест памяти, 3DMark, 7Zip, Cinebench
Как работает ECC память?
Коррекция ошибок – это математический процесс, который обеспечивает правильность данных, хранящихся в памяти. В случае ошибки ECC также позволяет системе в реальном времени воссоздать правильные данные.
Одним из способов работы ECC памяти является контроль четности. При этом методе используется дополнительный бит который записывает четность остальных битов. К сожалению, несмотря на то, что дополнительный бит четности позволяет определить ошибку, он никак не способствует ее решению и в этом случае выполнение программы просто прерывается.
Большинство вычислительных систем перемещают данные большими блоками по 64 бита (они называются «машинным словом»). Вместо генерации одного дополнительного бита четности для каждых восьми битов данных, ECC генерирует семь дополнительных битов на 64 бита данных. Система выполняет сложный математический алгоритм на дополнительных семи битах данных, чтобы гарантировать, что остальные 64 бита являются правильными. В случае, если один бит неверен (однобитовая ошибка), алгоритм ECC может восстановить данные. Однако при более крупных ошибках (два или более бит) такой алгоритм может лишь уведомить систему.
Коррекция ошибок
Для чего необходима коррекция? И почему в работе памяти возникают ошибки? Перед ответом на эти вопросы следует разделить ошибки на два типа:
Причиной появления аппаратных ошибок является дефектная микросхема DRAM, а случайные ошибки возникают под воздействием излучения, альфа-частиц, элементарных частиц и прочего. Соответственно, первые в принципе неисправимы – если чип дефектный, то поможет только его замена; а вот вторые могут быть исправлены.
Почему же так необходима коррекция ошибок в рабочих станциях и серверах? Однобитовая ошибка в 64-битном слове меняет содержимое ячейки памяти, а в конечном итоге на жесткий диск может быть записано другое число, другие данные, при этом компьютер не зафиксирует эту подмену. А изменение бита в оперативной памяти может вызвать сбой программы, что для рабочей станции и сервера недопустимо.
Для обнаружения изменения битов памяти можно использовать метод подсчета контрольной суммы, но он позволяет лишь обнаруживать ошибки без их исправления.
В свое время было предложено много различных способов решения данной проблемы, но на сегодняшний день наибольшее распространение получил метод коррекции ошибок или ECC (Error-Correcting Code). Данный метод позволяет автоматически исправлять однобитовые ошибки в 64-битном слове – SEC (Single Error Correction) и детектировать двухбитовые – DED (Double Error Detection).
Физическая реализация ECC заключается в размещении дополнительной микросхемы памяти на модуле ОЗУ – соответственно, при одностороннем дизайне модуля памяти вместо восьми чипов располагается девять, а при двустороннем вместо шестнадцати – восемнадцать. Таким образом, ширина модуля становится не 64 бита, а 72 бита.
Метод коррекции ошибок работает следующим образом: при записи 64 бит данных в ячейку памяти происходит подсчет контрольной суммы, составляющей 8 бит. Когда процессор обращается к этим данным и производит считывание, проводится повторный подсчет контрольной суммы и сравнение с исходной. Если суммы не совпадают – произошла ошибка. Если она однобитовая, то неправильный бит исправляется автоматически, если двухбитовая – детектируется и сообщается ОС.
Оглавление
Fritz
В целом, ситуация в Fritz не меняется – коррекция ошибок не накладывает существенных штрафов на производительность процессора.
При одноканальном доступе разница составила 1.27% в пользу обычной памяти, при двухканальном – 0.4% (что по большому счету находится в рамках погрешности самого тестового пакета LinX: от прохода к проходу значение «гигафлопсов» колеблется в этих диапазонах).
Стоит заметить, что одноканальный доступ не позволяет раскрыть весь потенциал стендового процессора – при двухканальном режиме работы ИКП производительность CPU поднимается на 55%. То есть у LinX есть высокая зависимость от ПСП, но при этом ECC не оказывает никакого влияния на производительность ЦП.
LGA 4189 (v2)
Процессоры Ice Lake-SP поддерживают 8 каналов памяти, значит устанавливаются модули кратно 4 и 8. Конечно сейчас появятся в продаже материнские платы с конфигурацией DIMM 2+2 слота (это минус 4 канала памяти), ли с разделяемыми каналами на банки.
Тонкости подбора модулей в различных конфигурациях
Начиная с конца 2019 года производители микросхем постепенно начали переходить на нормы тех. процесса менее 20 нм. Это позволило удвоить объем памяти на модуле. К сожалению не все процессоры Intel способны работать с новыми планками. При выборе памяти для старых платформ убедитесь, что материнская плата получила обновление BIOS в котором заявлена совместимость с 16 Гбит микросхемами.
Список новых 16 Гбит модулей Kingston:
- 8GB Unbuffered DIMM / SODIMM (1Rx16)
- 16GB Unbuffered DIMM / SODIMM (1Rx8)
- 32GB Unbuffered DIMM / SODIMM (2Rx8)
- 16GB ECC Unbuffered DIMM / SODIMM (1Rx8)
- 32GB ECC Unbuffered DIMM / SODIMM (2Rx8)
- 16GB ECC Registered DIMM (1Rx8)
- 32GB ECC Registered DIMM (2Rx8)
- 32GB ECC Registered DIMM (1Rx4)
- 64GB ECC Registered DIMM (2Rx4)
Простое правило наращивания частоты никто не отменял. Чем больше использованных каналов и выше частота памяти, тем выше производительность сервера. В конфигурациях, где материнская плата не реализует часть каналов скорость работы с памятью существенно ниже.
Пример установки 384Гб памяти в плату тремя различными способами. В первых двух неправильно заполненные каналы приводят к двукратному снижению ПСП. Оптимальный режим – это установка высокочастотной памяти по 1 планке в каждый канал без использования второго банка. Причем о ранговости обязательно нужно помнить!
2-ранговая память всегда будет быстрее 1-ранговой. Однако учтите, что не все системы могут работать с 2-ранговой памятью, установленной во все слоты памяти. Не стоит использовать 2-ранговуе модули в разделенных канала. И тем более смешивать их с 1-ранговыми.
Платы с разделенными каналами позволяют покупать сервера в минимальной комплектации экономя средства на начальном этапе. Дальнейший апгрейд подсистемы памяти часто происходит с ошибками. Практически любая материнская плата позволяет работать с 1 модулем, но в дальнейшем добавление модулей строго регламентируется производителем. Конечно идеальный вариант – это доустановка аналогичных планок, чтобы задействовать все каналы. Но стоимость комплектующих зачастую неподъемна. Поэтому, выбирая начальную конфигурацию с памятью, которая использует 1 банк из канала учитывайте особенности апгрейда. Деление каналов позволяет суммарно установить больше памяти в ущерб производительности.
FAQ по серверной памяти
По умолчанию вся серверная память «де-факто» имеет поддержку ECC. Другое дело остальные характеристики. Их значения не всегда правильно трактуются.
UDIMM — обычная память для настольных компьютеров. У такой памяти в маркировке присутствует буква U (Unbuffered). Почему мы включаем такую память в обзор? Многие серверные 1-процессорные платы поддерживают помимо процессоров Xeon десктопные CPU. В них нет совместимости с ECC, поэтому допускается установка UDIMM в такие системы со всеми вытекающими последствиями.
Registered DIMM (FBDIMM) — регистровая память с коррекцией ошибок (ECC). Позволяет масштабировать емкость используемых рангов без появления ошибок и перегрузки контроллера памяти в процессоре. Установленная микросхема берет на себя управление адресами.
LRDIMM — эволюционное развитие Registered DIMM (FBDIMM). На такие модули ставят вспомогательный контроллер. Он управляет как адресами, так и питанием модуля. Дополнительный бонус – создание памяти глубиной до 4 рангов и более высокая частота работы в сравнении с Registered DIMM. В результате LRDIMM обладает массой положительных свойств за исключением цены.
Видимый эффект от применения LRDIMM в сравнении с Registered DIMM.
CrystalMark
Хоть тестовый пакет CrystalMark является устаревшим, он позволяет протестировать как процессор, так и память с видеокартой.
реклама
Но ни один из шести тестов не показал существенной разницы между ECC- и non-ECC- памятью. Зато зависимость интегрированного графического ядра от пропускной способности памяти снова налицо – в графическом тесте OGL разница составила около 10% в пользу двухканального режима.
Регистровая память
ECC память не всегда является регистровой, но с другой стороны любая регистровая память всегда является ECC памятью.
Регистровая память содержит регистр, который располагается между чипами памяти и системным контроллером памяти. Это позволяет уменьшить электрическую нагрузку на контроллер, а также установить большее количество модулей на один канал.
Пока компьютерный прогресс бежит сломя голову, в стане серверов остаются доступными совершенно различные конфигурации, как современные, так и 5-10 летние железки. И в момент подбора комплектующих для апгрейда возникает закономерный вопрос, а какую память и в каком количестве доустанавливать или менять? Помимо привычного разъема DIMM используется и SO-DIMM, а о том, что бывает память с ECC и без нее, буферизованная и нет, знает каждый школьник.
Результаты тестирования
Заключение
Подводя итог, необходимо сначала привести цифры: среднеарифметическая разница по всем тестам для одноканального режима составила 0.29% в пользу обычной памяти, а для двухканального – 0.06% в пользу ECC-памяти. Таким образом, тип памяти не влияет на производительность как процессора, так и встроенного графического ядра – причем даже в тех тестах, где наблюдается сильная зависимость от ПСП. По крайней мере, данное утверждение верно для ECC-памяти и двухканального контроллера Haswell.
Суммируя все вышесказанное, существенным отличием ECC-памяти от обычной является только ее стоимость. В абсолютных цифрах планка на 8 Гбайт с коррекцией ошибок стоит на 30-35% дороже относительно ОЗУ со схожими характеристиками. Но этот вопрос следует рассматривать в разрезе общей стоимости рабочей станции – тогда покупка памяти с коррекцией ошибок лишь незначительно повышает ее общую стоимость – не более 5%.
И если выбор стоит между обычной памятью и ECC, а важным критерием является производительность рабочей станции, то можно взять, не боясь, память с коррекцией ошибок. Такой вариант незначительно скажется на общем ценнике, но при этом предоставляет большую надежность, что будет полезным.
Тестовый стенд
Для данного обзора использовалась следующая конфигурация:
- Материнская плата: Supermicro X10SAE (Intel C226, LGA 1150);
- Процессор: Xeon E3-1245V3 (Turbo Boost – off, EIST – off, HT – on);
- Оперативная память:
- 2x Kingston DDR3-1600 ECC 8 Гбайт (KVR16LE11/8 CL11, 1.35 В);
- 2x Kingston DDR3-1600 8 Гбайт (KVR16LN11/8 CL11, 1.35 В);
Память ECC против обычной памяти
Физически ECC память отличается от обычной не ECC памяти (та, что используется в потребительских компьютерах и ноутбуках) наличием 9 чипов памяти с одной стороны вместо 8 (чипы памяти используются для хранения данных, которые при вызове отправляются в ЦПУ). Дополнительный чип памяти как раз используется для обнаружения и исправления ошибок в других 8 чипах.
Вступление
На сегодняшний день на просторах Рунета можно встретить открытые темы на форумах с вопросами – стоит ли брать рабочую станцию с ECC-памятью или можно обойтись обычной? В данных ветках можно прочесть множество противоречивых утверждений, и часть из них говорит о том, что коррекция ошибок сильно замедляет память, а следовательно и ЦП. Но мало кто это проверял на деле на современных процессорах.
реклама
Сегодня мы разберемся в этом вопросе и сравним производительность серверного процессора с обоими типами памяти. Но для начала небольшой экскурс.
AIDA64 Extreme
Начнем с основных тестов.
В целом, все повторяется – процессору без разницы с каким типом памяти работать. Зато зависимость от ПСП есть в тесте CPU PhotoWorxx – здесь двухканальный доступ повышает производительность ЦП практически вдвое относительно одноканального. При этом, несмотря на такую сильную зависимость от ПСП на ECC-память реакции нет.
GPGPU-вычисления все больше и больше набирают обороты и здесь (AIDA64 GPGPU Benchmark) будет интересно посмотреть на влияние ECC-памяти на них.
А разницы нет. Более того стоит заметить, что видеоядро также не показывает зависимости от ПСП. То есть при графической нагрузке видеокарта показывает зависимость от ПСП и при переходе с одноканального доступа на двухканальный поднимает свою производительность на 15-30%, а при вычислительной ей хватает и одного канала памяти. По крайней мере, это касается P4600.
Выполнение GPGPU-теста на процессоре не показывает влияния типа памяти на его производительность, с другой стороны, и ПСП также не влияет на нее в данном тесте.
wPrime
реклама
Несмотря на многопоточность теста, влияния ПСП на скорость вычислений не наблюдается – если уж wPrime не видит разницы между ПСП в 12.8 и 25.6 Гбайт/с, то что говорить о памяти с коррекцией ошибок и с чуть большей латентностью?
LGA 1151
1151 сокет использовался для 3 платформ продолжительное время. Начальным этапом стали процессоры Skylake-S, содержащие 4 физических ядра. Потом их сменили процессоры Kaby Lake-S, и наконец завершающим семейством стали CPU Coffee Lake-S WS. Все поколения оснащались 2-канальным контроллером памяти. По мере совершенствования архитектуры он перешел с частоты 1866 МГц к 2666 МГц. Платы на LGA 1151 поддерживают до 4 разъемов DIMM (2 модуля Х 2 канала), как с ECC, так и без нее. Совсем редко попадаются конфигурации с DDR3L памятью (от 1333 до 1600 МГц). Максимальный объем памяти 64 Гбайт.
Для Skylake, Kaby Lake и Coffee Lake LGA 1151 можно использовать DDR4 память с ECC частотой от 1866МГц до 2666 МГц (как не буферизированная, так и регистровая). Существует 2 типа плат: с 2 разъемами и с 4 разъемами DIMM. Для 2 разъемов используйте парные модули, чтобы задействовать оба канала. Для 4 разъемов устанавливайте память парами (2х DIMM в 2 канала или 4х DIMM в 2 канала). В зависимости от версии процессора используйте максимально разрешенную частоту для достижения максимальной производительности подсистемы памяти.
Какое оборудование поддерживает ECC память?
Память ECC рассчитана на нагрузки корпоративного уровня, поэтому большинство потребительских материнских плат для ПК ее не поддерживают или работают без функции корректировки ошибок. Для того чтобы в полной мере воспользоваться преимуществами такой памяти вам нужна системная плата для рабочих станций либо для серверов. ECC память также стоит несколько дороже, в сравнении с обычными модулями, как раз из-за дополнительного чипа памяти.
И опять же ECC память в первую очередь предназначена для серверов и рабочих станций, поэтому для ее работы вам потребуется производительный процессор. Из модельного ряда Intel только серверная линейка Xeon предназначена для работы с ECC памятью и компания таким образом пытается отделить потребительские продукты от профессиональных. С другой стороны, компания AMD предлагает для энтузиастов многопоточные чипы Threadripper, которые поддерживают работу с таким типом памяти.
Неочевидные характеристики
Частота и тайминги: покупать память с частотой выше поддерживаемой вашим сервером не приведет к росту пропускной способности. Это 100% аксиома, потому что редкий случай, когда материнская плата позволяет менять частоту. Классический вариант – поддерживаемая частота считывается из SPD микросхемы и выбирается поддерживаемая процессором.
Ранги памяти: 1R,2R и 4R.
Модули памяти могут быть одно, двух, четырех или даже восьмиранговыми. Самые распространенные – это 1-2 ранговые модули, которые не накладывают множество ограничений в отличие от 4-8 ранговых. Производители материнских плат в инструкциях подробно расписывают поддерживаемые конфигурации пулов памяти при различной ранговости памяти. Часть оборудования позволяет устанавливать разноранговые модули, но не во все разъемы.
Чип RCD: Rambus или IDT.
Register Clock Driver (RCD) – микросхема управления, устанавливаемая на модули. Есть 2 крупных производителя (Rambus и IDT). Нет никаких ограничений в выборе того или иного производителя. Используется в паре с буферами и температурными сенсорами.
Тест памяти
Перед тем, как приступить к тестированию, проведем замер пропускной способности памяти и латентности.
реклама
При изучении результатов можно заключить, что производительность ECC- и non-ECC- памяти находится на одном и том же уровне в рамках погрешности.
Если в предыдущем тесте от замера к замеру выигрывал то один, то другой тип памяти, то при замере латентности ECC-память постоянно показывает большие задержки. Но разница несущественна – всего лишь 1 нс.
Таким образом, замер ПС и латентности памяти не показал особых различий между ECC- и non-ECC-памятью. Посмотрим, повторится ли это в последующих тестах.
Память ECC против обычной памяти
Физически ECC память отличается от обычной не ECC памяти (та, что используется в потребительских компьютерах и ноутбуках) наличием 9 чипов памяти с одной стороны вместо 8 (чипы памяти используются для хранения данных, которые при вызове отправляются в ЦПУ). Дополнительный чип памяти как раз используется для обнаружения и исправления ошибок в других 8 чипах.
3DMark
Тестовый пакет 3DMark содержит подтесты как для процессора, так и для графической карты. Здесь и кроется самое интересное – давно известно, что встроенному видеоядру не хватает существующей ПСП в 25.6 Гбайт/с, поэтому именно в графических подтестах можно выявить негативное влияние коррекции ошибок, если оно вообще есть,…
. но разницы нет – что ECC, что non-ECC. Ни процессор, ни интегрированное ядро никак не реагируют на замену обычной памяти на DDR с коррекцией ошибок – результаты одинаковы в рамках погрешности. Среднеарифметическая разница составила 0.02% в пользу ECC-памяти для одноканального режима и 1.6% для двухканального режима.
При этом нельзя сказать, что встроенная видеокарта P4600 не зависит от скорости ОЗУ – при одноканальном доступе общий результат почти на 30% ниже, чем при двухканальном. Другими словами, скорость ОЗУ критична для графического ядра, но сами по себе «ECC-версии» не влияют ни на скорость ОЗУ, ни на видеокарту.
Архиваторы, как известно, чувствительны к памяти, поэтому, возможно, здесь получится зафиксировать влияние типа памяти на производительность.
Ситуация с архивацией неоднозначная: с одной стороны – в одноканальном режиме (как при распаковке, так и при сжатии) ECC-память уверенно оказывается медленнее на 2%; с другой – в двухканальном режиме при сжатии ECC-память уверенно быстрее, а при распаковке – медленнее, а среднее арифметическое – быстрее на 0.65%.
Скорее всего, причина в следующем – пропускной способности памяти при одноканальном доступе процессору явно недостаточно, и поэтому чуть большая латентность ECC-памяти сказывается на производительности; а при двухканальном доступе ПСП полностью покрывает нужды CPU и поэтому чуть большая латентность памяти с коррекцией ошибок не сказывается на производительности. В любом случае зафиксировать существенного влияния на скорость архивации не получилось.
LGA 2066
Платформа LGA 2066 с процессорами Skylake-W поддерживают до 8 разъемов DIMM (2x4 канала), ECC с частотой от 1600 до 2666 МГц. Тип памяти DDR4. Максимальный объем памяти 512 Гбайт.
Для Skylake LGA 2066 можно использовать DDR4 память (ECC RDIMM, Registered ECC RDIMM, Registered ECC LRDIMM, Registered ECC LRDIMM) частотой 1600-2666МГц. Существует 2 основных конфигурации с 4 слотами и 8.
В материнскую плату с 4/8 слотами лучше всего устанавливать память по 4 модуля для максимальной производительности. Для достижения максимальной емкости задействуйте 8 слотов. В зависимости от версии процессора используйте максимально разрешенную частоту для достижения максимальной производительности подсистемы памяти.
Cinebench
Тестовый пакет Cinebench содержит подтест как процессора, так и видеокарты.
Но ни первый, ни вторая никак не отреагировали на ECC-память.
Зато налицо явная зависимость видеокарты от ПСП – при одноканальном доступе результат в OpenGL оказался на 25% ниже, чем при двухканальном. Вспоминая результаты 3DMark и смотря на нынешние, можно заключить, что производительность интегрированной видеокарты хоть и зависит от ПСП, но ECC-память не оказывает на нее негативного влияния.
Подпишитесь на наш канал в Яндекс.Дзен или telegram-канал @overclockers_news - это удобные способы следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
На просторах Рунета зачастую можно встретить открытые темы на форумах с вопросами – стоит ли брать рабочую станцию с ECC-памятью? И в данных ветках можно прочесть утверждения о том, что коррекция ошибок сильно замедляет память, а следовательно и процессор. Но мало кто на деле это проверял. Сегодня мы разберемся в этом вопросе.
Читайте также: