Palestra Fisl 9.0: RT Linux e RT Java - Um novo mundo sem delays

O palestrante foi Flávio Buccianti, do LTC na IBM, em mais uma contribuição ao Fisl (no ano passado ele apresentou uma palestra sobre o Linux no Cell, do PS3) com uma ótima palestra. Ele falou sobre como podemos ter tempos de resposta mais concretas para as aplicações através dos conceitos de Sistemas de Tempo Real, em uma solução para o mundo Java.

Ele explicou rapidamente os conceitos básicos de tempo real, como hard realtime e soft realtime, herança de prioridades, etc. A idéia principal é utilizar o projeto Linux PREEMPT RT (de Ingo Molnar) como base de tudo, e alterações na forma como a JVM escalona e trata requisições, para assim criar um ambiente apto ao real time, desde o kernel até a JVM e aplicações. Vale lembrar que aqui no Hypercast temos uma palestra apresentada sobre essa modificação do Linux e sobre muitas outras formas de utilizar o Linux como núcleo real time. Basta dar uma olhada na barra lateral e clicar na tag "Tempo Real". Durante os próximos meses, dependendo do tempo disponível, irei falar e disponibilizar aqui um interessante projeto que fiz com o Linux PREEMPT RT.

O sistema utilizado é o Red Hat, que parece estar bastante adaptado ao ambiente de tempo real, pois até possui modificações na PAM para permitir que os usuários comuns também tenham acesso a lançar aplicações com critérios de tempos de resposta a serem respeitados.

Um dos produtos já lançados com essa idéia é o IBM JVM WebSphere Realtime v1.0, que depende deste kernel modificado e possui uma JVM RT para ser instalada no sistema operacional. Uma das suas principais diferenças é a presença do Metronome, um gerenciador que lança o Garbage Collector e possui altíssima prioridade, para sempre ser escalonado e garantir que a limpeza seja feita. O método de funcionamento do Garbage Collector também foi um alterado: ao invés dele ser chamado de tempos em tempos para avaliar as instâncias e fazer a limpeza de muitas variáveis por vez, adotou-se uma abordage de chamar o GC muitas vezes, mas para realizar menos trabalho por vez, propriciando um controle e previsibilidade maior sobre a atuação dele.

Essa foi uma das palestras mais interessantes do dia e merece uma olhada com atenção nesse assunto, por esse conceito pode ser estendido para outros ambientes e propiciar software realtime ser escrito em linguagens de alto nível.

Artigos Relacionados:


Sobre este artigo