segunda-feira, 11 de agosto de 2014

Consumo de energia do Raspberry Pi parte 2

Já se passaram alguns meses desde que eu publiquei a primeira parte sobre o consumo de energia do Raspberry Pi. Naquele primeiro estágio o foco estava na diminuição do consumo, que foi feita desativando certos recursos.

Nessa parte iremos ver até onde o consumo do Raspberry Pi consegue chegar em diversas situações. A placa de teste é um Raspberry Pi Modelo B rev 2, sistema Raspbian e cartão SD de 8GB Sandisk Ultra.

Com resultado similar à primeira parte, após boot, somente com ethernet ligado, o consumo permaneceu em cerca de 377mA(1,88W).

Consumo do Raspberry Pi em repouso
Consumo do Raspberry Pi em repouso

Ao fazer o download de um arquivo à 200KB/s o consumo permaneceu em 382mA(1,90W).

Consumo do Raspberry Pi baixando arquivo à 200KB/s
Consumo do Raspberry Pi baixando arquivo à 200KB/s

Um simples loop infinito em linguagem C resultou no consumo de 422mA(2,10W).

Consumo do Raspberry Pi com loop infinito
Consumo do Raspberry Pi com loop infinito

Gerando stress de CPU e IO ao executar md5sum ou sha256sum em um arquivo com cerca de 250MB o consumo permaneceu em 418mA(2,07W).

Consumo do Raspberry Pi com md5sum ou sha256sum
Consumo do Raspberry Pi com md5sum ou sha256sum

Executando sha512sum em um arquivo com cerca de 250MB o consumo permaneceu em 418mA(1,98W). Vale salientar que apesar do consumo menor, o tempo de execução desse algoritmo é bem maior do que o sha256, com minutos de diferença.

Consumo do Raspberry Pi com sha512sum
Consumo do Raspberry Pi com sha512sum

Ao copiar o arquivo de testes de 250MB para um novo arquivo utilizando "cp", o consumo é variado, segue o vídeo:



Um loop infinito em linguagem C em conjunto com memcpy de 1024 bytes para outro local da memória a cada interação, resultou no consumo de 548mA(2,70W). Ao realizar stress na memória RAM vimos um grande salto no consumo.

Consumo do Raspberry Pi com loop realizando operações na RAM
Consumo do Raspberry Pi com loop realizando operações na RAM

Com o sistema em repouso, ethernet e HDMI temos o consumo de 375mA(1,87W), o consumo foi praticamente o mesmo do sistema em repouso somente com ethernet, nesse caso eu suspeito que o consumo não seja diferente pelo fato do sistema de output do display já estar ativo, no artigo anterior eu expliquei como desativá-lo para economizar cerca de 24mA. A porta usb usada na foto não está sendo energizada, somente com a parte lógica em uso.

Consumo do Raspberry Pi com ethernet e cabo HDMI
Consumo do Raspberry Pi com ethernet e cabo HDMI

Segue o consumo ao fazer decoding de vídeo na GPU à 720p, trailer do Big Buck Bunny:



E também o decoding de vídeo na GPU à 1080p, com o trailer do Big Buck Bunny, com um maior consumo em média:



Com o sistema em repouso, ao ligar o teclado wireless à porta USB, o consumo pulou de 375mA para 434mA(2,15W). Lembrando que cada modelo/marca de teclado wireless tem consumo diferente.

Consumo do Raspberry Pi com ethernet, hdmi, teclado USB wireless
Consumo do Raspberry Pi com ethernet, hdmi, teclado USB wireless

Ao ligar um mouse USB com fio, que é declarado como 15mA, o consumo subiu para 448mA(2,22W).

Consumo do Raspberry Pi com ethernet, hdmi, teclado USB wireless, mouse usb
Consumo do Raspberry Pi com ethernet, hdmi, teclado USB wireless, mouse usb

Ao realizar o download de um arquivo na rede local, com velocidade entre 7 à 8MB/s utilizando wget, o consumo pulou para 515mA(2,54W), com picos visíveis máximos de 558mA(2,75W).

Consumo do Raspberry Pi ao baixar arquivo em rede local
Consumo do Raspberry Pi ao baixar arquivo em rede local

Abaixo o valor máximo de consumo medido, após realizar novamente o stress na memória RAM, 609mA(2,99W).

Consumo do Raspberry P com tudo conectado e stress de memória
Consumo do Raspberry P com tudo conectado e stress de memória

Executar stress de memória/cpu ao mesmo tempo em que é realizado o decoding de vídeo em 1080p não apresenta diferenças significativas do último teste pois o omxplayer acaba também utilizando parte da CPU o que afeta a execução do próprio stress de memória e cpu. Combinações com o uso da rede em conjunto também não obtiveram resultados significativos.

A utilização da câmera oficial( com especificação de 250mA máximos ) provavelmente resultaria em um aumento significativo, infelizmente ainda não possuo uma para realizar testes, mas é preciso deixar claro que o consumo da câmera assim como de outros dispositivos não necessariamente será o máximo declarado, sendo assim só realizando testes reais para se saber quanto de fato irá consumir, não é somente somar 609mA + 250mA da câmera caso à fosse adicionar, isso seria um erro.

Acredito que algo que possa talvez trazer mais algum consumo significante seja a execução de aplicativos/jogos que utilizem largamente a GPU por meio do OpenGL ES, além da utilização da mesma para outros propósitos como computar sha-256.

A declaração do consumo oficial do Raspberry Pi era de 700mA, após a atualização do novo site oficial, o FAQ deles foi modificado dizendo que o "modelo B normalmente utiliza entre 700mA e 1000mA dependendo de quais periférios estão conectados", entretanto isso não é um normal e nem em geral, as medições tanto minhas como de outros mostram na verdade o oposto, de que normalmente o consumo do Raspberry Pi modelo B fica abaixo de 700mA.

Nenhum comentário:

Postar um comentário