Skip to main content

Y-Threads: Supporting Concurrency in Wireless Sensor Networks

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 4026))

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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. Elson, J.: Time Synchronization in Wireless Sensor Networks, PhD Dissertation (2003)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Kulkarni, S.S., Wang, L.: MNP: Multihop Network Reprogramming Service for Sensor Networks. In: 25th IEEE International Conference on Distributed Computing Systems (2005)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. Hill, J., Szewczyk, R., Woo, A.: System Architecture Directions for Network Sensors, Architectural Support for Programming Languages and Operating Systems, pp. 93–104 (2000)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Lauer, H., Needham, R.: On the Duality of Operating System Structures. In: Proceedings of the Second International Symposium on Operating Systems, IRIA (1978)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Ousterhout, J.: Why Threads Are a Bad Idea (for most purposes), USENIX Technical Conference (Invited talk) (1996)

    Google Scholar 

  11. Baker, T.: Stack-Based Scheduling of Realtime Processes. Journal of Real-Time Systems 3 (1991)

    Google Scholar 

  12. OSEK/VDX Operating System Version 2.2.3 (2005), Available at: http://osek-vdx.org/mirror/os223.pdf

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. Goldstein, S., Schauser, K., Culler, E.: Lazy Threads: Implementing a Fast Parallel Call. Journal of Parallel and Distributed Computing (1996)

    Google Scholar 

  18. Boehm, H.: Threads Cannot Be Implemented as a Library. In: Proceedings of the 2005 ACM SIGPLAN conference on Programming Language Design and Implementation (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics