Я читал обзор нового Intel Atom 330, где они отметили, что диспетчер задач показывает 4 ядра - два физических ядра, а еще два моделируют Hyperthreading.
Предположим, у вас есть программа с двумя потоками. Предположим также, что это единственные потоки, выполняющие какую-либо работу на ПК, все остальное бездействует. Какова вероятность того, что ОС поместит оба потока в одно ядро? Это имеет огромное значение для пропускной способности программы.
Если ответ - это ничего, кроме 0%, существуют ли какие-либо стратегии смягчения, кроме создания большего количества потоков?
Я ожидаю, что будут разные ответы для Windows, Linux и Mac OS X.
Используя sk answer в качестве Google корма, а затем по ссылкам, я нашел GetLogicalProcessorInformation функции в Windows. В нем говорится о "логических процессорах, которые совместно используют ресурсы. Примером такого типа совместного использования ресурсов будут сценарии гиперпотоков". Это означает, что jalf верен, но это не совсем окончательный ответ.