[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: swap é mesmo necessário?



On Sat, 2005-10-29 at 10:23 -0200, Marcos Lazarini wrote: 
> Datacom - Tavares wrote:
> > On Tue, 2005-10-11 at 23:17 -0300, Marcos Lazarini wrote:
> > 
> >>>E tem um problema, se voce habilitar na Bios o HT e usar um kernel nao
> >>>SMP ou um windows 98 sem suporte a SMP, o sistema ficará instavel..
> >>
> >>Isso eu já nao sei não, veja os e-mails do Francisco que iniciou a 
> >>thread - ele usava um HT com kernel 2.4 não smp. E só comecou a travar 
> >>depois que comecou a brincar com essas coisas.
> > 
> > Partindo do principio q se vc tiver 2 cores e um kernel nao SMP, somente
> > o core 1 serah usado, com HT o mesmo pode ocorrer, correto? Nao
> > aproveitando o hardware do sistema de forma plena e deixando parte
> > processador ocioso..
> 
> Isso é instavel? Veja o que voce mesmo falou acima

Independente..
Pra que voce vai usar um sistema com HT configurado de maneira
incorreta?
Nao sei se eh instavel pois nunca o usei configurado incorretamente para
testar se fica instavel..
Quando comprei a maquina a 3 anos atras (aproximadamente) li textos que
afirmavam que essa possibilidade existia..


> >>>Acredito que o ganho de desempenho eh baixo nos computadores com
> >>>windows, onde a maioria dos benchmarks "comerciais" executam.
> >>>O windows nao faz um bom proveito do paralelismo, ao contrario do que
> >>>acontece com o linux.. Isso quer dizer, o ganho do HT no linux eh
> >>>significativo :)
> >>
> >>Isso eu discordo... e bastante.
> >>Primeiro, pq os benchmarks comerciais iriam fazer o windows rodar mais 
> >>devagar?
> >>Segundo, não dá pra ver o código do windows pra ver se ele realmente 
> >>implementa de maneira eficiente. Só da pra especular. Ai a comparação 
> >>fica complicada, mas podemos tentar dentro de certos parâmetros.
> >>E outra coisa: uma coisa é o sistema operacional suportar multiplas 
> >>CPUs; outra coisa completamente diferente é seus aplicativos tirarem 
> >>proveito delas.... E isso eu não sei como anda nem no linux, nem windows.
> > 
> > Defensor de windows? :)
> > Benchmark comercial fechado eh desconsideravel pois ele pode ter uma
> > implementacao q beneficiaria um ou outro caso.. Nao temos como saber.
> > 
> > Eu nao disse em momento algum q os benchmarks fariam o windows rodar
> > mais devagar, acho q fui mal interpretado. Na verdade, nenhum programa
> > em sua natureza, poder fazer um OS "rodar mais devagar". Timesharing
> > existe! :) Os conceitos de OS detalham isso..
> > 
> > O q quis dizer eh q os benchmarks executados sao todos para windows e q
> > no windows nao temos um ganho com o uso de HT tao grande quanto temos no
> > linux..
> 
> Qual o critério que vc usou pra chegar nessa conclusão? Achometro? Se o 
> critério foi numero de processos/threads rodando ao mesmo vc está 
> enganado...
> 
> > e q os benchmarks deveriam ser executado sobre linux para
> > podermos comparar um HT com um nao HT pois o ambiente de trabalho no
> > linux tem uma natureza mais paralelizavel.
> > 
> > Sim, nao podemos ver o codigo do windows, mas podemos ver os tamanhos
> > dos binarios em execucao e a sua quantidade (pequena) para executar uma
> > determinada tarefa. Quando comparado com o linux temos muito mais
> > programas (threads) em paralelo e estes sao equivalentes aos grandes
> > binarios do windows (mesma tarefa) soh q partidos em pedacos menores
> > resultando numa maior quantidade de pequenos programas em execucao (mais
> > paralelizavel), fui claro? Talvez nao..
> 
> Ninguem disse q eles podem ser executados simultaneamente em CPUs 
> diferentes; os mesmos conceitos de SO que vc cita acima também mencionam 
> Locks, Semáforos, etc.
> Outra coisa, nao entendi a questão do tamanho ai em cima - já compilou 
> alguma coisa com -O3? Fica gigante e super-rápido.
> Seguindo pelo seu raciocinio, o linux deveria ser mais lento que o 
> windows, pois haveria mais troca de contexto entre as muitas coisas que 
> ele roda (e toda troca de contexto/interrupcao é péssimo pra performance)
> 
> 
> >>>Percebi isso verificando no winXP que mesmo possuindo 2 processadores,
> >>>ao disparar um programa, era praticamente usado somente um deles.
> >>
> >>E no linux? Fez o mesmo?
> >>Tentou carregar um programa multi-thread no windows pra ver a diferença?
> > 
> > 
> > Nao.. Ele paraleliza ok..
> > Sim, mas mesmo assim, os programas pra windows nao implementam muitas
> > threads, mas percebe-se elas executando em paralelo..
> 
> ???
> 
> 
> >>Um bom teste: pegue um crack de qquer coisa (.doc, .zip, passwd, etc); 
> >>em geral eles não são multi-threaded pois não é tão facil paralelizar 
> >>essa tarefa.
> > 
> > Jah fiz o teste usando um encoder MPEG 1 sem multi-thread..
> > 
> > 
> >>No micro HT, coloque no windows e veja se vai gastar 100% de CPU; depois 
> >>repita no linux. Eu diria que fatalmente ambos vão parar em 50%. E ai? 
> >>quem é o mais rápido?
> > 
> > Essa nao é a questao.. A questao eh quantas threads tens executando num
> > windows para realizar uma tarefa e quantas tens no linux para executar a
> > mesma tarefa..
> 
> Eu não queria entrar no mérito, mas acho que não tem jeito.
> processo é diferente de thread, e eu acho que você está confundindo. Não 
> sou expert no assunto [e o guru mais próximo está bem longe], mas vamos lá:
> 
> ao fazer um 'ps' ou olhar no 'task manager' vc lista os processos, nao 
> as threads. As threads são sub-divisões dos processos, e correm por 
> dentro deles.
> Paralelizar vários processos é 'facilmente' feito pelo escalonador do 
> SO, a custa de locks, semaforos, etc. Paralelizar um processo, 
> utilizando várias threads é em geral complicado, pois afeta diretamente 
> o algoritmo escolhido e exige formulação das estratégias adequadas.
> 
> A minha duvida reside no fato do que é mais fácil de acontecer: por dois 
> processos pra rodar ao mesmo tempo, ou fatiar um processo e colocar as 
> threads pra rodar separadas? E em qual caso vc tem ganho de velocidade 
> de execução maior?
> 
> 
> > Exemplo: Ao carregar o windows tens bem poucas threads gerenciando todo
> > o ambiente grafico.
> > No linux, o ambiente grafico se resume a um grande conjunto de
> > programas, por exemplo, gerenciador de janelas, font-server, desktop,
> > painel, etc, etc, etc, e cada um com suas n threads.. entende agora o q
> > quis dizer?
> > 
> > A natureza do linux eh muito mais paralelizavel do q a do windows,
> > portanto uma maquina com linux com HT teria um ganho bem maior em
> > comparacao a uma sem HT do q se compararmos a uma maquina com windows
> > com HT e sem HT. Fui claro agora na minha explicacao? :)
> 
> Agora tá entendido o seu conceito, só não sei se há relação direta com o 
> numero de processos (ou threads) rodando com a capacidade de 
> paralelização como vc assume (e consequente ganho de velocidade).

Na verdade, todo esse assunto eh bem complicado e cheio de variaveis..
Acho que somente no final consegui explicar o que estava querendo
dizer.. :)


-- 

[]
JA Tavares



Reply to: