[FUG-BR] Pentium 4 HT Não reconhece segunda CPU

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Quinta Novembro 16 12:08:15 BRST 2006


c0re dumped wrote:
> Obrigado pelo bom material Patrick  !
> 
> Só uma pergunta: o benchamrk qual você se referem em
> http://www.2cpu.com/articles/42_1.html não foi feito somente em
> windows, como ele se refere no final do artigo ?

Sem duvida, e cumpre o objetivo muito bem especialmente por testar 
processamento de conversao de video. A base do benchmark eh a comparacao 
no mesmo ambiente, mesmas aplicacoes.

> O que sempre vejo em forums, como o bsdforums, é que recomenda-se o
> não uso de HTT. Inclusive em sites como slashdot há notícias
> interessantes em relação ao assunto, em sua maioria, informando a
> queda de performance em sistemas (inclusive Windows) com HTT
> habilitado:
> 
> http://hardware.slashdot.org/article.pl?sid=05/11/19/1358218&from=rss

Pois eh ai que cabe uma analise critica, veja que os comentarios dessa 
noticia, tem mais gente mencionando beneficios do que maleficios de usar 
HTT. Em varios ambientes a degradacao pode acontecer, mas nesses casos 
tem que ser muito bem observado, porque a causa em potencial pode nao 
ser o HTT, mas sim a aplicacao ou o perfil do servidor.

A questao a ser levantada e': em casos onde a performance degrada, 
degrada apenas HTT? Nao teria o mesmo impacto usando duas CPU fisicas? 
No caso citado do PostgreSQL 7 por exemplo, teria. O melhor comentario 
dessa thread na Slashdot eh o que compara o gap de performance entre 2 
CPU, dois nucleos e HTT: tudo depende, do que roda no servidor.

Os gargalos do HTT sao cache e registradores, que sao os mesmos rodando 
como uma CPU ou duas. Se usando duas CPU logicas o gargalo de ter esses 
recursos compartilhados de forma logica chega a ser mais expressivo do 
que com apenas uma, (veja bem, o recurso eh o mesmo) provavelmente eh 
fato relacionado a como o sistema esta consumindo esses recursos, e ai a 
aplicacao tem que ser analisada.

Por outro lado existe a possibilidade de ter de fato threads paralelas, 
e nao concorrentes, consumindo o poder total de processamento da 
maquina, e paralelismo VS concorrencia, nao tem como, de forma geral, 
concorrencia ser melhor, nao faz sentido neh? Ai que mora a vantagem do 
SMT. O SMT eh a forma mais barata, financeiramente, e mais pobre, 
tecnologicamente de conseguir o paralelismo, se compararmos com SMP 
fisico ou nucleos duplos. Mas consegue atingir o objetivo e torna o 
sistema nao exclusivamente dependente de multiplexacao, o que se nao 
resutar em ganho de performance eh porque o ambiente/aplicacao nao 
consegue tirar proveito suficiente (nao ser multithread) ou algo de 
incomum acontece que deve ser considerado com mais atencao, do que 
simplesmente desligar o SMT.

> Há também uma entrevista muito interessante com o Frederico Biancuzzi
> na qual ele diz que o  SMPng melhora muitíssimo pouco a performance em
> CPUS HTT (e sobre a necessidade de um HTT ware scheduler)
> 
> http://www.onlamp.com/pub/a/bsd/2005/01/20/smpng.html

Sem duvida, como menciona o Scott Long um escalonador especifico 
melhoraria a performance, mas como nao existe escalonador especifico pra 
HTT, temos que nos ater simplesmente ao fato que o poder de 
processamento total eh uma constante, e os recursos paralelos a ele, 
especialmente cache e frequencia de troca de registradores - mais 
importante pra multiplexacao no caso - sao igualmente constantes e 
limitados, com ou sem HTT. Entao a diferenca eh a possibilidade de haver 
paralelismo ou de tudo se resumir a multiplexacao. Isso ja eh 
possibilitado por escalonamento generico, sem nada especial para HTT.



-- 
Patrick Tracanelli

FreeBSD Brasil LTDA.
(31) 3281-9633 / 3281-3547
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd