A comprehensive compiler-assisted thread abstraction for resource-constrained systems

Alexander Bernauer, Kay Uwe Römer

Research output: Chapter in Book/Report/Conference proceedingConference paperpeer-review

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 publicationIPSN' 13
Place of PublicationNew York, NY
PublisherAssociation of Computing Machinery
Pages167-178
ISBN (Print)978-1-4503-1959-1
DOIs
Publication statusPublished - 2013
Event12th ACM/IEEE Conference on Information Processing in Sensor Networks: IPSN 2013 - Philadelphia, United States
Duration: 8 Apr 201311 Apr 2013

Conference

Conference12th ACM/IEEE Conference on Information Processing in Sensor Networks
Country/TerritoryUnited States
CityPhiladelphia
Period8/04/1311/04/13

Fields of Expertise

  • Sonstiges

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