Shaking Up Energy Harvesting Applications
The Protean framework simplifies creating battery-free devices by providing standardized tools to deal with intermittent power availability.
Battery-free computing devices are emerging as a promising technology that eliminates the need for batteries, making it an attractive option for sustainable computing. Such devices are powered by energy harvesting, in which energy from the environment, such as ambient light, heat, or motion, is converted into electricity. These techniques serve to reduce device cost, and also eliminate the need for battery recharging, which in turn allows for deployments in new applications and environments that were previously impractical. Moreover, discarded batteries are a major source of electronic waste, which makes battery-free computing devices an environmentally friendly option that conserves natural resources.
There are some drawbacks to using battery-free technologies, however. Harvested energy is not always available, so device operation can be intermittent. This is challenging to develop applications for, as a loss of power causes volatile memory, like the stack and CPU registers, to be lost. Additionally, existing platforms do not support more advanced 32-bit microprocessors or specialized hardware accelerators, which limits what these systems can be used for. This, in particular, severely limits the execution of machine learning algorithms.
A cross-institutional collaboration led by the Georgia Institute of Technology has recently reported on the results of their efforts to remedy several of the roadblocks that are presently holding battery-free devices back. Their proposed platform, called Protean, seeks to enable adaptive and hardware-accelerated battery-free computing that can execute even data-intensive machine learning tasks.
As a part of their efforts, the team developed what they call SuperSensor, which is a modular plug-and-play hardware design with standardized interconnects. Using this platform, energy measurement and storage units can easily be combined with modern processors, hardware accelerators, multiple sensors, communications modules, and energy harvesters. This platform was inspired by SparkFun’s MicroMod ecosystem that makes it simple to separate each functional component, and to reconfigure systems for different applications.
To deal with the problem of variable levels of power availability, an adaptive task-based runtime system called Chameleon was created. Chameleon works to keep an application running by monitoring incoming energy — as energy inputs decrease, execution of a neural network, for example, could be switched from a hardware accelerator to a lower-power microcontroller unit. These different tiers of computation can be defined by programmers that specify how various functions should execute, depending on energy availability.
The final piece of the puzzle is a code generation tool called Metamorph. It was designed to provide an automated mechanism for generating intermittence-safe application code. The developer only needs to specify certain high-level design considerations, like the type of code to be generated, or in the case of a neural network, the number of layers. Metamorph then automatically generates relevant code that is intermittence safe. This framework also identifies data belonging to each task that needs to be saved across reboots after an interruption in execution.
The Protean system was evaluated using both audio and image workloads, and it was found that inference energy efficiency was increased by over 600 times when compared with existing technologies. Additionally, it was also discovered that Protean can offer up to 166% higher throughput.
The researchers consider their present work to be a starting point in creating more capable battery-free applications. To improve the system’s performance, they are now exploring how Chameleon can adapt to changing power availability within a particular hardware tier (e.g. accuracy trade-offs) rather than only switching between tiers. They are also evaluating how they can scale systems up and down by adjusting the number of cores that are active in multi-core processors. By simplifying the development process significantly, future versions of Protean may make battery-free computing devices a much more common sight.