Simplifique a implementação e a replicação de sistemas distribuídos

Visão geral

Implementar dispositivos embarcados em redes remotas traz numerosos desafios para o gerenciamento, como o monitoramento da integridade do sistema, configurações remotas, funções de diagnóstico e resolução de problemas e a implementação de instalações e atualizações de software. Esse documento explora as opções oferecidas pelo portfólio de software da NI para você superar os desafios do gerenciamento de seus sistemas.

Conteúdo

Utilitário de configuração e monitoramento pela Web


O Web-Based Configuration and Monitoring Utility é instalado em targets remotos da NI para fornecer informações sobre esses targets por um navegador web comercial. Você pode usar esse utilitário para configurar e monitorar um dispositivo remotamente. O utilitário fornece informações sobre:

  • Configurações do sistema — Configuração de parâmetros e da operação inicial do sistema e o monitoramento dos recursos do sistema.
  • Acesso por navegador a arquivos remotos — Acesso ao sistema de arquivos do dispositivo remoto.
  • Segurança — Configuração de senhas, usuários, grupos de usuários e permissões.
  • Gerenciamento de serviços web — Gerenciamento dos serviços web implementados.
  • Configuração de hora/data — Configuração de hora e data do target.
  • Gerenciamento de software — Visualização do software instalado no target.
  • Configuração de rede — Configuração dos parâmetros dos adaptadores de rede.

Saiba mais sobre o utilitário de configuração e monitoramento pela web.

 

Figura 1: ​Com o utilitário de configuração e monitoramento pela web, você pode configurar e visualizar parâmetros de um target

 

Utilitário de replicação e implementação

A imagem é uma ferramenta eficaz para gerenciar as implementações de software de targets de tempo real (RT). A replicação da imagem de um target de RT torna a implementação de targets e sistemas mais fácil e eficiente. Fazer backups periódicos em um sistema, implementar um sistema desenvolvido em muitos outros novos, atualizar a imagem em um target ou fornecer a alguém as ferramentas para duplicar um sistema em operação, todas essas aplicações são possibilitadas pela replicação de uma imagem. Entretanto, criar uma aplicação robusta que automatiza a implementação de aplicações e o gerenciamento de targets de RT com programas de processamento de imagens não é tarefa trivial. O Replication and Deployment (RAD) Utility oferece uma solução turnkey para a automação, replicação e gerenciamento de imagens em tempo real. Esse utilitário utiliza a função System Configuration VI.

Para replicar aplicações de um target de RT em outro, você só precisa recuperar a imagem da aplicação de um target e copiar essa imagem no seguinte.  A imagem de uma aplicação é formada pelo conteúdo (todos os arquivos e diretórios) do disco rígido de um target de RT que definem o comportamento desse target de RT e quaisquer bitfiles configurados para implementar a memória flash do FPGA. Você pode organizar versões da imagem de sua aplicação pela data de criação e pelo número de versão e compará-las, usando o RAD Utility, para ajudar o usuário a colher os benefícios do controle de código fonte para o gerenciamento da configuração. Veja como usar esse utilitário nesse exemplo.

Figura 2: ​O Replication and Deployment Utility permite a você gerenciar as implementações de software de targets de tempo real com eficiência.

Software de gerenciamento de sistemas

O ​SystemLink​ fornece recursos de gerenciamento centralizado para soluções distribuídas de teste, medição e controle. Uma aplicação web intuitiva permite a você gerenciar um grupo de sistemas ligados em rede com funções como a implementação de software, configuração de dispositivos e diagnóstico. O SystemLink também oferece serviços seguros e escaláveis de dados, com APIs do LabVIEW. Esse software é compatível com hardware PXI (Windows), CompactRIO (NI Linux Real-Time) e PCs com o Windows.

Figura 3: ​O SystemLink e o LabVIEW permitem a coordenação em massa de dispositivos conectados, implementações de software e comunicações de dados por todo um sistema distribuído.

Incorpore o monitoramento de desempenho em targets remotos por software

Quando estão trabalhando com sistemas de tempo real, os desenvolvedores procuram garantir que suas aplicações terão um comportamento confiável, mas sem sobrecarregar os recursos do sistema. O escalonamento determina quais as tarefas a serem executadas pelo processador de tempo real, mas não é possível prever o comportamento do sistema se o processador ficar sobrecarregado. Como observado no ​guia do CompactRIO para desenvolvedores​, a NI recomenda manter a utilização da CPU abaixo de 70% e garantir que haverá memória de sistema suficiente para as operações desejadas. Para ajudar os usuários a monitorar seus targets de tempo real, a NI oferece vários métodos para o acesso às informações sobre os recursos do sistema.

Acesso por programa de software

O acesso programático aos recursos do target permitem que você crie código que pode ser adaptado a mudanças. Por exemplo, você pode modificar um projeto para que seu comportamento seja alterado se um determinado limite de utilização de recursos for atingido. Essa capacidade de alterar as demandas impostas a um target de tempo real pode ajudar a garantir que as tarefas de prioridade mais alta continuarão a ser executadas. Além disso, o acesso direto às informações de CPU e memória permite a você criar ferramentas customizadas de monitoramento e data logging. No LabVIEW, os VIs System Configuration API e RT Utility dão acesso aos recursos do sistema target.

VIs RT Utility

Localizado na paleta RT Utilities, o ​RT Get CPU Loads VI​ oferece uma grande quantidade de informações sobre a utilização da CPU. Esse VI permite a você ver mais do que apenas a utilização total da CPU, publicando a atividade computacional associada a diferentes tarefas de prioridade. Com essas informações em mãos, você pode verificar se determinados processos estão recebendo recursos adequados e isolar problemas em projetos maiores. Como visto na Figura 4, esse VI fornece um array de clusters no qual cada elemento fornece informações sobre o seu núcleo correspondente.


Figura 4: Uso dos VIs RT Utilities.

 

API de configuração do sistema

Quando você estiver utilizando hardware NI, a NI System Configuration API oferece a você a capacidade de configurar, localizar, criar imagens e se comunicar com os seus dispositivos. Para trabalhar com essa API, você precisará ter o software System Configuration instalado em seus targets de tempo real. Figura 5 mostra como instalar esse add-on pelo assistente LabVIEW Real-Time Software Wizard.

 

Figura 5: Instalação da API de configuração do sistema.

 

Você pode utilizar um property node System Session, Property Node (System).vi , para acessar informações sobre a memória volátil e não volátil de um dispositivo. A Figura 6 mostra como o Initialize Session VI oferece a referência apropriada do target para esse property node. Quando for configurar o property node System Session, você pode encontrar informações sobre a memória em System Resources.

 

Figura 6:​ Property Node System Session.

 

 

Além disso, você pode utilizar o ​​Find.vi​ ​para extrair as referências de hardware necessárias para os property nodes System Hardware, como o ​Propery Node (Hardware).vi​. A Figura 7 mostra como os property nodes System Hardware oferecem maiores informações sobre o comportamento do target. Entretanto, você precisa tomar cuidado sobre quais recursos de hardware passar aos property nodes.

 

Figura 7:​ Uso de property nodes para monitorar o comportamento de um target

 

Quando for trabalhar com property nodes, siga as melhores práticas de programação e feche referências usando o Close.vi da System Configuration API. Além disso, o fornecimento de informações de memória para targets com o sistema operacional NI Linux Real-Time é diferente do comportamento esperado, como descrito nesse artigo de KnowledgeBase.

 

Real-Time Trace Viewer

O ​NI Real-Time Trace Viewer​, incluído com o módulo LabVIEW Real-Time, oferece uma ferramenta de análise e benchmarking para os desenvolvedores trabalharem em baixo nível. Com o Real-Time Trace Viewer, usuários podem identificar a alocação de memória, ver a atividade de threads específicos e analisar detalhadamente os dados de execução e temporização de CPUs individuais.

O Real-Time Trace Viewer permite também incluir os VIs apropriados ao código que está sendo executado em um determinado target e então visualizar os arquivos criados pelos RT Execution Trace Viewer VIs. As informações do sistema criadas enquanto o código é executado no target podem ser armazenadas localmente ou enviadas a um computador host. Para saber como utilizar essa ferramenta de análise dos recursos do sistema em baixo nível, veja um dos exemplos relacionados no LabVIEW Example Finder.

 

Figura 8: Real-Time Trace Viewer.

 

 

Além disso, esse toolkit permite que os desenvolvedores gerem flags de evento customizados, que podem ser visualizados nas sessões de tracing. Você pode usar o TraceTool Log User Event.vi para identificar mais facilmente a alocação de recursos do sistema em uma determinada área de um programa.

Observe que no módulo LabVIEW Real-Time da versão 2013 e anteriores, o Real-Time Trace Viewer era um toolkit à parte (Real-Time Execution Trace Toolkit).

 

Distributed System Manager

Em vez de desenvolverem o seu próprio software de monitoramento, os usuários podem utilizar as ferramentas de monitoramento já oferecidas no ecossistema LabVIEW, como o Distributed System Manager. O Distributed System Manager (DSM) permite que engenheiros e técnicos visualizem informações publicadas na rede por diferentes produtos NI. Utilizando essa ferramenta com o software System State Publisher, o usuário pode ver informações críticas sobre a disponibilidade da CPU e memória. Não somente o DSM oferece aos usuários informações detalhadas, como a porcentagem de CPU utilizada pelas estruturas de temporização e o maior bloco de memória contígua disponível, mas também registradores emparelhados com dados da CPU e memória total.


Figura 9: Distributed System Manager 

 

Para usar o DSM, você precisa instalar o System State Publisher no target de tempo real de interesse. Como visto abaixo, o assistente LabVIEW Real-Time Software Wizard permite que você instale o add-on System State Publisher, que publica todas as informações necessárias para o DSM.

Figura 10: Instalação do Distributed System Manager 

 

Informações do sistema fornecidas pelo NI MAX

O NI MAX não fornece a mesma riqueza de informações disponibilizada pelo Distributed System Manager, mas pode oferecer uma visão útil da integridade do sistema. Para acessar essas informações, abra o MAX e selecione um sistema de tempo real em Remote Systems. A seção System Resources pode ser encontrada na guia System Settings, exibida como default após um target ter sido selecionado.

Figura 11: NI MAX System Information