Towards a Service Architecture for Internet-Scale Systems David E. Culler Computer Science Division U.C.
Download ReportTranscript Towards a Service Architecture for Internet-Scale Systems David E. Culler Computer Science Division U.C.
Towards a Service Architecture for Internet-Scale Systems David E. Culler Computer Science Division U.C. Berkeley ninja.cs.berkeley.edu Future Internet-Scale Systems • Information Devices (~10 Billion) • Connected Stationary Computers (~100 Million) 11/6/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/6/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/6/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/6/2015 Ninja Overview 5 Outline of the Presentation • • • • • Introduction Ninja Service Architecture Wide-Area Paths Base Service Programming Framework Project Context at Berkeley 11/6/2015 Ninja Overview 6 Starting Point: Transcoding Proxies Scalable Servers 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/6/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/6/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/6/2015 Ninja Overview 9 Example: Thin Client Access to Legacy Server PDA AP Legacy Server Personalization AP Base Base Home Base AP AP Unit Sensor 11/6/2015 Unit Sensor Ninja Overview 10 Example: Sensor Aggregation PDA AR Legacy Server AR Base Base Agent Aggregator AR AR Unit Sensor 11/6/2015 Unit Sensor Ninja Overview 11 Example: TopGun WingMan/Mediaboard Operation PDA Legacy Server Image Converter AP PDA Proxy Base MediaBoard Un-Zip Multicast Connector Aggregator PC AP Mic 11/6/2015 Camera Ninja Overview 12 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/6/2015 Ninja Overview 13 Operators/Connectors Operators: – – – – transformation aggregation agents PI provides secure execution environment Connectors: – – – – 11/6/2015 abstract wires ADUs varying semantics uni/multicast Interfaces: – strongly typed – language independent – control channel » path changes » authentication » feedback Ninja Overview 14 Wide-Area Paths • Path is a first-class entity • Explicit or automatic creation • Can change dynamically – change path or operators • Unit of authentication: delegate along the path • Unit of resource allocation 11/6/2015 Ninja Overview 15 WAN Paths: Economics • Key Idea: securely delegate authority to any path component – access your e-mail remotely – authorized services (subscriptions) – authenticated sensor data • Digicash: – Pay-per-use services – Can be one-time (or subscription) 11/6/2015 Ninja Overview 16 WAN Paths: Optimization • Insert operators into the path: – forward error-correction, e.g., for error-prone wireless links – compression/decompression, e.g., bandwidth constrained links • Change parameters – retransmission windows – settings for wireless or satellites • Reroute path dynamically 11/6/2015 Ninja Overview 17 Connecting Interfaces • Goal: trivial to connect – can be automated • Connectors are polymorphic – wires carry a generic ADU of type T – automatic marshall/unmarshall » code must be created at instantiation • Enables automated connection and use 11/6/2015 Ninja Overview 18 Interoperability • Wrapper operators for legacy servers – HotBot, Zip2, Patent server – Generic wrappers for each MIME type • Connectors use TCP, UDP, multicast • Leverage COM objects as operators – Control Excel remotely – Lots of third party components • ODBC/JDBC databases 11/6/2015 Ninja Overview 19 Services • Service – Highly available program with fixed interface at a fixed location • Strongly Typed Interfaces – Multiple services of a given type compete – Compete on location, price, robustness, “quality”, brand name • Service Discovery – Find “best” service of given type 11/6/2015 Ninja Overview 20 Automatic Path Creation • Query goal is path creation • Find logical path of operators – Path must type check • Place operators on nodes – Some operators have affinity – Place them first • Add connectors as needed • Create any authentication keys 11/6/2015 Ninja Overview 21 Service Discovery and Use Four basic steps: • Find a local Active Proxy • Query Service-discovery service • Automatic path creation, including transformations • Generate UI from interface specification Wide-Area Paths (summary) • 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/6/2015 Ninja Overview 23 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/6/2015 Ninja Overview 24 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/6/2015 Ninja Overview 25 iS-box 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/6/2015 Ninja Overview 26 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 • Programming Model for Service Methods? 11/6/2015 Ninja Overview 27 Scalable iSpace Multi-Space iS-box Node iS-box Node iS-box Node iS-box Node 11/6/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 28 Redirector Stub • Uses almost same RMI dynamic code generation • Produces RMI stub that manages load balancing and failover across iS-boxes in iSpace • Allows full spectrum of smart-client, frontend, flat cluster Load Balance / Fail-over Policy RMI stubs Generated by RMI compiler Distributed Objects - not just remote 11/6/2015 Ninja Overview 29 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/6/2015 Ninja Overview 30 Current Hot Debates • Persistent state • Service Programming Model – powerful classes – constraints • Active Proxy Exec. Context – looks like iS-box • Layering of SDS and iSpace • Path Creation methodology 11/6/2015 Ninja Overview 31 Campus-wide Testbed (Millennium) Massive Cluster Gigabit Ethernet Clusters Servers Desktop PCs Wireless Infrastructure Future Devices PDAs 11/6/2015 Cell Phones Ninja Overview 32 Emerging Distributed System Architecture Spanning Processing and Access Personal Information Management and “Smart Spaces” Distributed Videoconferencing Room-scale Collaboration Speech and Location Aware Applications ICEBERG Computer-Telephony Services MASH Media Processing Services Active Services Architecture TranSend Extensible Proxy Services Distributed Computing Services: NINJA Computing and Communications Platform: Millennium/NOW 11/6/2015 Ninja Overview 33 NINJA and ICEBERG • NINJA: Distributed Service Architecture – Service model based on Operators, Paths, Services – Platform model based on Units, Active Routers, Bases • ICEBERG: Computer-Telephony Integration – IP-based backbone for cellular networks » Mobility and service interoperability in the context of diverse access networks » Performance issues: GPRS scheduling and IP scaling for mobile telephony applications » New services: Smart Spaces and PIM 11/6/2015 Ninja Overview 34 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/6/2015 Ninja Overview 35 Berkeley Tradition of Experimental Computing Systems Research Evaluate existing technology to understand its weaknesses Time Travel using today’s too expensive technology to prototype tomorrow’s systems Design new computing systems architectures Deploy understand implementation complexities and sources of performance gain/loss Internet-Scale Systems Research Group Lead the evolution of the Internet through long-term research combined with the deployment of novel realworld large-scale systems and protocols – Unify on-going and future research projects in distributed computing, network protocols, services, access, new applications – Facilitate technology transfer and standardization – Work closely with industrial partners in an open laboratory environment • AT&T becoming a charter member 11/6/2015 Ninja Overview 37 Benefits of Sponsorship • Involvement with outstanding Berkeley graduate students • Participation in large-scale, inter-disciplinary, precompetitive research efforts with only modest investment, leveraging investment of other industrial partners • Access to all ISRG-developed software, prototypes, simulation tools, and testbeds • Early access to group’s research results through on-campus participation and retreats • Support the expansion of cadre of researchers with expertise in Internet-scale systems 11/6/2015 Ninja Overview 38 Emerging Communications Infrastructure of the Future • The Challenge – Network-based applications becoming increasingly service intensive – Computational resources embedded in the switching fabric – Dealing with heterogeneity, true utility functionality, security, service discovery • Computing – Powerful services on “small clients” because the intelligence is in the infrastructure • Communications – High bandwidth backbones plus diverse access networks » Third generation cellular systems » Home networking • Components