Память для серверов AMD Socket SP3, также именуемые как поколение EPYC, основанные на архитектуре Zen. Какую конфигурацию поддерживают и как правильно забивать банки памяти? EPYC, или серверные процессоры AMD, за последние несколько лет набрали высокую популярность среди интеграторов серверов и кластерных систем. Благодаря унифицированной архитектуре SoC, позволяющей апгрейдить сервера без смены платформы, популярность будет и дальше расти. Мы же сосредоточимся на поддерживаемой памяти и ее правильном выборе.
Платформа AMD
SoC, или «система на чипе» в дословном переводе с английского языка. AMD изначально выпускала серверные процессоры поколения EPYC с прицелом на высокий уровень совместимости платформ и ревизий. В этом и заключается сильная сторона AMD. Единый процессорный разъем Socket SP3 позволяет при поддержке BIOS устанавливать в одну и ту же материнскую плату как Zen (кодовое имя Naples), Zen 2 (Rome), так и последние Zen 3 (Milan). Однако, многие производители серверных материнских плат в угоду выгоде отказались от преемственности и платы поделили на две категории:
И хотя на рынке в теории должны быть модели с поддержкой всех 3 поколений, найти их не так-то и просто. В спецификациях всех 3 поколений идет совместимость с DDR4-2666…3200 ECC памятью, 8 каналов и до 2 ТБ на процессор. Естественно, заявлена поддержка Registered и Load Reduced модулями.
Абсолютно все версии EPYC оснащаются контроллером памяти с 8 каналами. Это значит, что модули лучше всего устанавливать кратно 8 шт. Но есть у AMD одна особенность, и кроется она в максимальной частоте работы памяти:
Поколение Naples и Rome поддерживают память при условии установки RDIMM и LRDIMM по 1 модулю на канал до 2933 МГц. Третьи и вторые EPYC с улучшенным контроллером поддерживает память до 3200 МГц, что вкупе с 8 канальным управлением дает серьезный рывок в пропускной способности. В целом для Naples и Rome ничего страшного не происходит, просто с более низкой частотой производители тонко намекают: — «Частоты нет, но вы держитесь».
С другой стороны, при правильном выборе поставщика материнской платы и на Rome процессоре частота в 3200 МГц вполне достижима даже с 8 планками. Все очень сильно зависит от поддержки BIOS. Завез производитель режимы с повышенной частотой – закупились правильной памятью – она будет работать на этой частоте. Выяснить это заочно очень сложно. Если в 80% Intel платформ управление частотой памяти есть, то в BIOS AMD sp3 материнских плат данный раздел вовсе может отсутствовать.
EPYC 1 поколения (Naples)
Выпускался в 1 и 2 сокетном исполнении с поддержкой памяти от 2400 до 2666 МГц. Различные версии материнских плат оснащались от 4 до 16 разъемами памяти на процессор. Все платы с менее чем 8 слотами урезали количество каналов памяти (встречаются модели с 8 слотами, но использующие только 4 канала памяти!). В зависимости от энергопотребления процессора, AMD заявляла о различной поддержке частоты памяти. Эта официальная позиция AMD отражена в таблице, на деле частота больше зависит от BIOS. Часть производителей вообще обходила стороной выпуск плат с 2/4 слотами. И все же mini ITX серверные решения в ряде задач пользуются до сих пор высоким спросом, а места под полные 8 слотов на них не находится. Тогда вендоры меняют тип памяти с DIMM на SO-DIMM и устанавливают от 2 до 4 слотов.
Внешний вид такой продукции, да в общем и функционал, оставляет желать лучшего. Отрезанными становятся половина каналов памяти, соответственно пропускная способность уменьшается вдвое. Впрочем, в таких системах возникают трудности еще с охлаждением. Как черта под архитектурой Naples – выбирайте полнофункциональные материнские платы или платформы, где установлено от 8 до 16 слотов памяти, чтобы задействовать все 8 каналов. Использовать разумнее 2-ранговую память.
Подходящие модули Kingston:
4 слота (4 канала памяти), однопроцессорная конфигурация, частота 2666 МГц, можно использовать 1 и 2 ранговую память:
https://www.kingston.com/unitedstates/ru/memory/server-premier
https://www.kingston.com/unitedstates/ru/memory/server-premier/ddr4-2666mhz
8 слотов (4 канала памяти на материнской плате), однопроцессорная конфигурация, частота от 1866 до 2666 Мгц в зависимости от количества устанавливаемых модулей и ранговости. В независимости от типа LR (Load Reduced) или R (Registered) подходящие модули найти уже сложно, так как частоты ниже 2666 МГц постепенно исчезают из продажи. Но можно пойти другим путем, покупая более частотную память, а BIOS сам выставит максимально допустимую частоту. Поэтому подходят 1 и 2-ранговые планки Kingston с номинальной частотой 2666 Мгц. Максимальная частота достигается при использовании 1 модуля на канал с 1-ранговой организацией.
https://www.kingston.com/unitedstates/ru/memory/server-premier/ddr4-2666mhz
https://www.kingston.com/unitedstates/ru/memory/server-premier
16 слотов на процессор (8 каналов памяти на материнской плате), одна и двухпроцессорная конфигурация, частота от 2133 до 2666 Мгц в зависимости от количества устанавливаемых модулей и ранговости. Рекомендуется использовать по одному одноранговому модулю на канал, даже при наличии 2 слотов под 1 канал, так как разница в частоте между 2133 и 2666 становится ощутимой в требовательных к пропускной способности памяти приложениях.
Более свежая платформа, поддерживающая память с частотой от 2666 МГц и выше. Существует в 1 и 2-процессорных конфигурациях. Распространенное число слотов на процессор – 8 и 16. Так же встречаются модификации материнских плат с 4 слотами и 4 каналами памяти вместо 8. В основном используются такие платы в ITX платформах. С поколением Rome выбор памяти существенно упростился ввиду внесенных изменений в контроллер памяти CPU. Улучшилась всеядность, от чего нет необходимости учитывать ранговость и количество модулей на канал памяти.
При использовании материнских плат, изначально разработанных под ядро Naples, которые впоследствии получили обновления BIOS и поддержку архитектуры Rome, максимальная частота памяти будет ограничена числом 2933 МГц. Такова цена за поддержку более свежих процессоров. 2 категория плат, появившаяся после анонса архитектуры Rome, в полной степени совместима с модулями частотой 3200 МГц и после обновления BIOS позволяет установку Zen 3 (Milan).
Это третье поколение серверных процессоров EPYC, которые также известны под кодовым именем Milan. Они являются носителями архитектуры Zen 3 и содержат множество улучшений. Большинство материнских плат, выпущенных для EPYC 2 поколения, после обновления BIOS будут поддерживать и новое поколение. Хотя всегда найдутся исключения из правил, но их ничтожно мало. В плане вопросов совместимости с модулями памяти все упрощено: любая серверная память (1 или 2 ранговая с ECC, Load Reduced или Registered) с частотой 3200 МГц. Как всегда, наибольшая производительность достигается с 2-ранговостью и 1 модулем в 1 канале при задействовании всех 8 каналов.
Чтобы определить влияние используемых каналов памяти на сервере с процессором EPYC, обратимся к практическим исследованиям, используя платформу ASUS RS500A-E10-RS12U. Материнская плата оборудована 16 слотами памяти DDR4, но для раскрытия всего потенциала платформы мы ограничимся 1 модулем в 1 канале, т.е. не будет нагружать каждый канал 2 планками памяти. Всего в нашем распоряжении 8 DIMM DDR4, емкость каждого 32 ГБ, что в сумме дает 256 ГБ памяти.
Доступные варианты установки 1-8 планок следующие: 1/2/4/8 каналов. В качестве операционной системы будет выступать Windows Server 2019. Показательнее было бы задействовать виртуализацию и разместить несколько виртуальных машин, но чистота эксперимента не будет достигнута и искать ответы среди множества переменных сложнее. Поэтому сделаем по старинке: ставим ОС, отключаем почти все сервисы и производим тесты, определяющие скорость работы памяти при различном использовании каналов.
Всего мы провели 4 теста, оценивающие разницу между задействованным числом каналов памяти. Частота памяти во всех тестах была фиксированная и составляла 3200 МГц. Используемый процессор – AMD EPYC 7642 32 ядра и 64 потока.
В результате выяснилось, как и ожидалось, максимальная производительность памяти достигается с 8 канальной памятью, но и при 4 каналах скорость работы существенно не падает. Страдают только показатели чтения и копирования из памяти. 1/2 канальная система сильно деградирует по показателям. Любые зависимые от ПСП памяти приложения потеряют от перехода с 8/4 каналов на 1/2 канала до 60% производительности, а какие это приложения? Если смотреть абстрактно, то прикладного ПО, использующего интенсивно массивы памяти достаточно, начиная от программ научных расчетов до банальных баз данных и всеми «любимой» 1С.
Выбор правильного расположения и количества модулей памяти в серверных решениях AMD задача важная. Неправильное использование доступных каналов, неправильная установка DIMM приводит к печальным результатам, когда потенциально быстрый сервер работает вдвое, а то и вчетверо медленнее. Универсальные модули памяти Kingston подходят под все 3 поколения процессоров EPYC. Но внимательно выбирайте память, учитывая ранговость и количество для EPYC первого поколения. Исчезающая с полок магазинов DDR4 серверная память с частотой ниже 2400 МГц добавит вам седых волос в выборе. Однако, даже 2666 МГц планки Kingston прекрасно уживаются в старых системах, работая на сниженной частоте и не вызывая ошибок совместимости. Стоит учитывать, что львиная доля AMD EPYC материнских плат в BIOS не имеют настроек выбора частоты памяти. Поэтому важным аспектом становится вендор-производитель памяти. Тестируя свои модули на совместимость, Kingston гарантирует беспроблемное существование DDR4 серверной памяти и в старых платформах. Выбрать совместимую с AMD EPYC память можно на странице-конфигураторе.
Несколько советов для EPYC систем:
Для получения дополнительной информации о продуктах Kingston обращайтесь на официальный сайт компании.
Платформа AMD
SoC, или «система на чипе» в дословном переводе с английского языка. AMD изначально выпускала серверные процессоры поколения EPYC с прицелом на высокий уровень совместимости платформ и ревизий. В этом и заключается сильная сторона AMD. Единый процессорный разъем Socket SP3 позволяет при поддержке BIOS устанавливать в одну и ту же материнскую плату как Zen (кодовое имя Naples), Zen 2 (Rome), так и последние Zen 3 (Milan). Однако, многие производители серверных материнских плат в угоду выгоде отказались от преемственности и платы поделили на две категории:
- Поддержка Zen (Naples), или поддержка Zen (Naples) + Zen 2 (Rome);
- Поддержка Zen 2 (Rome) + Zen 3 (Milan);
И хотя на рынке в теории должны быть модели с поддержкой всех 3 поколений, найти их не так-то и просто. В спецификациях всех 3 поколений идет совместимость с DDR4-2666…3200 ECC памятью, 8 каналов и до 2 ТБ на процессор. Естественно, заявлена поддержка Registered и Load Reduced модулями.
Абсолютно все версии EPYC оснащаются контроллером памяти с 8 каналами. Это значит, что модули лучше всего устанавливать кратно 8 шт. Но есть у AMD одна особенность, и кроется она в максимальной частоте работы памяти:
Поколение Naples и Rome поддерживают память при условии установки RDIMM и LRDIMM по 1 модулю на канал до 2933 МГц. Третьи и вторые EPYC с улучшенным контроллером поддерживает память до 3200 МГц, что вкупе с 8 канальным управлением дает серьезный рывок в пропускной способности. В целом для Naples и Rome ничего страшного не происходит, просто с более низкой частотой производители тонко намекают: — «Частоты нет, но вы держитесь».
С другой стороны, при правильном выборе поставщика материнской платы и на Rome процессоре частота в 3200 МГц вполне достижима даже с 8 планками. Все очень сильно зависит от поддержки BIOS. Завез производитель режимы с повышенной частотой – закупились правильной памятью – она будет работать на этой частоте. Выяснить это заочно очень сложно. Если в 80% Intel платформ управление частотой памяти есть, то в BIOS AMD sp3 материнских плат данный раздел вовсе может отсутствовать.
EPYC 1 поколения (Naples)
Выпускался в 1 и 2 сокетном исполнении с поддержкой памяти от 2400 до 2666 МГц. Различные версии материнских плат оснащались от 4 до 16 разъемами памяти на процессор. Все платы с менее чем 8 слотами урезали количество каналов памяти (встречаются модели с 8 слотами, но использующие только 4 канала памяти!). В зависимости от энергопотребления процессора, AMD заявляла о различной поддержке частоты памяти. Эта официальная позиция AMD отражена в таблице, на деле частота больше зависит от BIOS. Часть производителей вообще обходила стороной выпуск плат с 2/4 слотами. И все же mini ITX серверные решения в ряде задач пользуются до сих пор высоким спросом, а места под полные 8 слотов на них не находится. Тогда вендоры меняют тип памяти с DIMM на SO-DIMM и устанавливают от 2 до 4 слотов.
Внешний вид такой продукции, да в общем и функционал, оставляет желать лучшего. Отрезанными становятся половина каналов памяти, соответственно пропускная способность уменьшается вдвое. Впрочем, в таких системах возникают трудности еще с охлаждением. Как черта под архитектурой Naples – выбирайте полнофункциональные материнские платы или платформы, где установлено от 8 до 16 слотов памяти, чтобы задействовать все 8 каналов. Использовать разумнее 2-ранговую память.
Подходящие модули Kingston:
4 слота (4 канала памяти), однопроцессорная конфигурация, частота 2666 МГц, можно использовать 1 и 2 ранговую память:
https://www.kingston.com/unitedstates/ru/memory/server-premier
https://www.kingston.com/unitedstates/ru/memory/server-premier/ddr4-2666mhz
8 слотов (4 канала памяти на материнской плате), однопроцессорная конфигурация, частота от 1866 до 2666 Мгц в зависимости от количества устанавливаемых модулей и ранговости. В независимости от типа LR (Load Reduced) или R (Registered) подходящие модули найти уже сложно, так как частоты ниже 2666 МГц постепенно исчезают из продажи. Но можно пойти другим путем, покупая более частотную память, а BIOS сам выставит максимально допустимую частоту. Поэтому подходят 1 и 2-ранговые планки Kingston с номинальной частотой 2666 Мгц. Максимальная частота достигается при использовании 1 модуля на канал с 1-ранговой организацией.
https://www.kingston.com/unitedstates/ru/memory/server-premier/ddr4-2666mhz
https://www.kingston.com/unitedstates/ru/memory/server-premier
16 слотов на процессор (8 каналов памяти на материнской плате), одна и двухпроцессорная конфигурация, частота от 2133 до 2666 Мгц в зависимости от количества устанавливаемых модулей и ранговости. Рекомендуется использовать по одному одноранговому модулю на канал, даже при наличии 2 слотов под 1 канал, так как разница в частоте между 2133 и 2666 становится ощутимой в требовательных к пропускной способности памяти приложениях.
EPYC 2 поколения (Rome)
Более свежая платформа, поддерживающая память с частотой от 2666 МГц и выше. Существует в 1 и 2-процессорных конфигурациях. Распространенное число слотов на процессор – 8 и 16. Так же встречаются модификации материнских плат с 4 слотами и 4 каналами памяти вместо 8. В основном используются такие платы в ITX платформах. С поколением Rome выбор памяти существенно упростился ввиду внесенных изменений в контроллер памяти CPU. Улучшилась всеядность, от чего нет необходимости учитывать ранговость и количество модулей на канал памяти.
При использовании материнских плат, изначально разработанных под ядро Naples, которые впоследствии получили обновления BIOS и поддержку архитектуры Rome, максимальная частота памяти будет ограничена числом 2933 МГц. Такова цена за поддержку более свежих процессоров. 2 категория плат, появившаяся после анонса архитектуры Rome, в полной степени совместима с модулями частотой 3200 МГц и после обновления BIOS позволяет установку Zen 3 (Milan).
EPYC 3 поколения (Milan)
Это третье поколение серверных процессоров EPYC, которые также известны под кодовым именем Milan. Они являются носителями архитектуры Zen 3 и содержат множество улучшений. Большинство материнских плат, выпущенных для EPYC 2 поколения, после обновления BIOS будут поддерживать и новое поколение. Хотя всегда найдутся исключения из правил, но их ничтожно мало. В плане вопросов совместимости с модулями памяти все упрощено: любая серверная память (1 или 2 ранговая с ECC, Load Reduced или Registered) с частотой 3200 МГц. Как всегда, наибольшая производительность достигается с 2-ранговостью и 1 модулем в 1 канале при задействовании всех 8 каналов.
Тестирование
Чтобы определить влияние используемых каналов памяти на сервере с процессором EPYC, обратимся к практическим исследованиям, используя платформу ASUS RS500A-E10-RS12U. Материнская плата оборудована 16 слотами памяти DDR4, но для раскрытия всего потенциала платформы мы ограничимся 1 модулем в 1 канале, т.е. не будет нагружать каждый канал 2 планками памяти. Всего в нашем распоряжении 8 DIMM DDR4, емкость каждого 32 ГБ, что в сумме дает 256 ГБ памяти.
Доступные варианты установки 1-8 планок следующие: 1/2/4/8 каналов. В качестве операционной системы будет выступать Windows Server 2019. Показательнее было бы задействовать виртуализацию и разместить несколько виртуальных машин, но чистота эксперимента не будет достигнута и искать ответы среди множества переменных сложнее. Поэтому сделаем по старинке: ставим ОС, отключаем почти все сервисы и производим тесты, определяющие скорость работы памяти при различном использовании каналов.
Всего мы провели 4 теста, оценивающие разницу между задействованным числом каналов памяти. Частота памяти во всех тестах была фиксированная и составляла 3200 МГц. Используемый процессор – AMD EPYC 7642 32 ядра и 64 потока.
В результате выяснилось, как и ожидалось, максимальная производительность памяти достигается с 8 канальной памятью, но и при 4 каналах скорость работы существенно не падает. Страдают только показатели чтения и копирования из памяти. 1/2 канальная система сильно деградирует по показателям. Любые зависимые от ПСП памяти приложения потеряют от перехода с 8/4 каналов на 1/2 канала до 60% производительности, а какие это приложения? Если смотреть абстрактно, то прикладного ПО, использующего интенсивно массивы памяти достаточно, начиная от программ научных расчетов до банальных баз данных и всеми «любимой» 1С.
Выводы
Выбор правильного расположения и количества модулей памяти в серверных решениях AMD задача важная. Неправильное использование доступных каналов, неправильная установка DIMM приводит к печальным результатам, когда потенциально быстрый сервер работает вдвое, а то и вчетверо медленнее. Универсальные модули памяти Kingston подходят под все 3 поколения процессоров EPYC. Но внимательно выбирайте память, учитывая ранговость и количество для EPYC первого поколения. Исчезающая с полок магазинов DDR4 серверная память с частотой ниже 2400 МГц добавит вам седых волос в выборе. Однако, даже 2666 МГц планки Kingston прекрасно уживаются в старых системах, работая на сниженной частоте и не вызывая ошибок совместимости. Стоит учитывать, что львиная доля AMD EPYC материнских плат в BIOS не имеют настроек выбора частоты памяти. Поэтому важным аспектом становится вендор-производитель памяти. Тестируя свои модули на совместимость, Kingston гарантирует беспроблемное существование DDR4 серверной памяти и в старых платформах. Выбрать совместимую с AMD EPYC память можно на странице-конфигураторе.
Несколько советов для EPYC систем:
- Используйте модули с одинаковой частотой;
- Устанавливать разные по конфигурации планки в два слота 1 канала нельзя;
- Смешивать ECC и не ECC память нельзя;
- Модули с ассиметричной конфигурацией чипов (разноранговые) использовать запрещено;
Для получения дополнительной информации о продуктах Kingston обращайтесь на официальный сайт компании.