numaprof
numaprof copied to clipboard
Detection of variables moving from one NUMA node to another
Detect when concurent accesses append on a cache line and move it from one NUMA node to another, for example when there is contention on a spinlock.
This might be done in two ways :
- Using a cache simulator infrastructure by implementing cache topology with one cache per node and using a directory based approach just like the CPU to detect the movements. This might add a large overhead to the tool.
- Adding an entry to the shadow page table to remember where a cache line has been seen the last access in cache. This might be ok for overhead except for high contention, but will increase memory consumption.