Sensing systems powered by energy harvesting have traditionally been designed to tolerate long periods without energy. As the Internet of Things (IoT) evolves towards a more transient and opportunistic execution paradigm, reducing energy storage costs will be key for its economic and ecologic viability. However, decreasing energy storage in harvesting systems introduces reliability issues. Transducers only produce intermittent energy at low voltage and current levels, making guaranteed task completion a challenge. Existing ad hoc methods overcome this by buffering enough energy either for single tasks, incurring large data-retention overheads, or for one full application cycle, requiring a large energy buffer. We present Julienning: an automated method for optimizing the total energy cost of batteryless applications. Using a custom specification model, developers can describe transient applications as a set of atomically executed kernels with explicit data dependencies. Our optimization flow can partition data- and energy-intensive applications into multiple execution cycles with bounded energy consumption. By leveraging interkernel data dependencies, these energy-bounded execution cycles minimize the number of system activations and nonvolatile data transfers, and thus the total energy overhead. We validate our methodology with two batteryless cameras running energy-intensive machine learning applications. Results demonstrate that compared to ad hoc solutions, our method can reduce the required energy storage by over 94% while only incurring a 0.12% energy overhead.
翻译:以能源收获为动力的遥感系统传统上被设计成可以长期容忍没有能源的长时间。随着物的互联网(IoT)逐渐演变为更短暂和机会性的执行模式,降低能源储存成本将是其经济和生态可行性的关键。然而,收获系统中能源储存的减少带来了可靠性问题。传感器只能以低电压和当前水平生产间歇性能源,保证任务完成是一项挑战。现有的临时方法克服了这一问题,即为单项任务缓冲足够能源,产生大量数据保留管理,或为一个完整的应用周期,需要巨大的能源缓冲。我们介绍的是:优化无电池应用的总能源成本的自动化方法。使用定制模型,开发者可以将临时应用描述为一套具有明确数据依赖性的原子执行内核圈。我们的优化流动可以将数据和能源密集应用分成多个执行周期,通过利用内核数据依赖性数据,这些能源限制的执行周期将系统激活和非挥发性数据传输的数量减少到最低程度,从而优化无电池应用的总能源尾部成本。我们通过两个高能比例的存储方法来验证我们所需要的存储成本的方法,同时通过两个高频摄像头来测量。