Scaling Benchmarks With More Robust UseNUMA Flag in OpenJDK

What happens when you run a Java application instead of checking your hardware configuration? Obviously, your application lags in terms of performance. For small applications, you need not to worry, but for applications that require larger memory (in GB's), you need to take care of the configurations; otherwise, your application can suffer a lot.

What Is NUMA?

Non-Uniform Memory Access, also called NUMA, is a configuration of processor and memory such that some cluster of cores are near to its memory and memory is local to those cores. The below picture of AMD EPYC 2P system explains more clearly about the NUMA nodes. Here, the Die is a single NUMA node and the memory channels (DDR) are also local to it. These dies are also interconnected by fabric, but the access penalty is more for far nodes compared to local nodes.