The Case for Approximate Intermittent Computing
We present the concept of approximate intermittent computing and demonstrate its application. Intermittent computations stem from the erratic energy patterns caused by energy harvesting: computations unpredictably terminate whenever energy is insufficient. Existing solutions maintain equivalence to continuous executions by creating persistent state. The performance penalty is massive: system throughput reduces while energy consumption increases. Approximate intermittent computations trade the accuracy of the results for sparing the entire overhead to maintain equivalence to a continuous execution. We use approximation to limit the extent of stateful computations to the single power cycle, enabling the system to shift the energy budget for managing persistent state towards an immediate approximate result. First, we apply approximate intermittent computing to human activity recognition. We design an anytime variation of support vector machines able to improve the accuracy of the classification as energy is available. We build a hw/sw prototype using kinetic energy and show a 7x improvement in system throughput compared to state of the art, while retaining 83 accuracy is 88 different scenario, that is, embedded image processing, using loop perforation. Using a different hw/sw prototype we build and diverse energy traces, we show a 5x improvement in system throughput compared to state of the art, while providing an equivalent output in 84
READ FULL TEXT