darpa-9-21-99
Download
Report
Transcript darpa-9-21-99
Massive Cluster
Clusters
Gigabit Ethernet
System
Architecture for
Extreme Devices
David Culler
http://www.cs.berkeley.edu/~culler
U.C. Berkeley
DARPA Meeting
9/21/1999
Recap: 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
=> simplicity
• Each extends the other
9/21/99
Endeavour Sys. Arch
2
State-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
9/21/99
Endeavour Sys. Arch
3
State-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, ...
=> 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
9/21/99
Endeavour Sys. Arch
4
Design 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?
9/21/99
Endeavour Sys. Arch
5
N
Emerging Devices
• RF COTS Mote
– Atmel Microprocessor
– RF Monolithics transceiver
» 916MHz, ~20m, 4800 bps
– 1 week fully active, 2 yr @1%
Laser mote
• 650nm laser pointer
• 2 day life full duty
W
E
S
2 Axis Mag.
Sensor
2 Axis
Accelerometer
Light Intensity
Sensor
Humidity Sensor
Pressure Sensor
Temperature
Sensor
CCR mote
• 4 corner cubes
• 40% hemisphere
9/21/99
Endeavour Sys. Arch
6
Micro Mote - First Attempt
9/21/99
Endeavour Sys. Arch
7
Structured Communication-Centric
System Architecture
• Scalable Info Utility Providers
–
–
–
–
highly available
persistent state (safe)
databases, agents
service programming environment
Service
Path
• 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
9/21/99
Endeavour Sys. Arch
8
New 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
9/21/99
Endeavour Sys. Arch
9
The Large: Service-Centric Platform Arch
Clients
Clients
Clients
Clients
Clients
Clients
Open
Infrastructure
Services
Servers
Servers
Servers
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)
•9/21/99
Build the infrastructureEndeavour
itself through
composition of services
Sys. Arch
10
Automated 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 -> resource
platform components enforce allocation
rich body of mechanisms (contracts, auctions, pricing)
natural elevation from resources to higher level services
=> Simple composition building from complex
nodes
9/21/99
Endeavour Sys. Arch
11
The 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
9/21/99
Endeavour Sys. Arch
12
OS 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
9/21/99
Endeavour Sys. Arch
13
Precursors 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
Network link:
- EIDE, SCSI
- FCAL, SSA
- USB, 1394
- ???
Complex array
of
Sensors and
actuators
– but several simplifying assumptions must be removed
9/21/99
Endeavour Sys. Arch
14
UCB Testbed
Massive Cluster
Clusters
Gigabit Ethernet
Servers
Wireless
Cell Phones
PDAs
Desktop
PCs
Future Devices
• 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
9/21/99
Endeavour Sys. Arch
15
Plan
• 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
9/21/99
Endeavour Sys. Arch
16