280 likes | 298 Views
Next-Generation Internet-Scale Systems Ninja/Millennium Projects. David E. Culler Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu www.millennium.berkeley.edu. Future Internet-Scale Systems. Information Devices (~10 Billion) Connected Stationary Computers (~100 Million)
E N D
Next-Generation Internet-Scale SystemsNinja/Millennium Projects David E. Culler Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu www.millennium.berkeley.edu
Future Internet-Scale Systems • Information Devices (~10 Billion) • Connected Stationary Computers (~100 Million) • Scalable Servers (~Million) Ninja Overview
Internet-Scale Systems • Extremely large, complex, distributed, heterogeneous, with continuous and rapid introduction of new technologies • Feasible architectures • Decentralized, scalable algorithms • Dynamically deployed agents where they are needed;“Big infrastructure, small clients” • Incremental processing/communications growth • Careful violation of traditional layering • Implementation approach based on incremental prototyping, deployment, evaluation, experimentation Ninja Overview
Your PDA connects to the local infrastructure and asks it to build a custom GUI • Next, your PDA asks the infrastructure for a path out to your personal information space, where agents are processing your e-mail, v-mail, faxes, and pages You have complete, secure, optimized access to local devices and your private resources Imagine • You walk into a room Ninja Overview
Vision Goal • The next internet revolution will come from enabling component services and pervasive access • not vertically integrated Information Technology Dynamic, programmatic creation / composition of scalable, highly available, & customizable services • Automatic adaptation to end device characteristics and network connectivity • Arbitrarily powerful services on arbitrarily small clients using a proactive infrastructure Ninja Overview
NOW Project • Breakthrough design techniques for large-scale systems • Low-overhead interface to enable emerging networks • Active Messages • Explore novel OS designs • World-leading cluster • Basis for Inktomi Ninja Overview
Info. Appliances Network Computers Legacy Servers Spoon feed web pages to PDAs Laptops, Desktops Transcoding Proxies Scalable Servers (NOW) • Transformation, Aggregation, Caching, and Customization (TACC) • Scalability and availability • Limited customizability and locality and no persistence Ninja Overview
ProActive Approach • Create a framework that enables programmatic generation and composition of services out of strongly typed reusable components • Key Elements • Structured architecture with a careful partitioning of state • Bases, Active Routers, and Units • Wide-area paths formed out of strongly-typed components • Operators and Connectors • Execution environments with efficient, but powerful communication primitives • Active Messages + capsules • TACC + persistence + customization Ninja Overview
Bases • highly available • persistent state (safe) • databases, agents • “home” base per user • service programming environment Wide-Area Path • Active Proxies • not packet routers • soft-state • well-connected • localization (any to any) • Units • sensors / actuators • PDAs / smartphones / PCs • heterogeneous • Minimal functionality: “Smart Clients” Structured Architecture Ninja Overview
Example: TopGun WingMan/Mediaboard Operation AP PDA LegacyServer PDA Proxy Base Image Converter Un-Zip MediaBoard PC Multicast Connector Aggregator AP Mic Camera Ninja Overview
NINJA Service Architecture • Operators/Connectors/Interfaces • Paths • Wide-Area Paths • Interface Interconnection • Path Optimization • Units, Active Proxies, and Bases • Services • Service Discovery • Automatic Path Generation • Example Applications • Universal remote control/smart spaces • Universal In-Box/Personal Information Management Ninja Overview
Operators: transformation aggregation agents PI provides secure execution environment Connectors: abstract wires ADUs varying semantics uni/multicast Interfaces: strongly typed language independent control channel path changes authentication feedback Operators/Connectors Ninja Overview
Wide-Area Paths • Creation (explicit or automatic): • Query Service Discovery Service to find logical path of operators • Place operators onto nodes: • Path is unit of resource allocation and authentication • Connectors are polymorphic: entire path must type check - statically • Optimization: • Add (or transpose) operators • forward error-correction • compression/decompression • Change operators, connectors, locations, or parameters • Interoperability: • Wrapper operators for legacy servers • Leverage COM objects as operators Ninja Overview
iSpace Execution Environment operator upload • parallel application framework on Bases • RMI++ hides complexity of scalability and availability • Dynamic customization and composition • apSpace is limited execution environment for AR Service request service threads Persistent Storage Managed RMI++ Physical processor Operators Caches Ninja Overview
Base Execution Environment • Ninja RMI • Sun RMI compatible serialization and thread management • ninja remote object + TCP or UDP or Multicast UDP (Active Msg soon) + Authenticated public key • iS-box • customizable service VM • Redirector = iSpace Ninja Overview
iS-box: platform framework • Loader Extends JVM to support services • LoadService (URL, name, args) • ListServices • GetService(name) -> svc obj • KillService • Trusted services loaded at startup • Security MGR interposes on method calls • loaded as a trusted service iS-Loader Trusted-Services Security MGR JVM Ninja Overview
Push Services into the Infrastructure • GetService returns service object • Issue: Programming Model for Service Methods New service iS-Loader Trusted-Services Service Methods RMI stubs Security MGR JVM Generated by RMI compiler Ninja Overview
Multi-Space iS-box iS-box iS-box iS-box Node Node Node Node System Area Network Scalable iSpace • Multi-Space services across group of iS-boxes • List, Get, or Load Service from any • Get returns redirector stub iS-Loader Multi-Space Loader Multi-Space SVC Security MGR JVM Ninja Overview
Prototype Services • iSpace Admin monitor • automatic forms interface • computational econ support • juke box • ninja fax • pilot pager • Digicash mint • 1200 RMI/s on 400 PII w/ jit Ninja Overview
Millennium Project Goals • Enable major advances in Computational Science and Engineering • Simulation, Modeling, and Information Processing becoming ubiquitous • Explore novel design techniques for large, complex systems • Fundamental Computer Science problems ahead are problems of scale • Develop fundamentally better ways of assimilating and interactingwith large volumes of information • and with each other • Explore emerging technologies • networking, OS, devices Ninja Overview
Massive Cluster Clusters Gigabit Ethernet Servers Desktop PCs Wireless Infrastructure Future Devices Cell Phones PDAs Campus-wide Millennium Testbed Ninja Overview
Physical Connectivity Ninja Overview
Resource Support • Computers via IntelTechnology 2000 grant • 200 NT desktops • 16 department 4-way SMPs • 8 5x4 Group Clusters, • 1 ~100x4 Campus Cluster • PPro => Pentium II => Merced • Additional storage via IBM SUR grant • 0.5 TB this year => 4 TB • NT tools via Microsoft grant • Solaris x86 tools via SMCC grant • Campus provides Technical staff • NorTel Discount • NSF Research Infrastructure Grant 200 Gflop/s 150 GB memory 8 TB disk Ninja Overview
High Speed Cluster Networking • Transforms large collection of individual resources into a powerful system • Emerging system area networks • Myrinet, ServerNet, Synfinity • Emerging user-level networking • Virtual Interface Architecture • Intel/Microsoft/Compaq std based on Active Messages and related research • NT and Unix • Gigabit Ethernet? Ninja Overview
Inter-cluster NorTel network • Gigabit Ethernet connecting group clusters and campus cluster • Campus provides fiber plant, maintenance, and staff Ninja Overview
Computational Economy • How is this vast, integrated pool of resources managed? • Traditional system approach: empower global OS to provide “optimal” allocation to blind applications • predefined metric, tuned to fixed workload • ignores the inherent adaptation of demand • Computer Center • charge => director-to-user feedback according to cost • Economic view: decentralized allocation according to perceived value • pricing => user-to-user feedback • compatible niches,sense of control, cooperation • Everything is a service! Ninja Overview
Experiment: PDA Bazaar • Deploy/use pervasive computing infrastructure in Soda Hall • Provide Ninja iSpaces • Build an initial community (200 PP3 / Workpads) • Watch and evaluate • information broadcast channels • seminars, lecture content • news/sports/stocks • shared information • calendars, room reservations • collaborative note-taking and brainstornming • Smart spaces and device control Ninja Overview
Perspective • Computer Science Research Challenges Ahead are fundamentally problems of scale and composition • Powerful services • Billions of tiny devices • Rapid development, deployment, and evolution • These demand an entirely new approach to systems research. • Academic / Industry collaboration is key Ninja Overview