T
ttt
Hi! Maybe this is not the best place to ask this kind of questions,
but...
I'm working on a memory allocator that should be optimized for use on
NUMA architectures. It tries to take memory from the node where the
current thread resides, and if it can't find there, it "steals" from
other nodes.
Here comes the problem: I want to take memory from the nearest node
(lowest hop value) to the farthest (so the access is as low as
possible), but I couldn't find an API (at least in Windows) to get
this type of information (only which CPUs are in a node, not
relationships between nodes).
Is there any way to get the distance between nodes ? It must not be
necessarily an API, CPUID/APIC would be very good if there is no other
way.
Thanks in advance!
but...
I'm working on a memory allocator that should be optimized for use on
NUMA architectures. It tries to take memory from the node where the
current thread resides, and if it can't find there, it "steals" from
other nodes.
Here comes the problem: I want to take memory from the nearest node
(lowest hop value) to the farthest (so the access is as low as
possible), but I couldn't find an API (at least in Windows) to get
this type of information (only which CPUs are in a node, not
relationships between nodes).
Is there any way to get the distance between nodes ? It must not be
necessarily an API, CPUID/APIC would be very good if there is no other
way.
Thanks in advance!