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
Report
Transcript 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