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) 11/7/2015 Ninja Overview • Scalable Servers (~Million)
Download ReportTranscript 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) 11/7/2015 Ninja Overview • Scalable Servers (~Million)
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) 11/7/2015 Ninja Overview • Scalable Servers (~Million) 2 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 11/7/2015 Ninja Overview 3 Imagine • You walk into a room • 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 11/7/2015 Ninja Overview 4 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 11/7/2015 Ninja Overview 5 NOW Project • Breakthrough design techniques for largescale systems • Low-overhead interface to enable emerging networks – Active Messages • Explore novel OS designs • World-leading cluster • Basis for Inktomi 11/7/2015 Ninja Overview 6 Transcoding Proxies Scalable Servers (NOW) Info. Appliances Network Computers Legacy Servers Spoon feed web pages to PDAs Laptops, Desktops Transformation, Aggregation, Caching, and Customization (TACC) Scalability and availability Limited customizability and locality and no persistence 11/7/2015 Ninja Overview 7 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 11/7/2015 Ninja Overview 8 Structured Architecture • 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” 11/7/2015 Ninja Overview 9 Example: TopGun WingMan/Mediaboard Operation PDA Legacy Server Image Converter AP PDA Proxy Base MediaBoard Un-Zip Multicast Connector Aggregator PC AP Mic 11/7/2015 Camera Ninja Overview 10 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 11/7/2015 Ninja Overview 11 Operators/Connectors Operators: – – – – transformation aggregation agents PI provides secure execution environment Connectors: – – – – 11/7/2015 abstract wires ADUs varying semantics uni/multicast Interfaces: – strongly typed – language independent – control channel » path changes » authentication » feedback Ninja Overview 12 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 11/7/2015 Ninja Overview 13 iSpace Execution Environment operator upload Service request service threads Managed RMI++ Physical processor Caches Persistent Storage Operators • parallel application framework on Bases – RMI++ hides complexity of scalability and availability – Dynamic customization and composition • apSpace is limited execution environment for AR 11/7/2015 Ninja Overview 14 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 11/7/2015 Ninja Overview 15 iS-box: platform framework LoadService (URL, name, args) ListServices GetService(name) -> svc obj KillService • Trusted services loaded at startup • Security MGR interposes on method calls Trusted-Services – – – – iS-Loader • Loader Extends JVM to support services Security MGR JVM – loaded as a trusted service 11/7/2015 Ninja Overview 16 Trusted-Services iS-Loader Push Services into the Infrastructure New service Security MGR RMI stubs Service Methods JVM Generated by RMI compiler • GetService returns service object • Issue: Programming Model for Service Methods 11/7/2015 Ninja Overview 17 Scalable iSpace Multi-Space iS-box Node iS-box Node iS-box Node iS-box Node 11/7/2015 Ninja Overview Multi-Space SVC Multi-Space Loader • Multi-Space services across group of iSboxes • List, Get, or Load Service from any • Get returns redirector stub iS-Loader System Area Network Security MGR JVM 18 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 11/7/2015 Ninja Overview 19 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 interacting with large volumes of information – and with each other • Explore emerging technologies – networking, OS, devices 11/7/2015 Ninja Overview 20 Campus-wide Millennium Testbed Massive Cluster Gigabit Ethernet Clusters Servers Desktop PCs Wireless Infrastructure Future Devices PDAs 11/7/2015 Cell Phones Ninja Overview 21 Physical Connectivity 11/7/2015 Ninja Overview 22 Resource Support • Computers via Intel Technology 2000 grant – 200 NT desktops – 16 department 4-way SMPs – 8 5x4 Group Clusters, – 1 ~100x4 Campus Cluster – PPro => Pentium II => Merced 200 Gflop/s 150 GB memory 8 TB disk • 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 11/7/2015 Ninja Overview 23 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? 11/7/2015 Ninja Overview 24 Inter-cluster NorTel network • Gigabit Ethernet connecting group clusters and campus cluster • Campus provides fiber plant, maintenance, and staff 11/7/2015 Ninja Overview 25 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 11/7/2015 26 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 11/7/2015 Ninja Overview 27 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 11/7/2015 Ninja Overview 28