Conversation
|
@edeandrea wait for @franz1981 feedback. |
|
The warning is because taskset properly set the application execution to cores on the same numa node, which means that numactl is not responsible to have fixed the warning. I would avoid using numactl as some users could run on bare metal instances with single numa node and taskset would be available to them, whilst numactl, nope. For the memory allocation, the OS policy is "local-first", making the isolation issue less of an issue, in many cases. If we decide that numactl become an hard constraints and hard requirement for our script, we should make sure that Google cloud/AWS/IBM bare metal instances can use it, if single numa node. |
|
taskset vs numactl Memory Policy ("local-first") The warning |
tasksetlimitations:numactladvantages:--membind=0ensures memory stays on same NUMA node as CPUsChanged from
taskset --cpu-listtonumactl --membind=0 --physcpubind=ensures both CPU affinity and memory locality, which is critical for accurate performance comparisons between Quarkus and Spring Boot applications. This eliminates a major source of measurement noise in multi-socket systems.Found because of:
load-test-quarkus3-jvm-0.log
load-test-spring4-jvm-0.log
We also removed
-XX:+UseNUMAfrom the wrk JVM args, which makes sense since numactl now handles NUMA policy at the process level, making the JVM flag redundant.Found because