CoMOS: An Operating System for Heterogeneous Multi - Processor Sensor Devices
C. Han,M. Goraczko,J. Helander,J. Liu,B. Priyantha,F. Zhao
2006-01-01
Abstract:Abstract— This paper presents the architectural design and implementation of CoMOS, a component messaging based oper- ating system for mobile sensing and communication devices with multiple, heterogeneous processors. Potential applications of these devices include personal voice or video services, health monitor- ing, and environmental sensing. To enable timely processing of environmental or user events and energy-efficient operations, the system uses a stack-based preemption mechanism,and supports task migration and,fine-grained resource scheduling. At the center of the architecture is a processor-agnostic programming abstraction in which applications are specified as sets of asynchro- nous tasks interacting with messages. Tasks respond to messages, or events, and may produce new messages. Message handling can be preempted,on stack enabling timely response to high priority events with a very small memory,overhead. The tasks are mapped,to processors at compile time and can be migrated from one processor to another at runtime, allowing dynamic power optimization and load balance. CoMOS has been implemented on mPlatform, a modular multi-board sensing device with multiple MSP430 and ARM7 processors and radios, and has been used to support the development of a real-time 4-channel sound source location (SSL) application on the mPlatform. We describe the experimental results quantifying the overhead of the messaging, migration, and other critical components of CoMOS, and the end-to-end performance evaluation of the SSL application. I. I NTRODUCTION The modular,architecture of multiple modules,intercon- nected via reconfigurable buses provides an attractive design choice for supporting heterogeneous,and extensible mobile embedded computing [24], [8], [22]. In this architecture, each individual module,can specialize in providing one of the sensing, actuation, processing, storage, and communication