Mitos do hardware #04: mais núcleos, maior desempenho?

       
 11.719 Visualizações    Vídeos  
 36 comentários

Derrubamos mais um mito, desta vez "processadores com mais núcleos são mais rápidos?" Confiram!

Gabriel Torres Editor executivo do Clube do Hardware

 

Editado por Gabriel Torres

Compartilhar

11 pessoas curtiram isso



Comentários de usuários




não sabia da aplicação da programação em paralelismo, tinha lido a alguns anos atrás, mas teu exemplo explicou melhor que o material que li na epoca, obrigado :)

 

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Rodei o jogo Deus Ex: Madkind Divided , no  meu de 4 núcleos , ficou uma velocidade ae dps eu desativei os núcleos no windows e ele rodou muito lento , nem dava pra jogar , nesse caso fez diferença sim , talvez pra alguns jogos os processadores octa-core deve precisar, por ex: jogos de montar cidade talvez, com o jogo chamado Cities Skylines, qd sua cidade vai ficando maior esse jogo vai ficando cada vez mais pesado , é muita coisa processador executar nesse caso.

2 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

creio que o ponto principal e o sistema operacional estar bem otimizado para que ele organize as tarefas a serem processadas impedindo que os núcleos fiquem ociosos 

3 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Quem viu o Mitos do Hardware #1 vai perceber que um processador para qualquer situação referente a jogos é aquele que possui um bom clock, assim como seu pulso (IPC) e tenha uma quantidade razoável de núcleos.
"Não só de uma especificação que se define um hardware!", é o que penso para mitos assim. :P

3 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Parabéns pelo vídeo. Achei interessante o que foi dito sobre os programas serem compilados de maneira a fazerem uso adequado de múltiplos núcleos. Ao ouvir essa parte, imediatamente pensei que a otimização de alguns jogos poderia ser muito melhor.

 

Aproveitando, queria sugerir que em um vídeo future se falasse a respeito do "overhead" dos drivers da AMD e Nvidia, onde tem-se que os drivers da AMD requerem maior poder de processamento, o que pode causar gargalo em sistemas de entrada para jogos. É mito ou é fato?

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Sempre tive a suspeita de que isso era estratégia de mercado: vender processadores de vários núcleos para o consumidor comum.

 

  Imagine então aqueles celulares android rodando em cima de um octa-core onde nem o S.O. nem os aplicativos são otimizados para aquele aparelho em específico.

 

  Uso um processador Intel Core i5 de 5º geração e outro dia fui fazer um teste de renderização com o Blender 3D e percebi que desativando a otimização de threads, o resultado saia levemente mais rápido, ao menos para aquele trabalho em específico. Não fiz um teste profundo, pois nem sou desenhista 3D, só o uso para simular algumas coisas de eletrônica.

 

  Já vi placas mãe de servidores e via que em algumas haviam vários slots para processadores, o que, com certeza, originou essa onda de multi core, mas por que num servidor esses múltiplos núcleos são úteis e num computador não o são? A única coisa que me vem à mente é a virtualização, pois enquanto um processador se encarregaria do S.O. principal o outro se encarregaria das máquinas virtuais. Seria isso?

2 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Bem que poderiam criar um sistema que quebrasse o processamento do programa se forma automática  similar como aconteceu com o Dual Channel das memórias  ou Raid0 do HD em que os dados são divididos metade pra cada lado  ...  Eu citei o armazenamento como exemplo porque  também dividem as coisas  e é feito de forma automática independente do software ser compatível ou não ... ....  .....

 

Atualmente quem joga, ter um CPU de 4 núcleos é super importante até porque praticamente todos os games AAA nos últimos 4 anos já conseguem fazer bom uso dos núcleos da  CPU..

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

È igual os novos Ryzen R7 , são processadores muito mais focados em produtividade , pra edição e tal , tanto que os R5 que terão o foco em jogos com um preço abaixo de U$ 300 que é ótimo  ..

Mostrem esse vídeo pro pessoal da Adrenaline que usa 6950x só pra jogar pfv  kkkkkkkkkk

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@Ricardo RRY obrigado pelo seu testemunho, com certeza o que você escreveu ajudará outros usuários a entenderem melhor esta questão.

 

15 horas atrás, caiokn disse:

Aproveitando, queria sugerir que em um vídeo future se falasse a respeito do "overhead" dos drivers da AMD e Nvidia, onde tem-se que os drivers da AMD requerem maior poder de processamento, o que pode causar gargalo em sistemas de entrada para jogos. É mito ou é fato?

 

Sugestão anotada! :)

 

15 horas atrás, ricardospimentel disse:

Já vi placas mãe de servidores e via que em algumas haviam vários slots para processadores, o que, com certeza, originou essa onda de multi core, mas por que num servidor esses múltiplos núcleos são úteis e num computador não o são? A única coisa que me vem à mente é a virtualização, pois enquanto um processador se encarregaria do S.O. principal o outro se encarregaria das máquinas virtuais. Seria isso?

 

Em um servidor web, a aplicação servidora (Apache, nginx, etc.) vai abrindo processos na medida em que mais requisições vão sendo recebidas, e esses processos podem ser distribuídos entre os núcleos existentes e o desempenho de fato aumenta. Se não houver núcleos/processadores suficientes para processar esses processos, eles entram em uma fila de espera, e o usuário sente lentidão no acesso ao site. Espero ter ajudado com a ilustração deste exemplo prático.

 

Abraços!

6 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Excelente vídeo, Sr. @Gabriel Torres! Acredito que, antes dos programas específicos fazerem uso dos núcleos e threads extras (me corrija se eu estiver errado, por favor), o sistema operacional deve reconhecer, otimizar e disponibilizar para os programas todos os núcleos e threads disponíveis.
Reforçando o meu comentário e citando os comentários do Sres. @fenixcload@ricardospimentel, fiz um curso sobre a arquitetura POWER7 há alguns anos, e detive o conhecimento de servidores com até 256 processadores,
cada processador com até 8 cores e cada core podendo executar até 10 threads, tudo isso gerenciado por SOs específicos do fabricante ou homologados por ele (no caso o linux SUSe). Pelo que me lembro, nem nas VMs dentro dos servidores era possível rodar windows.

2 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
Em ‎02‎/‎03‎/‎2017 às 08:20, Ricardo RRY disse:

Rodei o jogo Deus Ex: Madkind Divided , no  meu de 4 núcleos , ficou uma velocidade ae dps eu desativei os núcleos no windows e ele rodou muito lento , nem dava pra jogar , nesse caso fez diferença sim , talvez pra alguns jogos os processadores octa-core deve precisar, por ex: jogos de montar cidade talvez, com o jogo chamado Cities Skylines, qd sua cidade vai ficando maior esse jogo vai ficando cada vez mais pesado , é muita coisa processador executar nesse caso.

Se a Intel vende 4 núcleos, são 4 processadores, senão o Ministério Público dos EUA cairia de pau.

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
14 minutos atrás, hb2016 disse:

Se a Intel vende 4 núcleos, são 4 processadores, senão o Ministério Público dos EUA cairia de pau.

 

A AMD vendeu os FX como sendo 8 núcleos e na real ele tem 4.
Não levou processo do MP dos EUA por isso.

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
9 horas atrás, Evandro disse:

 

A AMD vendeu os FX como sendo 8 núcleos e na real ele tem 4.
Não levou processo do MP dos EUA por isso.

@Evandro

Eu baixei o programa CPU ID Z e fiz um Bench onde ele testa os núcleos juntos e apenas um núcleo: Single Thread e Multi Thread

Sem usar todos os núcleos, todos os processadores tem quase a mesma pontuação de Bench do meu processador intel Core i7 3612QM

 

2 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
12 horas atrás, Evandro disse:

 

A AMD vendeu os FX como sendo 8 núcleos e na real ele tem 4.
Não levou processo do MP dos EUA por isso.

 

Momento ~~~polêmica~~~

 

Não, o FX tem oito núcleos de verdade. Um advogado oportunista e um consumidor aluado tentaram, mas o argumento técnico não se sustentou num tribunal. E seria ruim se eles tivessem ganhado, porque um tribunal não pode definir o que é um núcleo, é pra isso que temos engenheiros.

 

LISTA NÃO EXAUSTIVA DE PROBLEMAS VERAMENTE PROBLEMÁTICOS DA ARQUITETURA BULLDOZER:

- Pipeline longo demais e predição de desvios, agendador e pré-busca ruins (estes últimos foram melhorados no Piledriver)

- "Pipeline stalls", consequência do item acima, dava "branco" no processador e ele tinha que esperar por dados que não estavam no cache

- Caches grandes de mais e lentos de mais, e ainda por cima write-through

- Penalidade de 10% por causa do compartilhamento de recursos (no Excavator, a AMD conseguiu reduzir pra 1%, no Steamroller é de 5%)

- Hector Ruiz que, pelo visto, não viu a barba do vizinho (Intel) arder (Pentium 4)

 

(Isso é o que eu me lembro das análises. Posso ter confundido alguma coisa.)

5 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

@codavara há controvérsias, já que os núcleos não são completos, como você bem sabe. ^_^

2 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
58 minutos atrás, codavara disse:

 

Momento ~~~polêmica~~~

 

Não, o FX tem oito núcleos de verdade. Um advogado oportunista e um consumidor aluado tentaram, mas o argumento técnico não se sustentou num tribunal. E seria ruim se eles tivessem ganhado, porque um tribunal não pode definir o que é um núcleo, é pra isso que temos engenheiros.

 

LISTA NÃO EXAUSTIVA DE PROBLEMAS VERAMENTE PROBLEMÁTICOS DA ARQUITETURA BULLDOZER:

- Pipeline longo demais e predição de desvios, agendador e pré-busca ruins (estes últimos foram melhorados no Piledriver)

- "Pipeline stalls", consequência do item acima, dava "branco" no processador e ele tinha que esperar por dados que não estavam no cache

- Caches grandes de mais e lentos de mais, e ainda por cima write-through

- Penalidade de 10% por causa do compartilhamento de recursos (no Excavator, a AMD conseguiu reduzir pra 1%, no Steamroller é de 5%)

- Hector Ruiz que, pelo visto, não viu a barba do vizinho (Intel) arder (Pentium 4)

 

(Isso é o que eu me lembro das análises. Posso ter confundido alguma coisa.)

 

Eu nem sabia disso, obrigado, a lógica não falha. Óbvio que alguém já tinha entrado com processo. Nem precisa ser guru para advinhar

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Fluxo é uma boa tradução para threads. A linguagem de TI é anglicizada demais e isso às vezes me incomoda.

 

Existe uma penalidade alta quando um processador precisa mudar de contexto. Com mais núcleos, mais processos podem rodar em paralelo e esta penalidade é mitigada; ainda que o aplicativo que você mais usa possa não aproveitar todos os núcleos, o Windows e outros sistemas operacionais sempre tem tarefas rodando em segundo plano, e esses processos podem afetar o desempenho do processo em primeiro plano. Isso corrobora o testemunho do @Ricardo RRY.

2 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Eu estava pensando aqui.... Bem que a Microsoft poderia criar algo que joga-se para os últimos núcleo os processamento dos processos do próprio Windows  em vez de manter esses processos no primeiro núcleo,  deixando o primeiro núcleo com mais recursos livres para os demais aplicativos .... Parece  nos consoles( PS4/ Xone) acontece algo parecido... 

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Muito bom o vídeo, parabéns Gabriel Torres.

Eu sou muito fã aqui do clube, já me oriento por aqui a anos, mas sempre como anônimo. Só consultando e tirando algumas dúvidas em alguns posts.

A galera aqui é 100% atenciosa e parece até que são pagos para isso, pois fazem de muito bom grado.

Bom, só gostaria de deixar o meu agrado e dizer que a galera tá de parabéns. 

Eu vejo muito das suas pastagens também Gabriel, são bem detalhadas e bem explicadas.

Abraços povo.

3 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
3 horas atrás, Ricardo RRY disse:

Pessoal , é verdade que o novo Directx 12 aproveita todos os núcleos do processador de uma forma melhor otimizada? Ou é mito?

 

http://adrenaline.uol.com.br/2015/04/24/34032/confira-as-novas-principais-mudancas-do-directx-12-suportadas-pela-amd/

 

No meio da página do link tem um 2 gifs explicando melhor essa minha dúvida

 

Teoricamente..

 

Porque vejo falarem disso desde o DirectX 10 e até agora o resultado ficou bem abaixo do esperado.

3 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
Em 3/5/2017 às 02:34, codavara disse:

 

Fluxo é uma boa tradução para threads. A linguagem de TI é anglicizada demais e isso às vezes me incomoda.

 

 

A não ser casos já incorporados ao nosso idioma como "clock" (chamar de "relógio" eu acho estranho) eu tento sempre que possível usar o equivalente em português. Um bom exemplo em pauta é "núcleo", onde tem muita publicação que insiste em chamar de "core" quando temos a palavra em português.

 

@Jefferson Helltrair obrigado pelos elogios e por seu testemunho! :) É graças a comentários como o seu que encontramos força para continuarmos o nosso trabalho de educação.

 

 

3 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Eu ainda não tenho um octa-core , mas isso só testando mesmo com algum software que mede processo por núcleo (durante jogo/renderização) ,sinceramente não conheço algum software do gênero , vocês devem conhecer.

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites

Alguns SOs já vêm preparados para o processamento paralelo como é o caso das últimas versões do Linux, seja no sabor que se escolher. Há cerca de 15 anos divorciei-me do Windows e, portanto, não conheço suas evoluções nesta área.

 

Concordo com o articulista: o processamento paralelo é mais utilizado no processamento de imagens mas vale acrescentar que também o é na análise de grandes bancos de dados e programas científicos. O ScyLAB, por exemplo, clone do MathLAB para plataformas livres, possui rotinas de processamento paralelo que podem ser implementadas na elaboração de aplicativos científicos.

 

No fundo a grande realidade é: para edição de textos, planilhas, apresentações, internet e e-mail realmente precisamos de tudo isso? Quando pensamos que o computador que enviou o primeiro homem à Lua possuía menos capacidade computacional que um relógio digital temos a certeza que estamos jogando Hardware fora!

 

Abraço a todos.

3 pessoas curtiram isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites
3 horas atrás, Otávio A. Carvalho disse:
No fundo a grande realidade é: para edição de textos, planilhas, apresentações, internet e e-mail realmente precisamos de tudo isso? Quando pensamos que o computador que enviou o primeiro homem à Lua possuía menos capacidade computacional que um relógio digital temos a certeza que estamos jogando Hardware fora!

 

 

Ou a dúvida se realmente foi possível kkkk

1 pessoa curtiu isso

Compartilhar este comentário


Link para o comentário
Compartilhar em outros sites



Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar agora