Как я могу программно определить, закреплены ли два потока/процесса к одному и тому же ядру?Linux

Anonymous
Как я могу программно определить, закреплены ли два потока/процесса к одному и тому же ядру?

Сообщение Anonymous »


Я разрабатываю многопоточную программу, в которой каждый важный поток привязан к своему ядру. В программе легко отслеживать используемые ядра и предотвращать привязку двух потоков к одному ядру (из-за ошибочной конфигурации).

Теперь на той же машине есть еще один процесс, который также привязан к ядру. Я хотел бы предотвратить случайное привязывание этих процессов к одному и тому же ядру.

Я могу обнаружить эту ситуацию из командной строки, но мне хотелось бы сделать это изнутри программы и предотвратить запуск второй.

Есть ли способ сделать это? Среда — Ubuntu и C++

Я могу ввести задержку для второго процесса, чтобы обойти любые условия гонки, которые могут возникнуть из-за одновременного запуска двух процессов

Вернуться в «Linux»