ACM Home Page
Please provide us with feedback. Feedback
Surviving sensor network software faults
Full text PdfPdf (1.23 MB)
Source
ACM Symposium on Operating Systems Principles archive
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles table of contents
Big Sky, Montana, USA
SESSION: Kernals table of contents
Pages 235-246  
Year of Publication: 2009
ISBN:978-1-60558-752-3
Authors
Yang Chen  University of Utah, Salt Lake City, UT, USA
Omprakash Gnawali  University of Southern California, Los Angeles, CA, USA
Maria Kazandjieva  Stanford University, Stanford University, CA, USA
Philip Levis  Stanford University, Stanford, CA, USA
John Regehr  University of Utah, Salt Lake City, UT, USA
Sponsors
ACM: Association for Computing Machinery
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 30,   Downloads (12 Months): 30,   Citation Count: 0
Additional Information:

abstract   references   index terms  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1629575.1629598
What is a DOI?

ABSTRACT

We describe Neutron, a version of the TinyOS operating system that efficiently recovers from memory safety bugs. Where existing schemes reboot an entire node on an error, Neutron's compiler and runtime extensions divide programs into recovery units and reboot only the faulting unit. The TinyOS kernel itself is a recovery unit: a kernel safety violation appears to applications as the processor being unavailable for 10-20 milliseconds.

Neutron further minimizes safety violation cost by supporting "precious" state that persists across reboots. Application data, time synchronization state, and routing tables can all be declared as precious. Neutron's reboot sequence conservatively checks that precious state is not the source of a fault before preserving it. Together, recovery units and precious state allow Neutron to reduce a safety violation's cost to time synchronization by 94% and to a routing protocol by 99.5%. Neutron also protects applications from losing data. Neutron provides this recovery on the very limited resources of a tiny, low-power microcontroller.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Atmel, Inc. ATmega128 datasheet, June 2008. http://www.atmel.com/atmel/acrobat/doc2467.pdf.
 
2
G. Back, W.C. Hsieh, and J. Lepreau. Processes in KaffeOS: Isolation, resource management, and sharing in Java. In Proc. of the Fourth Symposium on Operating Systems Design and Implementation, pages 333--346, San Diego, CA, Oct. 2000.
 
3
G. Barrenetxea, F. Ingelrest, G. Schaefer, and M. Vetterli. The hitchhiker's guide to successful wireless sensor network deployments. In Proc. of the 6th ACM Conf. on Embedded Networked Sensor Systems (SenSys), pages 43--56, Raleigh, NC, Nov. 2008.
 
4
B.N. Bershad, S. Savage, P. Pardyak, E.G. Sirer, M.E. Fiuczynski, D. Becker, C. Chambers, and S. Eggers. Extensibility, safety, and performance in the SPIN operating system. In Proc. of the 15th ACM Symposium on Operating Systems Principles, pages 267--284, Copper Mountain, CO, Dec. 1995.
 
5
A.C. Bomberger and N. Hardy. The KeyKOS nanokernel architecture. In Proc. of the USENIX Workshop on Micro-kernels and Other Kernel Architectures, pages 95--112, Apr. 1992.
 
6
G. Candea, S. Kawamoto, Y. Fujiki, G. Friedman, and A. Fox. Microreboot--A technique for cheap recovery. In Proc. of the 6th Symp. on Operating Systems Design and Implementation (OSDI), San Francisco, CA, Dec. 2004.
 
7
J. Condit, M. Harren, Z. Anderson, D. Gay, and G.C. Necula. Dependent types for low-level programming. In Proc. of the16th European Symp. on Programming (ESOP), Braga, Portugal, Mar.-Apr. 2007.
 
8
N. Cooprider, W. Archer, E. Eide, D. Gay, and J. Regehr. Efficient memory safety for TinyOS. In Proc. of the 5th ACM Conference on Embedded Networked Sensor Systems (SenSys 2007), pages 205--218, Sydney, Australia, Nov. 2007.
 
9
D.S. J.D. Couto, D. Aguayo, J. Bicket, and R. Morris. A high-throughput path metric for multi-hop wireless routing. In Proc. of the Intl. Conf. on Mobile Computing and Networking (MobiCom), pages 134--146, San Diego, CA, Sept. 2003.
 
10
A. Dearle, R. di Bona, J. Farrow, F. Henskens, A. Lindström, J. Rosenberg, and F. Vaughan. Grasshopper: An orthogonally persistent operating system. Computing Systems, 7(3):289--312, 1994.
 
11
B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The Flux OSKit: A substrate for OS and language research. In Proc. of the 16th ACM Symposium on Operating Systems Principles, pages 38--51, St. Malo, France, Oct. 1997. http://www.cs.utah.edu/flux/papers/oskit-sosp16.ps.gz.
 
12
D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesC language: A holistic approach to networked embedded systems. In Proc. of the ACM SIGPLAN 2003 Conf. on Programming Language Design and Implementation (PLDI), pages 1--11, San Diego, CA, June 2003.
 
13
O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, and P. Levis. Collection Tree Protocol. In Proc. of the 7th ACM Conf. on Embedded Networked Sensor Systems (SenSys), 2009.
 
14
O. Gnawali, B. Greenstein, K.-Y. Jang, A. Joki, J. Paek, M. Vieira, D. Estrin, R. Govindan, and E. Kohler. The TENET architecture for tiered sensor networks. In Proc. of the 4th ACM Conf. on Embedded Networked Sensor Systems (SenSys 2006), pages 153--166, Boulder, Colorado, Oct. 2006.
 
15
J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister. System architecture directions for networked sensors. In Proc. of the Ninth Symposium on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 93--104, Nov. 2000.
 
16
G.C. Hunt, J.R. Larus, M. Abadi, M. Aiken, P. Barham, M. Fähndrich, C. Hawblitzel, O. Hodson, S. Levi, N. Murphy, B. Steensgaard, D. Tarditi, T. Wobber, and B. Zill. An overview of the Singularity project. Technical Report MSR-TR-2005-135, Microsoft Research, Oct. 2005.
 
17
K. Klues, C.-J. M. Liang, J. Paek, R. Musaloiu-E., R. Govindan, P. Levis, and A. Terzis. TOSThreads: Safe and Non-Invasive Preemption in TinyOS. In Proc. of the 7th ACM Conf. on Embedded Networked Sensor Systems (SenSys), 2009.
 
18
A. Lenharth, S.T. King, and V. Adve. Recovery domains: An organizing principle for recoverable operating systems. In Proc. of the 14th Intl. Conf. on Architectural Support for Programming Languages and Operating Systems (ASPLOS '09), Washington, DC, Mar. 2009.
 
19
J. Liedtke. A persistent system in real use -- experiences of the first 13 years. In Proc. of the Third International Workshop on Object Orientation in Operating Systems, pages 2--11, Dec. 1993.
 
20
D.E. Lowell and P.M. Chen. Free transactions with rio vista. In Proceedings of the sixteenth ACM symposium on Operating systems principles (SOSP), 1997.
 
21
M. Maróti, B. Kusy, G. Simon, and Á. Lédeczi. The flooding time synchronization protocol. In Proc. of the Conf. on Embedded Networked Sensor Systems (SenSys), pages 39--49, Baltimore, MD, Nov. 2004.
 
22
R. Murty, G. Mainland, I. Rose, A.R. Chowdhury, A. Gosain, J. Bers, and M. Welsh. CitySense: A vision for an urban-scale wireless networking testbed. In Proc. of the 2008 IEEE Intl. Conf. on Technologies for Homeland Security, Waltham, MA, May 2008.
 
23
F. Qin, J. Tucek, Y. Zhou, and J. Sundaresan. Rx: Treating bugs as allergies--a safe method to survive software failures. ACM Transactions on Computer Systems, 25(3), Aug. 2007.
 
24
M. Rinard, C. Cadar, D. Dumitran, D.M. Roy, T. Leu, and W.S.B. Jr. Enhancing server availability and security through failure-oblivious computing. In Proc. of the 6th Symp. on Operating Systems Design and Implementation (OSDI), San Francisco, CA, Dec. 2004.
 
25
L. Selavo, A. Wood, Q. Cao, T. Sookoor, H. Liu, A. Srinivasan, Y. Wu, W. Kang, J. Stankovic, D. Young, and J. Porter. LUSTER: Wireless sensor network for environmental research. In Proc. of the 5th ACM Conference on Embedded Networked Sensor Systems (SenSys 2007), pages 103--116, Sydney, Australia, Nov. 2007.
 
26
Sentilla, Inc. Telos rev. B datasheet, 2007. http://www.sentilla.com/moteiv-transition.html.
 
27
J.S. Shapiro, J.M. Smith, and D.J. Farber. EROS: a fast capability system. In Proc. of the 17th ACM Symposium on Operating Systems Principles, Kiawah Island, SC, Dec. 1999.
 
28
SPI driver for ATmega128, version 1.5, 2007. http://tinyos.cvs.sourceforge.net/viewvc/tinyos/tinyos-2.x/tos/chips/atm128/spi/Atm128SpiP.nc.
 
29
Sun Microsystems. Java Platform, Enterprise Edition (Java EE). http://java.sun.com/javaee/.
 
30
M.M. Swift, M. Annamalai, B.N. Bershad, and H.M. Levy. Recovering device drivers. ACM Transactions on Computer Systems, 24(4), Nov. 2006.
 
31
R. Szewczyk, J. Polastre, A. Mainwaring, and D. Culler. Lessons from a sensor network expedition. In Proc. of the 1st European Workshop on Wireless Sensor Networks (EWSN 2004), pages 307--322, Berlin, Germany, Jan. 2004.
 
32
I. Talzi, A. Hasler, S. Gruber, and C. Tschudin. PermaSense: Investigating permafrost with a WSN in the Swiss Alps. In Proc. of the 4th Workshop on Embedded Networked Sensors (EmNets 2007), Cork, Ireland, June 2007.
 
33
E. Troan. The ins and outs of signal processing. Linux Magazine, Dec. 1999.
 
34
M. Wachs, J.I. Choi, K. Srinivasan, M. Jain, J.W. Lee, Z. Chen, and P. Levis. Visibility: A new metric for protocol design. In Proceedings of the Fifth ACM Conference on Embedded networked Sensor Systems (SenSys), 2007.
 
35
G. Werner-Allen, K. Lorincz, J. Johnson, J. Lees, and M. Welsh. Fidelity and yield in a volcano monitoring sensor network. In Proc. of the 7th USENIX Symp. on Operating Systems Design and Implementation (OSDI 2006), Nov. 2006.
 
36
G. Werner-Challen. Private correspondence, 2009.
 
37
F. Zhou, J. Condit, Z. Anderson, I. Bagrak, R. Ennals, M. Harren, G. Necula, and E. Brewer. SafeDrive: Safe and recoverable extensions using language-based techniques. In Proc. of the 7th Symp. on Operating Systems Design and Implementation (OSDI), Nov. 2006.