DOC PREVIEW
HARVARD CS 263 - Synthesizing Scalable Runtime Environments for Sensor Networks

This preview shows page 1-2-3-4 out of 12 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

VMF: Synthesizing Scalable Runtime Environments forSensor Networks∗Joel KoshyDepartment of Computer ScienceUniversity of California, DavisDavis, California [email protected] PandeyDepartment of Computer ScienceUniversity of California, DavisDavis, California [email protected] networks are being deployed at massive scales, containinga range of platforms. Programming paradigms for sensor networksshould meet the attendant challenges of scale and heterogeneity.Researchers have considered virtual machines as a means to ad-dress these challenges. However, in order to satisfy the resourcelimitations of sensor nodes, they export only a minimal set of ser-vices to the application programmer. This makes applications ofeven moderate complexity difficultto implement. We present VMF— a framework for building resource-efficient virtual machines thatscale and export comprehensive service suites on a per-applicationbasis. We advocate the use of fine-grained software synthesis tobuild resource-efficient system software, and facilitate both appli-cation changes and system software upgrades at runtime through anefficient incremental update scheme. We have used our frameworkto build virtual machines on the Mica platform and describe howvirtual machines are effective in meeting the difficult demands ofheterogeneity and reprogrammability.Categories and Subject DescriptorsC.2.4 [Computer Communication Networks]: Distributed Sys-tems — Network operating systems; C.2.1 [Computer Communi-cation Networks]: Network Architecture and Design — WirelesscommunicationGeneral TermsDesign, Experimentation, Languages, Measurement, PerformanceKeywordsWireless Sensor Networks, Virtual Machines, Operating Systems,Software Synthesis, Programming Languages, Network Reprogram-ming∗This work is supported in part by NSF grants CNS-0435531 andEIA-0224469.Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies arenot made or distributed for profit or commercial advantage and that copiesbear this notice and the full citation on the first page. To copy otherwise, torepublish, to post on servers or to redistribute to lists, requires prior specificpermission and/or a fee.SenSys’05, November 2–4, 2005, San Diego, California, USA.Copyright 2005 ACM 1-59593-054-X/05/0011 ...$5.00.1. INTRODUCTIONWireless sensor networks (WSN) show considerable promise inbringing the vision of ubiquitous computing [26] to reality. Thereis growing interest in their use for a variety of applications, andresearchers are constantly aiming toward developing smaller andbetter hardware platforms. It is quite likely that as the field ma-tures, we will see a wide variety of highly efficient hardware spe-cialized to perform specific tasks. Even today, there are severalplatforms in popular use for research [9]. While this yields signif-icant benefits from an overall system design viewpoint, it throwsconsiderable burden on the programmer who needs to be aware ofthe idiosyncrasies of each platform. Most of the variation acrossthese platforms is in the implementation of subsystems; e.g., differ-ent processors, radio, and sensing modules. The actual operationalpatterns are more or less uniform, and having to rewrite applica-tions for multiple platforms is redundant and burdensome.The correct choice of system software used in application de-velopment is critical to manage the complexity in this regime. Weuse the term system software to describe software such as operat-ing systems (OS), virtual machines (VM), and middleware, whichexport services for applications to build upon. The main challengesto deal with are: (i) heterogeneity of end systems, (ii) allowingdynamic updates in deployed software, and (iii) exporting a richprogramming interface while respecting the resource constraintsof end devices. There are inherent tradeoffs involved in meetingthese challenges. For example, platform-independence is usuallyachieved through layers of abstraction, which inevitably compro-mises performance and resource constraints. Existing OS solutionsare mostly special-purpose system software optimized for specificsensor platforms. These approaches are designed for performance,but are unsatisfactory with regard to interoperability and repro-grammability. Thus, existing OS and VM system software addressonly a subset of these challenges.In this paper, we present VMF— a software framework for syn-thesizing runtime environments for WSNs, keeping the key chal-lenges in focus. The approach is VM-based: programmers writeapplications over a common abstract interface. Device-specific fea-tures are accessed through a lightweight native interface. Portingthe VM across various node architectures allows applications to bedeployed uniformly in heterogeneous environments.There are several advantages to using a VM-based approach inWSN applications. First, hardware abstraction allows applicationsto run transparently over the varied architectures of WSN nodes,so programs do not need to be rewritten for different architectures.Second, VMs can use well-designed instruction sets for specific ap-plication domains. This allows rapid prototyping of highly compactapplication binaries which can be distributed in the network withlow energy overheads. The VM instruction set becomes the basisfor code sharing, interoperability, and application binary distribu-tion and management. Third, using platform-independent code fa-cilitates the application of basic distributed computing paradigmssuch as mobile agents and in-network processing.While the concept of an abstract machine is appealing, WSN ap-plication and domain characteristics impose significant challengeson the nature and scope of the VM that can be realized. The firstchallenge arises from the extreme resource variability among sen-sor platforms. At one extreme, Mica, Telos, and EYES platforms [9,18] have fairly slow CPUs with memory resources in the order ofkilobytes. Higher end platforms such as the Stargate have fasterCPUs and more memory. Thus, a suitable methodology is neededfor implementing VMs on a wide variety of devices. The secondchallenge involves long term management of applications after theyhave been deployed. All software artifacts change over their life-time — to add capabilities, fix bugs, etc. Since sensing devices maybe embedded in physical settings that are hard to reach, the abilityto dynamically


View Full Document

HARVARD CS 263 - Synthesizing Scalable Runtime Environments for Sensor Networks

Download Synthesizing Scalable Runtime Environments for Sensor Networks
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Synthesizing Scalable Runtime Environments for Sensor Networks and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Synthesizing Scalable Runtime Environments for Sensor Networks 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?