Title: System Architecture for Extreme Devices
1System Architecture for Extreme Devices
- David Culler
- http//www.cs.berkeley.edu/culler
- U.C. Berkeley
- DARPA Meeting
- 9/21/1999
2Recap Convergence at the Extremes
- Arbitrarily Powerful Services on Small Devices
- massive computing and storage in the
infrastructure - active adaptation of form and content along the
way - Extremes more alike than either is to the middle
- More specialized in function
- Communication centric design
- wide range of networking options
- Federated System of Many Many Systems
- Hands-off operation, mgmt, development
- Scalability, High Reliability, Availability
- Power and space limited
- gt simplicity
- Each extends the other
3State-of-the-Art Very Large Systems
- Scalable Clusters Established
- high-speed user-level networking single system
image - naming, authentication, resources, remote exec.,
storage, policy - Meta-system glue over full OS and Institutional
structure - Glunix (UCB), Globus(ANL), Legion (UVA), IPG
(NASA), Harness, NetSolve, Snipe (UTK), ... - uniform, multiprotocol communication access
mechanism - personal virtual machine spanning potentially
diverse resources - constructed and managed by hand
- Key challenges
- Automatic Composition, Management, and
Availability - Scalability to global scale
- Ease of development for global-scale services
4State-of-the-Art in the small...
- Unix-like support in a small form factor real
time seasoning - microkernels dominate
- academic Exokernel, OSKit, ucLinux, ELKS,
- Commercial PSION, GeoWorks, WinCE, Inferno, QNX,
VxWorks, javaos, chorusOS, - PalmOS, BeOS,
- Components and mobile objects jini, corba, dcom,
... - gt tracks the 80386
- when it becomes 1990 PC Unix will run on it
- ability to remove components (modularity) fault
boundaries more important than performance - legacy applications less dominant
5Design Issues for Small Device OS
- Current Managing address spaces,Thread
scheduling, IP stack, Windowing System, Device
drivers, File system, Applications Programming
Interface, Power management - Challenge How can operating systems for tiny
devices be made radically simpler, manageable,
and automatically composable?
6Emerging Devices
- RF COTS Mote
- Atmel Microprocessor
- RF Monolithics transceiver
- 916MHz, 20m, 4800 bps
- 1 week fully active, 2 yr _at_1
- Laser mote
- 650nm laser pointer
- 2 day life full duty
- CCR mote
- 4 corner cubes
- 40 hemisphere
7Micro Mote - First Attempt
8Structured Communication-Centric System
Architecture
- Scalable Info Utility Providers
- highly available
- persistent state (safe)
- databases, agents
- service programming environment
- Active Proxies
- connected to the infrastructure
- soft-state, bootstrap protocol
- transcoding,
- Ubiquitous Devices
- billions
- sensors / actuators
- PDAs / smartphones / PCs
- heterogeneous
- Service Paths
- aggregate flows (rivers)
- transcoding operators
9New Kinds of Nodes become Key
- Infrastructure Nodes
- powerful network lots of proc. and storage
- interact through the network
- Transducer Nodes
- network sensors or actuators
- limited processing and state
- Interaction Nodes
- network user interface
- widely varying capability and size
- Communication is the common element
10The Large Service-Centric Platform Arch
Infrastructure Services
- Information Utility is not just storage. It must
enable - Distributed Innovation of Scalable, Avail.
Services - service registry, aggregate execution env.,
transparency - persistent dist. data structures
- massive fluid storage (ocean)
- adaptive high-bandwidth flows (rivers)
- Build the infrastructure itself through
composition of services
11Automated Composition and Mgmt
- Individual services are strongly-typed active
components that can be located through
intentional service discovery - Application formed as path (or graph) of services
- not ad hoc connectivity, nor general planning
- reachability and adaptation
- Resources allocated and managed in decentralized
manner under economic model - translation of value -gt resource
- platform components enforce allocation
- rich body of mechanisms (contracts, auctions,
pricing) - natural elevation from resources to higher level
services - gt Simple composition building from complex nodes
12The Small radically simple OS for management and
composition
- Communication is fundamental
- treated as part of the hardware. No comm. is
like no power - hands off a direct user interface is the
exception not the norm - typical device has a network on one side
sensor/actuators on the other - buttons and display a special case
- all deployment, development, configuration, mgmt,
programming, is through the communication
interface - schedule data movement, not arbitrary threads of
computation
13OS as little more than FSM
- Primary focus is scheduling discrete chunks of
data movement - not general thread scheduling and unlimited
memory management - there may be a bounded amount of work to xform or
check data - Commands are an event stream merged with
sensor/actuator events - General thread must be compiled to sequence of
bounded atomic transactions - spaghetti part of an application is configuring
the flows - steady-state is straight-forward event processing
signaling unusual events - constant self-checking and telemetry
- rely on the infrastructure for hard stuff
- correct-by-construction techniques for
cooperating FSMs
14Precursors to the next generation
- Operating systems that are not called operating
systems - eg modern disk controller
- event scheduler handling stream of commands from
network link, controlling complex array of
sensors and actuators, performing sophisticated
calculations to determine what and when
(scheduling and caching) as well as transforming
data on the fly - automatic connection, enumeration, configuration
- but several simplifying assumptions must be
removed
Complex array of Sensors and actuators
Network link - EIDE, SCSI - FCAL, SSA - USB,
1394 - ???
15UCB Testbed
Cell Phones
- 1x300 proc 10x20 proc SAN clusters across
depts. - integrated through multiple gigabit ethernet
- extended out throug 100s desktops, RF laptop,
IRDA PDA, Cell Phones, Pagers, and numerous motes
16Plan
- Prototype Phase
- Large 2nd generation NOW arch. meta-OS efforts
Ninja Service Platform - Small PalmOS wince uc-Linux
- simulation environment
- Develop
- Automated service composition architecture
- FSM-OS and negotiation/mgmt architecture
- Deploy widespread services, devices and feeds
- Evaluate against high-speed decision making
applications