Currently, TasksetCtx::next() just returns the next core numerically.
However, cores IDs aren't split nicely across numa nodes. For example on the cloudlab c220g1, this is how CPUs are spread across numa nodes, per lscpu:
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31
Something should be added to TasksetCtx allow it to only choose cores from a specified set of NUMA nodes.