Energy Harvesting Real-Time Embedded and IoT Systems

Power and energy constraints have enforced significant change in the design of contemporary computing systems. Due to unacceptable power consumption at higher clock rates and more potent power leakage with technology scaling, single-thread performance has been slowing down. Thus thread-level parallelism (TLP) to improve performance within a given power budget is widely practiced across various computing platforms, ranging from high-end servers to desktops, as well as embedded devices. Recent years have also seen a significant increase in popularity of multi-core processors in low power embedded devices. With advances in parallel programming and power management techniques, embedded devices with multicore processors and TLP support outperform single-core platforms in terms of both performance and energy efficiency. But as core counts rise to cope with increasingly complex applications, techniques for workload distribution and power management are the key to achieving significant energy savings in emerging multi-core embedded systems. For some applications, we need energy autonomous devices that utilize ambient energy to perform computations without relying entirely on an external power supply or frequent battery charges. As the most widely available energy source, solar power harvesting has attracted a lot of attention and is rapidly gaining momentum.

The research objective of this project is to design novel techniques for real-time workload and communication allocation on multi-core platforms that exploit energy harvesting. The research focus has been on designing frameworks that can react to rapidly changing energy availability at runtime, efficient approaches for energy storage, and an emphasis on thermal-awareness as well as fault-tolerance. As an example of such a framework, we proposed a hybrid design-time/run-time framework for resource allocation that takes into consideration variations in solar radiance and execution time, transient faults, and permanent faults due to aging effects. Our framework generated schedule templates at design-time with an emphasis on energy efficiency and uses lightweight online management schemes to react to run-time system dynamics.

Selected Publications

Y. Xiang, S. Pasricha, “Mixed-Criticality Scheduling on Heterogeneous Multicore Systems Powered by Energy Harvesting”, Integration, the VLSI Journal, vol. 61, pp. 114-124, Mar 2018.

Y. Xiang, S. Pasricha, “Soft and Hard Reliability-Aware Scheduling for Multicore Embedded Systems with Energy Harvesting”, IEEE Transactions on Multi-Scale Computing Systems (TMSCS), Oct-Dec, vol. 1, no. 4, pp. 220-235, 2015.

Y. Xiang, S. Pasricha, “Run-Time Management for Multi-Core Embedded Systems with Energy Harvesting”,  IEEE Transactions on Very Large Scale Integration Systems (TVLSI), vol.23, no.12, pp.2876-2889, Dec. 2015.

Y. Xiang, S. Pasricha, “Fault-Aware Application Scheduling in Low Power Embedded Systems with Energy Harvesting,” ACM/IEEE International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), Oct 2014. 

Y. Xiang, S. Pasricha, “A Hybrid Framework for Application Allocation and Scheduling in Multicore Systems with Energy Harvesting”, ACM Great Lakes Symposium on VLSI (GLSVLSI), May. 2014.

Y. Xiang, S. Pasricha, “Harvesting-Aware Energy Management for Multicore Platforms with Hybrid Energy Storage”, ACM Great Lakes Symposium on VLSI  (GLSVLSI), May 2013.

Y. Xiang, S. Pasricha, “Thermal-Aware Semi-Dynamic Power Management for Multicore Systems with Energy Harvesting”, IEEE International Symposium on Quality Electronic Design (ISQED), Mar. 2013.