Recently I was discussing Flow, our multithreaded browser, with a friend of mine who questioned whether a browser using all the cores would be beneficial in battery operated products like their new smart watch. This prompted me to do some research and the results were surprisingly in favour of our multithreaded approach.
At first, the logic of my friend’s argument was quite compelling. Their reasoning was that four cores would consume more power than a single core and, because multithreaded performance gains aren’t linear, power must be wasted. Not wanting to concede defeat without at least looking into the theory a bit, I did some research into power management in modern consumer electronics processors.
I expected to find that processor power consumption increases with operating frequency and, indeed, that is the case. What surprised me was that, thanks to some very clever power management techniques built into modern silicon, the internal voltage is also varied depending upon the processing load. The combined effect of managing both the voltage and the frequency is that running four cores at a little under half the speed of one core running flat out uses less energy overall. Although this halves the performance of each core, which would reduce the speed of a traditional browser, Flow’s ability to use all four cores means that it can deliver the same user experience using less energy.
SoC providers don’t publish their power consumption data, but I was able to find fairly detailed power measurements for an ARM based mobile phone device. I used this data to calculate the power consumption of a single core when providing enough DMIPS for a traditional browser to deliver a good user experience. I then compared this with the power that Flow would consume when delivering the same user experience. Because Flow uses all four cores, it requires a lower level of DMIPS per core which means the same user experience is delivered with less power.
The results showed that the power saving delivered through Flow’s efficient use of multicore silicon was just over 36% – or, in the case of the smart watch that started the conversation, four days between recharges rather than three. This was more than enough to convince my friend that our new browser would benefit industries beyond Ekioh’s established TV market.
A longer form version of my findings, including a useful graph of power consumption v processing performance, is detailed here.