Towards Highly Efficient Neural Network Processing on Energy Harvesting Powered Non-Volatile Processor
Now-a-days, machine learning algorithms, especially neural networks, are being adapted extensively in wearable and internet-of-things (IoT) devices due to their superior performance in identification tasks. Since neural network execution usually consumes a substantial amount of energy, an intensive battery recharge is required, which is impractical for most of the wearable and IoT devices. Due to abundant availability, easy access, and eco-friendly nature, ambient energy sources have become a popular alternative to power wearable devices these days. However, given the changeable environment, the harvested energy could be unstable and might even cause power interruptions that result in the loss of computation progress (i.e. data and state), and thereby seriously degrade the execution performance of the processor. Recently, Non-Volatile Processors (NVPs) are proposed to overcome such challenges, by performing an emergency backup and restoring of the current data and state of the processor, whenever there is a power interruption. Although a single backup and restore consumes limited energy, the intensive backup and restore actions caused by unstable environment will consume a large amount of energy and signi ficantly delay the overall computation progress. We have proposed a new architectural design for NVP via introducing an energy buffer and adapting energy-aware dynamic frequency scaling for general applications. Furthermore, we are exploring the inherent execution sparsity of neural networks to develop a highly efficient NVP backup and restore scheme for neural network processing.