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

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

Sistemas Distribuídos Baseados em Objetos
Bruno M. Carvalho Sala: 3B2 Horário: 35T34
Desempenho da Computação Paralela em Ambientes Virtualizados
Sistemas distribuídos Metas de Projeto Prof. Diovani Milhorim
Sistemas Distribuídos
Redes de Computadores Wandreson Luiz Brandino
Comunicação Distribuída
Coerência de Memórias Cache e Modelos de Consistência de Memória
Coerência de Cache MC722 - Projeto de Sistemas Computacionais Prof Rodolfo Jardim de Azevedo André Costa Felipe Sodré Davi Barbosa
Chapter 4: Threads.
Memória Compatilhada Distribuída
Aulas 11 e 12 08/10/10 (Turma 1 e 2) Profa. Sarita
QoS para Realidade Virtual
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
1 Sistemas Distribuídos - SDI Caracterização de Sistemas Distribuídos. Introdução. Exemplos de Sistemas Distribuídos. Desafios.
Seminário de Andamento Módulo: Merge Grupo 5 André Ribeiro Coelho Rafael de Souza Santos.
Experiments with Strassen’s Algorithm: from sequential to parallel
Mobilidade Cláudia Ribeiro.
Lidando com cheating em uma arquitetura multiservidor para MMOGs
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos B
Tópicos em redes e sistemas distribuídos
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Planejamento e Solucionamento de Problemas Distribuídos
Remote Method Invocation RMI
Concorrência e Java RMI
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Computing on large scale distributed systems: experience of the XtremWeb project CMP-157 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA Prof. Cláudio Fernando Resin.
Marshal Dictionary Alessandro de Luna AlmeidaAlessandro de Luna Almeida Igor Azevedo SampaioIgor Azevedo Sampaio Mozart de Siqueira Campos Araújo FilhoMozart.
Efficient Java Communication Protocols on High-speed Cluster Interconnects Alexandre Almeida Felipe Severino.
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
SISTEMAS OPERACIONAIS I
FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 04 Prof. André Lucio.
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Java RMI João Gabriel (jggxm).
Sistemas Tolerantes a Falhas: Conceitos e Técnicas
Processos.
Sistemas Distribuídos
Troca de Mensagens Programação concorrente
PROGRAMAÇÃO DISTRIBUÍDA Aula 02 Prof. Henrique Mongelli
José Reinaldo Lemes Júnior Orientador: Prof. Wilian Soares Lacerda.
Linguagem de Programação IV Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Seminário CI303 Lucas Nascimento Ferreira. Data sharing service: Propriedades Persistência Independentemente da aplicação Permitir o reutilização dos.
Redes Configurações e teste.
A High Performance Java Middleware with a Real Application HUERT, Fabrice; CAROMEL, Denis; Bal, Henri E. Supercomputing 2004 Trabalho desenvolvido por:
Análise do artigo The Design and Performance of Real-Time Java Middleware Felipe Victoreti Humberto Vargas Gomes
Tecnologias de Localização de Serviços Exame de Qualificação IME/USP Fev/2003.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Value type-based smart proxies: a concept for adaptable distributed applications Markus Aleksy, Ralf Gitzel ACM International Conference Proceeding Series;
Modelos de Comunicação em Sistemas Distribuídos
Concorrência em LF1 Paradigmas de Linguagens de Programação 20 de junho de 2006 Aline Timóteo Carlos Rodrigues Flávia Falcão Tiago Rolim.
Multiparadigma das Comunicações em Java para Grid Computing Fernanda R. Ramos Luiz Felipe Marco Eiterer Profº Alcides Calsavara, Ph.D.
A Multilayer P2P Framework for Distributed Synchronous Collaboration Fernando Abrahão Afonso Leonardo Kunz Programação com Objetos Distribuídos Trabalho.
Estrutura de Interconexão
Sistemas de Memória Cache em Multiprocessadores
Mestrando Gabriel G. Detoni Orientador Prof. Dante Barone Controle para Futebol de Robôs Utilizando Processamento Paralelo Seminário de Andamento.
Sistemas Operacionais Distribuídos
Arquitetura de computadores
Jorge Zavaleta PVM vs MPI. Introdução Objetivos do MPI Implementações e definições processos dinâmicos Contextos Operações não bloqueantes Portabilidade,heterogeneidade.
Leandro Clementino Almeida.  Anos 50 - Sistemas Operacionais tipo Lote:  Aumentar a capacidade de processamento de programas  Usuário ia ao computador.
Sistemas Distribuídos Wesley Lucas Breda 4ºP de SI e TADS.
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Sistemas Operacionais Distribuídos e/ou de Redes Engenharia da Computação – UCPEL Ritiele Moreira Aldeburg.
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

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

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).

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

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.

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);

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);

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);

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);

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;

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

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;

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; páginas ; 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;

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

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