Получить расстояние до узла (прыжки) в системах NUMA
Есть ли какой-нибудь API/ способ получить "расстояние" (называемое в литературе "прыжками") между двумя узлами NUMA? Я хочу реализовать систему выделения памяти, которая использует это преимущество (повторное использование памяти от ближайшего узла, потому что доступ быстрее).
В Windows, похоже, такой функции нет... и в libnuma (под Linux) ее тоже нет. Есть ли способ получить эту информацию (даже с чем-то вроде 'cpuid')?
2 ответа
Для Linux можно получить топологию хотя бы с помощью парсинга /proc. Это объясняется, например, в главе 5 Ульриха Дреппера "Что должен знать каждый программист о памяти". Глава 6.5 также несколько актуальна.