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

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

JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.

Apresentações semelhantes


Apresentação em tema: "JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano."— Transcrição da apresentação:

1 JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano

2 Sumário Motivação Estado-da-arte Objetivos Modelo Protótipo Resultados e Comparações Conclusão Avaliação

3 Motivação Modelo de concorrência Java limitado e pouco flexível:  Threads;  Modelo de monitor primitivo;  RMI;  Sockets difíceis de implementar.

4 Estado-da-Arte Modelo de concorrência do Java  Provê utilização de objetos remotos com suporte limitado para criação dinâmica;  Provê apenas uma primitiva de sincronização para programação distribuída - RMIi;  Cada objeto remoto deve ser iniciado antes da comunicação (normalmente por uma execução manual) ;  O programa não pode se adaptar à entrada.

5 Estado-da-Arte Modelo de concorrência da linguagem SR  Provê vários mecanismos para escrever programas paralelos e distribuídos;  Máquinas virtuais criadas dinamicamente;  Instâncias de recursos são dinamicamente criadas;  Permite caminhos dinâmicos de comunicação;  Chamadas síncronas e assíncronas de funções.

6 Objetivos Criação de um superset Java – JR  Baseado na linguagem SR. Modelo baseado em objetos. Módulos dinâmicos (resources), c/ acesso via ponteiros (capabilities). Acesso compartilhado às variáveis e operações. Falta herança e métodos virtuais.  Adapata as seguintes características: Criação remota de máquinas virtuais. Criação dinâmica de objetos remotos. Invocação de métodos remotos. Criação dinâmica de processos. Suporte para rendezvous. Mensagens assíncronas

7 Modelo Criação remota de Máquinas Virtuais:  Elimina a necessidade de configuração externa.  Vm = new vm() [on | on ]  Vm é uma referência a vm remota. Criação de objetos remotos:  Utilização da expressão new.  Sua referência provê a interface da qual esse objeto será manipulado.  remote = new remote ( ) [on vmRef]

8 Modelo Operações  Declarados na classe do objeto  op ( ) [exceptions]  Dois tipo de operações; ProcOp: Para cada invocação é executado o método associado. InOp: Cada invocação é enviada para uma lista e executadas uma a uma.  Pode ser passada como argumento, retornada como resultado e associada a variáveis.  Abstratas e sobrecarga.

9 Modelo Mensagens assíncronas:  Via send.  ProcOp  cria nova Thread.  InOp  Cria mensagem e envia para lista de invocações. Herança  Pode modificar a implementação da operação herdada, tanto para ProcOp como para InOp.  Deve ser explícita caso modifique ProcOp em InOp e vice-versa.

10 Protótipo class A { public op void foo(int); public void foo(int i) {…} public void bar() throws java.rmi.RemoteException { foo(3); } class A { … // implementation of ProcOp foo public void bar() throws java.rmi.RemoteException { JRget_op_foo_intTovoid().call(3); } (a) Código JR (b) Código Java gerado.

11 Resultados e Comparações Tempo de chamada de um procedimento JR vazio e um Método Java vazio local Object Size11k10k100k JR (µs)0,36820,36850,36860,3694 Java (µs)0,07410,0746 0,0758 JR time/ Java time (taxa)4,974,904,944,87 Tempo de chamada de um procedimento JR vazio e um Método Java RMI vazio remoto Object Size11k10k100k JR (ms)1,732,286,6448,43 Java (ms)1,602,196,2147,63 JR time/ Java time (taxa)1,081,041,071,02

12 Trabalhos relacionados Java Message Service (JMS)  Pouco flexível; necessário criar uma conexão com o destino; CORBA  Difícil distribuição das tarefas; Java Extensions  Necessitam inicio manual dos programas remotos; Linguagens Concorrentes Orientadas a Objetos  Maioria não possibilita a criação de métodos remotos de forma “simples”.

13 Conclusão JR provê uma forma mais flexível para programação distribuída sem um grande custo; Sintaxe ainda um pouco complicada, mas muito mais simples que fazer toda a programação a mão. Como estende Java, é multiplataforma;

14 Avaliação Motivação e estado-da-arte: 5 Objetivos e Modelo: 5 Protótipo, Resultados e Comparação: 3 Redação e Formatação: 4


Carregar ppt "JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano."

Apresentações semelhantes


Anúncios Google