Towards a Service Architecture for Internet-Scale Systems David E. Culler Computer Science Division U.C.

Download Report

Transcript 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