On multi-socket systems built with the IBM POWER architectureโsuch as servers using the IBM POWER10 processorโNUMA (Non-Uniform Memory Access) topology has a major impact on memory-intensive workloads like databases, analytics engines, and in-memory applications.
Instead of one uniform memory pool, memory is physically distributed across sockets (NUMA nodes), and access cost depends on where the data lives relative to the CPU core.
๐น 1. Local vs Remote Memory Access
๐ง Key principle:
-
Local memory (same socket) โ low latency, high bandwidth
-
Remote memory (other socket) โ higher latency, lower effective bandwidth
๐ On POWER systems:
-
Remote access involves traversing the interconnect (e.g., PowerAXON)
-
Adds significant delay compared to local L3/memory access
Impact:
-
Memory-intensive apps slow down if they frequently access remote memory
-
Performance becomes topology-dependent
๐น 2. Latency Amplification in Memory-Bound Workloads
For workloads that are already memory-bound:
-
Analytics queries
-
Large joins
-
In-memory databases
Even small latency increases per access can accumulate.
๐ Example:
-
Millions of memory accesses ร extra latency = noticeable slowdown
Impact:
-
Higher query response times
-
Reduced throughput
๐น 3. Bandwidth Fragmentation
Each NUMA node has:
-
Its own memory controllers
-
Its own memory channels
๐ If workload is well-distributed:
-
Total system bandwidth is fully utilized
๐ If not:
-
One node becomes hot (overloaded)
-
Others remain underutilized
Impact:
-
Bottlenecks despite available hardware capacity
๐น 4. Cache Efficiency & Data Locality
NUMA affects cache behavior:
-
Local data โ stays in local caches (L1/L2/L3)
-
Remote data โ more cache misses, more coherence traffic
On IBM POWER10 processor:
-
Large L3 helps, but cannot fully hide remote latency
Impact:
-
Poor locality โ more cache misses โ lower IPC
๐น 5. Cross-Socket Coherency Overhead
When threads on different sockets share data:
-
Cache coherency traffic increases
-
More invalidations and data transfers
๐ Especially problematic for:
-
Lock-heavy applications
-
Shared memory structures
Impact:
-
Increased latency
-
Reduced scalability
๐น 6. Impact on Database Workloads
๐ OLTP (e.g., Oracle)
-
Frequent access to shared structures (SGA, buffers)
-
Cross-node access โ latency spikes
๐ Best case:
-
Sessions + memory aligned to same NUMA node
๐ OLAP / Analytics
-
Large scans and joins
-
If data spans nodes:
-
Remote access unavoidable
๐ Impact:
-
Query execution time increases
-
Throughput drops under load
๐น 7. Thread Scheduling & CPU Affinity
Operating systems (AIX/Linux) try to:
-
Keep threads close to their memory (NUMA affinity)
If misconfigured:
-
Threads migrate across sockets
-
Lose memory locality
Impact:
-
Performance jitter
-
Unpredictable latency
๐น 8. Virtualization (LPARs) Impact
On Power Systems:
-
LPARs can span multiple NUMA nodes
If poorly configured:
-
VM memory allocated across nodes
-
CPU runs on different node
Impact:
-
Severe NUMA penalties
-
Reduced efficiency for memory-heavy apps
๐น 9. When NUMA Helps (Positive Impact)
NUMA is not just a limitationโitโs also a benefit when used correctly:
-
Enables massive scalability
-
Provides parallel memory bandwidth
-
Supports large datasets efficiently
๐ When optimized:
-
Each socket works like an independent high-performance unit
๐น 10. Best Practices for Memory-Intensive Workloads
โ
Optimize for locality:
-
Bind threads to CPUs (CPU affinity)
-
Allocate memory on same NUMA node
โ
NUMA-aware application design:
-
Partition data per node
-
Avoid excessive sharing
โ
Database tuning:
-
Align buffer pools with NUMA nodes
-
Use instance or workload partitioning
โ
Virtualization tuning:
-
Keep LPARs within a single NUMA node (if possible)
๐ Summary Table
| Factor | Good NUMA Usage | Poor NUMA Usage |
|---|
| Latency | Low | High |
| Bandwidth | Fully utilized | Bottlenecked |
| Cache efficiency | High | Low |
| Scalability | Excellent | Limited |
| Throughput | High | Degraded |
๐ง Key Insight
In IBM POWER architecture systems:
Performance is no longer just about CPU speedโit's about where your data lives.
Bottom Line
For memory-intensive applications on POWER systems:
-
NUMA-aware workloads โ massive scalability and performance
-
NUMA-unaware workloads โ hidden latency, bottlenecks, and instability