Download presentation
Presentation is loading. Please wait.
1
2004-04-28 Decomposing Overlay Applications Yitzchak Gottlieb Princeton University Achieving Extensibility with High Performance
2
2 Constant Innovation 1725 RFCs since 1995 –50 Obsolete old RFCs –307 Update ~1400 New ideas –897 Standards track –142 Experimental
3
3 Types of Innovations Similar to existing –More recipients Broadcast Multicast –Any one recipient Anycast Truly new –Scalable routing –Scalable object location –Content-based addressing –Fault tolerance –Automatic management Hard to change current networks to enable these services
4
4 Overlay Networks On end hosts –Application-level networks Advantage –Ease deployment Problems –Limited performance User space Proxy path
5
5 Performance Limits: Proxy Path 100 Mbit/s 1500 B packets 10 Gbit/s 800 000 pkt/s 8 000 pkt/s
6
6 PlanetLab “Planetlab is an open platform for developing, deploying, and accessing planetary-scale services”
7
7 PlanetLab Nodes are PCs –Centrally managed –Distributed world-wide 366 Nodes 152 Institutions ~500 Projects Overlays are user-level programs –Executing in vservers on Linux
8
8 PlanetLab PlanetLab is for overlays Very successful overlays –e.g. Routing overlays –Traffic increases –Inefficiencies interfere How to achieve high performance with overlays?
9
9 Inside Overlay Nodes OS Maintain network Forward packets Process queries …
10
10 Computation Domains Where computation is Separated by barriers –Address space –Protection level –Processor Differences –Performance –Trust ComputationBarrier
11
11 Hypothesis We can decompose overlay applications We can map components onto different computation domains This will improve performance and efficiency
12
12 Outline Introduction Decomposition Software Architecture Examples
13
13 Five forms Forms are: –Semantically equivalent All equally viable –Refinement steps –Different Performance Trust Decomposing Overlay Networks
14
14 Lessons of Internet High speed IP forwarding Separate concerns –Routing protocol Program forwarding table –Packet forwarding Decrement TTL Replace layer-2 address
15
15 Control and Data Control –Complex –Processed locally Data –Simple –Processed remotely
16
16 Decomposition—Form I State of the art Monolithic application Few network connections –All communication to application –Application sees all traffic Application
17
17 Application Decomposition—Form II Two code modules –Control Maintain network Offer service –Overlay Forwarder Forward to other hosts Two modes in overlay –Local delivery –Forwarding C Forwarder Control
18
18 In separate domains –User-space control –Overlay Forwarder In kernel On line card Decomposition—Form III Why trust forwarder? –Simple Verifiably safe 100–200 instructions No backward branches –Flow isolation C Forwarder Control
19
19 Decomposition—Form IV Two modules –Overlay Daemon Connectivity Routing –Application File serving Query Processing Two control modes –Maintain network –Offer service Control C Forwarder Application Daemon
20
20 Forwarder FF Decomposition—Form V Application-specific forwarding extension –Recording –Redirecting –Modifying C Daemon Application Applications need data stream
21
21 Decomposing Overlay Applications Control Data General Application Daemon Overlay Daemon F Overlay ForwarderApplication Forwarder F Application
22
22 High Performance Overlays Decompose overlays Place overlay forwarder in Leave rest in user space Daemon Application FFFF Kernel User FF kernelrouterline card Router FF NIC user space
23
23 Forwarders and Extensions
24
24 Outline Introduction Decomposition Software Architecture Examples
25
25 Plug Board C
26
26 Plug Board Software architecture for decomposition Features –Single powerful classifier –Multiple computation domains –Multiple forwarders Fixed forwarders Extensible forwarders
27
27 Plug Board Miscellaneous features –Modularity Functions grouped by protocol –Encapsulation Input functions Output functions Wrap forwarders
28
28 Implementation Point implementations Three domains –User space Linux –Kernel space Linux Leverage SILK –Intel IXP1200 EEB Leverage Vera architecture
29
29 Outline Introduction Decomposition Application Examples
30
30 Decomposition Examples Applications –Peer-to-peer networks –Other network Each is decomposable –Four components
31
31 Peer-to-Peer Networks Peers are clients, servers, and routers Examples –Pastry P2P application toolkit –Chord Scalable lookup service –Gnutella Unstructured, file-sharing network
32
32 Pastry Peer-to-peer application toolkit Nodes have 128 bit ID –Treated as number in base 2 b Forward to node with closer ID –Digit by digit –Logarithmic forwarding
33
33 Overlay Daemon –Connectivity Overlay Forwarder –Find next longest prefix match Application –PAST, Scribe, etc. Application Forwarder –Application dependent Pastry Application Daemon F F
34
34 Pastry Implementation User-level library Kernel-level forwarding IXP Forwarding –~50 instructions
35
35 Chord Scalable object location 128 bit node addresses –Circular address space Forward to farthest 2 -i th of circle –Logarithmic forwarding Iterative Recursive 35 1 7 26 4 0
36
36 Chord Overlay Daemon –Chord invariants Overlay Forwarder –Recursive lookup Application –Node location Application Forwarder 35 1 7 26 4 0 Application Daemon F
37
37 Gnutella Overlay Daemon –Connectivity Overlay Forwarder –Flood –Record route Application Application Forwarder –Redirects successful queries
38
38 Other Network Services IP Forwarding –Filters, Firewalls Proxies –Splicing TCP connections Ethernet bridging
39
39 Summary Overlays limit performance Improve by applying classic techniques –Decompose overlay Control/Data General/Application-specific –Map onto computational domains
40
40 Conclusions Overlay applications can perform well Separate applications and networks –Optimize networks –Offload applications Some overlays are applications –Too complex for network –Limited performance
41
41 Credits SILK/Scout –Larry Peterson, Andy Bavier, Oliver Spatschek, Ian Murdoch, Xiahu Qie, Aki Nakao Vera –Scott Karlin IXP1200 –Scott Karlin, Tammo Spalink And many more…
42
42 Thank you
43
43 URLs PlanetLab –http://www.planet-lab.org/ Princeton CS Network Systems Group –http://www.cs.princeton.edu/nsg
44
44 Interfaces Overlay Daemon and Overlay Forwarder –Routing table interface (Add, Delete route) Application and Application Forwarder –Application specific –Use bit pipe or shared memory Overlay Daemon Application –Overlay specific
45
45 Function Types Predicates (P), Forwarders (F) Extensions (E) Extensible Forwarders (E F) Extensible Extensions (E E) Input (I) and Output (O) Encapsulation ( F, I, O F) Installation ( P,F ())
46
46 AB M TCP Connection Splicing Overlay Daemon –Installs splicer Overlay Forwarder –Splicer Application Application Forwarder –URL rewriter
47
47 IP Forwarding Overlay Daemon –Routing protocols (e.g. BGP) Overlay Forwarder –IP forwarding Application –Many examples Application Forwarder
48
48 B 3 Ethernet Bridging Overlay Daemon –Computes Minimum Spanning Tree Overlay Forwarder –Multicast to open ports Application –Control learning algorithm Application Forwarder –Record source and destination B 1 B 5 B 6 B 2 B 4
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.