Es gibt vielleicht drei Gründe, warum der Speicher zwischen den beiden Prozessoren aufgeteilt werden soll.
Erstens hat die Speicherschnittstelle jedes Prozessors eine gegebene maximale Bandbreite. Durch die Verdoppelung der Anzahl der Prozessoren wird diese Spitzenspeicherbandbreite verdoppelt.
Zweitens kann bei einigen Systemen die Geschwindigkeit der Speicherschnittstelle durch die Anzahl der an einen Speicherkanal angeschlossenen Anzahl von Modulen begrenzt sein, so dass die Verwendung eines Moduls pro Kanal (mit doppelt so vielen Prozessoren und damit doppelt so vielen Kanälen) eine höhere Bandbreite zulässt. Außerdem kann die Anzahl der Speichermodule, die von einem Prozessor unterstützt werden, die Verwendung eines teureren Moduls erzwingen, um dieselbe Gesamtsystemkapazität bereitzustellen.
Drittens, wenn die Workload davon profitiert, die Verarbeitung auf den anderen Prozessor zu verteilen (z. B. eine große Thread-Anzahl oder weniger Threads, die von mehr L3-Kapazität pro Thread profitieren), als es durch die höhere Latenz (und möglicherweise eine geringere Bandbreite) eines Speicherzugriffs geht der andere Prozessor kann dann auch ohne signifikante Optimierung der Speicherzuordnung durch das Betriebssystem (NUMA-Optimierung (Nicht-einheitlicher Speicherzugriff), Zuordnen von Speicher und Planen von Threads, so dass der mit dem Prozessor des Threads verbundene Speicher öfter verwendet wird) die Leistung verbessern. Bei einer erheblichen NUMA-Optimierung (die für die Arbeitslast möglicherweise nicht praktikabel ist), würden die meisten Speicherzugriffe auf schnelleren lokalen Speicher erfolgen.
Bei nur zwei Knoten ist es unwahrscheinlich, dass eine Replikation des Speichers durchgeführt wird, da der NUMA-Faktor (wie viel langsamer der Remotespeicher relativ zum lokalen Speicher ist) klein ist. Wenn Speicher für einen bestimmten Zugriff an einen Remote-Prozessor angeschlossen ist, wird die Anforderung über eine Interprozessor-Verbindung (QPI für Intel) an den Speichercontroller des Remote-Prozessors (obwohl ein Cachetreffer in L3 dieses Prozessors möglich ist) und den Speichercontroller (oder L3-Cache) erfüllt die Anforderung, indem die Daten über die Interprozessor-Verbindung an den Anforderer gesendet werden.
(Ein System mit einer großen Anzahl von Knoten / Prozessoren kann von dem Duplizieren von Speicherinhalten des Betriebssystems profitieren, die nicht beschreibbar sind. Einige Betriebssysteme haben sogar eine Migration (Verschieben von Speicherinhalten auf einen anderen Knoten) als NUMA-Optimierung verwendet.)