For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
Innanzitutto, nota che Intel Core i7 è solo una designazione di marketing e la frase Intel Core i7 (o successiva) è molto vaga. Quindi cosa potrebbe significare?
Il kernel di Kconfig
aiuto di Linux ha apportato modifiche al testo che menzionano un Intel Core 7i , quindi corretto a Intel Core i7 , nel novembre del 2008. Il registro di commit riporta:
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.
Può ragionevolmente fare riferimento solo alle CPU Intel Core i7 rilasciate o annunciate per specifica entro quel momento. Sarebbero i processori Bloomfield , basati sulla microarchitettura Nehalem , che ha spostato il controller di memoria da Northbridge alla CPU (cosa che AMD aveva fatto nel 2003 con Opteron / AMD64) e introdotto QuickPath Interconnect / QPI (come pendente per HyperTransport di AMD) per interconnessione CPU / CPU e CPU / IOH (hub IO, ex Northbridge).
Le CPU Bloomdale i7 sono state le prime voci nel nuovo schema di denominazione Core i {3,5,7} . Quindi, quando è stato scritto quel documento di Linux, i7 non si riferiva specificamente al Core i7 rispetto a i5 (prima nel 09/2009) o i3 (prima nel 01/2010), ma con ogni probabilità alla nuova microarchitettura Nehalem con il suo controller di memoria integrato e QPI.
C'è un comunicato stampa Intel dell'11/2008 su i7 ( Intel lancia il processore più veloce del pianeta ) in cui si afferma che il processore Core i7 raddoppia la larghezza di banda della memoria delle precedenti piattaforme "Extreme" di Intel , ma non menziona affatto NUMA .
La ragione è, penso, che NUMA non ha importanza per i PC desktop, nemmeno per quelli "estremi".
NUMA è importante per i server costosi che dispongono di più socket CPU (non solo diversi core su un socket) con corsie di accesso alla memoria fisica dedicate (non solo un controller di memoria), in modo che ogni CPU abbia la propria memoria locale dedicata, che è "più vicina" ad essa rispetto alla memoria delle altre CPU. (Pensa a 8 socket, 64 core, 256 GB di RAM.) NUMA significa che una CPU può anche accedere alla memoria remota (la memoria locale di un'altra CPU) oltre alla propria memoria locale, sebbene a un costo più elevato. NUMA è la sintesi di un'architettura di memoria condivisa come SMP, in cui tutta la memoria è ugualmente disponibile per tutti i core e un'architettura di memoria distribuita come MPP (Massively Parallel Processing), che fornisce a ciascun nodo un blocco di memoria dedicato. È MPP, ma sembra SMP all'applicazione.
Le schede madri desktop non hanno doppi socket e le CPU desktop Intel, comprese le edizioni i7 estreme, non dispongono del collegamento QPI aggiuntivo per la configurazione a doppio socket.
Controlla l' articolo di QPI di Wikipedia per vedere come QPI è rilevante per NUMA:
Nella sua forma più semplice su una scheda madre a processore singolo, un singolo QPI viene utilizzato per collegare il processore all'hub IO (ad esempio, per collegare un Intel Core i7 a un X58). In istanze più complesse dell'architettura, coppie di collegamenti QPI separate collegano uno o più processori e uno o più hub IO o routing hub in una rete sulla scheda madre, consentendo a tutti i componenti di accedere ad altri componenti tramite la rete. Come con HyperTransport, l'architettura QuickPath presuppone che i processori dispongano di controller di memoria integrati e consenta un'architettura di accesso alla memoria non uniforme (NUMA).
[...]
Sebbene alcuni processori Core i7 di fascia alta espongano il QPI, altri processori Nehalem desktop e mobili "mainstream" destinati a schede single-socket (ad es. LGA 1156 Core i3, Core i5 e altri processori Core i7 delle famiglie Lynnfield / Clarksfield e successive) non esporre il QPI esternamente, poiché questi processori non sono destinati a partecipare a sistemi multi-socket. Tuttavia, il QPI viene utilizzato internamente su questi chip […]
Il modo in cui una CPU Intel Nehalem su una scheda server multi-socket rende l'accesso alla memoria non locale è tramite QPI. Anche nell'articolo su NUMA :
Intel ha annunciato la compatibilità NUMA per i suoi server x86 e Itanium alla fine del 2007 con le sue CPU Nehalem e Tukwila. Entrambe le famiglie di CPU condividono un chipset comune; l'interconnessione si chiama Intel Quick Path Interconnect (QPI). AMD ha implementato NUMA con il suo processore Opteron (2003), utilizzando HyperTransport.
Controlla questo rapporto dall'11 / 2008 per vedere che Intel ha disabilitato uno dei due collegamenti QPI su i7, disabilitando così la configurazione a doppio socket, dove si applica NUMA:
Questa prima implementazione desktop di fascia alta di Nehalem ha il nome in codice Bloomfield ed è essenzialmente lo stesso silicio che alla fine dovrebbe entrare nei server a due socket. Di conseguenza, i chip Bloomfield sono dotati di due collegamenti QPI integrati, come indica il tiro sopra indicato. Tuttavia, il secondo collegamento QPI non è utilizzato. Nei server 2P basati su questa architettura, quella seconda interconnessione collegherà i due socket e, su di essa, le CPU condivideranno i messaggi di coerenza della cache (usando un nuovo protocollo) e i dati (poiché il sottosistema di memoria sarà NUMA) - di nuovo, molto simile all'Opteron.
Quindi mi sono allontanato dalla tua domanda relativa ai risultati della mia ricerca su Google ... Stai chiedendo perché i documenti di Linux hanno iniziato a raccomandare di attivarlo alla fine del 2008? Non sono sicuro che questa domanda abbia una risposta dimostrabilmente corretta ... Dovremmo chiedere allo scrittore di documenti. L'attivazione di NUMA non avvantaggia gli utenti di CPU desktop, ma non li danneggia in modo significativo, aiutando al contempo gli utenti con più socket, quindi perché no? Questo avrebbe potuto essere la logica. Trovato ciò che si riflette in una discussione sulla disabilitazione di NUMA sul tracker Arch Linux ( FS # 31187 - [linux] - disabilita NUMA dai file di configurazione ).
L'autore del documento potrebbe anche aver pensato al potenziale NUMA dell'architettura Nehalem di cui, quando il documento è stato scritto, i processori Core i7 dell'11 / 2008 (920, 940, 965) erano gli unici rappresentanti; i primi chip Nehalem per i quali NUMA avrebbe davvero avuto senso sono probabilmente i processori Xeon Q1 / 2009 con doppio collegamento QPI come Xeon E5520 .
CONFIG_NUMA
percore i7
?