A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Design and Performance Analysis of a Distributed Java Virtual Machine Felipe Damasio Rita Kalile Almeida Andrade Mihai Surdeanu, Member, IEEE; Dan Moldovan,

Apresentações semelhantes


Apresentação em tema: "Design and Performance Analysis of a Distributed Java Virtual Machine Felipe Damasio Rita Kalile Almeida Andrade Mihai Surdeanu, Member, IEEE; Dan Moldovan,"— Transcrição da apresentação:

1 Design and Performance Analysis of a Distributed Java Virtual Machine Felipe Damasio Rita Kalile Almeida Andrade Mihai Surdeanu, Member, IEEE; Dan Moldovan, Senior Member, IEEE

2 Motivação Aplicações complexas Paralelismo Em java SMP RMI Custos adicionais de hardware. Mais complexidade do software. Obter paralelismo com uma rede de workstations Utilizar JVM distribuída de memória compartilhada (DMS).

3 Estado da Arte Page-based DSM systems (IVY, TreadMarks, Coherent Virtual Machine, Millipede)  IVY: Consistência seqüencial usando um protocolo single-writer multiple-reader. Há muita troca de mensagem Falso compartilhamento (false sharing) O TreadMarks atenuou com o Lazy Release Consistency Os demais reduzem a troca de mensagens com thread migration Shared-variable DSM systems (Munin, Midway)  Programador anota variáveis compartilhadas e o protocolo desejado da consistência com palavras reservadas

4 Estado da Arte Object-based DSM systems (Linda, Orca)  Linda: Baseado em tuplas. Consistência por broadcasting para os nós do sistema.  Orca: Broadcast confiável. Consistência sequencial. Java-Based Distributed Environment (JavaParty)  Usa palavras reservadas para marcar objetos compartilhados  Traduz o código para um código Java RMI.  Programador tem que informar quais variáveis são locais e compartilhadas.

5 Objetivos Projetar de uma máquina virtual compartilhada distribuída:  Correta (em conformidade com a especificação da Máquina Virtual Java (JVMS));  Utilizar memória compartilhada distribuída (DSM). Permite executar de maneira transparente para a aplicação (sem modificar o código);

6 A Plataforma DISK (DIStributed Kaffe) Conjunto de nodos conectados via TCP; Usa a JVM Kaffe;  Possui garbage collector e compilador JIT; Gerenciamento de threads distribuídas; Serviços de E/S distribuídos (DSM);

7 Protocolo OMW (Object-Based Multiple-Writer) Adaptação do modelo Update-Based, Multiple-Writer Lazy Release Consistency [Keleher 1994] Classifica automaticamente objetos como sendo compartilhados ou não-compartilhados;  Pesquisas mostram que mais de 90% dos objetos em aplicações java não são compartilhados [Dieckemann, 1998] ; Evita completamente as falhas de acesso; Até que um objeto esteja acessível por uma thread remota, o protocolo marca-a como não-compartilhado;  Reduz o overhead de consistência (tráfego);

8 Protocolo OMW (Object-Based Multiple-Writer) É descentralizado (quase) totalmente.  Objetos compartilhados protegidos por variáveis da sincronização;  Possui um lock directory usando para serializar as requisições de sincronizações; Cada objeto possui um copyset;  Conjunto de nodos que possuem cópias do objeto; Ao ser atualizado, existem 2 possibilidades:  Se o nodo de leitura estiver no copyset, recebe um diff contendo somente os campos alterados;  Se o nodo não estiver no copyset, uma cópia do objeto é enviada (e ele é adicionado ao copyset);

9 OMW vs outros DSM Munin:  Programador precisa explicitar no código variáveis compartilhadas e não compartilhadas; OMW faz a classficação de maneira automática;  Usa timer para marcar páginas inválidas; OMW usa garbage collector para descartar objetos desnecessários; Midway:  Programador explicita no código variáveis compartilhadas; OMW faz a classficação de maneira automática;

10 Resultados Testes realizados com DISK:  Usando OMW e protocolo Lazy-Invalidate (LI) tradicional; 16 nodos PIII 450MHz numa rede FastEthernet 100mbps;  Kernel Linux 2.2.12; Multiplicação paralela de uma matriz 640x640; Análise de vazão e mensagens dos protocolos

11 Conclusões Facilidade de uso do DISK;  Não é necessário alterar o código da aplicação; Baixo overhead com relação a outros protocolos;  Somente manda diffs das atualizações;  Somente atualiza objetos marcados compartilhados; Flexibilidade de interconexão de redes;  Possui módulo de tradução de mensagens de diferentes tipos de redes, conexão a redes heterogêneas;

12 Bibliografia M. Surdeanu and D. Moldovan; Design and Performance Analysis of a Distributed Java Virtual Machine; IEEE Transactions on Parallel and distributed systems; Vol. 13; No. 6; Jun; 2006. páginas 611-627.; K. Thitikamol and P. Keleher; Thread Migration and Communication Minimization in DSM Systems; Proc. IEEE; Mar; 1999; S. Dieckemann and U.HOlzle, A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks. Technical report RTC98-33; Univ. of California; Santa Barbara, USA; Dez; 1998;

13 Avaliação Motivação: 5 Problemas solucionados: 4 Protótipo: 4 Resultados: 5 Comparação com outros trabalhos: 5 Redação: 4

14 Design and Performance Analysis of a Distributed Java Virtual Machine Felipe Damasio Rita Kalile Almeida Andrade Mihai Surdeanu, Member, IEEE; Dan Moldovan, Senior Member, IEEE


Carregar ppt "Design and Performance Analysis of a Distributed Java Virtual Machine Felipe Damasio Rita Kalile Almeida Andrade Mihai Surdeanu, Member, IEEE; Dan Moldovan,"

Apresentações semelhantes


Anúncios Google