DocumentCode
742965
Title
Stackless Multi-Threading for Embedded Systems
Author
McCartney, William P. ; Sridhar, Nigamanth
Author_Institution
Department of Electrical and Computer Engineering, Cleveland State University, Cleveland
Volume
64
Issue
10
fYear
2015
Firstpage
2940
Lastpage
2952
Abstract
Programming support for multi-threaded applications on embedded microcontroller platforms has attracted a considerable amount of research attention in the recent years. This paper is focused on this problem, and presents UnStacked C , a source-to-source transformation that can translate multithreaded programs written in C into stackless continuations. The transformation can support legacy code by not requiring any changes to application code; only the underlying threading library needs modifications. We describe the details of UnStacked C in the context of the TinyOS operating system for wireless sensor network applications. We present a modified implementation of the TOSThreads library for TinyOS, and show how existing applications programmed using TOSThreads can be automatically transformed to use stackless threads with only modifications in the build process. By eliminating the need to allocate individual thread stacks and by supporting lazy thread preemption, UnStacked C enables a considerable saving of memory used and power consumed, respectively.
Keywords
Context; Embedded systems; Instruction sets; Libraries; Message systems; Programming; Random access memory; User-level threads; embedded systems; event-driven execution; preemptive multi-threading;
fLanguage
English
Journal_Title
Computers, IEEE Transactions on
Publisher
ieee
ISSN
0018-9340
Type
jour
DOI
10.1109/TC.2014.2378256
Filename
6977970
Link To Document