Numa Calculator






NUMA Calculator: Analyze System Memory Latency


Expert NUMA Calculator

Analyze Average Memory Access Time in Non-Uniform Memory Access Systems

NUMA Performance Calculator


Latency to access memory on the same NUMA node as the CPU (e.g., 60-120 ns).

Please enter a valid positive number.


Latency to access memory on a different NUMA node (e.g., 150-400 ns).

Please enter a valid positive number.


The percentage of total memory accesses that are to a remote node (0-100%).

Please enter a number between 0 and 100.


Average Memory Access Time (AMAT)
150.0 ns

Local Time Contribution
75.0 ns

Remote Time Contribution
75.0 ns

NUMA Factor
3.00x

Formula: AMAT = (Local Latency × % Local Access) + (Remote Latency × % Remote Access)

Latency Contribution Breakdown

This chart visualizes the contribution of local vs. remote memory access times to the total average latency.

Latency Projection Table


Remote Access % Average Latency (ns)

This table projects the Average Memory Access Time at different levels of remote memory access, helping to model performance scenarios.

What is a NUMA Calculator?

A NUMA calculator is a specialized tool designed for system architects, performance engineers, and database administrators to model and analyze the performance impact of Non-Uniform Memory Access (NUMA) architecture. In a NUMA system, a processor can access its own local memory faster than non-local memory (memory connected to another processor). This access time disparity can significantly affect application performance. This professional NUMA calculator helps quantify this impact by calculating the Average Memory Access Time (AMAT) based on user-provided latencies and access patterns.

Understanding the output from a NUMA calculator is crucial for optimizing high-performance applications. By inputting known or estimated values for local and remote memory latency, along with the percentage of remote accesses an application incurs, users can predict performance bottlenecks and make informed decisions about system configuration and code optimization. Our NUMA calculator provides a clear, quantitative measure of this performance characteristic.

Who Should Use a NUMA Calculator?

This NUMA calculator is intended for technical professionals who manage or develop for multi-socket server environments. This includes:

  • System Architects: For designing and configuring hardware for optimal performance.
  • Performance Engineers: For diagnosing and resolving performance issues in NUMA-based systems.
  • Database Administrators (DBAs): For tuning databases and ensuring SQL Server instances are NUMA-aware.
  • HPC Developers: For optimizing scientific and computational workloads that are sensitive to memory latency.

Common Misconceptions

A common misconception is that NUMA is always detrimental to performance. While remote access is slower, NUMA architectures allow for massive scalability in processor count and memory capacity that would be impossible with a traditional Uniform Memory Access (UMA) design. The goal is not to eliminate NUMA, but to manage it. Using a NUMA calculator helps you understand the trade-offs and strive for NUMA-awareness in your applications, ensuring most memory accesses are local.

NUMA Calculator Formula and Mathematical Explanation

The core of any NUMA calculator is the formula for Average Memory Access Time (AMAT). This formula provides a weighted average of local and remote memory access latencies. The calculation is straightforward but powerful in its ability to model system performance.

Step-by-Step Formula Derivation

The formula is derived as follows:

  1. Calculate Local Access Probability: This is the inverse of the remote access probability. `P_local = 1 – (P_remote / 100)`
  2. Calculate Remote Access Probability: This is the user-provided percentage of remote accesses. `P_remote_prob = P_remote / 100`
  3. Calculate Local Latency Contribution: Multiply the local latency by its probability. `Contrib_local = Latency_local * P_local`
  4. Calculate Remote Latency Contribution: Multiply the remote latency by its probability. `Contrib_remote = Latency_remote * P_remote_prob`
  5. Sum Contributions: The final AMAT is the sum of the local and remote contributions. `AMAT = Contrib_local + Contrib_remote`

This NUMA calculator automatically performs these steps to give you an instant result.

Variables Table

Variable Meaning Unit Typical Range
Latency_local Time to access memory local to the CPU nanoseconds (ns) 60 – 120 ns
Latency_remote Time to access memory on a foreign NUMA node nanoseconds (ns) 150 – 400 ns
P_remote Percentage of memory accesses that are remote Percent (%) 0 – 100%
AMAT Average Memory Access Time nanoseconds (ns) Calculated

Practical Examples (Real-World Use Cases)

Using this NUMA calculator with real-world numbers illustrates its practical value in performance tuning and capacity planning.

Example 1: A Poorly-Optimized Database Server

Imagine a database server where the application is not NUMA-aware, causing threads to migrate between NUMA nodes and frequently access remote memory.

  • Inputs:
    • Local Memory Latency: 90 ns
    • Remote Memory Latency: 250 ns
    • Percentage of Remote Accesses: 40%
  • Results from the NUMA Calculator:
    • Average Memory Access Time (AMAT): 154 ns
    • Interpretation: The high percentage of remote accesses significantly inflates the average latency, degrading database query performance. An AMAT of 154 ns is considerably higher than the ideal 90 ns. This indicates a clear need for process affinity (pinning the process to a specific NUMA node) to improve performance.

Example 2: A Well-Optimized HPC Workload

Consider a High-Performance Computing (HPC) application that has been carefully optimized for NUMA. The code is structured to ensure that data is allocated on the same node where it will be processed.

  • Inputs:
    • Local Memory Latency: 110 ns
    • Remote Memory Latency: 320 ns
    • Percentage of Remote Accesses: 5%
  • Results from the NUMA Calculator:
    • Average Memory Access Time (AMAT): 120.5 ns
    • Interpretation: Despite a very high remote latency penalty (320 ns), the AMAT is only slightly higher than the local latency. The NUMA calculator demonstrates that by keeping remote accesses to a minimum, the system can achieve near-optimal memory performance. This is the goal of NUMA optimization. For further analysis, one might use a memory latency calculator to understand bandwidth constraints.

How to Use This NUMA Calculator

This NUMA calculator is designed for ease of use while providing deep insights. Follow these steps to analyze your system’s performance profile.

  1. Enter Local Memory Latency: Input the time in nanoseconds (ns) it takes for a CPU to access memory on its local node. You can find this value in system documentation or measure it with performance tools.
  2. Enter Remote Memory Latency: Input the time in ns it takes for a CPU to access memory on a different NUMA node across the interconnect.
  3. Enter Remote Access Percentage: This is the most critical input. Estimate or measure the percentage of your application’s memory accesses that are remote. Performance counters (like `perf` in Linux) can provide this data.
  4. Read the Results: The NUMA calculator instantly updates the Average Memory Access Time (AMAT), the contributions from local and remote latency, and the NUMA factor (the ratio of remote to local latency).
  5. Analyze the Chart and Table: Use the dynamic chart to visualize where the latency is coming from. Use the projection table to understand how AMAT would change if the remote access percentage were different.

Effective use of a NUMA calculator helps you model ‘what-if’ scenarios without costly hardware changes. Explore how improving CPU affinity could lower your AMAT by reducing the remote access percentage. Consider consulting our guide on system performance modeling for more context.

Key Factors That Affect NUMA Performance

The results from a NUMA calculator are influenced by several underlying system and application factors. Understanding these is key to effective performance tuning.

  • CPU Affinity and Process Scheduling: If the operating system frequently moves a process between CPUs on different NUMA nodes, remote memory accesses will increase dramatically. Setting CPU affinity is the primary method to control this.
  • Application Memory Access Patterns: Applications that access memory in a random, unpredictable way are more likely to suffer from NUMA effects than those with predictable, localized patterns.
  • Memory Allocation Policy: Operating systems use policies like “first-touch,” where memory is allocated on the NUMA node of the CPU that first accesses it. If a thread initializes data that another thread on another node will use, this can lead to persistent remote access. Understanding these policies is crucial, as detailed in many CPU affinity tools guides.
  • Interconnect Bandwidth and Latency: The physical link between NUMA nodes (e.g., Intel QPI, AMD Infinity Fabric) has its own performance characteristics. A slow or congested interconnect will increase remote latency.
  • Memory Interleaving: Some BIOS settings allow for memory interleaving across NUMA nodes. This can sometimes provide more balanced performance for non-NUMA-aware workloads at the cost of making all memory access slightly slower. This is often a trade-off explored in server architecture design.
  • Virtualization (vNUMA): In virtualized environments, the hypervisor presents a virtual NUMA topology to the guest OS. Misconfiguration of vNUMA is a common source of performance problems.

Optimizing these factors is the practical work that follows the analysis provided by a good NUMA calculator.

Frequently Asked Questions (FAQ)

1. What is a NUMA node?

A NUMA node is a component in a multi-socket system that consists of one CPU/socket and its directly attached local memory. A system with two processors will have at least two NUMA nodes.

2. How can I find my system’s local and remote latencies?

On Linux, tools like `numactl -H` or `lstopo` can show the NUMA topology. For precise latency measurement, micro-benchmarking tools like Intel’s Memory Latency Checker (MLC) are often used. These values can then be entered into the NUMA calculator.

3. What is a “good” or “bad” NUMA factor?

The NUMA factor is the ratio of remote to local latency. A factor of 1.5x might be excellent, while a factor over 3x is common on some architectures. There isn’t a universal “bad” value; what matters is the final AMAT, which our NUMA calculator computes. A high factor simply means that keeping remote accesses low is more critical.

4. Can I disable NUMA?

On most modern servers, you cannot truly disable NUMA as it’s fundamental to the hardware architecture. However, some BIOS settings allow for “node interleaving,” which attempts to spread memory allocations across all nodes to emulate a UMA-like behavior. This can sometimes hurt performance for NUMA-aware applications.

5. How does this NUMA calculator help with database tuning?

Databases like SQL Server are highly NUMA-aware. You can use this NUMA calculator to model the performance impact if a database’s threads are not properly confined to a single NUMA node. It quantifies the penalty of incorrect configuration, justifying efforts to set affinity and correctly size virtual machines. A database optimization guide often covers this topic.

6. What does “first-touch” memory policy mean?

It’s a common OS strategy where a memory page is physically allocated on the NUMA node of the CPU that first writes to it. This can be problematic if one thread allocates and initializes data that will be primarily used by a thread on another node.

7. Why does my AMAT change in the NUMA calculator when only latency values change?

The AMAT is a weighted average. Even if the access percentages stay the same, increasing the remote latency (due to a different hardware platform, for example) will naturally raise the average access time, as the penalty for each remote access is now higher.

8. Is this calculator suitable for virtual machines?

Yes. When using this NUMA calculator for VMs, use the latency and access statistics from *within* the guest OS. Be aware that the underlying hypervisor’s vNUMA configuration heavily influences these numbers. Misalignment between the VM’s vCPUs and the physical NUMA nodes can lead to very high remote access percentages.

© 2026 Your Company. All rights reserved. This NUMA calculator is for informational purposes only.



Leave a Comment