For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
Во-первых, обратите внимание, что Intel Core i7 - это просто маркетинговое обозначение, а фраза Intel Core i7 (или более поздняя версия) очень расплывчата. Так что бы это могло значить?
Kconfig
Редактирование текста справки ядра Linux с упоминанием Intel Core 7i , затем исправленное в Intel Core i7 , было сделано в ноябре 2008 года. Журнал фиксации гласит:
x86: update CONFIG_NUMA description
Impact: clarify/update CONFIG_NUMA text
CONFIG_NUMA description talk about a bit old thing.
So, following changes are better.
o CONFIG_NUMA is no longer EXPERIMENTAL
o Opteron is not the only processor of NUMA topology on x86_64 no longer,
but also Intel Core7i has it.
Это может относиться только к процессорам Intel Core i7, выпущенным или анонсированным к тому времени. Это будут процессоры Bloomfield , основанные на микроархитектуре Nehalem , которые перенесли контроллер памяти из северного моста в ЦП (что AMD сделала в 2003 году с Opteron / AMD64) и представили QuickPath Interconnect / QPI (как подвеска к гипертранспорту AMD) для соединения CPU / CPU и CPU / IOH (IO-концентратор, бывший северный мост).
Процессоры Bloomdale i7 были первыми элементами новой схемы именования Core i {3,5,7} . Поэтому, когда был написан этот документный документ по Linux, i7 конкретно не ссылался на Core i7, в отличие от i5 (сначала в 09/2009) или i3 (сначала в 01/2010), но, по всей вероятности, на новую микроархитектуру Nehalem с его встроенный контроллер памяти и QPI.
Существует пресс-релиз Intel от 11/2008 о i7 ( Intel запускает самый быстрый процессор на планете ), в котором говорится, что процессор Core i7 более чем удваивает пропускную способность памяти предыдущих платформ Intel "Extreme" , но вообще не упоминает NUMA ,
Думаю, причина в том, что NUMA не имеет значения для настольных ПК, даже для «экстремальных».
NUMA имеет значение для дорогих серверов, которые имеют несколько сокетов ЦП (а не только несколько ядер на одном сокете) с выделенными линиями доступа к физической памяти (не только один контроллер памяти), так что каждый ЦП имеет свою выделенную локальную память, которая «ближе» к нему. чем память других процессоров. (Представьте себе 8 сокетов, 64 ядра, 256 ГБ ОЗУ.) NUMA означает, что ЦП может также получать доступ к удаленной памяти (локальной памяти другого ЦП) в дополнение к собственной локальной памяти, хотя и с более высокой стоимостью. NUMA - это синтез архитектуры разделяемой памяти, такой как SMP, где вся память одинаково доступна для всех ядер, и архитектуры распределенной памяти, такой как MPP (Massively Parallel Processing), которая дает каждому узлу выделенный блок памяти. Это MPP, но похоже на SMP для приложения.
Системные платы для настольных ПК не имеют двойных сокетов, а для процессоров Intel для настольных ПК, включая версии для крайних версий i7, отсутствует дополнительная связь QPI для конфигурации с двумя сокетами.
Проверьте статью QPI в Википедии, чтобы увидеть, как QPI имеет отношение к NUMA:
В простейшей форме на однопроцессорной материнской плате один QPI используется для подключения процессора к концентратору ввода-вывода (например, для подключения Intel Core i7 к X58). В более сложных случаях архитектуры отдельные пары каналов QPI соединяют один или несколько процессоров и один или несколько концентраторов ввода-вывода или маршрутизации в сети на материнской плате, позволяя всем компонентам получать доступ к другим компонентам через сеть. Как и в случае с HyperTransport, архитектура QuickPath предполагает, что процессоры будут иметь встроенные контроллеры памяти, и поддерживает архитектуру неоднородного доступа к памяти (NUMA).
[...]
Хотя некоторые высокопроизводительные процессоры Core i7 предоставляют QPI, другие «основные» процессоры Nehalem для настольных и мобильных ПК предназначены для однопроцессорных плат (например, LGA 1156 Core i3, Core i5 и другие процессоры Core i7 из семейств Lynnfield / Clarksfield и их преемников) не раскрывайте QPI извне, поскольку эти процессоры не предназначены для участия в системах с несколькими сокетами. Тем не менее, QPI используется внутри этих чипов […]
Процессор Intel Nehalem на серверной плате с несколькими сокетами обеспечивает нелокальный доступ к памяти через QPI. Также в статье о NUMA :
Intel объявила о совместимости NUMA для своих серверов x86 и Itanium в конце 2007 года с процессорами Nehalem и Tukwila. Оба семейства процессоров имеют общий чипсет; соединение называется Intel Quick Path Interconnect (QPI). AMD внедрила NUMA с процессором Opteron (2003), используя HyperTransport.
Проверьте этот отчет от 11/2008, чтобы увидеть, что Intel отключила одну из двух ссылок QPI на i7, тем самым отключив конфигурацию с двумя сокетами, где применяется NUMA:
Эта первая высокопроизводительная реализация Nehalem для настольных компьютеров с кодовым названием Bloomfield, и это, по сути, тот же кремний, который должен в конечном итоге использоваться в двухпроцессорных серверах. В результате чипы Bloomfield поставляются с двумя QPI-связями, как показано выше. Однако вторая ссылка QPI не используется. В серверах 2P, основанных на этой архитектуре, это второе межсоединение свяжет два сокета, а через него процессоры будут обмениваться сообщениями когерентности кэша (используя новый протокол) и данными (поскольку подсистема памяти будет представлять собой NUMA) - опять же, очень похоже на Оптерон.
Так что я отклоняюсь от вашего вопроса, касающегося моих результатов исследований Google ... Вы спрашиваете, почему документы Linux начали рекомендовать включать его в конце 2008 года? Не уверен, что у этого вопроса есть правдоподобно правильный ответ ... Мы должны спросить доку. Включение NUMA не приносит пользы пользователям настольных процессоров, но также не наносит им значительного вреда, помогая многопользовательским пользователям, так почему бы и нет? Это могло быть обоснованием. Обнаружено, что отражено в дискуссии об отключении NUMA на трекере Arch Linux ( FS # 31187 - [linux] - отключить NUMA из конфигурационных файлов ).
Автор документа также мог подумать о потенциале NUMA в архитектуре Nehalem, единственными представителями которой были процессоры Core i7 11/2008 (920, 940, 965) на момент написания документа; первые чипы Nehalem, для которых NUMA действительно имел бы смысл, - это, вероятно, процессоры Xeon Q1 / 2009 с двойной связью QPI, такие как Xeon E5520 .
CONFIG_NUMA
вcore i7
?