How Socket Memory Interleaving Affects Dual-CPU Benchmarks
This article explores the impact of cross-socket memory interleaving on dual-CPU workstation benchmarks. It explains the fundamental differences between Non-Uniform Memory Access (NUMA) and Uniform Memory Access (UMA) modes, detailing how enabling or disabling node interleaving alters memory bandwidth, latency, and ultimately, synthetic and real-world computer hardware performance scores.
Understanding Cross-Socket Memory Interleaving
In a dual-CPU workstation, each processor has its own dedicated physical memory slots. By default, modern systems use Non-Uniform Memory Access (NUMA). In a NUMA configuration, a CPU accesses its own local memory much faster than the remote memory attached to the second CPU.
Memory interleaving across multiple sockets—often called "Node Interleaving" in the BIOS—disables NUMA and forces the system into a Uniform Memory Access (UMA) mode. When enabled, the memory controller alternates memory addresses across both sockets. If a program writes a block of data to RAM, half of it goes to CPU 1's memory pool, and the other half goes to CPU 2's memory pool, regardless of which CPU is actually processing the data.
Impact on Synthetic Memory Benchmarks
Benchmarking tools that specifically test RAM performance, such as AIDA64 or PassMark, show drastic differences depending on your interleaving settings.
- Memory Latency: Enabling socket interleaving significantly increases average memory latency. Because data is striped across both sockets, roughly 50% of all memory requests must travel across the processor interconnect (such as Intel UPI or AMD Infinity Fabric). This extra physical distance and protocol overhead result in poorer latency benchmark scores.
- Memory Bandwidth: Cross-socket interleaving generally reduces peak memory bandwidth in synthetic tests. The CPU-to-CPU interconnect becomes a bottleneck, as it cannot match the sheer throughput of both CPUs accessing their own local memory channels simultaneously and independently.
Impact on Rendering and Compute Benchmarks
Modern workstation benchmarks—including Cinebench, Blender, and V-Ray—are "NUMA-aware." The operating system and the benchmarking software work together to ensure that the threads running on CPU 1 only use the RAM wired to CPU 1, and the threads on CPU 2 only use the RAM wired to CPU 2.
If you enable cross-socket memory interleaving while running these benchmarks, performance will drop. You are forcing a NUMA-aware application to constantly fetch data across the CPU interconnect. This saturates the interconnect bandwidth, introduces latency, and causes the CPUs to wait longer for data, resulting in lower overall rendering and compute scores.
Impact on Non-NUMA-Aware Benchmarks
While cross-socket interleaving hurts modern benchmarks, it can occasionally improve scores in older or poorly optimized benchmarking software.
If a benchmark is not NUMA-aware, it views the system's RAM as one giant pool. It might load a massive dataset entirely into CPU 1's memory, and then instruct CPU 2 to process it. This creates a severe bottleneck, as 100% of CPU 2's memory requests must cross the interconnect, while CPU 1's memory controller is overwhelmed.
Enabling socket interleaving prevents this worst-case scenario. By spreading the data evenly across both sockets, a non-NUMA-aware benchmark gets predictable, averaged-out bandwidth and latency. The benchmark score will not reach the theoretical hardware maximum, but it will avoid catastrophic performance drops.
Channel Interleaving vs. Socket Interleaving
When configuring a dual-CPU workstation for benchmarking, it is vital not to confuse socket (node) interleaving with channel interleaving.
- Channel Interleaving: This stripes data across the multiple memory channels attached to a single CPU (e.g., Quad-Channel or Octa-Channel). This should always be enabled for benchmarking, as it maximizes local memory bandwidth.
- Socket (Node) Interleaving: This stripes data across different CPUs. This should generally be disabled for benchmarking modern hardware.
For the highest and most accurate hardware benchmark results in a dual-CPU workstation, leave NUMA enabled and Node Interleaving disabled in the BIOS. This allows the hardware to utilize its full local memory bandwidth and achieve the lowest possible latency.