Посмотрите на проект hwloc . Он предоставляет C API для ответа на подобные вопросы, а также инструмент, lstopo
который генерирует карты топологии процессора / памяти. Смотрите URL для примеров.
Многоядерная система. Как ядра "отсортированы"
461
asdrubael
Если у меня есть система, скажем, с двумя процессорами Quadcore и включенной HyperThreading, как мне узнать, как сортируются физические и виртуальные ядра? Например, если я заставлю процесс запускаться на «CPU 0», как узнать, какое это ядро на самом деле? Я помню сложный рисунок об этом, но не нашел ничего полезного.
Обновление: после обсуждения этого с программистом, я убежден, что нет смысла связывать программу / поток с конкретным ядром. В большинстве случаев лучше позволить операционной системе решать, какие ядра использовать. Однако было бы интересно, как работает перечисление.
Из любопытства, зачем вам знать, какое это * физическое * ядро?
Bobby 14 лет назад
8
Пока маркировка является последовательной, кажется, что это не имеет значения.
mindless.panda 14 лет назад
0
Это может иметь значение, если вы пытаетесь вручную управлять сродством по какой-то причине. Многопоточный процесс с интенсивным использованием ЦП, который разделяет данные между потоками, работающими на двух или более ядрах одного ЦП, будет работать быстрее, чем один, использующий одинаковое количество процессорных блоков, распределенных по разным физическим ЦП, и может происходить быстрее, чем тот, который активно использует _more_ ядра. но распределяются по нескольким процессорам из-за совместного использования / управления кэшем, пропускной способности ЦП <-> ОЗУ и связанных с этим проблем. Попытка оптимизировать вещи таким способом вряд ли будет лучшим использованием вашего времени.
David Spillett 14 лет назад
2
Идея состоит в том, чтобы иметь программу / поток A, который использует все доступные ядра, ожидаемые от одной и другой программы / потока B, которые могут работать на «последнем» ядре самостоятельно. Если маркировка соответствует, не имеет значения, как это делается, но мне любопытно, как это работает и отличается ли это, например, между Windows / Linux или различными компьютерами.
asdrubael 14 лет назад
0
Похоже, вы ищете способ реализовать LPAR вне AIX?
warren 14 лет назад
0
1 ответ на вопрос
2
knweiss
Спасибо, это именно то, что я искал. Опять же: это только для "научных" целей.
asdrubael 14 лет назад
0
Похожие вопросы
-
1
Приостановить все, кроме x задач, интенсивно использующих процессор
-
12
Процессорные ядра: чем больше, тем лучше?
-
4
Насколько быстро каждое ядро в двухъядерном процессоре?
-
-
2
Предлагает ли Intel i7 реальное улучшение по сравнению со своими предшественниками?
-
5
В чем разница между многоядерными и многопроцессорными системами?
-
8
Выбор Dual или Quad Core
-
8
Эквивалент 'End Process' в Linux
-
2
Что делает процесс svchost.exe?
-
4
Разница между "a = b" и "export a = b" в bash
-
3
Есть ли RAR-экстрактор (для нескольких RAR-файлов, таких как .r00 и т. Д.), Который будет использова...