For 64-bit this is recommended if the system is Intel Core i7
(or later), AMD Opteron, or EM64T NUMA.
Beachten Sie zunächst, dass Intel Core i7 nur eine Marketingbezeichnung ist und die Formulierung Intel Core i7 (oder höher) sehr vage ist. Was könnte es also bedeuten?
Die Hilfetexte des Linux-Kernels Kconfig
, in denen ein Intel Core 7i erwähnt und dann auf Intel Core i7 korrigiert wurde , wurden im November 2008 bearbeitet . Das Festschreibungsprotokoll lautet:
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.
Es kann sich vernünftigerweise nur auf Intel Core i7-CPUs beziehen, die zu diesem Zeitpunkt gemäß Spezifikation veröffentlicht oder angekündigt wurden. Das wären die Bloomfield- Prozessoren, die auf der Nehalem-Mikroarchitektur basieren und den Speichercontroller von der Northbridge auf die CPU verlagern (wie AMD es 2003 mit dem Opteron / AMD64 getan hatte) und QuickPath Interconnect / QPI einführen (als Pendant zu AMDs HyperTransport). für die CPU / CPU- und CPU / IOH-Verbindung (IO-Hub, ex-Northbridge).
Die Bloomdale i7-CPUs waren die ersten Einträge im neuen Core i {3,5,7} -Namensschema. Als dieser Linux-Dokumententext geschrieben wurde, bezog sich i7 nicht speziell auf den Core i7 im Gegensatz zu i5 (erstmals 09/2009) oder i3 (erstmals 01/2010), sondern höchstwahrscheinlich auf die neue Nehalem-Mikroarchitektur mit seinen integrierten Speichercontroller und QPI.
Es gibt eine Intel-Pressemitteilung vom 11/2008 über das i7 ( Intel führt den schnellsten Prozessor auf dem Planeten ein ), in der es heißt, dass der Core i7-Prozessor die Speicherbandbreite früherer Intel "Extreme" -Plattformen mehr als verdoppelt , aber NUMA überhaupt nicht erwähnt .
Der Grund ist meiner Meinung nach, dass NUMA für Desktop-PCs keine Rolle spielt, auch nicht für "extreme".
NUMA ist wichtig für teure Server mit mehreren CPU-Sockeln (nicht nur mehreren Kernen auf einem Sockel) mit dedizierten physischen Speicherzugriffsspuren (nicht nur einem Speichercontroller), sodass jede CPU über einen dedizierten lokalen Speicher verfügt, der "näher" liegt als der Speicher der anderen CPUs. (Denken Sie an 8 Sockel, 64 Kerne, 256 GB RAM.) NUMA bedeutet, dass eine CPU zusätzlich zu ihrem eigenen lokalen Speicher auch auf Remote-Speicher (den lokalen Speicher einer anderen CPU) zugreifen kann, allerdings zu höheren Kosten. NUMA ist die Synthese einer gemeinsam genutzten Speicherarchitektur wie SMP, bei der der gesamte Speicher für alle Kerne gleichermaßen verfügbar ist, und einer verteilten Speicherarchitektur wie MPP (Massively Parallel Processing), bei der jedem Knoten ein dedizierter Speicherblock zugewiesen wird. Es ist MPP, aber es sieht für die Anwendung wie SMP aus.
Desktop-Motherboards haben keine Dual-Sockets und Intel-Desktop-CPUs, einschließlich extremer i7-Editionen, verfügen nicht über den zusätzlichen QPI-Link für die Dual-Socket-Konfiguration.
Lesen Sie den Wikipedia-QPI- Artikel, um zu erfahren, wie wichtig QPI für NUMA ist:
In der einfachsten Form auf einem Motherboard mit einem Prozessor wird ein einzelner QPI verwendet, um den Prozessor mit dem IO-Hub zu verbinden (z. B. um einen Intel Core i7 mit einem X58 zu verbinden). In komplexeren Fällen der Architektur verbinden separate QPI-Verbindungspaare einen oder mehrere Prozessoren und einen oder mehrere E / A-Hubs oder Routing-Hubs in einem Netzwerk auf der Hauptplatine, sodass alle Komponenten über das Netzwerk auf andere Komponenten zugreifen können. Wie bei HyperTransport setzt die QuickPath-Architektur voraus, dass die Prozessoren über integrierte Speichercontroller verfügen, und ermöglicht eine NUMA-Architektur (Non-Uniform Memory Access).
[…]
Obwohl einige High-End-Core-i7-Prozessoren QPI bereitstellen, sind andere "Mainstream" -Nehalem-Desktop- und -Mobilprozessoren für Single-Sockel-Boards vorgesehen (z. B. LGA 1156 Core i3-, Core i5- und andere Core i7-Prozessoren der Lynnfield / Clarksfield- und Nachfolgerfamilien). Stellen Sie QPI nicht extern zur Verfügung, da diese Prozessoren nicht für die Teilnahme an Multi-Socket-Systemen vorgesehen sind. QPI wird jedoch intern auf diesen Chips verwendet […]
Die Art und Weise, wie eine Intel Nehalem-CPU auf einer Multi-Socket-Serverplatine nicht lokalen Speicherzugriff ermöglicht, erfolgt über QPI. Auch im Artikel über NUMA :
Intel kündigte Ende 2007 die NUMA-Kompatibilität für seine x86- und Itanium-Server mit seinen Nehalem- und Tukwila-CPUs an. Beide CPU-Familien teilen sich einen gemeinsamen Chipsatz. Die Verbindung wird als Intel Quick Path Interconnect (QPI) bezeichnet. AMD implementierte NUMA mit seinem Opteron-Prozessor (2003) unter Verwendung von HyperTransport.
Überprüfen Sie diesen Bericht aus dem Jahr 11/2008 , um festzustellen , dass Intel einen der beiden QPI-Links auf dem i7 deaktiviert hat und somit die Dual-Socket-Konfiguration deaktiviert hat, sofern NUMA zutrifft:
Diese erste High-End-Desktop-Implementierung von Nehalem trägt den Codenamen Bloomfield und ist im Wesentlichen das gleiche Silizium, das irgendwann für Server mit zwei Sockets verwendet werden sollte. Aus diesem Grund sind bei Bloomfield-Chips zwei QPI-Verbindungen integriert, wie aus dem obigen Würfel ersichtlich ist. Die zweite QPI-Verbindung wird jedoch nicht verwendet. Auf 2P-Servern, die auf dieser Architektur basieren, werden die beiden Sockets durch diese zweite Verbindung verbunden, und über diese werden die CPUs Cache-Kohärenznachrichten (unter Verwendung eines neuen Protokolls) und Daten (da das Speichersubsystem NUMA ist) gemeinsam nutzen - wieder sehr ähnlich zum Opteron.
Ich habe mich also von Ihrer Frage bezüglich meiner Google-Forschungsergebnisse abgewandt. Sie fragen sich, warum in den Linux-Dokumenten empfohlen wird, sie Ende 2008 zu aktivieren. Ich bin nicht sicher, ob diese Frage nachweislich richtig beantwortet wurde. Wir müssten den Dokumentationsautor fragen. Das Einschalten von NUMA kommt Desktop-CPU-Benutzern nicht zugute, schadet ihnen aber auch nicht wesentlich, während es Multi-Socket-Benutzern hilft. Warum also nicht? Dies könnte die Begründung gewesen sein. Gefunden, was sich in einer Diskussion über das Deaktivieren von NUMA auf dem Arch Linux-Tracker widerspiegelt ( FS # 31187 - [linux] - NUMA aus Konfigurationsdateien deaktivieren ).
Der Verfasser des Dokuments hätte auch an das NUMA-Potenzial der Nehalem-Architektur denken können, deren einzige Vertreter bei der Erstellung des Dokuments die Core i7-Prozessoren 11/2008 (920, 940, 965) waren. Die ersten Nehalem-Chips, für die NUMA wirklich Sinn gemacht hätte, sind wahrscheinlich die Xeon-Prozessoren Q1 / 2009 mit doppeltem QPI-Link wie der Xeon E5520 .
CONFIG_NUMA
fürcore i7
?