Efficient Java Communication Protocols on High-speed Cluster Interconnects Alexandre Almeida Felipe Severino
Tema Criação de um protocolo de comunicação Java otimizado para comunicação eficiente em clusters de alto desempenho (e.g. GbE e SCI); Java Fast Sockets: compatível com Java Sockets.
Motivação Clusters de alto desempenho precisam de uma interconexão eficiente; Crescente interesse na utilização de Java para high-performance computing; O desempenho de uma aplicação paralela é diretamente influenciado pela sobrecarga da comunicação; Java não suporta protocolos de comunicação de alto desempenho (e.g. SCI e Myrinet).
Estado-da-arte Sockets-MX/Sockets-GM: –Implementação de sockets de baixa latência para Myrinet; –Não usa pilha TCP/IP: comunicação mais eficiente que emulação de TCP/IP sobre Myrinet; –Dois modelos de comunicação: Zero-copy: high badwidth; One-copy: low latency.
Estado-da-arte SCISOCKETS –Implementação socket sobre interface SISCI e GENIF; –SISCI: Interface user level para SCI; Implementa mecanismos de compartilhamento de memória e transferência de dados entre eles; –GENIF: Interface kernel level para SCI.
Objetivos Criação de uma interface de alto nível para comunicação em clusters de alto desempenho: –SCI; –GbE;
JFS Java Fast Sockets (JFS): –Java-related: Portabilidade X desempenho; Facilidades de Java NIO; Camada de comunicação leve; Transparência. –Native-related: Utilização de métodos nativos para ganho de desempenho; Interação entre código Java e código nativo; Escolha entre User Level ou Kernel Level. Etc
JFS Se houver protocolo nativo ele irá assumir a conexão; Caso contrário, será usada implementação Java socket;
JFS Utilização é feita substituindo a implementação padrão por JFS; –Transparente ao usuário:
JFS Facilidades de Java NIO: –Solução Java é baseada em Java NIO SocketChannels e direct byte buffers; –Solução nativa é baseada em uma extensão de I/O Stream do pacote java.io, que irá tratar os direct byte buffers através de métodos nativos;
Arquitetura do JFS Integração do protocolo nativo no JFS
Resultados Ambiente de teste: –Dois processadores Xeon (dual-core) conectados através de SCI e GbE; –S.O.: Linux Centos 4.2 com kernel e compiladores gcc e Sun JDK 1.5.0_05; –Benchmark utilizando NetPIPE (Network Protocol Independent Performance Evaluator);
Avaliação Abordagem Java para comunicação de alto desempenho; –Relativamente relevante; A escrita do artigo é bastante confusa; –A qualidade de escrita do texto deixa a desejar; –Problemas com citações; Os resultados obtidos são questionáveis e obtidos apenas sobre SCI e GbE, sendo este último muito similar ao Java Sockets convencional.
Notas a) motivação e estado-da-arte: 3 b) problema a resolver e modelo: 4 c) Protótipo, resultados e comparações com trabalhos relacionados: 2 d) Redação e formatação: 2