Eu acho que wierob
descreveu o ponto razoavelmente bem.
Aqui está um artigo mais antigo discutindo processor affinity
configurações com um quad-core QX6800 .
(o link aponta para a segunda página desse artigo).
Se você não forçar a afinidade do processo a um núcleo, perderá o desempenho ?
- Enquanto o agendador do Windows precisa decidir essa afinidade para evitar a espelhamento com caches,
o design de processador também considera essas coisas. - O Intel QX6800 quad-core (desde que eu a referi anteriormente nesta resposta)
tem um cache 8MBL3
compartilhado em seus 4 núcleos .
Deve-se notar que, embora você tenha escolhido executar apenas este processo de um único encadeamento no sistema, o próprio SO teria várias outras tarefas em execução que também precisam ser programadas. O agendador equilibra toda essa atividade no conjunto de processadores (ou núcleos) disponíveis.
Indo adiante, com a arquitetura Nehalem e NUMA ,
processadores em vários sockets também poderão endereçar melhor o thrash de acesso.
Aqui está uma foto rápida de uma página da ArsTechnica em NUMA .
SeNehalemei7
teinteressam,eutenhomaisalguns