Abstract
Resource constrained systems often are programmed using an event-based model. Many applications do not lend themselves well to an event-based approach, but preemptive multithreading pre-allocates resources that cannot be used even while not in use by the owning thread. In this paper, we propose a hybrid approach called Y-Threads. Y-Threads provide separate small stacks for blocking portions of applications, while allowing for shared stacks for non-blocking computations. We have implemented Y-Threads on Mica and Telos wireless sensor network platforms. The results show that Y-Threads provide a preemptive multithreaded programming model with resource utilization closer to an event-based approach. In addition, relatively large memory buffers can be allocated for temporary use with less overhead than conventional dynamic memory allocation methods.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Maroti, M., Kusy, B., Simon, G., Ledeczi, A.: The Flooding Time Synchronization Protocol. In: Proceedings of the second international conference on Embedded networked sensor systems (2004)
Elson, J.: Time Synchronization in Wireless Sensor Networks, PhD Dissertation (2003)
Reijers, N., Langendoen, K.: Efficient code distribution in wireless sensor networks. In: Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications (2003)
Kulkarni, S.S., Wang, L.: MNP: Multihop Network Reprogramming Service for Sensor Networks. In: 25th IEEE International Conference on Distributed Computing Systems (2005)
Hui, J., Culler, D.: The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale. In: Proceedings of the 2nd international conference on Embedded networked sensor systems (2004)
Hill, J., Szewczyk, R., Woo, A.: System Architecture Directions for Network Sensors, Architectural Support for Programming Languages and Operating Systems, pp. 93–104 (2000)
Han, C., Kumar, R., Shea, R.: A Dynamic Operating System for Sensor Nodes. In: Proceedings of the 3rd international conference on Mobile systems, applications, and services (2005)
Lauer, H., Needham, R.: On the Duality of Operating System Structures. In: Proceedings of the Second International Symposium on Operating Systems, IRIA (1978)
Behren, R., Condit, J., Brewer, E.: Why Events Are a Bad Idea (for high concurrency servers). In: 9th Workshop on Hot Topics in Operating Systems (HotOS IX) (2003)
Ousterhout, J.: Why Threads Are a Bad Idea (for most purposes), USENIX Technical Conference (Invited talk) (1996)
Baker, T.: Stack-Based Scheduling of Realtime Processes. Journal of Real-Time Systems 3 (1991)
OSEK/VDX Operating System Version 2.2.3 (2005), Available at: http://osek-vdx.org/mirror/os223.pdf
Koshy, J., Pandey, R.: Remote Incremental Linking for Energy-Efficient Reprogramming of Sensor Networks. In: Proceedings of the Second European Workshop on Wireless Sensor Networks (2005)
Dunkels, Schmidt, O., Voigt, T.: Using Protothreads for Sensor Node Programming. In: Proceedings of the REALWSN 2005 Workshop on Real-World Wireless Sensor Networks (2005)
Dunkels, Gronval, B., Voigt, T.: Contiki – a Lightweight and Flexible Operating System for Tiny Networked Sensors. In: Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks (2004)
Adya, A., Howell, J., Theimer, M., Bolosky, W.J., Douceur, J.R.: Cooperative Task Management without Manual Stack Management or, Event-driven Programming is Not the Opposite of Threaded Programming. In: Proceedings of the 2002 USENIX Annual Technical Conference (2002)
Goldstein, S., Schauser, K., Culler, E.: Lazy Threads: Implementing a Fast Parallel Call. Journal of Parallel and Distributed Computing (1996)
Boehm, H.: Threads Cannot Be Implemented as a Library. In: Proceedings of the 2005 ACM SIGPLAN conference on Programming Language Design and Implementation (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nitta, C., Pandey, R., Ramin, Y. (2006). Y-Threads: Supporting Concurrency in Wireless Sensor Networks. In: Gibbons, P.B., Abdelzaher, T., Aspnes, J., Rao, R. (eds) Distributed Computing in Sensor Systems. DCOSS 2006. Lecture Notes in Computer Science, vol 4026. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11776178_11
Download citation
DOI: https://doi.org/10.1007/11776178_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35227-3
Online ISBN: 978-3-540-35228-0
eBook Packages: Computer ScienceComputer Science (R0)