Получить расстояние до узла (прыжки) в системах NUMA - PullRequest
5 голосов
/ 10 января 2010

Есть ли какой-нибудь API / способ получить «расстояние» (называемое в литературе «прыжками») между двумя узлами NUMA? Я хочу реализовать систему выделения памяти, которая использует это преимущество (повторное использование памяти от ближайшего узла, потому что доступ быстрее).
В Windows, похоже, такой функции нет ... и в libnuma (под Linux) ее тоже нет. Есть ли способ получить эту информацию (даже с чем-то вроде 'cpuid')?

Ответы [ 2 ]

2 голосов
/ 10 января 2011

Взгляните на библиотеку и инструменты в hwloc .

2 голосов
/ 10 января 2010

Для Linux можно получить топологию хотя бы с помощью парсинга / proc. Это объясняется, например, в главе 5 Ульриха Дреппера "Что каждый программист должен знать о памяти" . Глава 6.5 также несколько актуальна.

...