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 ReportTranscript 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