Conference Paper

Versatile Stack Management for Multitasking Sensor Networks.

DOI: 10.1109/ICDCS.2010.42 Conference: 2010 International Conference on Distributed Computing Systems, ICDCS 2010, Genova, Italy, June 21-25, 2010
Source: DBLP

ABSTRACT The networked application environment has motivated the development of multitasking operating systems for sensor networks and other low-power electronic devices, but their multitasking capability is severely limited because traditional stack management techniques perform poorly on small memory systems. In this paper, we show that combining binary translation and a new kernel runtime can lead to efficient OS designs on resource-constrained platforms. We introduce SenSmart, a multitasking OS for sensor networks, and present new OS design techniques for supporting preemptive multi-task scheduling, memory isolation, and versatile stack management. We have implemented SenSmart on MICA2/MICAz motes. Evaluation shows that SenSmart performs efficient binary translation and demonstrates a significantly better capability in managing concurrent tasks than other sensor net operating systems.

  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The increasing complexity of today’s reactive embedded applications can rapidly result in reduced real-time capabilities of the underlying hard and software. As an example for this paper we’ll refer to the specific and growing demands on the severely resource constrained sensor nodes in sensor/actuator networks (SANet). While preemptive operating systems are one way to retain acceptable reactivity within highly dynamic environments, their concurrency paradigm commonly leads to severe resource management problems, caused by the coexistence of tasks with interfering and even varying requirements. To counteract these problems, we present the novel Dynamic Hinting approach for maintaining good reactivity in typically resource constrained sensor/actuator systems by efficient combination of preemptive task scheduling and collaborative resource allocation. With respect to task priorities, our technique significantly improves classical methods for handling priority inversions (and deadlocks where required) under both short- and long-term resource allocations. Furthermore, we facilitate compositional software design by providing independently developed tasks with runtime information for yet collaborative and reflective resource sharing – e.g. by means of time-utility-functions. In many cases this even allows to reduce blocking delays as otherwise imposed by bounded priority inversion.
    Journal of Systems Architecture 10/2011; 57:799-814. DOI:10.1016/j.sysarc.2011.07.001 · 0.69 Impact Factor


1 Download
Available from