290 likes | 464 Views
EGOIST Overlay Routing using Selfish Neighbor Selection. Georgios Smaragdakis Joint work with Vassilis Lekakis, Nikos Laoutaris, Azer Bestavros, John Byers and Mema Roussopoulos. 1. O 2. Overlay Plane. O 1. O 3. Physical Plane. R 2. R 3. R 1. R 7. R 4. R 5. R 6. Overlay Networks.
E N D
EGOIST Overlay Routing using Selfish Neighbor Selection Georgios Smaragdakis Joint work with Vassilis Lekakis, Nikos Laoutaris, Azer Bestavros, John Byers and Mema Roussopoulos 1
O2 Overlay Plane O1 O3 Physical Plane R2 R3 R1 R7 R4 R5 R6 Overlay Networks Applications • Overlay routing • P2P file sharing • Content distribution networks • Multimedia streaming • Online multiplayer games • …. 2
Connectivity Management • Full mesh architectures for reliability (e.g. RON) • Myopic heuristics random or proximity based neighbor selection • Tree forest or mesh construction to optimize multicast (e.g. Bullet, Splitstream) • Optimization for network delay (e.g. Detour, QRON) • Opportunistic choke/unchoke (e.g. BitTorrent) • Distributed hashing tables (e.g. Chord, Pastry, Tapestry) 3
w u Selfish Neighbor Selection Optimal wiring for vi: choose k neighbors, s.t. • [Laoutaris, Smaragdakis, Bestavros, Byers, INFOCOM’07] min vi 4
Selfish Neighbor Selection Advantages • The selfish node can reap substantial performance. • The performance gain is higher under uninformed overlays. • The evolving stable graphs that consist of selfish nodes are highly optimized. • The computation of the exact optimal wiring might be expensive. • Requires full information about the network. • The number of iterative wirings before stabilization might be high. Disadvantages 5
EGOIST:Key Contributions System Architecture • Link state protocol to support connectivity information dissemination. • Overlay monitoring and maintenance mechanism. • Computationally efficient neighbor selection. Performance Evaluation • Average performance in real operational scenaria. • Performance under different performance metrics (delay, system load, available bandwidth) • Overhead of the implementation. • Performance under churn. • Vulnerability to malicious users. • Applications. 6
111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs 111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs 111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs 111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs 111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs 111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs 111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs EGOIST:Basic Architecture 133.3.3.3 X 144.4.4.4 122.2.2.2 111.1.1.1 122.2.2.2 25msecs 111.1.1.1 133.3.3.3 165msecs 111.1.1.1 7
EGOIST:Basic Architecture 133.3.3.3 144.4.4.4 122.2.2.2 111.1.1.1 8
EGOIST:Monitoring 133.3.3.3 144.4.4.4 122.2.2.2 111.1.1.1 9
EGOIST:Monitoring 133.3.3.3 144.4.4.4 122.2.2.2 111.1.1.1 10
EGOIST:Rewiring 133.3.3.3 144.4.4.4 122.2.2.2 111.1.1.1 11
EGOIST:Newcomers 133.3.3.3 144.4.4.4 122.2.2.2 111.1.1.1 99.9.9.9 12
133.3.3.3 DOWN EGOIST:Node Drop/Failure 133.3.3.3 144.4.4.4 122.2.2.2 111.1.1.1 12
Performance Evaluation:Experimental Setting Objectives Nodes: • 50 PlanetLab nodes for 2 months. Wiring policies: • EGOIST • k-Random, k-Closest, k-Regular (DHT). • Wiring frequency: 60 seconds. Metrics of interest: • Delay (ping, Pyxida). • CPU load (loadavg). • Available Bandwidth (pathChirp). Control variables: • We vary the number (k) of neighbors. 11 7 30 1 1 13
Performance Evaluation:Active Measurements delay/EGOIST delay EGOIST 14
Performance Evaluation:Passive Measurements Wiring delay/EGOIST delay EGOIST EGOIST 15
Performance Evaluation:System Load 10% utilization 10% utilization 10% utilization 111.1.1.1 16
Performance Evaluation:System Load delay/EGOIST delay EGOIST 17
Performance Evaluation:Available Bandwidth 2Mbps 3Mbps 1Mbps 3Mbps pathChirp 111.1.1.1 18
Performance Evaluation:Available Bandwidth EGOIST bwth/EGOIST bwth 19
Performance Evaluation:Re-wiring Frequency EGOIST delay/optimal delay EGOIST re-wirings Appr. EGOIST/optimal delay Appr. EGOIST re-wirings Normalized delay Approximate EGOIST wiring (e= 10%) EGOIST wiring • CPU, memory and bandwidth consumption is minimal. 20
Performance Under Churn:Hybrid-EGOIST 133.3.3.3 144.4.4.4 122.2.2.2 111.1.1.1 21
Performance Under Churn EGOIST Efficiency Index Connectivity quality K-Random K-Regular K-Closest Hybrid-EGOIST 22
Performance Under Churn K-Random K-Regular K-Closest Hybrid-EGOIST EGOIST Efficiency Index Connectivity quality 23
Performance Under Cheating Single Untruthful node Many Untruthful nodes Untruthful Truthful Untruthful Truthful truthful EGOIST truthful EGOIST Delay/ Delay with abuse 24
Applications • Multi-path file transfer • Real-time VoIP • Online multiplayer P2P games EGOIST k-Closest k-Random k-Regular [Quake III traces from Donnybrook, SIGCOMM’08] 25
Current Status • Explore worst case scenaria for cheating. • Study scalability. • Provide a general wiring service. 26
Thank you. 28