2004-04-28 Decomposing Overlay Applications Yitzchak Gottlieb Princeton University Achieving Extensibility with High Performance.

Slides:



Advertisements
Similar presentations
Peer-to-Peer Infrastructure and Applications Andrew Herbert Microsoft Research, Cambridge
Advertisements

LAN Devices 5.3 IT Essentials.
Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
Transitioning to IPv6 April 15,2005 Presented By: Richard Moore PBS Enterprise Technology.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
Computers Are Your Future © 2008 Prentice-Hall, Inc.
A Comparative Study of Extensible Routers Yitzchak Gottlieb and Larry Peterson.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
10/31/2007cs6221 Internet Indirection Infrastructure ( i3 ) Paper By Ion Stoica, Daniel Adkins, Shelley Zhuang, Scott Shenker, Sonesh Sharma Sonesh Sharma.
An Overlay Data Plane for PlanetLab Andy Bavier, Mark Huang, and Larry Peterson Princeton University.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
NodeOS Programming Forwarding Functions for Extensible Routers Department of Computer Science Princeton University Router Workshop Yitzchak.
A Comparative Study of Extensible Routers Yitzchak Gottlieb.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Hands-On Microsoft Windows Server 2003 Networking Chapter 1 Windows Server 2003 Networking Overview.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
DataLink Layer1 Ethernet Technologies: 10Base2 10: 10Mbps; 2: 200 meters (actual is 185m) max distance between any two nodes without repeaters thin coaxial.
Connecting LANs, Backbone Networks, and Virtual LANs
Communication Part IV Multicast Communication* *Referred to slides by Manhyung Han at Kyung Hee University and Hitesh Ballani at Cornell University.
Protocols and the TCP/IP Suite Chapter 4. Multilayer communication. A series of layers, each built upon the one below it. The purpose of each layer is.
Semester 1 Module 8 Ethernet Switching Andres, Wen-Yuan Liao Department of Computer Science and Engineering De Lin Institute of Technology
Intranet, Extranet, Firewall. Intranet and Extranet.
LECTURE 9 CT1303 LAN. LAN DEVICES Network: Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and.
NetworkProtocols. Objectives Identify characteristics of TCP/IP, IPX/SPX, NetBIOS, and AppleTalk Understand position of network protocols in OSI Model.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
CSCI-235 Micro-Computer in Science The Network. © Prentice-Hall, Inc Communications  Communication is the process of sending and receiving messages 
Common Devices Used In Computer Networks
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Connecting to the Network Networking for Home and Small Businesses.
CS3502: Data and Computer Networks Local Area Networks - 4 Bridges / LAN internetworks.
Chapter 3 How to build a network?. 2 Objectives What is a Network? IP Addresses Key Components of a Network (NIC) Factors in Designing a Network.
1 Liquid Software Larry Peterson Princeton University John Hartman University of Arizona
Repeaters and Hubs Repeaters: simplest type of connectivity devices that regenerate a digital signal Operate in Physical layer Cannot improve or correct.
Today’s Topics Chapter 8: Networks Chapter 8: Networks HTML Introduction HTML Introduction.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Chapter 6 – Connectivity Devices
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Floodless in SEATTLE : A Scalable Ethernet ArchiTecTure for Large Enterprises. Changhoon Kim, Matthew Caesar and Jenifer Rexford. Princeton University.
A Routing Underlay for Overlay Networks Akihiro Nakao Larry Peterson Andy Bavier SIGCOMM’03 Reviewer: Jing lu.
Fast Handoff for Seamless wireless mesh Networks Yair Amir, Clauiu Danilov, Michael Hilsdale Mobisys’ Jeon, Seung-woo.
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
Sem1 - Module 8 Ethernet Switching. Shared media environments Shared media environment: –Occurs when multiple hosts have access to the same medium. –For.
1 Peer-to-Peer Technologies Seminar by: Kunal Goswami (05IT6006) School of Information Technology Guided by: Prof. C.R.Mandal, School of Information Technology.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
ITGS Network Architecture. ITGS Network architecture –The way computers are logically organized on a network, and the role each takes. Client/server network.
Yaping Zhu with: Jennifer Rexford (Princeton University) Aman Shaikh and Subhabrata Sen (ATT Research) Route Oracle: Where Have.
Objectives After completing this chapter you will be able to: Describe the different types of bridging: Transparent, Source Route and Translate Describe.
Peer to Peer Network Design Discovery and Routing algorithms
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Rehab AlFallaj.  Network:  Nodes: Service units: PC Interface processing Modules: it doesn’t generate data, but just it process it and do specific task.
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Multicast Communications
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
4: DataLink Layer1 Hubs r Physical Layer devices: essentially repeaters operating at bit levels: repeat received bits on one interface to all other interfaces.
01/27/10 What is PlanetLab? A planet-wide testbed for the R & D of network applications and distributed computing Over 1068 nodes at 493 sites, primarily.
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Optimising Streaming Systems with SDN/P4/NetFPGA
Networking Devices.
Chapter 4 Data Link Layer Switching
Hubs Hubs are essentially physical-layer repeaters:
Hubs Hubs are essentially physical-layer repeaters:
CS 31006: Computer Networks – The Routers
Module 8: Ethernet Switching
Packet Switch Architectures
Packet Switch Architectures
Presentation transcript:

Decomposing Overlay Applications Yitzchak Gottlieb Princeton University Achieving Extensibility with High Performance

2 Constant Innovation 1725 RFCs since 1995 –50 Obsolete old RFCs –307 Update ~1400 New ideas –897 Standards track –142 Experimental

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 Overlay Networks On end hosts –Application-level networks Advantage –Ease deployment Problems –Limited performance User space Proxy path

5 Performance Limits: Proxy Path 100 Mbit/s 1500 B packets 10 Gbit/s pkt/s pkt/s

6 PlanetLab “Planetlab is an open platform for developing, deploying, and accessing planetary-scale services”

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 PlanetLab PlanetLab is for overlays Very successful overlays –e.g. Routing overlays –Traffic increases –Inefficiencies interfere How to achieve high performance with overlays?

9 Inside Overlay Nodes OS Maintain network Forward packets Process queries …

10 Computation Domains Where computation is Separated by barriers –Address space –Protection level –Processor Differences –Performance –Trust ComputationBarrier

11 Hypothesis We can decompose overlay applications We can map components onto different computation domains This will improve performance and efficiency

12 Outline Introduction Decomposition Software Architecture Examples

13 Five forms Forms are: –Semantically equivalent All equally viable –Refinement steps –Different Performance Trust Decomposing Overlay Networks

14 Lessons of Internet High speed IP forwarding Separate concerns –Routing protocol Program forwarding table –Packet forwarding Decrement TTL Replace layer-2 address

15 Control and Data Control –Complex –Processed locally Data –Simple –Processed remotely

16 Decomposition—Form I State of the art Monolithic application Few network connections –All communication to application –Application sees all traffic Application

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 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 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 Forwarder FF Decomposition—Form V Application-specific forwarding extension –Recording –Redirecting –Modifying C Daemon Application Applications need data stream

21 Decomposing Overlay Applications Control Data General Application Daemon Overlay Daemon F Overlay ForwarderApplication Forwarder F Application

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 Forwarders and Extensions

24 Outline Introduction Decomposition Software Architecture Examples

25 Plug Board C

26 Plug Board Software architecture for decomposition Features –Single powerful classifier –Multiple computation domains –Multiple forwarders Fixed forwarders Extensible forwarders

27 Plug Board Miscellaneous features –Modularity Functions grouped by protocol –Encapsulation Input functions Output functions Wrap forwarders

28 Implementation Point implementations Three domains –User space Linux –Kernel space Linux Leverage SILK –Intel IXP1200 EEB Leverage Vera architecture

29 Outline Introduction Decomposition Application Examples

30 Decomposition Examples Applications –Peer-to-peer networks –Other network Each is decomposable –Four components

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 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 Overlay Daemon –Connectivity Overlay Forwarder –Find next longest prefix match Application –PAST, Scribe, etc. Application Forwarder –Application dependent Pastry Application Daemon F F

34 Pastry Implementation User-level library Kernel-level forwarding IXP Forwarding –~50 instructions

35 Chord Scalable object location 128 bit node addresses –Circular address space Forward to farthest 2 -i th of circle –Logarithmic forwarding Iterative Recursive

36 Chord Overlay Daemon –Chord invariants Overlay Forwarder –Recursive lookup Application –Node location Application Forwarder Application Daemon F

37 Gnutella Overlay Daemon –Connectivity Overlay Forwarder –Flood –Record route Application Application Forwarder –Redirects successful queries

38 Other Network Services IP Forwarding –Filters, Firewalls Proxies –Splicing TCP connections Ethernet bridging

39 Summary Overlays limit performance Improve by applying classic techniques –Decompose overlay Control/Data General/Application-specific –Map onto computational domains

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 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 Thank you

43 URLs PlanetLab – Princeton CS Network Systems Group –

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 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 AB M TCP Connection Splicing Overlay Daemon –Installs splicer Overlay Forwarder –Splicer Application Application Forwarder –URL rewriter

47 IP Forwarding Overlay Daemon –Routing protocols (e.g. BGP) Overlay Forwarder –IP forwarding Application –Many examples Application Forwarder

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