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.
Originalsprache | Englisch |
---|---|
Titel | Proceedings of the 12th International Conference on Information Processing in Sensor Networks |
Seitenumfang | 12 |
Erscheinungsort | New York, NY, USA |
Herausgeber (Verlag) | ACM |
Erscheinungsdatum | 08.04.2013 |
Seiten | 167-178 |
ISBN (Print) | 978-1-4503-1959-1 |
DOIs | |
Publikationsstatus | Veröffentlicht - 08.04.2013 |
Veranstaltung | 12th International Conference on Information Processing in Sensor Networks - Philadelphia, USA / Vereinigte Staaten Dauer: 08.04.2013 → 11.04.2013 Konferenznummer: 96721 |