Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouCaio Diegues Alencastre Alterado mais de 8 anos atrás
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.