Post Date
May 19 2024

Fast and Energy-efficient Intermittent Computing

Dr. Muhammad Hamad Alizai
Saad Ahmed
Reference / Filters
Computer Science
Transiently-powered computers (TPCs) form the foundation of the battery-less Internet of Things, using energy harvesting and small capacitors to power their operation. This kind of energy supply breaks a fundamental assumption in existing computing systems, i.e., uninterrupted operation. The resulting computing pattern thus becomes intermittent: periods of normal computation and periods of energy harvesting come to be unpredictably interleaved. In this thesis, we identify key challenges and propose solutions to support such an intermittent computing pattern.
First, TPCs ensure forward progress of programs through state checkpointing in non-volatile memory. Checkpointing is, however, expensive in energy and adds to the execution times. To minimize this overhead, we present DICE, a system that renders differential checkpointing profitable on these devices. DICE is unique because it is software-only and efficient because it only operates in volatile main memory to evaluate the differential. Any arbitrary code can be enabled with DICE using automatic code-instrumentation requiring no additional programmer effort. The impact on final performance is
striking: a DICE-enabled system requires one order of magnitude fewer checkpoints and one order of magnitude shorter time to complete a workload in real world settings.
Second, energy harvesting based supply is characterized by extreme variations in supply voltage, as capacitors charge when harvesting energy and discharge when computing. We experimentally find that these variations cause marked fluctuations in clock speed and power consumption, which determine energy efficiency. We demonstrate that it is possible to accurately model and concretely capitalize on these fluctuations. We derive an energy model as a function of supply voltage and develop EPIC, a compile-time energy analysis tool. When using EPIC with existing TPC system support, run-time energy efficiency drastically improves, eventually leading up to a 350% speedup in the time to complete a fixed workload.
Third, we present D2VFS, a run-time technique to intelligently regulate supply voltage and accordingly reconfigure clock frequency of intermittently-computing devices. Statically setting clock frequency of TPC fails to achieve energy efficiency, as the setting remains oblivious of fluctuations in capacitor voltage and of their impact on a microcontroller operating range. In contrast, D2VFS captures these dynamics and places the microcontroller in the most efficient configuration by regulating the microcontroller supply voltage and changing its clock frequency. Our evaluation shows that D2VFS markedly increases energy efficiency; for example, ultimately enabling a 30-300% reduction of workload completion times. Together, these three contributions make intermittent computing fast and energyefficient, bridging the gap between the available energy and power demands of a TPC, which goes a long way in securing a battery less future for IoT.