Title :
A comprehensive compiler-assisted thread abstraction for resource-constrained systems
Author :
Bernauer, Alexander ; Romer, Kay
Author_Institution :
Inst. for Pervasive Comput., ETH Zurich, Zurich, Switzerland
Abstract :
While size and complexity of sensor networks software has increased significantly in recent years, the hardware capabilities of sensor nodes have been remaining very constrained. The predominant event-based programming paradigm addresses these hardware constraints, but does not scale well with the growing software complexity, often leading to software that is hard-to-manage and error-prone. Thread abstractions could remedy this situation, but existing solutions in sensor networks either provide incomplete thread semantics or introduce a significant resource overhead. This reflects the common understanding that one has to trade expressiveness for efficiency and vice versa. Our work, however, shows that this trade-off is not inherent to resource-constrained systems. We propose a comprehensive compiler-assisted cooperative threading abstraction, where full-fledged thread-based C code is translated to efficient event-based C code that runs atop an event-based operating system such as Contiki or TinyOS. Our evaluation shows that our approach outperforms thread libraries and generates code that is almost as efficient as hand-written event-based code with overheads of 1 % RAM, 2 % CPU, and 3 % ROM.
Keywords :
program compilers; wireless sensor networks; Contiki; TinyOS; comprehensive compiler-assisted cooperative threading abstraction; event-based C code; full-fledged thread-based C code; resource-constrained systems; sensor nodes; wireless sensor networks; Context; Instruction sets; Libraries; Programming; Semantics; Wireless sensor networks; Compiler; Threads; Wireless Sensor Networks;
Conference_Titel :
Information Processing in Sensor Networks (IPSN), 2013 ACM/IEEE International Conference on
Conference_Location :
Philadelphia, PA
DOI :
10.1109/IPSN.2013.6917583