HARVARD CS 263 - Resource Aware Programming in the Pixie OS

Unformatted text preview:

Resource Aware Programming in the Pixie OSKonrad Lorincz, Bor-rong Chen, Jason Waterman, Geoff Werner-Allen, and Matt WelshSchool of Engineering and Applied Sciences, Harvard University, Cambridge, MA 02138{konrad,brchen,waterman,werner,mdw}@eecs.harvard.eduABSTRACTThis paper presents Pixie, a new sensor node operating system de-signed to support the needs of data-intensive applications. Theseapplications, which include high-resolution monitoring of acoustic,seismic, acceleration, and other signals, involve high data rates andextensive in-network processing. Given the fundamentally resource-limited nature of sensor networks, a pressing concern for such ap-plications is their ability to receive feedback on, and adapt theirbehavior to, fluctuations in both resource availability and load.The Pixie OS is based on a dataflow programming model basedon the concept of resource tickets, a core abstraction for represent-ing resource availability and reservations. By giving the system vis-ibility and fine-grained control over resource management, a broadrange of policies can be implemented. To shield application pro-grammers from the burden of managing these details, Pixie pro-vides a suite of resource brokers, which mediate between low-levelphysical resources and higher-level application demands. Pixie isimplemented in NesC and supports limited backwards compatibil-ity with TinyOS.We describe Pixie in the context of two applications: limb mo-tion analysis for patients undergoing treatment for motion disor-ders, and acoustic target detection using a network of microphones.We present a range of experiments demonstrating Pixie’s ability toaccurately account for resource availability at runtime and enable arange of both generic and application-specific adaptations.Categories and Subject DescriptorsD.4.7 [Operating Systems]; D.1 [Programming Techniques]; C.3[Special-Purpose and Application-Based Systems]: Real-timeand embedded systemsGeneral TermsDesignKeywordsResource-Aware Programming, Resource Reservations, WirelessSensor NetworksPermission 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’08, November 5–7, 2008, Raleigh, North Carolina, USA.Copyright 2008 ACM 978-1-59593-990-6/08/11 ...$5.00.1. INTRODUCTIONResources in sensor networks are precious. This is especiallytrue in application domains where data rates and computationaldemands can outstrip the limited capabilities of low-power sensornodes. Tuning a sensor network application to operate efficiently,especially given fluctuations in resource availability and load, is adifficult challenge, often involving cross-layer adjustments to dutycycle, sampling rates, computational fidelity, and communicationpatterns. Existing sensor network operating systems provide littlehelp in this regard, exposing a wide range of low-level primitivesfor resource management, but little guidance in terms of how thoseprimitives should be used in a holistic fashion.We need a better approach to programming sensor networks thatgives applications awareness of resource availability, as well as theability to adapt their behavior in intelligent ways. We argue thatto a large extent, adaptivity will be closely tied to the applicationlogic, as it involves complex tradeoffs between lifetime, bandwidthusage, and data quality. In general, it is not possible to automatethis process for all applications. Rather, our goal is to provide aprogramming model that gives developers a much more intuitiveset of tools for managing resources within their applications.In this paper, we describe Pixie, a new operating system forsensor nodes that enables resource-aware programming. In Pixie,a sensor node has direct knowledge of available resources, suchas energy, radio bandwidth, and storage space, and can controlresource consumption at a fine granularity. There are three keycomponents of the Pixie system. The first is a dataflow program-ming model that structures applications as a graph of interconnectedstages, similar to systems such as Click [30], Eon [48], and Flask[37]. The use of a dataflow model gives the operating system bothvisibility and control over the application’s resource usage. Second,Pixie uses the concept of resource tickets, an abstraction represent-ing a discrete allocation of physical resources. Tickets form thebasis for resource awareness and control in Pixie. The final com-ponent is a set of resource brokers, reusable software modules thatencode policies for resource management. An application can del-egate its resource management decisions to an appropriate brokerthat handles the low-level details of resource ticket allocation.In any adaptive system, one of the key questions that arises iswhether an application should be responsible for its own resourcemanagement, or whether this process can be automated. On onehand, application-aware adaptation, such as that supported by Odys-sey [41], offers the most flexibility and efficiency, but may involvea great deal of programmer burden. Systems such as Eon [48] andECOsystem [56] shield applications from this burden, but tie ap-plications to a specific set of policies. Pixie strikes a balance byenabling resource awareness at the application level without requir-ing it. Furthermore, Pixie decouples resource management mecha-nisms, provided by resource tickets, from the policies, which maybe implemented within the application or provided by resource bro-kers. In this way, Pixie applications can consist of a mixture of“resource-aware” and “naïve” components.We explore Pixie’s design in the context of two demanding ap-plications. The first involves the use of wearable sensors for limbmotion analysis, capturing high-resolution accelerometer and gyro-scope data to aid in the rehabilitation of patients with Parkinson’sDisease or recovering from a stroke [43]. The second applicationinvolves a network of sensors for acoustic target detection, such asthat used in wildlife monitoring [1], shooter localization [47], andvehicle tracking [23]. These two applications are representative ofa broad class of resource-intensive, adaptive systems that Pixie isintended to


View Full Document

HARVARD CS 263 - Resource Aware Programming in the Pixie OS

Download Resource Aware Programming in the Pixie OS
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 Resource Aware Programming in the Pixie OS 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 Resource Aware Programming in the Pixie OS 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?