
Появившаяся в сети информация о новинках — серверных процессорах AMD EPYC2 Rome — позволяет проанализировать преимущества и недостатки новой топологии, предполагающей отказ от архитектуры NUMA в пределах одного процессорного гнезда. Сделав поправку на неофициальный характер сведений, обнародованных популярным ресурсом, промоделируем предполагаемый сценарий развития событий: сможет ли новинка дать новый импульс производительности памяти?
System Controller Die
Согласно блок-схеме, топология новых процессоров основывается на применении отдельного кристалла системного контроллера или System Controller Die, ответственного за интерконнект мультичиповой конструкции и содержащего полный набор ресурсов системной логики (как северного так и южного мостов), включая порты PCI Express Gen 4 и восьмиканальный контроллер оперативной памяти.
Блок-схема процессора AMD EPYC2 Rome
(иллюстрация с сайта www.techpowerup.com)
Кристаллы вычислительных модулей, количество которых может достигать восьми, подключаются к системному контроллеру с помощью высокопроизводительного параллельного интерфейса. Каждый из таких модулей может содержать до 8 ядер, что при условии применения технологии SMT дает 16 потоков. Это означает 16*8 = 128 логических процессоров на сокет.
Что в итоге?
Рассмотренная многочиповая конструкция предполагает наличие общего восьмиканального DRAM-контроллера, равноудаленного относительно всех ядер, содержащихся в восьми вычислительных модулях. Чтобы дезинтеграция северного моста не стала шагом назад, потребуется высокопроизводительный интерфейс, ведь в такой системе любое обращение ядер CPU к оперативной памяти будет означать взаимодействие двух чипов.
Для сравнения, в топологии Naples, где каждый из четырех кристаллов содержит свой собственный двухканальный DRAM-контроллер, коммуникация между чипами в случае NUMA-оптимального обращения к локальному домену не требуется. Вместе с тем, равенство топологических расстояний для всех сценариев работы с памятью по определению означает отказ от архитектуры неоднородного доступа, в том числе для обращений к системному ОЗУ со стороны многочисленной и высокопроизводительной bus-master периферии.
Таким образом, для программного обеспечения, выполняемого на односокетной платформе, NUMA-оптимизация (вернее, ее отсутствие) может потерять статус критического фактора. Сказанное не означает наступление беззаботной жизни для разработчиков программного обеспечения, ведь реализация возможностей платформ, содержащих более 64 логических процессоров проблематична без аккуратной поддержки технологии Processor Groups.