Loading in 2 Seconds...
Loading in 2 Seconds...
Dynamic Resource Management in a Static Network Operating System Kevin Klues et. al. Presented By - Jay
Abstract Novel resource management approaches. Static allocation of resources. Compile Time Virtualization of resources. Dynamic management.
Resource Management Principal challenge. Paper presents a novel architecture for resource management. Dynamically Management between statically allocated resources and fixed no. of clients. Different from traditional model of dynamic clients and dynamic memory allocation.
Other frameworks Mantis: Lightweight threads SOS : Dynamic allocation, dynamic callbacks Contiki : pure event driven in a thread like abstraction
Redwood Tree monitoring Monitored pressure and humidity of 2 redwood trees. Used Mica motes and TinyOS 1.0 Period of 6 weeks and collect one reading from 4 sensors every 5 minutes. Write to flash and send to PC over multi hop. 100 nodes used, only 33 worked, 67 died. Some of the ad-hoc approaches used formed the basis of the research work of the paper.
Resource Management - Design Good system abstractions have 3 basic properties Flexible, small no of abstractions Simplify application programming Efficient.
Memory Static memory management vs. Dynamic memory management. Static advantages: Weak type checking Simple and efficient Dynamic advantages: More flexible, may lead to access errors TinyOS : static allocation of memory vs. Others who follow dynamic. Mantis has 6 bytes overhead for every allocated block, Contiki uses the best-fit-freelist allocator, SOS is highly inefficient.
Energy chip and peripheral devices power states. on motes, most of the peripheral devices have only 2 power states - on / off. micro controller has two power states - active and sleep In TinyOS, telosb platform, sleep mode power consumption can be lowered to 2microA. Contiki can go low up to 75 micro A, SOS sits in busy loop (bad), Mantis uses idle state when all threads are blocked.
Peripheral devices Managing access and powering off. Sharing can be done using Turn based sharing or using Virtualized. TinyOS uses virtualized timers. SOS has no mechanism for sharing resources. Mantis uses a mutex.
Dynamic Management in a static OS Memory Allocate Statically, Manage Dynamically Memory objects are of know size in static allocation. Overrun and underrun errors are rare. SAFE-Code project. Use Buffer swapping.
Energy On TinyOS , for peripherals, simple interface with stop and start commands microcontroller power management is more complicated. Achieved in 3 ways: Compute mcuPowerState based on what Peripherals are on Application need to set dirtyMcuState if they affect MCU Hooks for application to specify a specific state.
Peripherals T2: Virtualized or Shared Exception of Timer, all Virtualized Services are built on top of Shared with access controlled by Arbiters. Arbiters provide following interfaces: Resource ResourceRequested ResourceConfigure ArbiterInfo Arbiter Types: First come first served, Round robin
Conclusion Designed to make writing applications simpler while maintaining performance and achieving better energy efficiency. Memory and PD, static allocation and compile time virtualization is used. At runtime, ownership is passed between clients removing the burden from application programmer. Energy efficiency is achieved by automatically controlling the the power state of both microcontroller and all its PDs.