A linguagem Java oferece extenso suporte à programação paralela e distribuída.Este trabalho aborda as facilidades de Java que auxiliam no desenvolvimento dessa classede software. Dentre elas, destacam-se o suporte a threads, os mecanismos de sincronização(synchonized, wait e notify) e a comunicação em rede (via Sockets ou RemoteMethod Invocation). Discute-se então o uso de Java em Processamento de Alto Desempenho,apresentando-se alguns dos principais projetos de pesquisa que seguem essa abordagem.
http://www.lbd.dcc.ufmg.br/colecoes/erad-rs/2002/007.pdf
Caso o link acima esteja inválido, faça uma busca pelo texto completo na Web: Buscar na Web