Abstract
In embedded systems, controlling a shared resource like the bus, or improving a property like power consumption, may be hard to achieve when programming device drivers individually. There is a need for global resource control, taking decisions based on a centralized view of the devices' states. In this paper, we study power consumption in sensor networks, where the nodes are small embedded systems powered by batteries. We concentrate on the hardware/software architecture of a node, where significant gains can be achieved by controlling the consumption modes of the various devices globally. The architecture we propose involves a simple adaptation of the application level, to communicate with the hardware via a control layer. The control layer itself is built from a set of simple automata: the drivers of the devices, whose states correspond to power consumption modes, and a controller that enforces global properties. All these automata are programmed using a synchronous language, whose compiler performs static scheduling and produces a single piece of C code. We explain the approach in details, demonstrate its use with either Contiki or a traditional multithreading operating system, and report on our experiments.
- T. Abdelzaher, Y. Diao, J. L. Hellerstein, C. Lu, and X. Zhu. Introduction to Control Theory And Its Application to Computing Systems. June 16 2009.Google Scholar
- T. F. Abdelzaher, L. J. Guibas, and M. Welsh, editors. Proceedings of the 6th International Conference on Information Processing in Sensor Networks, IPSN 2007, Cambridge, Massachusetts, USA, April 25--27, 2007. ACM, 2007. Google Scholar
- K. Altisen, A. Clodic, F. Maraninchi, and É. Rutten. Using Controller-Synthesis Techniques to Build Property-Enforcing Layers. In P. Degano, editor, ESOP, volume 2618 of Lecture Notes in Computer Science, pages 174--188. Springer, 2003. Google Scholar
Digital Library
- A. Benveniste, P. Caspi, S. A. Edwards, N. Halbwachs, P. L. Guernic, and R. de Simone. The synchronous languages 12 years later. Proceedings of the IEEE, 91(1):64--83, 2003.Google Scholar
Cross Ref
- S. Bhatti, J. Carlson, H. Dai, J. Deng, J. Rose, A. Sheth, B. Shucker, C. Gruenwald, A. Torgerson, and R. Han. MANTIS OS: An Embedded Multithreaded Operating System for Wireless Micro Sensor Platforms. MONET, 10(4):563--579, 2005. Google Scholar
Digital Library
- H. Cha, S. Choi, I. Jung, H. Kim, H. Shin, J. Yoo, and C. Yoon. RETOS: resilient, expandable, and threaded operating system for wireless sensor networks. In Abdelzaher et al. \citeconf/ipsn/2007, pages 148--157. Google Scholar
Digital Library
- V. Chandra, Z. Huang, and R. Kumar. Automated control synthesis for an assembly line using discrete event system control theory. IEEE Transactions on Systems, Man, and Cybernetics, Part C, 33(2):284--289, 2003. Google Scholar
Digital Library
- A. Chis, E. Fleury, and A. Fraboulet. An optimized MAC layer to physical device mapping methodology. In Mobility Conference. ACM, 2009. Google Scholar
Digital Library
- H. Choi, C. Yoon, and H. Cha. Device Driver Abstraction for Multithreaded Sensor Network Operating Systems. In R. Verdone, editor, EWSN, volume 4913 of Lecture Notes in Computer Science, pages 354--368. Springer, 2008. Google Scholar
Digital Library
- A. Dunkels, B. Grönvall, and T. Voigt. Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors. In LCN, pages 455--462. IEEE Computer Society, 2004. Google Scholar
Digital Library
- A. Dunkels, O. Schmidt, T. Voigt, and M. Ali. Protothreads: simplifying event-driven programming of memory-constrained embedded systems. In A. T. Campbell, P. Bonnet, and J. S. Heidemann, editors, SenSys, pages 29--42. ACM, 2006. Google Scholar
Digital Library
- Esterel Technologies Ltd. SCADE language reference manual. http://www.esterel-technologies.com/.Google Scholar
- A. Eswaran, A. Rowe, and R. Rajkumar. Nano-RK: An Energy-Aware Resource-Centric RTOS for Sensor Networks. In RTSS, pages 256--265. IEEE Computer Society, 2005. Google Scholar
Digital Library
- A. Fraboulet, G. Chelius, and E. Fleury. Worldsens: development and prototyping tools for application specific wireless sensors networks. In Abdelzaher et al. \citeconf/ipsn/2007, pages 176--185. Google Scholar
Digital Library
- D. Gay, P. Levis, J. R. von Behren, M. Welsh, E. A. Brewer, and D. E. Culler. The nesC language: A holistic approach to networked embedded systems. In PLDI, pages 1--11. ACM, 2003. Google Scholar
Digital Library
- A. Girault and É. Rutten. Automating the addition of fault tolerance with discrete controller synthesis. Formal Methods in System Design, 35(2):190--225, 2009. Google Scholar
Digital Library
- J. L. Hill, R. Szewczyk, A. Woo, S. Hollar, D. E. Culler, and K. S. J. Pister. System Architecture Directions for Networked Sensors. In ASPLOS, pages 93--104, 2000. Google Scholar
Digital Library
- K. Klues, V. Handziski, C. Lu, A. Wolisz, D. E. Culler, D. Gay, and P. Levis. Integrating concurrency control and energy management in device drivers. In T. C. Bressoud and M. F. Kaashoek, editors, SOSP, pages 251--264. ACM, 2007. Google Scholar
Digital Library
- K. Lorincz, B. rong Chen, J. Waterman, G. W. Allen, and M. Welsh. Resource aware programming in the Pixie OS. In T. F. Abdelzaher, M. Martonosi, and A. Wolisz, editors, SenSys, pages 211--224. ACM, 2008. Google Scholar
Digital Library
- F. Maraninchi and Y. Rémond. Argos: an automaton-based synchronous language. Comput. Lang., 27(1/3):61--92, 2001. Google Scholar
Digital Library
- P. J. G. Ramadge and W. M. Wonham. The control of discrete event systems. Proc.\ of the IEEE, 77(1):81--98, Jan. 1989.Google Scholar
Cross Ref
- J. Sorber, A. Kostadinov, M. Garber, M. Brennan, M. D. Corner, and E. D. Berger. Eon: a language and runtime system for perpetual systems. In S. Jha, editor, SenSys, pages 161--174. ACM, 2007. Google Scholar
Digital Library
- S. Wang and S. Malik. Synthesizing operating system based device drivers in embedded systems. In R. Gupta, Y. Nakamura, A. Orailoglu, and P. H. Chou, editors, CODES Google Scholar
Digital Library
- ISSS, pages 37--44. ACM, 2003.Google Scholar
- A. Whitaker, M. Shaw, and S. D. Gribble. Scale and Performance in the Denali Isolation Kernel. In OSDI, 2002. Google Scholar
Digital Library
- H. Zeng, C. S. Ellis, A. R. Lebeck, and A. Vahdat. ECOSystem: managing energy as a first class operating system resource. In ASPLOS, pages 123--132, 2002. Google Scholar
Digital Library
Index Terms
Synchronous programming of device drivers for global resource control in embedded operating systems
Recommendations
Synchronous programming of device drivers for global resource control in embedded operating systems
LCTES '11: Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsIn embedded systems, controlling a shared resource like the bus, or improving a property like power consumption, may be hard to achieve when programming device drivers individually. There is a need for global resource control, taking decisions based on ...
Synchronous programming of device drivers for global resource control in embedded operating systems
Special section on ESTIMedia'12, LCTES'11, rigorous embedded systems design, and multiprocessor system-on-chip for cyber-physical systemsIn embedded systems, controlling a shared resource like a bus, or improving a property like power consumption, may be hard to achieve when programming device drivers individually. In this article, we propose a global resource control approach, based on ...
Power analysis of embedded operating systems
DAC '00: Proceedings of the 37th Annual Design Automation ConferenceThe increasing complexity and software content of embedded systems has led to the frequent use of system software that helps applications access underlying hardware resources easily and efficiently. In this paper, we analyze the power consumption of ...







Comments