250 likes | 376 Views
Liquid Software. Larry Peterson Princeton University John Hartman University of Arizona http://www.cs.princeton.edu/nsg/. Goals. Build a High-Performance Active Router no penalty for passive packets pay only for the extensibility you need Demonstrate “Active Search” Application
E N D
Liquid Software Larry Peterson Princeton University John Hartman University of Arizona http://www.cs.princeton.edu/nsg/
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
Project Roadmap NetTV/NetCAM IP Router Next Generation Router Scout Web Server NodeOS Firewall Joust Active Search Q1/99 Time
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
NetTV • End-to-End Paths • - best effort • - realtime • Cycle Scheduler • - based on WFQ • - steal to meet deadlines NetTV RTP UDP IP MPEG ETH WIMP KBD VGA 3COM
RSVP IP Eth Eth Best-effort Controlled-load Device Driver0 Device Driver1 IP Router • Link Schedulers • - RED • - RIO (DiffServ) • - WFQ
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
TCP TCP IP IP Proxy Firewall HTTP Proxy Net2 Net1
Splicing Optimization IP++ Net2 Net1
Firewall Performance Throughput (pps)
Firewall Performance (cont) Throughput (pps)
Joust JVM NFS • Status • - supports JDK 1.1.x • - runs on Scout, Linux, • Solaris, Irix • Toba Compiler • - WAT: Java-to-C • - JIT: on x86 RPC WIMP DNS TCP UDP IP ARP VGA KBD ETH
Joust Performance Round Trip Latency (Microseconds)
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 Execution Environments ANTS PLAN JANE . . . NodeOS API Joust NodeOS Scout
Next Generation Router • Extensible • Scalable • Open • Commodity Components • Performance • Robust
Assumption Boundary R Untrusted Reliable High Latency High BW High Power DiffServ Trusted Flaky Low Latency Low BW Low Power IntServ Edge Routers R Rest of the Internet My Network
Server Nodes Client(s) . . . R . . . . . . Balance Load Cache Data Protocol Translation Partition Data Stream Scalable Servers
Router as LAN R R Authenticate Users Filter Packets Intrusion Detection
Routing software w/ router OS Routing software w/ COTS OS Line card (forwarding buffering) Routing CPU Buffer memory CPU Buffer memory Line card (forwarding buffering) Line card (forwarding buffering) ... NI as line card NI as line card NI as line card Line card (forwarding buffering) Traditional Routers • extensible • open • low throughput • not scalable • high throughput • not extensible • limited scalability • closed
Key Ideas • Closer integration of... • processing cycles • switching bandwidth • Implement hierarchy of… • classification mechanisms • processing paths
Katmai Katmai Katmai Katmai Katmai Katmai NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP CPU CPU CPU CPU CPU CPU . . . . . . . . . . . . . . . . . . MEM MEM MEM MEM MEM MEM NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP Hardware Architecture 200Gbps Crossbar Switch
. . . . . . . . . . . . . . . . . . NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP NI with uP . . . . . . Katmai Katmai Katmai Katmai Katmai Katmai Katmai Katmai . . . . . . . . . CPU CPU CPU CPU CPU CPU CPU CPU MEM MEM MEM MEM MEM MEM MEM MEM 200Gbps crossbar switch 200Gbps crossbar switch 200Gbps crossbar switch 200Gbps crossbar switch . . . . . . . . . Scalable Router
Slow/Programmable JIT EE (user space) Kernel . . . Line Card Hardware + e Hardware Fast/Fixed Hierarchy of Paths JIT Hardware Input Port Output Port
Challenges • Refine Architecture • balance hardware configuration • partition functionality • Interfaces • hardware/OS • EE/OS (NodeOS Interface) • Scheduling and Resource Allocation • cycle and link bandwidth • multi-switch channels • protect against denial-of-service attacks