| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:10:56
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
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 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:13:20
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:15:37
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
davidbuzatto wrote:
Mas não é isso que estou falando?
ah ta, foi mal!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:22:34
|
mochuara
GUJ Master
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:38:29
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:44:43
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
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! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:49:41
|
davidbuzatto
Moderador
![[Avatar]](/images/avatar/7ba6d33c373fea56b7258003b16c68e5.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 13:53:43
|
mochuara
GUJ Master
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!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 14:02:47
|
eduacsp
GUJ Ranger
![[Avatar]](/images/avatar/516341c3e8f4543c8d465b0c514a6f92.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 14:12:34
|
mochuara
GUJ Master
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 15:19:43
|
wellington.nogueira
GUJ Ranger
![[Avatar]](/images/avatar/00c1de56b1cbab48f9869c1460d70e76.png)
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/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 18:27:27
|
fredferrao
GUJ Master
![[Avatar]](/images/avatar/128ac9c427302b7a64314fc4593430b2.jpeg)
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! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2010 19:00:48
|
Marck
Virtual Machine Man
![[Avatar]](/images/avatar/efc9ea3e0c2ed2c2481fe1252019266e.jpg)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/01/2011 18:04:45
|
mochuara
GUJ Master
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
|
|
|
 |
|
|