Design and implementation of a single system image operating system for ad hoc networks

In this paper, we describe the design and implementation of a distributed operating system for ad hoc networks. Our system simplifies the programming of ad hoc networks and extends total system lifetime by making the entire network appear as a single virtual machine. It automatically and transparently partitions applications into components and dynamically finds them a placement on nodes within the network to reduce energy consumption and to increase system longevity. This paper describes our programming model, outlines the design and implementation of our system and examines the energy efficiency of our approach through extensive simulations as well as validation of a deployment on a physical testbed. We evaluate practical, power-aware, general-purpose algorithms for component placement and migration, and demonstrate that they can significantly increase system longevity by effectively distributing energy consumption and avoiding hotspots.

[1]  Akinori Yonezawa,et al.  Bytecode Transformation for Portable Thread Migration in Java , 2000, ASA/MA.

[2]  Georg Stellner,et al.  CoCheck: checkpointing and process migration for MPI , 1996, Proceedings of International Conference on Parallel Processing.

[3]  Bruce J. Walker,et al.  The LOCUS Distributed System Architecture , 1986 .

[4]  David R. Cheriton,et al.  The V distributed system , 1988, CACM.

[5]  James M. Rehg,et al.  Compiler-Directed Remote Task Execution for Power Management , 2000 .

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

[7]  Takashi Suezawa,et al.  Persistent execution state of a Java virtual machine , 2000, JAVA '00.

[8]  Mahmoud Naghshineh,et al.  Conserving transmission power in wireless ad hoc networks , 2001, Proceedings Ninth International Conference on Network Protocols. ICNP 2001.

[9]  Francis C. M. Lau,et al.  JESSICA: Java-Enabled Single-System-Image Computing Architecture , 2000, J. Parallel Distributed Comput..

[10]  Jason Flinn,et al.  Ghosts in the machine: interfaces for better power management , 2004, MobiSys '04.

[11]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[12]  David K. Y. Yau,et al.  On the effectiveness of movement prediction to reduce energy consumption in wireless communication , 2003, IEEE Transactions on Mobile Computing.

[13]  Emin Gün Sirer,et al.  Staged simulation: A general technique for improving simulation scale and performance , 2004, TOMC.

[14]  Amin Vahdat,et al.  GLUix: a global layer unix for a network of workstations , 1998 .

[15]  Mahadev Satyanarayanan,et al.  Tactics-based remote execution for mobile computing , 2003, MobiSys '03.

[16]  Deborah Estrin,et al.  Building efficient wireless sensor networks with low-level naming , 2001, SOSP.

[17]  Chai-Keong Toh Maximum battery life routing to support ubiquitous mobile computing in wireless ad hoc networks , 2001 .

[18]  Miron Livny,et al.  Checkpoint and Migration of UNIX Processes in the Condor Distributed Processing System , 1997 .

[19]  Galen C. Hunt,et al.  The Coign automatic distributed partitioning system , 1999, OSDI '99.

[20]  Chandra Krintz,et al.  NWSLite: a light-weight prediction utility for mobile devices , 2004, MobiSys '04.

[21]  George G. Robertson,et al.  Accent: A communication oriented network operating system kernel , 1981, SOSP.

[22]  Andrew T. Campbell,et al.  The mobiware toolkit: programmable support for adaptive mobile networking , 1998, IEEE Wirel. Commun..

[23]  Wouter Joosen,et al.  Portable Support for Transparent Thread Migration in Java , 2000, ASA/MA.

[24]  Gregory R. Ganger,et al.  Dynamic Function Placement in Active Storage Clusters , 1999 .

[25]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

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

[27]  Andrew R. Cherenson,et al.  The Sprite network operating system , 1988, Computer.

[28]  Fred Douglis,et al.  Adaptive Disk Spin-Down Policies for Mobile Computers , 1995, Comput. Syst..

[29]  Gregory J. Pottie,et al.  Wireless integrated network sensors , 2000, Commun. ACM.

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

[31]  Mahadev Satyanarayanan,et al.  Self-tuned remote execution for pervasive computing , 2001, Proceedings Eighth Workshop on Hot Topics in Operating Systems.

[32]  Liuba Shrira,et al.  Distributed Object Management in Thor , 1992, IWDOM.

[33]  Philip Levis,et al.  Policies for dynamic clock scheduling , 2000, OSDI.

[34]  Martin Nilsson,et al.  Investigating the energy consumption of a wireless network interface in an ad hoc networking environment , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

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

[36]  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 .

[37]  Luca Benini,et al.  Dynamic power management for portable systems , 2000, MobiCom '00.

[38]  Cecilia Mascolo,et al.  XMIDDLE: information sharing middleware for a mobile environment , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[39]  Michael Factor,et al.  cJVM: a single system image of a JVM on a cluster , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[40]  Cheng Wang,et al.  Computation offloading to save energy on handheld devices: a partition scheme , 2001, CASES '01.

[41]  Yannis Smaragdakis,et al.  J-Orchestra: Automatic Java Application Partitioning , 2002, ECOOP.

[42]  Deborah A. Wallach,et al.  μSleep: a technique for reducing energy consumption in handheld devices , 2004, MobiSys '04.

[43]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[44]  M. Frans Kaashoek,et al.  Rover: a toolkit for mobile information access , 1995, SOSP.

[45]  Amin Vahdat,et al.  GLUix: a global layer unix for a network of workstations , 1998, Softw. Pract. Exp..

[46]  Thomas Kunz,et al.  A mobile code toolkit for adaptive mobile applications , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.

[47]  Emin Gün Sirer,et al.  Design and implementation of a distributed virtual machine for networked computers , 1999, SOSP.

[48]  Jie Lin,et al.  Towards mobility as a network control primitive , 2004, MobiHoc '04.

[49]  Michael Dahlin,et al.  A quantitative analysis of cache policies for scalable network file systems , 1994, SIGMETRICS.

[50]  Margaret Martonosi,et al.  Implementing software on resource-constrained mobile sensors: experiences with Impala and ZebraNet , 2004, MobiSys '04.

[51]  Randy H. Katz,et al.  Measuring and Reducing Energy Consumption of Network Interfaces in Hand-Held Devices (Special Issue on Mobile Computing) , 1997 .