Loading...
Please wait, while we are loading the content...
Similar Documents
TOSThreads : Extending the TinyOS Concurrency Model to Support Preemption
| Content Provider | Semantic Scholar |
|---|---|
| Author | Klues, Kevin Liang, Chieh-Jan Mike Paek, Jeongyeup Musăloiu-E, Răzvan Govindan, Ramesh Levis, Philip Terzis, Andreas |
| Copyright Year | 2009 |
| Abstract | We present TOSThreads, an application-level threads package for TinyOS. In contrast to previous threads packages proposed for TinyOS, TOSThreads supports fully preemptive threads while maintaining the existing TinyOS concurrency model. TOSThreads defines a conceptual user/kernel boundary, whereby TinyOS runs as a high-priority kernel thread and application threads execute at lower priority. This approach naturally supports long-running computations while preserving the timing-sensitive nature of TinyOS itself. Additionally, the existence of a user/kernel boundary enables dynamic linking and loading of application binaries at runtime. The API at this boundary defines the set of TinyOS services supported by a TOSThreads kernel and is customizable in support of a diverse set of applications. We demonstrate that TOSThreads context switches and system calls introduce an overhead of less than 0.92% and that dynamic linking and loading takes as little as 90ms for a representative sensing application. We compare different programming models built on top of TOSThreads, including standard C with blocking system calls and a reimplementation of Tenet. Additionally, we evaluate the ability of TOSThreads to run computationally intensive tasks. Taken as a whole, these results suggest that TOSThreads is an important step towards defining a TinyOS kernel that can support longrunning computations and high concurrency. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://sing.stanford.edu/klueska/threadpaper.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |