Специально указала длинный текст баннера, чтобы посмотреть как он будет адаптировать на устройствах
Тест каналов памяти на Intel Xeon Scalable: как выбрать верное число DIMM

Тест каналов памяти на Intel Xeon Scalable: как выбрать верное число DIMM

Статьи Сложный
0
0

Введение

IT-индустрия не стоит на месте, из года в год делая значительные шаги вперед, в том числе и в области разработки передовых компонентов для вычислительных устройств. Особенно сильно усложнился такой элемент, как подсистема оперативной памяти, что связано с развитием центральных процессоров — ядер становится больше, а их производительность увеличивается, в результате чего растут и требования к пропускной способности подсистемы памяти. Вследствие этого, владельцы серверных платформ, которые хотят масштабировать свою систему, вынуждены учитывать не только вместительность модулей памяти, но и оптимальное количество DIMM для корректной работы контроллера. В этой статье мы объясним, как подобрать правильное количество модулей DIMM для достижения максимальной эффективности контроллера памяти, подкрепив это результатами тестов разных конфигураций памяти в тестовом стенде с процессорами Intel Xeon Gold 6244 на сокете LGA-3647.

Что такое подсистема памяти и как она работает?

Подсистема памяти — это компоненты, отвечающие за все операции передачи данных между CPU и RAM. Чтобы лучше понимать принцип работы подсистемы памяти, стоит объяснить, из каких компонентов она состоит:

  • Контроллер памяти. Элемент, интегрируемый в центральный процессор, который управляет чтением и записью данных.
  • Каналы памяти. Логические пути, по которым данные передаются между оперативной памятью и процессором.
  • Модули памяти. Устройства, записывающие и временно хранящие данные для быстрого доступа процессора.
  • Топология. Технология последовательного подключения устройств друг к другу. От топологии будет зависеть, в какой модуль RAM будут в первую очередь поступать данные. В серверных системах используется топология Daisy Chain.
тест каналов DIMM
Все компоненты подсистемы памяти в собранном виде.

Что такое балансировка конфигурации и чередование памяти?

Поскольку в наших тестах мы будем затрагивать такой термин, как балансировка конфигурации, стоит объяснить, что это такое. Балансировка памяти — это процесс правильной интеграции и выбора модулей памяти, при котором все характеристики DIMM совпадают (емкость, ранг, частота, тайминги), все модули являются двухранговыми и были расположены корректно. Если не выполнить балансировку, то эффективность подсистемы может значительно снизиться, поскольку процессор не сможет выполнить так называемое чередование памяти.

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

тест каналов DIMM
Схема работы контроллера памяти процессора Intel Xeon Gold 6244. Источник: Intel.

Используемые компоненты

Теперь, когда мы объяснили вам, как работает подсистема памяти и объяснили значение балансировки конфигурации, стоит ознакомиться с компонентами, которые мы использовали для оценки эффективности работы подсистемы памяти.

Материнская плата

Основа нашей системы — материнская плата Supermicro X11DPI-NT с двумя сокетами LGA-3647. Это решение имеет 16 слотов для интеграции модулей DIMM общим объемом до 2 ТБ, поддерживает процессоры Intel Xeon Scalable первого и второго поколения, а также может работать с такими форматами памяти, как DDR4-2666 МГц, DDR4-2933 МГц с поддержкой коррекции ошибок и буферизацией. Стоит отметить, что при интеграции модулей оперативной памяти, мы строго следовали рекомендациям, которые представлены в разделе “Memory Guide” на сайте компании Supermicro. Благодаря интеграции DIMM в правильные слоты, мы обеспечиваем наиболее корректную работу оперативной памяти.

тест каналов DIMM
Двухсокетная материнская плата Supermicro X11DPI-NT на базе процессоров Intel Xeon Gold 6244.

Процессор

В качестве центрального процессора мы выбрали чип Intel Xeon Gold 6244 второго поколения на архитектуре Cascade Lake. Этот CPU имеют 8 ядер, 16 потоков, тактовую частоту до 4,4 ГГц, а его главной особенностью является улучшенный шестиканальный контроллер памяти, который обеспечивает лучшее взаимодействие с современными модулями DIMM. Несмотря на то, что процессоры Intel Xeon Gold 6244 вышли еще в 2019 году, эти решения все еще остаются крайне популярными и их можно успешно использовать для различных задач, вроде развертывания 1С.

тест каналов DIMM
Серверный центральный процессор Intel Xeon Gold 6244.

Оперативная память

Мы интегрировали в нашу систему модули оперативной памяти от компании Samsung на 32 ГБ формата DDR4-2933 ECC REG. Эти решения являются двухранговыми и имеют 4-битные чипы памяти(2Rx4), разделенные между двумя логическими частями. Благодаря наличию двух рангов, модуль оперативной памяти всегда может принимать новые данные для записи и чтения, что устраняет проблему перегрузки оперативной памяти и ускоряет обработку информации. Двухранговая система памяти является эталонной для интеграции в серверы и другие вычислительные устройства, поэтому в нашем тестировании мы будем использовать именно ее.

тест каналов DIMM
Серверный модуль DIMM от компании Samsung на 32 ГБ с поддержкой ECC REG.

Программное обеспечение

Также стоит отметить, что тестовый стенд был запущен на операционной системе Windows Server 2019, а для тестирования производительности памяти использовалось специальный бенчмарк AIDA64 Cache and Memory Benchmark.

Тестирование разных конфигураций памяти в односокетной системе

В рамках нашего тестирования мы ознакомимся с популярными конфигурациями памяти, которые указаны в пользовательском мануале компании Supermicro, протестировав не только рекомендуемые, но и не рекомендуемые сборки. Основываясь на результатах тестов, вы сможете подобрать для себя максимально эффективную конфигурацию, а также сравнить пропускную способность систем с разным количеством CPU и модулей DIMM.

1 CPU: 1 DIMM

Для начала мы проверили производительность оперативной памяти при интеграции одного модуля DIMM в односокетную систему. У компании Supermicro нет отрицательных рекомендаций по установке одного модуля оперативной памяти, однако как видно в результатах теста, производительность такой конфигурации крайне мала.

тест каналов DIMM
Односокетная конфигурация с одним модулем DIMM.

1 CPU: 2 DIMM

Интегрируем в систему второй модуль DIMM и замеряем результаты.

тест каналов DIMM
Односокетная конфигурация с двумя модулями DIMM.

Тест показал почти 2-кратное увеличение производительности чтения, записи и копирования данных. Также видно незначительное увеличение латентности памяти. На сайте Supermicro нет предупреждений касательно сборок с такой конфигурацией оперативной памяти.

1 CPU: 3 DIMM

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

тест каналов DIMM
Односокетная конфигурация с тремя модулями DIMM.

Конфигурация с тремя DIMM может показаться весьма странной, однако контроллер памяти работает в штатном режиме, поскольку CPU на базе LGA3647 имеют 6-каналый контроллер памяти, а трех канальная конфигурация поровну делится на количество модулей оперативной памяти. В результате этого, интеграция третьего модуля обеспечила прирост пропускной способности при минимальном увеличении латентности.

1 CPU: 4 DIMM

Затем мы решили интегрировать в систему четвертый модуль DIMM. Стоит отметить, что из-за наличия 4-каналов памяти в прошлых поколениях CPU Intel Xeon E5, 4 DIMM конфигурации считались эталонными и применялись повсеместно.

тест каналов DIMM
Односокетная конфигурация с четырьмя модулями DIMM.

Так как процессор имеет 6 каналов, может показаться, что интеграция 4 модулей оперативной памяти гарантированно вызовет разбалансировку. Однако, компания Intel предусмотрела эту проблему, устранив разбалансировку, что позволило увеличить производительность памяти, при этом снизив латентность на 2 пункта. Возможно, Intel ожидала, что многие пользователи захотят интегрировать в свои системы 4 модуля оперативной памяти как при использовании прошлых поколений CPU, поэтому компания добавила возможность сборки такой гибкой конфигурации на аппаратном уровне.

1 CPU: 5 DIMM

Теперь мы интегрируем в систему 5 модулей памяти. Стоит отметить, что это первая конфигурация памяти, которая не рекомендуется к использованию компанией Supermicro из-за гарантированной разбалансировки вследствие неправильного распределения каналов памяти. Тем не менее, мы решили протестировать такую конфигурацию, поскольку наши клиенты при консультировании интересуются возможностью интеграции дополнительного модуля памяти в систему в целях масштабирования объема памяти. Показываем на практике к чему приводит создание такой конфигурации:

тест каналов DIMM
Односокетная конфигурация с пятью модулями DIMM.

Бенчмарк выявил, что добавление пятого модуля DIMM в существующую конфигурацию памяти привело к минимальному приросту производительности — показатели увеличились в пределах статистической погрешности. Это подтверждает гипотезу о возникновении разбалансировки каналов памяти, характерной для несимметричных конфигураций.

Примечательно, что контроллер памяти процессора продемонстрировал гибкость при изменении топологии RAM: интеграция дополнительного модуля не вызвала ожидаемого снижения эффективности работы. В типичных сценариях асимметричная загрузка каналов (например, 5 модулей вместо стандартных 4 провоцирует увеличение латентности из-за неравномерного распределения нагрузки. Однако в данном случае процессор успешно нивелировал потенциально негативное воздействие, сохранив базовые показатели пропускной способности на уровне референсной конфигурации.

1 CPU: 6 DIMM

Интегрируем в систему шестой модуль DIMM и рассмотрим результаты бенчмарка памяти. Такая конфигурация памяти является эталонной из-за задействования всех шести каналов памяти CPU.

тест каналов DIMM
Односокетная конфигурация с шестью модулями DIMM.

Как мы видим, значительного прироста пропускной способности не произошло, что весьма парадоксально. Нам так и не удалось выяснить причину такого незначительного увеличения производительности. Возможно, Intel добавили определенный лимит пропускной способности на один CPU, чтобы мотивировать потребителей использовать двухсокетные системы, в которых при интеграции 6 модулей DIMM производительность значительно увеличивается.

Тестирование разных конфигураций памяти в двухсокетной системе

Ранее мы рассмотрели возможные конфигурации памяти в односокетной системе, однако, серверы могут поддерживать два, четыре или даже восемь центральных процессоров. В рамках нашего теста мы создадим двухсокетную систему, поскольку именно такая конфигурация сервера является наиболее востребованной. Но для полноты понимания работы двухсокетной конфигурации и ее влияния на балансировку конфигурации памяти, стоит объяснить, как работает межсоединение между Intel Xeon Scalable второго и первого поколения.

тест каналов DIMM
Схема работы подсистемы памяти с двумя процессорами, соединенных двойным интерконнектом UPI. Источник: Supermicro.

Между двумя процессорами проложено 2 интерконнекта Intel под названием UPI (Ultra Path Interconnect), который позволяет чипам Intel Xeon напрямую взаимодействовать друг с другом на скорости до 10,4 ГТ/с, обеспечивая низкую задержку и высокую пропускную способность. Интересно, что компания Intel измеряет скорость передачи чипов не в стандартных гигабитах в секунду, а в гигатранзакциях в секунду, которая определяет количество произведенных операций пересылки данных по каким-либо каналам связи. В платформе Intel Purley разработчики уделили особое внимание улучшению интерконнекта UPI, сделав его пропускную способность вдвое больше по сравнению с предыдущей версией интерконнекта Intel QPI. Эффективность работы интерконнекта процессоров крайне важна для обеспечения высокой производительности подсистемы оперативной памяти, поскольку некоторые приложения могут требовать доступ к памяти сразу от обоих процессоров.

2 CPU: 2 DIMM

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

тест каналов DIMM
Двухсокетная конфигурация с двумя модулями DIMM.

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

2 CPU: 4 DIMM

Переходим к тесту конфигурации с четырьмя модулями DIMM.

тест каналов DIMM
Двухсокетная конфигурация с четырьмя модулями DIMM.

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

2 CPU: 6 DIMM

Далее протестируем систему с шестью модулями памяти.

тест каналов DIMM
Двухсокетная конфигурация с шестью модулями DIMM.

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

2 CPU: 8 DIMM

Теперь проверим производительность при интеграции восьми модулей DIMM.

тест каналов DIMM
Двухсокетная конфигурация с восемью модулями DIMM.

Несмотря на отсутствие прямых указаний в документации Supermicro о рисках разбалансировки каналов памяти при установке восьми модулей RAM в двухсокетную конфигурацию, практическое тестирование выявило явный дисбаланс — зафиксировано снижение производительности.

2 CPU: 12 DIMM

Проводим последний тест конфигурации оперативной памяти с 12 модулями DIMM.

тест каналов DIMM
Двухсокетная конфигурация с двенадцатью модулями DIMM.

Результаты тестирования продемонстрировали значительное увеличение производительности. Показатели подтверждают, что конфигурация с равномерным распределением модулей памяти (по одному DIMM на канал) является оптимальной для двухсокетных серверных систем. В данном случае задействование 12 независимых каналов (по 6 на каждый процессор) исключает перегрузку контроллера памяти, обеспечивая полную реализацию многоканального режима. Отсутствие конкуренции за доступ к шине минимизирует задержки, а синхронная работа всех каналов позволяет равномерно распределить нагрузку между банками памяти. Это особенно критично для задач, требующих высокой пропускной способности при чтении, таких как обработка транзакционных запросов в СУБД или анализ больших данных в реальном времени.

Выводы

Итак, мы наглядно показали, какой производительности можно добиться при использовании разных конфигураций памяти и даже протестировали сценарии, которые не рекомендуются производителями материнских плат, чтобы отбросить все сомнения пользователей. Компания ServerFlow рекомендует вам ответственно подходить к выбору модулей DIMM и правильно интегрировать их в вашу систему, чтобы достичь наилучшей пропускной способности. Если вы хотите приобрести подходящие модули оперативной памяти для вашей системы, то мы также готовы предложить широкий ассортимент DIMM из нашего каталога. У ServerFlow в наличии есть масса DIMM от разных производителей с емкостью, тактовой частотой и технологиями, удовлетворяющими требования даже самых избирательных клиентов.

Оставь свой комментарий