Оперативная память сервера – установить и не потерять в производительности

Правила подбора и размещения модулей DIMM приводятся для систем на процессорах Intel Xeon E5 v3, v4, Xeon Scalable

 

   Подсистема оперативной памяти - важнейшая составляющая, от которой зависит производительность  сервера и его эффективность. В иерархии хранения оперативная память стоит на втором месте после внутренних кэшей процессоров как по скорости, так и по стоимости хранения единицы информации.
Неэффективное ее использование существенно влияет на производительность, а значит – на отдачу от вложенных средств как на этапе покупки сервера, так и во время всего срока его эксплуатации.

Вклад чередования показан в отдельной заметке "Влияние балансировки памяти на производительность"

Понятно, что подсистема оперативной памяти просчитывается еще на этапе принятия решения о покупке сервера. Но подчас загодя предсказать ее необходимый объем проблематично. К тому же, объем и состав программного обеспечения, устанавливаемый на сервер, может существенно измениться уже при вводе его в эксплуатацию, не говоря уже об изменениях во времени.

Ревизия и перестройка подсистемы должны проводиться регулярно, поскольку эти мероприятия позволят сохранять эффективность эксплуатации системы. Они могут потребоваться при изменении нагрузки на сервер в результате:

  • изначальных ошибок в оценке необходимых ресурсов;
  • повышения объема выполняемых компанией задач в результате роста;
  • повышения требований к аппаратным ресурсам при обновлении установленного программного обеспечения;
  • ввода новых инструментов, функций или расширении спектра услуг в компании

Основные характеристики подсистемы памяти.

Ряд характеристик необходимо учитывать как при проектировании будущего сервера, так и при его перестройке – апгрейде или восстановлении (ремонте).

Объем оперативной памяти

Сверху объем оперативной памяти сервера ограничен количеством слотов DIMMв системе и максимальным объемом одного модуля того типа, который поддерживается процессорами системы. Снизу – только финансовыми возможностями компании.
В идеале – общий объем оперативной памяти при штатной загрузке системы не должен быть занят более, чем на 75%. Отдельные пики загрузки, если они непродолжительны, не существенно повлияют на производительность. Низкая загруженность системы говорит о неэффективно вложенных средствах. А полная занятость оперативной памяти приводит к процессам вытеснения задач (
swap), связанных с переносом части данных из оперативной памяти в дисковую и обратно за счет файлов подкачки – что кардинально снижает производительность сервера.

Уровень занятости физической оперативной памяти можно проверить различными встроенными в операционную систему мониторами производительности. Важно! Рассматривать необходимо именно физическую память, без учета файлов подкачки

Тип модулей

Тип модулей DIMM, поддерживаемых системой, жестко определяется типом установленных в сервер процессоров и описан в инструкции по эксплуатации или на сайте производителя. Это касается как собственно типа – DDR3, DDR4, буферизации модулей - буферизованная, регистровая, и системы исправления ошибок – ECC

Отдельный класс модулей памяти – LRDIMM, 3DS LRDIMM. Это модули повышенной емкости с оптимизированной за счет внутренних регистров нагрузкой на шину памяти. Так как внутренняя структура модулей этого типа существенно отличается от обычной RDIMM, одновременная установка DIMM разного типа в системе невозможна. Ни в каких сочетаниях.

Тактовая частота шины

Тактовая частота модулей памяти DIMM должна соответствовать максимальной частоте шины, поддерживаемой встроенным в процессор контроллером памяти – то есть, тоже определяется используемым процессором.

В серии XeonE5 младший процессор XeonE5 v4 – E5-2609v4 поддерживает частоты шины 1600/1866 МГц, средний E5-2630v4 - 1600/1866/2133 МГц, а более старшие, например E5-2650v4  - 1600/1866/2133/2400 МГц

В серии XeonScalable: Bronze3104 и 3106 поддерживает частоту 2133 МГц, Silver 4108 и 4110 - 2400 МГц, Gold 6130 – 2666 МГц.

В конфигурациях 2 модуля на канал (2DPC) и 3 модуля на канал (3DPC) серверов на процессорах XeonE5 с каждым добавлением DIMM в канал, на ступень уменьшается частота шины. Соответственно, если в канале процессора, поддерживающего шину 2400 МГц установлен 1 DIMM, он работает на полной частоте. Добавляем модуль в тот же канал – они работают на частоте 2133 МГц. Добавляем третий – канал настраивается на частоту 1866 МГц

Процессоры XeonScalable позволяют устанавливать до двух модулей DIMM на канал, снижения частоты шины при этом не происходит.

Модули DIMMс частотой большей, чем тактовая частота шины, установленная процессором, могут корректно работать в системе, но не наоборот.

Конфигурация - расположение модулей DIMM в слотах

Особенности работы контроллера (или контроллеров) памяти процессора приводят к тому, что число и карта расположения модулей DIMM в конкретных слотах сервера может сильно повлиять на его производительность. Несбалансированная конфигурация может иметь только 16% от потенциальной пропускной способности шины памяти. И добиться такого ухудшения характеристик можно довольно легко – лишь установив модуль DIMM в соседний слот, или добавив пару модулей в попытке расширить оперативную память и – тем самым – увеличить производительность. Такая существенная разница получается за счет технологии чередования, которую в правильной конфигурации удается реализовать процессору, а в несбалансированной системе – нет. О балансировке памяти смотрите дополнительные материалы.

Ранки

Данные по шине памяти передаются в единицах из 64 бит для всех типов DIMM. Это особенность технологии памяти DDR-SDRAM. Область памяти этой ширины трансформируется на группу чипов DRAM внутри DIMM - каждый отдельный чип отвечает за выдачу или 4 или 8 бит (обозначается как x4 или x8 в кодировке чипа). Такая группа чипов называется ранком. Существуют DIMM с 1, 2 или 4 ранками. DIMM максимальной емкостм - это модули с 4 ранками, но спецификация DDR4 допускает только 8 ранков на канал памяти. Процессор может организовать чередование по ранкам наряду с чередованием по каналам, контроллерам и т.д. (*)

Структуры x4 или x8 модулей DIMM по-разному задействованы  в системе обнаружения и исправления ошибок памяти ECC. Именно по этой причине RDIMM типа x4 нельзя смешивать с RDIMM типа x8.

Напряжение питания

Напряжение питания модулей DIMMзадано в описании системы/материнской платы. Для современных модулей обычно составляет 1,2 В.

Смешивание модулей с разными характеристиками в одной системе

Какие-то параметры модулей DIMM позволяют смешивать их в одной системе / канале памяти, какие-то  - жестко нет.

Например, установка модулей одного типа с разной тактовой частотой допустимо, но при этом все модули будут работать на частоте самого медленного.

Корректное расположение модулей одного типа разной емкости не приведет к снижению производительности

Сочетание модулей с различным количеством ранков при правильной их установке допустимо

Свод правил

В системе должен быть установлен хотя бы один модуль DIMM. Даже в 2-процессорной системе.

 

Совместимость

  • Все модули DIMMдолжны быть одного типа - DDR4 регистровые с коррекцией ошибок ECC
  • Модули небуферизованной памяти  (Unbuffered DIMM, UDIMM) не поддерживаются
  • Смешивание RDIMM, LRDIMM, 3DS LRDIMM в одной системе недопустимо – они не совместимы между собой. Ни в одном канале, ни на одном процессоре, ни на разных процессорах – никак.
  • Установка модулей разных производителей корректна. Важно – чтобы характеристики модулей были совместимы.
  • RDIMMс организацией x4 и x8 несовместимы.
  • Смешивание DIMM с разным количеством ранков в пределах одного канала допустимо
  • Ограничение по числу логических ранков
    •    Процессоры Intel Xeon E5 v3, v4
    • XeonE5 v3, v4 поддерживает до 8 ранков на канал, не превышайте это значение. Если необходима установка 3 модулей на канал (3DPC), модули должны быть 1- или 2-ранковыми.
    • Поскольку LRDIMM буферизуется, четырехранковый LRDIMM представляется процессору как двухранковый DIMM - что позволяет устанавливать 3шт LRDIMM на канал не превышая ограничение по ранкам.
    •    Процессоры Xeon Scalable
    • Так как процессоры Xeon Scalable позволяют устанавливать только до 2 модулей на канал, ограничение по ранкам для них снято.

 

Производительность

  • Последовательно заполняйте банки памяти без пропусков.
  • Распределение по каналам памяти.
    •    Процессоры Intel Xeon E5 v3, v4. Процессоры Xeon E5 нижнего диапазона - процессоры Intel Xeon E5 v3 с менее чем 10 ядрами и процессоры E5 v4 с менее чем 12 ядрами имеют только один контроллер памяти. В них все четыре канала памяти подключены к одному контроллеру. В более производительных процессорах встроено два контроллера памяти, каждый из которых управляет двумя каналами.
    • Старайтесь распределить модули памяти так, чтобы задействовать все каналы памяти процессора (4). Каждый канал дает 25% общей полосы пропускания подсистемы памяти. При этом, избегайте несбалансированных конфигураций. (*)
    •    Процессоры Xeon Scalable. Процессоры Xeon Scalable имеют 2 встроенных контроллера памяти, каждый из них управляет 3 каналами (всего 6).
    • Старайтесь распределить модули памяти так, чтобы задействовать все каналы памяти процессора Scalable (6). При этом, избегайте несбалансированных конфигураций. (*)
  • Для получения максимальной производительности, старайтесь, чтобы в системе были установлены все модули идентичного типа – одного производителя, емкости, тактовой частоты, внутренней организации.
  • Чередование.
    •    Процессоры Intel Xeon E5 v3, v4
    • Для получения максимальной производительности, устанавливайте память в сервер наборами по 4 идентичных модуля на один процессор– таким образом в полной мере будут задействованы все каналы памяти и максимально эффективно использовано чередование. (*)
    •    Процессоры Xeon Scalable
    • Для получения максимальной производительности, устанавливайте память в сервер наборами по 6 идентичных модулей на один процессор– таким образом в полной мере будут задействованы все каналы памяти и максимально эффективно использовано чередование. (*)
  • При установке модулей разной емкости в банк 0 устанавливаются самые емкие – они самые «тяжелые» с точки зрения нагрузки на шину модули, затем – банки 1 и 2, в порядке убывания.
  • Установка модулей одного типа с разной тактовой частотой допустимо, но при этом все модули будут работать на частоте самого медленного из них.
  • Модули DIMM с разными временными параметрами могут быть установлены на разных слотах в одном канале, но для всех модулей DIMM будут применяться только тайминги, поддерживающие самый медленный модуль DIMM
  • Когда модули DIMM с разным числом ранков устанавливаются в конфигурации 2DPC или 3DPC, всегда сначала заполняйте DIMM с более высоким номером (начиная с самого дальнего слота).

(*)   Про балансировку и чередование памяти в системах с различными процессорами читайте следующие статьи:

Балансировка чередования процессоров Intel Xeon E5 v3, v4, E7 v3

Балансировка чередования процессоровXeon Scalable

Балансировка чередования процессоров AMD EPYC

Перейти в раздел Оперативная память для сервера каталога

Перейти в раздел Сервер каталога

Вернуться к информационным материалам