Guilherme Lloyd wrote:
> 
>   Hello World! (Msg Padrao)
> Amigos javaneses,
> 
> Primeiramente obrigado aos que me respondem sempre os emails....
> 
> Vamos ao assunto; gostaria de saber mais sobre paralelismo em java.

Como resposta "global": use threads. Agora, as perguntas especificas:

> Por favor me corrijam caso esteja errado: Temos em java a opcao de usar o
> RMI com o qual teremos um processamento distribuido, certo?

Certo.

> Mas, nao estou certo sobre se este metodo: Quando chamamos uma rotina que se
> encontra numa maquina remota, ele espera o retorno como um send/receive ou
> nao?

Sim. RMI eh um processo sincrono. Eh uma chamada de metodo, mas remota.
O certo eh usar o threads (voce pode fazer algo como "RMI nao sincrono"
usando threads).

> Temos tambem Threads, que podem ser sincronizados pelo synchronized quando
> os processos acessam uma variavel compartilhada na memoria. Os threads,
> sendo processos podem ser dirigidos a cpu's distintas, ou isto fica por
> conta do S.O.?

Sim e sim. Threads podem ser mapeados para CPUs distintas, mas isso
fica por conta SO. Algumas implementacoes de JVM (em particular
as conhecidas como "Green Threads") implementam threads a nivel
da JVM, e portanto, nao mapeiam para mais de uma CPU. As implementacoes
que usao "threads nativos", usam os threads do SO, e portanto, podem
se beneficiar de mais de uma CPU.
(obs: trheads nao sao _exatamente_ processos)

> E sobre a implementacao de PVM e MPI (bibliotecas de funcoes paralelas) em
> java? Vi alguns sites sobre isto mas parece que nao tem um padrao sobre
> isto, correto?

So para clarificar para outros participantes da lista, assumo que 
voce esteja falando de PVM (Parallel Virtual Machine)
        http://www.epm.ornl.gov/pvm/pvm_home.html
e MPI (Message Passing Interface)
        http://www-unix.mcs.anl.gov/mpi/index.html

Esses sao sistemas de processamento distribuido, e nao simples
bibliotecas de paralelismo, e portanto nao se comparam ao
RMI e Threads (acho que voce sabe disso, apenas para deixar claro).

Nao existe nenhum impedimento de voce possuir implementacoes 
em Java desses sitemas, mas nao sei te dizer se existe alguma. 
Algo na linha do MPI eh a biblioteca JMS (Java Messaging Service), 
mas nao sao a mesma coisa (JMS eh mais generico, MPI eh mais
especifico para o processamento paraleo). Uma outra opcao viavel eh
ter aplicacoes em Java interfaceando com esses sitemas (talvez
via JNI por exemplo). 

> Algo mais que estou esquecendo?

Outro sistema de processamento distribuido que voce deve
considerar eh o Jini (em especial utilizando conjuntamente o
servico Jini JavaSpaces), que eh um sistema distribuido totalmente 
escrito em Java, baseado no RMI. O ponto aqui eh so que Jini eh muito 
recente para se comparar com outras solucoes, em compensacao traz
caracterisiticas que esses sitemas nao apresentam. Maiores
informacoes:
        http://www.jini.org
        http://www.sun.com/jini

> 
> []'s
> Guilherme Lloyd
> 


Bruno.
______________________________________________________________________
Bruno Peres Ferreira de Souza                         Sun Microsystems
System Engineer - Java Technologist         [EMAIL PROTECTED]
        if I fail, if I succeed, at least I live as I believe
* Para n�o receber mais e-mails desta lista envie um e-mail para 
[[EMAIL PROTECTED]]
e no corpo do email escreva [unsubscribe <seu-email>]
Veja as mensagens antigas em http://www.mail-archive.com/javabr%40cits.br/

Responder a