Gerenciamento do Consumo de Energia Dirigido pela Aplicacão em Sistemas Profundamente Embarcados
 
Arliones Stevert Hoeller Junior,
Lucas Francisco Wanner
e Antônio Augusto Fröhlich

Laboratório de Integração Software/Hardware
Campus Universitário - UFSC
P.O.Box 476, 88040-900
Florianópolis, Brasil
{arliones,lucas,guto}@lisha.ufsc.br
 
Abstract
 
Deeply Embedded Systems are dedicated computational platforms. Usually, these platforms are simple and have its resources limited to those which are necessary to execute the specific applications for which it was designed. Very often non-functional requirements drive the design of such devices. Among these requirements, is energy consumption. It is very important to handle energy consumption of these devices in a non-restrictive and low-overhead way. Restrictions cannot avoid the use of the several low-power operating modes such devices often feature. However, the energy consumption management strategy cannot compromise large amounts of system resources (processing and memory). In this context, this paper proposes an API (Application Programming Interface) which allows applications for managing energy consumption of software and hardware components. This paper also presents an component message propagation mechanism. This mechanism allows applications to handle operating modes of subsystems and the whole system. A prototype was develop using a component-based operating system. It shows that energy consumption management was possible without the need for using costly techniques or strategies. A case study done over a sensing platform showed energy savings of almost 40% by only allowing applications to express when certain components are no long being used.
 
Keywords: Power management, embedded systems, mobile computing, embedded operating systems.
Resumo
 
Sistemas Profundamente Embarcados são plataformas computacionais dedicadas. Estas plataformas são normalmente simples, com recursos limitados aos necessários para executar as aplicações específicas para as quais foi projetado. Muitas vezes, requisitos não funcionais são fatores predominantes no processo de desenvolvimento destes dispositivos. Um destes requisitos normalmente é o consumo de energia. Assim sendo, é muito importante que se possa tratar o consumo de energia destes dispositivos de uma maneira não-restritiva e eficiente. Não se pode restringir o acesso da aplicação aos variados modos de baixo consumo que dispositivos embarcados oferecem. Contudo, é necessário que a estratégia de gerência de energia não comprometa grandes quantidades de recursos do sistema (processamento e memória). Neste escopo, este artigo propõe uma API (Application Programming Interface) que possibilita que aplicações gerenciem o consumo de energia de componentes de software e hardware. Além da API, uma estrutura de propagação de mensagens entre componentes do sistema é apresentada, o que permite à aplicação controlar os modos de operação não só de componentes individualmente, mas também de subsistemas e do sistema como um todo. Através de um protótipo desenvolvido utilizando um sistema operacional baseado em componentes, mostra-se que a gerência do consumo de energia em sistemas embarcados foi possível sem a necessidade do uso de técnicas ou estratégias custosas em termos de processamento ou memória. Um estudo de caso executado sobre uma plataforma de sensoriamento mostrou economias de até 40% apenas por permitir que aplicações expressem quando certos componentes não estão mais sendo usados.
 
Palavras Chave: Gerenciamento do Consumo de Energia, Sistemas Embarcados, Computação Móvel, Sistemas Operacionais Embarcados.