Trabalhar com dois núcleos

1. Trabalhar com dois núcleos

Nicholas
nicksf13

(usa Outra)

Enviado em 15/07/2014 - 23:33h

Olá galera, em algumas aulas de informática que tive eu ouvi falar que tem servidores com SOs que dividem as tarefas igualmente nos núcleos, ao invés de usar um núcleo para uma tarefa enquanto o outro núcleo do processador fica inutilizado, por exemplo se tiver 500 mhz para serem processador, cada núcleo processa 250, gostaria de saber se existe algum kernel do Debian, ou de qualquer outra distribuição do Linux que faça isso


  


2. Re: Trabalhar com dois núcleos

Rafael
odinhatesawk

(usa Gentoo)

Enviado em 16/07/2014 - 02:17h

Qualquer Linux pode ser configurado desta maneira.
Qual a sua intenção com tal uso?


3. Trabalhar com dois núcleos

Edwal F. Paiva Filho
nicolo

(usa Ubuntu)

Enviado em 16/07/2014 - 12:13h

Uso Ubuntu e Debian 64 bits.
O programa soundconverter ou o outro soundkonverter utiliza os 6 nucleos os AMD FX 6300 simultaneamente, convertendo um arquivo em cada nucleo. Isso é visível. Evidente que tem 12 Gb de memória RAM para suportar isso.

Não sei como verificar isso com outros aplicativos.

Uma coisa que poderia fazer seria recompilar o kernel e especificar para o seu processador e não genérico como eles são compilados pelas distros. Eu ainda tenho um debian Lenny com kernel recompilado, ,é bem rapidinho.

Recompilar o núcleo tem uns inconvenientes de compatibilidade com o vmware-player e eventualmente com o virtualbox.

Acho que se o aplicativo não for demasiadamente velho os 64 bits operam multinucleo porque todos 64 bits são multinucleo.



4. Re: Trabalhar com dois núcleos

Nicholas
nicksf13

(usa Outra)

Enviado em 16/07/2014 - 18:52h

mestretlaloc escreveu:

Qualquer Linux pode ser configurado desta maneira.
Qual a sua intenção com tal uso?


É o seguinte, estou rodando um servidor em java, mas a tarefa não está sendo certamente distribuída (um dos núcleos fica em 100%, enquanto o outro fica ocioso), queria que a tarefa fosse nos dois


5. Re: Trabalhar com dois núcleos

Rafael
odinhatesawk

(usa Gentoo)

Enviado em 17/07/2014 - 13:26h

nicksf13 escreveu:

mestretlaloc escreveu:

Qualquer Linux pode ser configurado desta maneira.
Qual a sua intenção com tal uso?


É o seguinte, estou rodando um servidor em java, mas a tarefa não está sendo certamente distribuída (um dos núcleos fica em 100%, enquanto o outro fica ocioso), queria que a tarefa fosse nos dois


Ainda não respondeu minha pergunta. Pra quê?
Não existe necessidade disso.
Só estaria aumentando consumo energético, dispersão de calor e o tempo de processamento seria exatamente o mesmo, no final.
Não existe necessidade de multiprocessamento em single thread.
O multiprocessamento é útil quando o próprio programa/tarefa é multithread.
Tirando programas como o citado no tópico que distribui um arquivo para cada core como uma thread separada (porque justamente o custo energético ainda é inferior ao benefício das threades serem executadas mais rapidamente), o resto é inútil.
O processador está sendo inteligente.


6. Re: Trabalhar com dois núcleos

Rafael
odinhatesawk

(usa Gentoo)

Enviado em 17/07/2014 - 17:47h

nicolo escreveu:

Uso Ubuntu e Debian 64 bits.
O programa soundconverter ou o outro soundkonverter utiliza os 6 nucleos os AMD FX 6300 simultaneamente, convertendo um arquivo em cada nucleo. Isso é visível. Evidente que tem 12 Gb de memória RAM para suportar isso.

Não sei como verificar isso com outros aplicativos.

Uma coisa que poderia fazer seria recompilar o kernel e especificar para o seu processador e não genérico como eles são compilados pelas distros. Eu ainda tenho um debian Lenny com kernel recompilado, ,é bem rapidinho.

Recompilar o núcleo tem uns inconvenientes de compatibilidade com o vmware-player e eventualmente com o virtualbox.

Acho que se o aplicativo não for demasiadamente velho os 64 bits operam multinucleo porque todos 64 bits são multinucleo.


Rapeize, o negócio é que o soundconverter trabalha separando um arquivo pra cada thread e uma thread por núcleo.
Dessa maneira, o processo tem um tempo de execução altamente reduzido.
Isso, no entanto, seria prejudicial em vários outros casos, causando overhead, entupindo as filas do processador, reduzindo a resposta geral do sistema durante a execução das threads...
simplesmente não existe necessidade de se dividir tarefas em vários núcleos/threads se não for extremamente necessário para a conservação do sistema ou para a execução de uma tarefa.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts