• Nenhum resultado encontrado

Escalonamento Energy-Aware em Redes de Sensores com Energy Harvesting

HARVESTING 50

3.2

Escalonamento Energy-Aware em Redes de Sensores com

Energy Harvesting

O trabalho apresentado em MEIER (2011) desenvolveu um algoritmo de escalonamento capaz de adaptar o funcionamento da aplicação à variação da energia disponível a cada intervalo de tempo. O algoritmo satisfaz o “modo de operação neutro da energia” (“energy neutral operation mode”) e foi implementado especificamente para aplicações do tipo rede de sensores sem fio alimentadas por energia solar. A motivação para o desenvolvimento do escalonador está em função das seguintes características típicas desse tipo de sistema:

 variação climática diária e sazonal;

 cada nó da rede possui condições diferentes de coleta de energia, enquanto um nó

pode estar localizado sob uma árvore, outro nó pode estar diretamente exposto ao sol;

 a condição individual de cada nó pode mudar gradativamente em função de uma

planta que cresce ou de degradação do seu respectivo hardware.

O algoritmo de escalonamento tem como base o conceito de “níveis de desempenho”, sendo este definido pelo projetista da aplicação durante a implementação do mesmo. O algoritmo permite adaptar o desempenho do sistema de acordo com a condição energética de cada nó da rede sem fio. Este objetivo é alcançado através da junção dos seguintes conceitos previamente existentes: identificação da energia residual, previsão da chegada de energia e expectativa de consumo de cada nível de desempenho definido.

O trabalho avaliou o desempenho do algoritmo através de simulações utilizando dados reais de incidência de energia solar e comparando seus resultados com outras soluções propostas anteriormente. O algoritmo de escalonamento foi projetado para funcionar na plataforma do sistema operacional embarcado TinyOS (TINYOS DOCUMENTATION WIKI, 2015) e disponibilizado para uso em redes de sensores sem fio.

Um nível de desempenho consiste em um conjunto de configurações, onde cada nível vai resultar em diferentes consumo de energia. Cada nível de desempenho tem um grau de consumo associado (reward), onde o maior grau possível será escolhido dentro das condições de energia a cada período de tempo.

Como exemplo, tem-se um rede de sensores cuja função é monitorar o tráfego de veículos. Cada nó da rede é responsável por tirar fotos da via e transmitir a imagem para um servidor web. Com o objetivo de reduzir o número de imagens transmitidas, o nó verfica a diferença na quantidade de veículos entre a imagem atual e a anterior, transmitindo apenas se o valor dessa diferença atingir ou exceder um determinado limiar (threshold Cth). Além disso, o nó também envia um alive-packet em momentos com baixa frequência de imagens para informar ao operador que o sistema está executando normalmente.

3.2. ESCALONAMENTO ENERGY-AWARE EM REDES DE SENSORES COM ENERGY

HARVESTING 51

Nesse exemplo, existem três possibilidades para adaptar o desempenho do sistema de acordo com a energia disponível: taxa de aquisição de imagem, limiar e taxa de envio de alive packet. A Figura 3.5 apresenta uma tabela com um exemplo de um conjunto de níveis de peformance definidos para o sistema considerando esses três parâmetros. Quanto maior o reward maior o desempenho do sistema, e maior também o consumo de energia.

Figura 3.5: Exemplo de tabela de níveis de desempenho, valores em quantidade por hora.

Fonte: MEIER (2011).

Para estimar o consumo de energia no próximo intervalo de tempo pela aplicação, a taxa de execução de cada funcionalidade (taxa de aquisição de imagem, threshold e envio de alive packet) também precisa ser prevista. Um nível de desempenho pode ser formado por qualquer configuração que afete o consumo de energia, incluindo taxas de execução, potência de transmissão, duty cycle etc.

O algoritmo de escalonamento harvesting-aware para redes de sensores é baseado em níveis discretos de desempenho, e determina o nível de desempenho máximo para um dado intervalo de tempo satisfazendo o princípio de neutralidade da energia. O algoritmo é executado no início de cada intervalo de tempo, assim que a nova predição é concluída. Se nenhum nível de desempenho válido for determinado, o menor nível será escolhido. A escolha do nível de desempenho depende da quantidade de energia disponível assim como da política de energia determinada para o sistema entre as três possíveis:

 EnergyNeutrality: manter a bateria com um valor mínimo de energia ao final de cada

dia.

 ReachTop: utilizar o máximo de energia possível no ciclo de um dia.

 Equalize: consumir a mesma quantidade de energia prevista para ser coletada, ou

seja, a energia disponível na bateria no início e ao final de cada intervalo deve ser a mesma.

A Figura 3.6 a seguir apresenta a arquitetura do escalonador e a respectiva comunicação entre os módulos. O algoritmo de escalonamento foi implementado na linguagem nesC para a

3.2. ESCALONAMENTO ENERGY-AWARE EM REDES DE SENSORES COM ENERGY

HARVESTING 52

plataforma TinyOS, sendo formado pelos seguintes componentes:

 Energy Manager: controla o conjunto de tarefas (Jobs) de medição e comunicação

da aplicação, sendo responsável por encontrar o nível de desempenho ótimo para o próximo intervalo de tempo.

 Energy Aware Scheduler: executa as tarefas numa taxa de acordo com o desempenho

determinado pelo energy manager.

 Energy Tracker: realiza constantemente a medição da energia consumida por todos

os componentes de hardware.

 Solar Predictor: particiona o tempo em slots e estima a incidência de energia solar

para cada slot.

 Hardware Abstraction Layer: responsável pela comunicação com o hardawe de cada

nó da rede de sensores.

 Jobs: são não-preemptivos e implementam as funcionalidades da aplicação.

Figura 3.6: Arquitetura do escalonador harvesting-aware para rede de sensores sem fio.

3.3. OUTRAS ABORDAGENS EM POWER MANAGEMENT PARA SISTEMAS

EMBARCADOS 53

3.3

Outras Abordagens em Power Management para Siste-

mas Embarcados

O problema do aumento crescente no consumo de energia foi abordado inicialmente em termos de gestão interna do consumo, de forma que novas técnicas e metodologias foram criadas para reduzir o consumo pela aplicação sem degradar seu desempenho. Uma segunda abordagem foi utilizada, ampliando a primeira, onde a aplicação, além de economizar, passou também a gerar energia para consumo próprio, tecnologia essa que foi denominada de energy harvesting. Com a idéia de energy harvesting, consequentemente o conceito de power management mudou, evoluindo então para o conceito atual de “adaptive” power management.

A partir do ano de 2013, um novo paradigma surgiu no conceito de power management para redes de sensores indo além do aspecto gestão de consumo de potência e ajuste dinâmico de desempenho: transferência sem fio de energia de um nó para outro numa rede de sensores sem fio (GURAKAN et al., 2013; JIANG; MERRETT; HARRIS, 2013). Com trabalhos publicados a partir de 2013, surgiu então o conceito de energy cooperation: um usuário, no caso um nó da rede, pode transferir parte da sua energia extra coletada para outro nó da rede que esteja com pouca disponibilidade de energia. O conceito de power management está sendo ampliado mais uma vez incluindo uma nova variante: um nó da rede pode transferir energia para outro nó da mesma rede de forma a criar um balanço energético entre os mesmos. Dessa forma, o desempenho da rede como um todo e a comunicação entre os seus nós é garantida (GURAKAN et al., 2013). O objetivo com energy cooperation é ter no futuro redes de sensores sem fio com um nó capaz de coletar energia no meio e transferir para os demais nós da rede, tornando-as dessa forma auto-suficientes e auto-sustentáveis do ponto de vista energético e com um tempo de vida útil significativamente prolongado (GURAKAN et al., 2013). O trabalho apresentado em JIANG; MERRETT; HARRIS (2013) utiliza o mesmo conceito de energy cooperation porém aplicando o conceito de transferência de energia entres diferentes redes. As pesquisas nessa área apresentam resultados preliminares, ainda precisando de evolução para aplicações reais, onde os primeiros obstáculos a serem vencidos são a baixa eficiência na transferência da energia e a distância máxima entre os elementos (GURAKAN et al., 2013; JIANG; MERRETT; HARRIS, 2013).

Assim, as pesquisas na área de power management em sistemas embarcados seguem, no momento, duas linhas em paralelo. A primeira está voltada para tornar harvesting-aware as aplicações que utilizam fontes alternativas de energia. Enquanto a segunda, considera como alternativa utilizar a energia excedente de um outro elemento do sistema como uma "fonte de energia". No entanto, as duas abordam o mesmo problema: como viabilizar aplicações embarcadas cada vez mais demandantes por energia elétrica.