未来在大多数物联网应用场景中,将允许使用者根据自己的需求复用当前已部署的物联网节点设备.从而要求节点设备具备对本地软件程序重编程的能力.然而,现有重编程方法普遍存在着传输和重组开销过高的问题.在工程实践中,通过使用大容量的扩展存储单元升级代码,可以有效避免由于传输代码引起的传输开销.因此,当需要对物联网节点软件频繁升级时,重编程的能量开销将主要取决于在节点本地读写代码引起的重组开销.为此,我们提出一种基于分页机制的重编程存储优化方法——AdvCache.该方法的核心思想是将相似的代码段以函数为单位聚合为函数页,放入低功耗的缓存中保存并执行.通过提高缓存的使用率和命中率,减少对高功耗存储单元的读写次数.此外,为了应对节点软件可能发生急剧变化的情况,我们提出了一种基于函数页调用关系的缓存替换算法,通过引入程序结构因素,进一步提高缓存命中率.实验表明AdvCache能够有效地降低对高功耗存储单元的读写操作数量.与先前的工作相比,AdvCache的缓存命中率提高了22%.
In the future deployment of Internet of Things(IoT),the function of a wireless node will be reconfigurable or re-programmable with respect to different application scenarios,which requires the wireless node to update its local software by over-air reprogramming.However,there exists a high energy overhead in the current reprogramming approaches caused by transmitted and rebuilt codes.In the field deployment,large-capacity extended memory is usually employed to store those updating codes without retransmitting them,so the reprogramming overhead is largely decided by the codes rebuilding consumption.Hence,we propose a reprogramming storage optimization approach based on paging mechanism—AdvCache for rebuilding codes.Our approach divides similar functions into several function pages which are stored and executed in a low-power cache.With the help of paging mechanism,the utilization and hit rate of cache are improved.Furthermore,in order to deal with the drastic change of node software,we introduce the program structure into cache replacement algorithm based on the function page.The experiment results show that AdvCache successfully reduces the rebuilding overhead and improves the average hit rate by 22% over earlier works.