A onda dos proc. de multiplos núclelos vai deixar a programação ainda mais complicada?  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

mochuara wrote:Claro que SO/JVM vai cuidar, mas o programador vai ter que especificar o processamento a ser feito em paralelo, por meio da API.

Mas não é isso que estou falando?

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Na verdade, os principais gargalos de processamento, há muito tempo, já estão fora da CPU. Então, quando se fala em otimização, a menos que você tenha um programa estritamente matemático, é difícil que um único core chegue a ter 100% de ocupação. Basta dar um CTRL+ALT+DEL e olhar seu gerenciador de desempenho. Você vai ver que a maior parte do tempo, a ocupação do seu core dificilmente ultrapassa 20%.

Para otimizar isso, não só o software, mas o hardware teria que dar mais suporte. Em especial, eliminando gargalos fora do core. Tem que ser possível, por exemplo, ter acesso de dois cores simultâneos ao disco, coisa que até então, não é possível (ele é time-shared, não simultâneo).



@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
mochuara
GUJ Master
[Avatar]
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline

davidbuzatto wrote:
Mas não é isso que estou falando?


ah ta, foi mal!
mochuara
GUJ Master
[Avatar]
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline

ViniGodoy wrote:Na verdade, os principais gargalos de processamento, há muito tempo, já estão fora da CPU. Então, quando se fala em otimização, a menos que você tenha um programa estritamente matemático, é difícil que um único core chegue a ter 100% de ocupação. Basta dar um CTRL+ALT+DEL e olhar seu gerenciador de desempenho. Você vai ver que a maior parte do tempo, a ocupação do seu core dificilmente ultrapassa 20%.

Para otimizar isso, não só o software, mas o hardware teria que dar mais suporte. Em especial, eliminando gargalos fora do core. Tem que ser possível, por exemplo, ter acesso de dois cores simultâneos ao disco, coisa que até então, não é possível (ele é time-shared, não simultâneo).




Tem razão, só será util para computações realmente intensivas.

ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

mochuara wrote:Tem razão, só será util para computações realmente intensivas.


Intensivas e pouco interdependentes. Não é à toa que placas de vídeo já se benefíciam de mais de 100 cores há bastante tempo. Como o cálculo de cada matriz é relativamente independente, é fácil paralelizar coisas por lá. Esse seria o ponto onde precisaríamos melhorar a aplicação.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 5932
Localização: São Paulo/SP
Offline

Especialiastas andam dizendo que estamos chegando ao limite de processamento por nucleo, e realmente vai ser necessario uma ajuda dos desenvolvedores para aproveitar as tecnologias multi-cores.

Facebook @MarkyHitchhiker +Mark WP: MarkyTech's

Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
EVGD: Programação de jogos (links) Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais

DefaultTableModel?! PARE! Não faça isso! Faça melhor!

Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)

Develop games is fantastic, with words you can make worlds!!!

DON'T PANIC!
MarkyHitchhiker's Blog!
[WWW] [MSN]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

http://www.gizmodo.com.br/conteudo/pesquisadores-criam-processador-de-mil-nucleos/
http://idgnow.uol.com.br/mercado/2010/12/29/acha-seu-pc-lento-vem-ai-o-processador-de-1-000-nucleos/

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
mochuara
GUJ Master
[Avatar]
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline

ViniGodoy wrote:
mochuara wrote:Tem razão, só será util para computações realmente intensivas.


Intensivas e pouco interdependentes. Não é à toa que placas de vídeo já se benefíciam de mais de 100 cores há bastante tempo. Como o cálculo de cada matriz é relativamente independente, é fácil paralelizar coisas por lá. Esse seria o ponto onde precisaríamos melhorar a aplicação.


Isto é mesmo um problema para sistemas OO. Bem lembrado!
eduacsp
GUJ Ranger
[Avatar]

Membro desde: 29/03/2006 21:29:35
Mensagens: 897
Offline

Marky.Vasconcelos wrote:Especialiastas andam dizendo que estamos chegando ao limite de processamento por nucleo, e realmente vai ser necessario uma ajuda dos desenvolvedores para aproveitar as tecnologias multi-cores.


Finalmente alguém entendeu o q quis dizer!. Vlw Marky!

Pois também eu te digo que tu és Pedro, e sobre esta pedra edificarei a minha igreja, e as portas do inferno não prevalecerão contra ela;
Mateus 16:18
mochuara
GUJ Master
[Avatar]
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline

Chip designers are under so much pressure to deliver ever-faster CPUs that they?ll risk changing the meaning of your program, and possibly break it, in order to make it run faster


http://gotw.ca/publications/concurrency-ddj.htm

Apesar do autor parecer confundir concorrencia com paralelismo, mesmo assim uma boa leitura.

This message was edited 1 time. Last update was at 30/12/2010 14:15:32

wellington.nogueira
GUJ Ranger
[Avatar]

Membro desde: 11/08/2006 11:29:56
Mensagens: 914
Localização: Osasco-SP
Offline

se não estou enganado, tem um artigo recente, ou na mundoj ou na java magazine falando desse assunto (como dividir o processamento entre os núcleos).

PS: Quando li pela primeira vez no título "multi-cores" não entendi como "muitos nucleos" mas como "um monte de cores" (vermelho, azul, etc) hehehe
Deve ser a contagem regressiva pro ano-novo

57 45 4C 4C 49 4E 47 54 4F 4E
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
"Se você acha que programar em Java com Swing é simples? Acredite em mim, não é!"
http://developmentforever.wordpress.com/
fredferrao
GUJ Master
[Avatar]

Membro desde: 01/06/2005 13:23:32
Mensagens: 1901
Localização: Brasil
Offline

Concordo com o davidbuzatto, nós não vamos escolher quais cores esta o que, mas podemos sim definir a quantidade de Thread's baseado na quantidade de cores, quanto mais cores, mais threads são interessantes criar.

Por exemplo num exemplo de Scala que estou vendo ele acha que o legal seria 2*quantidadeCores, e tem até este exemplo de código:



O mesmo poderiamos fazer com os Executors do java ou manualmente.


Claro que o SO/JVM tem que ser inteligente o bastante para dividir nossas thread nos varios nucleos, ai sim acho que teriamos performance.



Não respondo dúvidas via MP!
Marck
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2006 16:15:11
Mensagens: 598
Offline

ola!

Tambem acho que muitas coisas tem que ser controladas via codigo. O c# 4 por exemplo, para as Collections, tem metodos que abstraem a utilizacao de mais de um processador.

"A vida me deu tudo que eu pedi. Agora se o que eu pedi foi pouco, ai o problema já é meu!". Sartre

Besteiras sobre programação

http://toobject.wordpress.com/
DataModelDinamic
[Email] [WWW] [MSN]
mochuara
GUJ Master
[Avatar]
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline

fredferrao wrote:
Claro que o SO/JVM tem que ser inteligente o bastante para dividir nossas thread nos varios nucleos, ai sim acho que teriamos performance.




Ele deve ser capaz de inferir a melhor configuração a partir do tipo do seu sistema, por exemplo, se computacionalmente intensivo como disse o Vini, ou I/O intensivo.

Acho que esta descrevendo um futuro mais complicado do que deveria.

This message was edited 2 times. Last update was at 01/01/2011 18:16:33

 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team