1 Liquid Software Larry Peterson Princeton University John Hartman University of Arizona http://www.cs.princeton.edu/nsg/
Dec 30, 2015
1
Liquid SoftwareLarry Peterson
Princeton University
John HartmanUniversity of Arizona
http://www.cs.princeton.edu/nsg/
2
Goals
• Build a High-Performance Active Router– no penalty for passive packets– pay only for the extensibility you need
• Demonstrate “Active Search” Application– Universal Search Interface (USI)– programmable query + aggregation in network
3
Project Roadmap
Scout
NetTV/NetCAM
IP Router
Web Server
Firewall
Joust
NodeOS
Active Search
Next Generation Router
TimeQ1/99
4
Scout OS• Targeted at Network Appliances
– network-attached devices, proxies, …
• Configurable– specialized for a particular appliance
• Path Abstraction– encapsulates I/O flow through the system
• Status– runs on Alpha and Pentium processors– currently distributing version 2.0
5
NetTV
VGA
WIMP
MPEG
RTP UDP
IP
ETH
3COMKBD
NetTV• End-to-End Paths
- best effort - realtime
• Cycle Scheduler
- based on WFQ - steal to meet deadlines
6
IP Router
Best-effortControlled-load
RSVP
DeviceDriver0
IP
Eth Eth
DeviceDriver1
• Link Schedulers - RED - RIO (DiffServ) - WFQ
7
Web Server
• Resource Accounting– all cycles & memory– minimal overhead
• Protection Domains– isolate untrusted code– at any module boundary
• Policy– protect against denial of service– limit resource usage
SCSI
FS
HTTP
TCP
IP
ETH
10
Firewall PerformanceT
hro
ug
hp
ut
(pp
s)
1-byte TCP segments
05,000
10,00015,00020,00025,00030,00035,00040,00045,000
TISFirewall
WithProxy
Spliced IPRouter
11
Firewall Performance (cont)
1460-byte TCP segments
05,000
10,00015,00020,00025,00030,00035,00040,00045,000
TISFirewall
WithProxy
Spliced IPRouter
Th
rou
gh
pu
t (p
ps)
12
Joust
NFS
RPC
UDP
TCP
DNSWIMP
VGA KBD
IP
ARP
ETH
JVM
• Status - supports JDK 1.1.x - runs on Scout, Linux, Solaris, Irix
• Toba Compiler - WAT: Java-to-C - JIT: on x86
13
0
200
400
600
800
1000
1200
1400
1600
1800
2000
Joust Toba/Linux JDK/Linux
ANTS
Java
OS
Joust PerformanceR
ou
nd
Tri
p L
aten
cy (
Mic
rose
con
ds)
14
NodeOS• Multiplex Node Resources• Features
– optimized to forward packets
– fine-grained (per-flow) multiplexing
– permit cut-through flows– access to OS/HW-specific
features• Status
– draft interface spec– prototype implementation
Scout
Joust
NodeOS API
ANTS PLAN JANE . . .ExecutionEnvironments
NodeOS
15
Next Generation Router
• Extensible
• Scalable
• Open
• Commodity Components
• Performance
• Robust
16
Rest of the Internet My Network
Edge Routers
RR
Assumption Boundary
UntrustedReliable
High LatencyHigh BW
High PowerDiffServ
TrustedFlakyLow LatencyLow BWLow PowerIntServ
17
Scalable Servers
R...
.
.
.
.
.
.
Client(s)
Server Nodes
Balance LoadCache DataProtocol TranslationPartition Data Stream
20
Traditional Routers
+ extensible+ open– low throughput– not scalable
+ high throughput– not extensible– limited scalability– closed
Line card(forwarding buffering)
Line card(forwarding buffering)
Lin
e ca
rd(f
orw
ardi
ng
buff
erin
g)
Lin
e ca
rd(f
orw
ardi
ng
buff
erin
g)
CPUBuffer
memory
Routing softwarew/ COTS OS
Routing softwarew/ COTS OS
NI
asli
ne c
ard
NI
asli
ne c
ard
NI
asli
ne c
ard
...
RoutingCPU
Buffermemory
Routing softwarew/ router OS
Routing softwarew/ router OS
21
Key Ideas
• Closer integration of...– processing cycles – switching bandwidth
• Implement hierarchy of…– classification mechanisms– processing paths
22
Hardware Architecture
200GbpsCrossbarSwitch
KatmaiCPU
MEM
NI withuP...
NI withuP
KatmaiCPU
MEM
NI withuP...
NI withuP
KatmaiCPU
MEM
NI withuP...
NI withuP
KatmaiCPU
MEM
NI withuP...
NI withuP
KatmaiCPU
MEM
NI withuP...
NI withuP
KatmaiCPU
MEM
NI withuP...
NI withuP
23
Scalable Router
200Gbpscrossbarswitch
Kat
mai
CP
U
ME
M
NI
wit
huP . . .
NI
wit
huP
Kat
mai
CP
U
ME
M
NI
wit
huP . . .
NI
wit
huP
200Gbpscrossbarswitch
Kat
mai
CP
U
ME
M
NI
wit
huP. . .
NI
wit
huP
Kat
mai
CP
U
ME
M
NI
wit
huP. . .
NI
wit
huP
. . .
Kat
mai
CP
U
ME
M
NI
wit
huP . . .
NI
wit
huP
Kat
mai
CP
U
ME
M
NI
wit
huP . . .
NI
wit
huP
200Gbpscrossbarswitch
. . .
. . .. . .K
atm
aiC
PU
ME
M
NI
wit
huP
. . .N
I w
ith
uP
Kat
mai
CP
U
ME
M
NI
wit
huP
. . .N
I w
ith
uP
200Gbpscrossbarswitch
. . . . . .
24
Hierarchy of Paths
Output Port
Slow/Programmable
Fast/FixedHardware
JIT
Input Port
Hardware
.
.
.
Hardware +
JITEE (user space)
Kernel
Line Card