[firebase-br] Super Server e dois núcleos

Eduardo Bahiense eduardo em icontroller.com.br
Seg Out 27 15:47:11 -03 2008


> Você não precisa forçar o cpu affinity para isso acontecer. O sistema
> operacional faz isso.
> 
> O affinity só server para garantir que o SS, que na prática funciona
> como se só tivesse um thread de execução, não fique pulando de uma cpu
> para outra durante a execução. Esse pula-pula causa trocas de contexto
> (context switches) desnecessários e atrapalha a performance (pelo
> menos em teoria, porque eu nunca vi um benchmark com affinity e sem
> affinity dar diferente).
> Já o kernel do linux (novamente, se me lembro bem) não causa esse
> pula-pula, por isso não precisa do affinity.
> 
> Resumo da ópera: Linux não precisa de affinity. No windows ele é
> recomendado, mas não é obrigatório (tanto que IB6 e anteriores não
> vinham com ele de fábrica).
> Se você vai rodar linux, pode colocar dois SS e esqueça do affinity.
> Eles vão usar suas duas CPUs sim (exceto se tiver algum affinity
> escondido, aí por favor os gurus em linux pulem aqui e me corrijam).
> 
> melhorou? ou acabei de piorar? :)

Melhorou bastante, embora eu ainda não compreenda inteiramente tudo isso.

Vamos ver na prática.


Brigadão


Eduardo





Mais detalhes sobre a lista de discussão lista