Dynamic Resource Management in a Static Network Operating System

We present novel approaches to managing three key resources in an event-driven sensornet OS: memory, energy, and peripherals. We describe the factors that necessitate using these new approaches rather than existing ones. A combination of static allocation and compile-time virtualization isolates resources from one another, while dynamic management provides the flexibility and sharing needed to minimize worst-case overheads. We evaluate the effectiveness and efficiency of these management policies in comparison to those of TinyOS 1.x, SOS, MOS, and Contiki. We show that by making memory, energy, and peripherals first-class abstractions, an OS can quickly, efficiently, and accurately adjust itself to the lowest possible power state, enable high performance applications when active, prevent memory corruption with little RAM overhead, and be flexible enough to support a broad range of devices and uses. Type of Report: Other Department of Computer Science & Engineering Washington University in St. Louis Campus Box 1045 St. Louis, MO 63130 ph: (314) 935-6160 Dynamic Resource Management in a Static Network Operating System Kevin Klues◦∓, Vlado Handziski◦, David Cullero, David Gay‡, Philip Levis•, Chenyang Lu∓, Adam Wolisz◦ ∓ Washington University ◦ Technische Universitat Berlin o Arch Rock Corporation ‡ Intel Research • Stanford University St. Louis, MO Berlin, Germany San Francisco, CA Berkeley, CA Stanford, CA