A Place represents a single thread of execution in Pheet and its corresponding data-structures. By default, Pheet creates a single place per processor core.
Getting the place id
The id of a place is an unsigned integer in the range [0;P-1], where P is the number of places in the system. Place id's are ordered by locality, so it is guaranteed that a place x+1 is at least as close to place x as place x+2.
Getting the memory distance between two places
procs_t get_distance(Self* other) const
Gives a relative memory distance between two places. The distance value does not say anything about the cost of memory accesses except that a memory access between two places with distance x is at least as expensive as between two places with distance x-1.
To simplify the implementation of NUMA-aware algorithms we also provide a method for calculating the NUMA distance in newer schedulers. It will return 0 for the distance between places on the same NUMA node.
procs_t get_numa_distance(Self* other) const