Incremental register reallocation
Software—Practice & Experience
Improvements to graph coloring register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Storage assignment to decrease code size
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
Optimal and near-optimal global register allocations using 0–1 integer programming
Software—Practice & Experience
Quality and speed in linear-scan register allocation
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Linear scan register allocation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Register allocation by priority-based coloring
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Compiling with code-size constraints
Proceedings of the joint conference on Languages, compilers and tools for embedded systems: software and compilers for embedded systems
Maté: a tiny virtual machine for sensor networks
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Proceedings of the 10th international conference on Architectural support for programming languages and operating systems
Wireless Sensor Networks: Architectures and Protocols
Wireless Sensor Networks: Architectures and Protocols
Efficient code distribution in wireless sensor networks
WSNA '03 Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications
The dynamic behavior of a data dissemination protocol for network programming at scale
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
Simulating the power consumption of large-scale sensor network applications
SenSys '04 Proceedings of the 2nd international conference on Embedded networked sensor systems
Differential register allocation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
MNP: Multihop Network Reprogramming Service for Sensor Networks
ICDCS '05 Proceedings of the 25th IEEE International Conference on Distributed Computing Systems
Securing the deluge Network programming system
Proceedings of the 5th international conference on Information processing in sensor networks
A global progressive register allocator
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Feedback linking: optimizing object code layout for updates
Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
Avrora: scalable sensor network simulation with precise timing
IPSN '05 Proceedings of the 4th international symposium on Information processing in sensor networks
Sluice: Secure Dissemination of Code Updates in Sensor Networks
ICDCS '06 Proceedings of the 26th IEEE International Conference on Distributed Computing Systems
Run-time dynamic linking for reprogramming wireless sensor networks
Proceedings of the 4th international conference on Embedded networked sensor systems
FlexCup: a flexible and efficient code update mechanism for sensor networks
EWSN'06 Proceedings of the Third European conference on Wireless Sensor Networks
Decoding Code on a Sensor Node
DCOSS '08 Proceedings of the 4th IEEE international conference on Distributed Computing in Sensor Systems
Minimizing Transferred Data for Code Update on Wireless Sensor Network
WASA '08 Proceedings of the Third International Conference on Wireless Algorithms, Systems, and Applications
MCP: An Energy-Efficient Code Distribution Protocol for Multi-Application WSNs
DCOSS '09 Proceedings of the 5th IEEE International Conference on Distributed Computing in Sensor Systems
Remote progressive firmware update for flash-based networked embedded systems
Proceedings of the 14th ACM/IEEE international symposium on Low power electronics and design
An efficient code update scheme for DSP applications in mobile embedded systems
Proceedings of the ACM SIGPLAN/SIGBED 2010 conference on Languages, compilers, and tools for embedded systems
TinyModules: code module exchange in TinyOS
INSS'09 Proceedings of the 6th international conference on Networked sensing systems
Energy-Efficient Progressive Remote Update for Flash-Based Firmware of Networked Embedded Systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Algorithms to Minimize Data Transfer for Code Update on Wireless Sensor Network
Journal of Signal Processing Systems
Hi-index | 0.01 |
Wireless sensor networks (WSN), composed of a large number of low-cost, battery-powered sensors, have recently emerged as promising computing platforms for many non-traditional applications. The preloaded code on remote sensors often needs to be updated after deployment in order for the WSN to adapt to the changing demands from the users. Post-deployment code dissemination is challenging as the data are transmitted via battery-powered wireless communication. Recent studies show that the energy for sending a single bit is about the same as executing 1000 instructions in aWSN. Therefore it is important to achieve energy efficiency in code dissemination. In this paper, we propose novel update-conscious compilation(UCC) techniques for energy-efficient code dissemination in WSNs. An update-conscious compiler, when compiling the modified code, includes the compilation decisions that were made when generating the old binary. The compiler employs a detailed energy model and strives to match the old decisions for a more energy-efficient result. In most cases, matching the previous decisions improves the binary code similarity, reduces the amount of data to be transmitted to remote sensors, and thus, consumes less energy. In this paper, we develop update-conscious register allocation and data layout algorithms. Our experimental results show that they can achieve great improvements over the traditional, update-oblivious approaches.