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

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

Análise do artigo The Design and Performance of Real-Time Java Middleware Felipe Victoreti Humberto Vargas Gomes

Apresentações semelhantes


Apresentação em tema: "Análise do artigo The Design and Performance of Real-Time Java Middleware Felipe Victoreti Humberto Vargas Gomes"— Transcrição da apresentação:

1 Análise do artigo The Design and Performance of Real-Time Java Middleware Felipe Victoreti (ftoreti@inf.ufrgs.br) Humberto Vargas Gomes (humbertogomes@yahoo.com.br) 31/05/2006 PPGC – UFRGS CMP167 – Programação com objetos distribuídos Prof. Cláudio Geyer

2 Tema Apresentação do jRate, uma implementação de um middleware Java com suporte a tempo real, desenvolvido de acordo com a RTSJ. Explicação sucinta das características da RTSJ. Resultados da comparação entre jRate versus RI (TimeSys) com o uso de um benchmarking suite RTJPerf

3 Motivação A grande maioria dos microprocessadores (90 %) são utilizados em aplicações embarcadas e de tempo real. Hardwares complexos requerem um crescente esforço de desenvolvimento de software. Necessidade de colocar produtos o mais rápido possível no mercado. Necessidade de linguagens de alto nível e ferramentas que acelerem o desenvolvimento de software.

4 Motivação Java se torna uma opção atrativa, por:  Simplicidade  Segurança  Baixo custo de manutenção  Fácil aprendizado  Em C/C++ problemas de gerenciamento de memória.

5 Problemas a resolver Java não é adequado a sistemas de tempo real por:  escalonamento das threads não especificado adequadamente.  linguagens com coletores de lixo (previsibilidade).  Java não prevê controle sobre o tipo de memória em que os objetos são alocados (aloca apenas na pilha).  tempos de alocação e liberação de memória não são previsíveis.

6 Solução RTSJ Adequação de Java a sistemas de tempo real: RTSJ (Real-Time Specification for Java):  Extende API Java e refina para suportar aplicações de tempo real.  novos modos de gerenciamento de memória: quanto ao tempo de vida: imortal, com escopo “scoped” onde os objetos não são coletados individualmente. quanto ao tempo de alocação: linear, variável.  acesso à memória externa (não apenas à pilha).  dois novos tipos de Threads para tempo real: RealTimeThread e NoHeapRealTimeThread: NoHeapRealTimeThread pode ter prioridade superior ao garbage collector (nem aloca nem referencia obj na pilha).

7 Solução RTSJ  escalonamento: objetos escalonáveis, execução controlada por vários modos: Earliest Deadline First (EDF), Rate Monotonic (RM), etc.  eventos assíncronos: capacidade de associar eventos internos ou externos à execução de determinada lógica.  AsyncEventHandler: não possui uma thread permanentemente, ao ocorrer uma nova será criada.  BoundAsyncEventHandler: possui uma thread permanentemente associada ao evento (rápido)  Timers: oneshottimer: gera evento quando tempo associado expira; periodictimer: gera eventos periodicamente;

8 jRate jRate é baseada na especificação RTSJ de um middleware Java para sistemas de tempo real compila aplicações RTSJ em código nativo; suporta memória com escopo e imortal; suporta estratégias de alocação (tempo linear, tempo variável); implementa escalonamento e threads para execução em tempo real: RealTimeThread; implementa um robusto e eficiente sistema para tratamento de eventos assíncronos (evita inversão de prioridades e despacho “lock free” );

9 jRate timers periódicos e oneshot (uma thread por timer); Não há JVM interpretando Java bytecode; Serviços Java acessível por GCJ e serviços RTSJ acessíveis pelo jRate.

10 Resultados e comparações Ensaios no mesmo computador PentiumIII 733MHz 256MB RAM com Linux RH7.3 e e um pacote de para benchmark de aplicações TR (RTJPerf).  Testes executados no mínimo 1000 vezes.  Medidos os valores médios, pior caso, 99% e dispersão. Ensaio de tempo de alocação com diversos tamanhos de memória (32bytes a 16 KB) Teste em memórias com escopo: tempo necessário para criar, para entrar e para sair; tempo para chaveamento de contexto entre threads; tempo ativação periódica de threads (1ms a 500ms) tempo desde um evento assíncrono até o atendimento ;

11 Resultados e comparações conclusão jRate tem características que o torna superior em todos os testes quando comparado à implementação RI Em alguns casos, mais que uma ordem de grandeza, como no tempo de criação de threads (jRate 33.815 us, RI 1276 us), e nos tempos de atendimento de eventos assíncronos, Asynceventhandler (jRate 40.66 us, RI 2953 us).

12 Resultados e comparações conclusão A comparação com C++ foi feita em um item apenas, C++ foi mais eficiente, mas jRate ficou próximo (jRate 1.45 us e C++ 1.30 us) jRate parece uma boa alternativa para o desenvolvimento de aplicações em tempo real. Comparação complicada pois jRate gera software compilado em código nativo e RI é interpretado (seria mais justo comparar jRate com C++ e não com RI) Outra característica não mencionada é qual o tamanho do código gerado? Qual é a necessidade de memória RAM do middleware?

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

14 Bibliografia R. Jones; R. Lins, “Garbage Collection Algorithms for Automatic Dynamic Memory Management”. New York: Wiley e Sons, 1996. G. Bollella; J. Gosling; B.Brosgol; P.Dibble; S. Furr; D. Hardin; M. Turnbull, “The Real Time Specification for Java”. Addision-Wesley 2000. TimeSys, Real-Time Specification for Java Reference Implementation, www.timesys.com/rtj, 2001. www.timesys.com/rtj R. Meersman; Z. Tari, “The Design and Performance of the jRate Real-Time Java Implementation”. A. Corsaro; R.K. Cytron, “Efficient Memory-Reference Checks for Real- Time Java”. Conference Language, Compiler and Tool for Embedded Systems p 51-58, 2003 D.C. Schmidt; M; Deshpande; C. O´Ryan, “Operating System Performance in Support of Real-Time Middleware”, Jan 2002. J. Lawson, “Real-Time Java for Embedded Systems (RTJES)”, http://www.opengroup.org/rtforum/jan2002/slides/java/lawson.pdf, 2001 http://www.opengroup.org/rtforum/jan2002/slides/java/lawson.pdf


Carregar ppt "Análise do artigo The Design and Performance of Real-Time Java Middleware Felipe Victoreti Humberto Vargas Gomes"

Apresentações semelhantes


Anúncios Google