A Comprehensive Compiler-assisted Thread Abstraction for Resource-constrained Systems

Alexander Bernauer, Kay Römer

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.
Original languageEnglish
Title of host publicationProceedings of the 12th International Conference on Information Processing in Sensor Networks
Number of pages12
Place of PublicationNew York, NY, USA
PublisherACM
Publication date08.04.2013
Pages167-178
ISBN (Print)978-1-4503-1959-1
DOIs
Publication statusPublished - 08.04.2013
Event12th International Conference on Information Processing in Sensor Networks - Philadelphia, United States
Duration: 08.04.201311.04.2013
Conference number: 96721

Fingerprint

Dive into the research topics of 'A Comprehensive Compiler-assisted Thread Abstraction for Resource-constrained Systems'. Together they form a unique fingerprint.

Cite this