Application specific virtual machines: operating system support for user-level sensornet programming

We introduce application specific virtual machines (ASVMs) as a way to retask deployed wireless sensor networks. We analyze and show that prior approaches, such as standardized virtual machines or a user/kernel boundary, are insufficient or less appropriate than our approach. We present Mate, an architecture for building application specific virtual machines. We describe its execution and data models, as well as its code loading and linking algorithms. We evaluate the efficiency of a Mate ASVM's components individually with microbenchmarks, evaluate the efficiency of a whole system against other proposals for application level programming, and evaluate Mate's flexibility by presenting several example ASVMs that users have built and deployed. The results show that ASVMs allow users to safely, efficiently, and quickly retask large sensor networks in high level languages, making these systems accessible to non-expert users and opening up new application opportunities.

[1]  Mani B. Srivastava,et al.  Design and implementation of a framework for efficient and programmable sensor networks , 2003, MobiSys '03.

[2]  Steve R. Kleiman,et al.  Extent-like Performance from a UNIX File System , 1991, USENIX Winter.

[3]  Ramesh Govindan,et al.  Understanding packet delivery performance in dense wireless sensor networks , 2003, SenSys '03.

[4]  Message Passing Interface Forum MPI: A message - passing interface standard , 1994 .

[5]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[6]  Yu-Chee Tseng,et al.  The Broadcast Storm Problem in a Mobile Ad Hoc Network , 2002, Wirel. Networks.

[7]  C. Karlof,et al.  Secure routing in wireless sensor networks: attacks and countermeasures , 2003, Proceedings of the First IEEE International Workshop on Sensor Network Protocols and Applications, 2003..

[8]  Paramvir Bahl,et al.  RADAR: an in-building RF-based user location and tracking system , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[9]  Deborah Estrin,et al.  An Empirical Study of Epidemic Algorithms in Large Scale Multihop Wireless Networks , 2002 .

[10]  Andrew Warfield,et al.  Are Virtual Machine Monitors Microkernels Done Right? , 2005, HotOS.

[11]  David E. Culler,et al.  Design of an application-cooperative management system for wireless sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[12]  Patrick Th. Eugster,et al.  Route driven gossip: probabilistic reliable multicast in ad hoc networks , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[13]  Deborah Estrin,et al.  Directed diffusion: a scalable and robust communication paradigm for sensor networks , 2000, MobiCom '00.

[14]  Richard L. Sites,et al.  Binary translation , 1993, CACM.

[15]  Deborah Estrin,et al.  SCALE: A tool for Simple Connectivity Assessment in Lossy Environments , 2003 .

[16]  Jeffrey Considine,et al.  Informed content delivery across adaptive overlay networks , 2002, IEEE/ACM Transactions on Networking.

[17]  Vikram S. Adve,et al.  LLVA: a low-level virtual instruction set architecture , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[18]  Charles H. Moore,et al.  The FORTH approach to operating systems , 1976, ACM '76.

[19]  David E. Culler,et al.  Virtualization considered harmful: OS design directions for well-conditioned services , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[20]  David E. Culler,et al.  System architecture directions for networked sensors , 2000, SIGP.

[21]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[22]  Doug Terry,et al.  Epidemic algorithms for replicated database maintenance , 1988, OPSR.

[23]  Kenneth P. Birman,et al.  Bimodal multicast , 1999, TOCS.

[24]  David E. Culler,et al.  The dynamic behavior of a data dissemination protocol for network programming at scale , 2004, SenSys '04.

[25]  Eddie Kohler,et al.  SOS: A Dynamic Operating System for Sensor Networks , 2005 .

[26]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[27]  Freeman L. Rawson Experience with the development of a microkernel-based, multiserver operating system , 1997, Proceedings. The Sixth Workshop on Hot Topics in Operating Systems (Cat. No.97TB100133).

[28]  John Anderson,et al.  An analysis of a large scale habitat monitoring application , 2004, SenSys '04.

[29]  Craig Partridge,et al.  Smart packets: applying active networks to network management , 2000, TOCS.

[30]  Bryan Cantrill,et al.  Dynamic Instrumentation of Production Systems , 2004, USENIX Annual Technical Conference, General Track.

[31]  Calvin Newport,et al.  The mistaken axioms of wireless-network research , 2003 .

[32]  Digital Vax,et al.  RISC versus CISC: A Tale of Two Chips , 2000 .

[33]  Carl A. Gunter,et al.  PLAN: a packet language for active networks , 1998, ICFP '98.

[34]  David S. Platt,et al.  Introducing Microsoft® .NET , 2001 .

[35]  David D. Clark,et al.  The design philosophy of the DARPA internet protocols , 1988, SIGCOMM '88.

[36]  Deborah Estrin,et al.  ASCENT: Adaptive Self-Configuring sEnsor Networks Topologies , 2002, Proceedings.Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies.

[37]  Jeff Rose,et al.  MANTIS: system support for multimodAl NeTworks of in-situ sensors , 2003, WSNA '03.

[38]  Brian E. Carpenter,et al.  Architectural Principles of the Internet , 1996, RFC.

[39]  Robert Grimm,et al.  Application performance and flexibility on exokernel systems , 1997, SOSP.

[40]  Todd A. Proebsting Optimizing an ANSI C interpreter with superoperators , 1995, POPL '95.

[41]  Deborah Estrin,et al.  A system for simulation, emulation, and deployment of heterogeneous sensor networks , 2004, SenSys '04.

[42]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[43]  David E. Culler,et al.  Taming the underlying challenges of reliable multihop routing in sensor networks , 2003, SenSys '03.

[44]  Koen Langendoen,et al.  Efficient code distribution in wireless sensor networks , 2003, WSNA '03.

[45]  David E. Culler,et al.  The firecracker protocol , 2004, EW 11.

[46]  Deborah Estrin,et al.  ASCENT: adaptive self-configuring sensor networks topologies , 2004, IEEE Transactions on Mobile Computing.

[47]  L. Szumel,et al.  Towards a mobile agent framework for sensor networks , 2005, The Second IEEE Workshop on Embedded Networked Sensors, 2005. EmNetS-II..

[48]  Gyula Simon,et al.  Sensor network-based countersniper system , 2004, SenSys '04.

[49]  Margaret Martonosi,et al.  Impala: a middleware system for managing autonomic, parallel sensor systems , 2003, PPoPP '03.

[50]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[51]  Richard P. Martin,et al.  PlanetP: using gossiping to build content addressable peer-to-peer information sharing communities , 2003, High Performance Distributed Computing, 2003. Proceedings. 12th IEEE International Symposium on.

[52]  S. Shankar Sastry,et al.  Design and implementation of a sensor network system for vehicle tracking and autonomous interception , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[53]  Hugh Garraway Parallel Computer Architecture: A Hardware/Software Approach , 1999, IEEE Concurrency.

[54]  David E. Culler,et al.  Hood: a neighborhood abstraction for sensor networks , 2004, MobiSys '04.

[55]  Christophe Diot,et al.  Deployment issues for the IP multicast service and architecture , 2000, IEEE Netw..

[56]  Jan Beutel,et al.  Poster abstract: BTnodes -- a distributed platform for sensor nodes , 2003, SenSys '03.

[57]  Christopher W. Fraser,et al.  Code compression , 1997, PLDI '97.

[58]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[59]  Yong Wang,et al.  Energy-efficient computing for wildlife tracking: design tradeoffs and early experiences with ZebraNet , 2002, ASPLOS X.

[60]  Wendi B. Heinzelman,et al.  Adaptive protocols for information dissemination in wireless sensor networks , 1999, MobiCom.

[61]  Wei Hong,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Tag: a Tiny Aggregation Service for Ad-hoc Sensor Networks , 2022 .

[62]  Deborah Estrin,et al.  A Remote Code Update Mechanism for Wireless Sensor Networks , 2003 .

[63]  Seth J. Teller,et al.  The cricket compass for context-aware mobile applications , 2001, MobiCom '01.

[64]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[65]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[66]  David E. Culler,et al.  Design of a wireless sensor network platform for detecting rare, random, and ephemeral events , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[67]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[68]  Prabal Kumar Dutta,et al.  ON RANDOM EVENT DETECTION WITH WIRELESS SENSOR NETWORKS , 2004 .

[69]  Brian N. Bershad,et al.  The increasing irrelevance of IPC Performance for Micro-kernel-Based Operating Systems , 1992, USENIX Workshop on Microkernels and Other Kernel Architectures.

[70]  David Wetherall,et al.  Active network vision and reality: lessions from a capsule-based system , 1999, SOSP.

[71]  Carl A. Gunter,et al.  PLANet: an active internetwork , 1999, IEEE INFOCOM '99. Conference on Computer Communications. Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies. The Future is Now (Cat. No.99CH36320).

[72]  Brian N. Bershad,et al.  Scheduler activations: effective kernel support for the user-level management of parallelism , 1991, TOCS.

[73]  James Demmel,et al.  Wireless sensor networks for structural health monitoring , 2006, SenSys '06.

[74]  Jerome H. Saltzer,et al.  End-to-end arguments in system design , 1984, TOCS.

[75]  Vinayak S. Naik,et al.  A line in the sand: a wireless sensor network for target detection, classification, and tracking , 2004, Comput. Networks.

[76]  Srinivasan Seshan,et al.  Synopsis diffusion for robust aggregation in sensor networks , 2004, SenSys '04.

[77]  Deborah Estrin,et al.  A sensor network application construction kit (SNACK) , 2004, SenSys '04.

[78]  David E. Culler,et al.  Lessons from a Sensor Network Expedition , 2004, EWSN.

[79]  David E. Culler,et al.  Telos: enabling ultra-low power wireless research , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[80]  Deborah Estrin,et al.  EmStar: A Software Environment for Developing and Deploying Wireless Sensor Networks , 2004, USENIX ATC, General Track.

[81]  James Demmel,et al.  Structural Health Monitoring of the Golden Gate Bridge , 2003 .

[82]  Christopher W. Fraser,et al.  Analyzing and compressing assembly code , 1984, SIGPLAN '84.

[83]  Deborah Estrin,et al.  Embedded Every-where: A Research Agenda for Networked Systems of Embedded Computers , 2001 .

[84]  Hai Jin,et al.  Active Disks: Programming Model, Algorithms and Evaluation , 2002 .

[85]  James R. Bell,et al.  Threaded code , 1973, CACM.

[86]  Gyula Simon,et al.  The flooding time synchronization protocol , 2004, SenSys '04.

[87]  David A. Wagner,et al.  TinySec: a link layer security architecture for wireless sensor networks , 2004, SenSys '04.

[88]  William R. Bush,et al.  A java virtual machine architecture for very small devices , 2003 .

[89]  Steven McCanne,et al.  An active service framework and its application to real-time multimedia transcoding , 1998, SIGCOMM '98.

[90]  Matt Welsh,et al.  Decentralized, adaptive resource allocation for sensor networks , 2005, NSDI.

[91]  Eric A. Brewer,et al.  How to get good performance from the CM-5 data network , 1994, Proceedings of 8th International Parallel Processing Symposium.

[92]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

[93]  Yu-Chee Tseng,et al.  The Broadcast Storm Problem in a Mobile Ad Hoc Network , 1999, Wirel. Networks.

[94]  ZHANGLi-xia,et al.  A reliable multicast framework for light-weight sessions and application level framing , 1995 .

[95]  Adrian Perrig,et al.  The BiBa one-time signature and broadcast authentication protocol , 2001, CCS '01.

[96]  André Schiper,et al.  Probabilistic broadcast for flooding in wireless mobile ad hoc networks , 2003, 2003 IEEE Wireless Communications and Networking, 2003. WCNC 2003..