11

I've been interested in the applications of Docker on IoT devices such as Raspberry Pis.

After reading A Performance Evaluation of Container Technologies on Internet of Things Devices, I was slightly confused by one of the results. In Table 1, the power consumption shown under Apache 2 Benchmarking (200 clients) shows that using a Docker container reduced power consumption, despite the overhead of containerisation using Docker.

Why does this occur? Is this reliable enough to be used to slightly reduce power consumption of IoT devices, and would there be any drawbacks?

Aurora0001
  • 18,520
  • 13
  • 55
  • 169

1 Answers1

7

After some further investigation, I think the issue in the question is that although the power (rate of energy transfer) was reduced, the overall energy consumption was increased by using Docker, so there is no benefit in terms of reduced electricity costs.

Based on the paper's figures for 100,000 requests, we can calculate the energy usage through the formula:

Energy = power x time

Given that the native code consumed 2.4893 W of power, and took approximately 170 seconds (see Figure 3, Native 200), we know that the energy used was:

2.4893 W * 170 s

= 423.181 Ws = 423.181 J (1 watt-second is equivalent to a joule, or, in other words, a watt is a joule per second)

For the Docker code, the power usage was 2.3642 W, but the time taken was 220 seconds, so:

2.3642 W * 220 s

= 520.124 Ws = 520.124 J

Hence, the overall energy usage for the example was 96.943 J higher, which is clearly undesirable if energy usage is a concern. However, using Docker does have other advantages for deployment and management, but in tightly constrained environments (e.g. battery-only), it would seem that it is best avoided.

Aurora0001
  • 18,520
  • 13
  • 55
  • 169