Packing for the Expedition David Culler Ongoing Endeavors • Millennium: building a large distributed experimental testbed – Berkeley Cluster Software Distribution (v1.0 9/99) » automated.

Download Report

Transcript Packing for the Expedition David Culler Ongoing Endeavors • Millennium: building a large distributed experimental testbed – Berkeley Cluster Software Distribution (v1.0 9/99) » automated.

Packing for the Expedition
David Culler
Ongoing Endeavors
• Millennium: building a large distributed
experimental testbed
– Berkeley Cluster Software Distribution (v1.0 9/99)
» automated configuration & mgmt, rexec, SAN, ...
• Ninja: software platform for scalable,
customizable services
– fast, direct data transfers
• PostPC departmental environment
– wireless networking, small devices, embedded kiosks
– networked services
5/25/99
2
Tech. Prob: Architecture for Billions of
Devices
• option 1: operating systems design for diverse
• option n: negotiation architecture
• option n+1: vast data storage and transfer
• simple devices => opportunity to design and
build interesting simple operating systems!
– communication centric
– not mgmt of threads and address spaces
• confluence in the very large and very small
– simple and fast
5/25/99
3
What I’m looking for in an Architecture
for Billions of Devices
5/25/99
4
Software Perspective
• I want to write a “program” today that will deploy
itself across a spectrum of devices that we
haven’t yet imagined.
– what happens where?
– how does it adapt? to what?
• Much easier to adapt within a framework than to
organize from scratch
5/25/99
5
Simplifying Concepts
• Reservoirs
• Flows
• Self-Checking
5/25/99
6
Comm = Location independent Access
to shared storage resv
• Key Concepts from Parallel Architecture
– hierarchical composition of cache-coherence protocols +
consistency models
– natural framework for adaptation (pull what you touch)
• Key Extensions
– active elements in the protocol hierarchy
– intermittent connection
– narrow interface with commitment
• Pilot --- RMI Proxy --- Ninja Service Prototype
–
5/25/99
device OS = protocol engine
7
Flows
• View data transfers as
continuous flows
– plumbing as programming model
– reservoirs provide slack
– trade bandwidth for robustness
• Natural form of adaptation
– ex: faster consumer gets more data
– flow equations provide goal, simple error bounds,
and react
– performance availability
• Flow units become dominant scheduling
entity for device = net + sensor/actuator
– device OS = flow regulator
• Several RIVER prototype for many disks
5/25/99
8
Self-Checking
• Not diagnostic self-test
• Actions should have observable consequences
– treat them as goals, check that they are met
• Example
– Printer/Scanner
– Switch + Light + Photosensor
• Configure relationships and derive operations
5/25/99
9
Plan
• Now to One Year
– many small device distributed simulation tool
– prototype cache data pad
– prototype smart-rocks flow OS
• Three Year
– develop / obtain many small well-connected devices
– integrate with large infrastructure
– production quality SimpleOS
» small set of building blocks
» formal system for composition
– demonstrate easy access to massive data
– demonstrate high bandwidth flows through small devices
5/25/99
10