150 likes | 288 Views
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
E N D
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 Endeavour Sys. Arch
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 Endeavour Sys. Arch
State-of-the-Art: in the small... • Unix-like support in a small form factor + real time seasoning • microkernels dominate • Commercial: PSION, GeoWorks, WinCE, Inferno, QNX, VxWorks, javaos, chorusOS, • academic: Exokernel, OSKit, ucLinux, ELKS, • + 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 • add-hoc networking for connectivity Endeavour Sys. Arch
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? Endeavour Sys. Arch
2 Axis Mag. Sensor N W E 2 Axis Accelerometer S Light Intensity Sensor Humidity Sensor Pressure Sensor Temperature Sensor 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 CCR mote • 4 corner cubes • 40% hemisphere Endeavour Sys. Arch
Micro Mote - First Attempt Endeavour Sys. Arch
Service Path Structured Communication-Centric System Architecture • Scalable Info. Utility Base • highly available • persistent state (safe) • databases, agents • service programming environment • Active Proxies • connected to the infrastructure • soft-state, bootstrap protocol • transcoding • Ubiquitous Devices • billions • net + sensors / actuators • net + UI => flow devices • Service Paths • aggregate flows (rivers) • transcoding operators Endeavour Sys. Arch
Scalable, Available Service Platform Discovery Registry PDDS (NB) service exec. env. xcode & soft-state via Active Proxies Complex node ULN automated smart-client fail-over & LB The Large: Info Utility Platform • Not just storage and processing, but distributed innovation of scalable, available services • Base Pgm extends the Ninja service platform traditional OS functions as services - platform built by push services also • Path connects device to clustered service through Soft-State APs, graceful failover within service via non-blocking PDDS and RMI* • Utility requirement => Endeavour Sys. Arch
Key Utility Requirements • Utility Service Spreads itself over multiple Infra. Service Providers • persistent state becomes decoupled from service (Oceanic) • preserve security model • contractual relationship between service and platform • SDS, QoS, LB => negotiation, monitoring, adaptation • effective incentive-compatible economic mechanisms • Sevices composed from utility serv. of other providers • negotiation arch. generalizes path formation • fail-over across competing services, not homogeneous operations • self-checking, transactional service API • economic mechanisms permeate services • Massive information flows • via huge data stores and via vast sensor nets (Rivers) • service-wide auto-scheduling of flows Endeavour Sys. Arch
The Small: radically simple OS for management and composition • Communication is fundamental • treated as part of the hardware, not “the system” • Push path concept clear into the device • device fundamentally depends on infrastructure • devices typically have well-connected proxies • Focus on scheduling discrete chunks of data movement not general thread scheduling and unlimited memory management • there may be a bounded amount of work per chunk to xform or check data • easy to get very predictable scheduling device device UI S S network network A A Endeavour Sys. Arch
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 • but several simplifying assumptions must be removed Complex array of Sensors and actuators Network link: - EIDE, SCSI - FCAL, SSA - USB, 1394 - ??? Endeavour Sys. Arch
OS as little more than FSM • Commands are an event stream merged with sensor/actuator (or UI) events • Discrete flows to/from network • 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 • continuous self-checking and telemetry • rely on the infrastructure for hard mgmt stuff • push very simple flow apps into devices • correct-by-construction techniques for cooperating FSMs as basis for automated configuration and mgmt Endeavour Sys. Arch
Massive Cluster Clusters Servers Wireless Desktop PCs Gigabit Ethernet PDAs Future Devices UCB Testbed • 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 Cell Phones Endeavour Sys. Arch
Plan • Year 1 (Base): • Large: Deploy Ninja Service Platform on Cluster-of-Clusters • Small: Prototype over PalmOS + wince + uc-Linux • Year 2 (Options 1 & 4) • Automated service composition architecture • FSM-OS and negotiation/mgmt architecture • Broad simulation environment • Year 3 • Deploy widespread services, devices and feeds • Evaluate against high-speed decision making applications Endeavour Sys. Arch