Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 1 Jeonghun Noh Eric Setton Professor Bernd Girod Design and Implementation.

Similar presentations


Presentation on theme: "Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 1 Jeonghun Noh Eric Setton Professor Bernd Girod Design and Implementation."— Presentation transcript:

1 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 1 Jeonghun Noh Eric Setton Professor Bernd Girod Design and Implementation of Overlay Multicast Tree Protocol

2 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 2 Outline Introduction –Internet multicast –Peer-to-peer multicast Our overlay multicast system –Cross layer approach –An overall system architecture –Operation of the protocol Simulation setup & results Conclusion & future work

3 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 3 Internet multicast What is multicast? –Involves more than two communicating hosts –Two categories –One sender to multiple receivers –Multiple senders to multiple receivers –Example –TCP, UDP are unicast protocol –DVMRP, MOSPF were widely used multicast protocol Mbone (multicast testbed) was born in 1992 –Stands for Multicast backbone –Tunnel-based overlay network on the IP internet –About 1500 subnets in 1995 (less than 3% of the Internet)

4 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 4 Why IP multicast isn’t popular? It’s too slow –One shared backbone network –Restricted scalability in terms of the number of sessions Router equipment venders were skeptical –A proven need of multicast apps is lacking –Routers may become a bottleneck due to state maintenance –Passive network is more robust than active network Alternatives get more popular –Server-Client model (one-to-one connection) is successful –Contents delivery network (ex. Akamai)

5 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 5 A new approach emerges Peer-to-peer file delivery works very well –Napster, Gnutella, Edonkey, Usenet, and so on A wider bandwidth of access network –From 56k Modem to xDSL, cable modem (~a few Mbps of downlink) –Abundant unused network resource Multicast paradigm shift –What we have : –“enough resource” and “powerful end-user PCs” – “Rely on networks” ----> “Do everything on edge hosts”

6 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 6 Existing peer-to-peer multicast (Reliable) Distributed systems –NICE (Univ. of Maryland) –To construct a single efficient tree structure –Pastry (Microsoft) and Tapestry (UC Berkeley) –Scalable resource lookup using Distributed Hash Table Multimedia distribution –End System Multicast (CMU) –CoopNet (MicroSoft)

7 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 7 Outline Introduction –Internet multicast –Peer-to-peer multicast Our overlay multicast system –Cross layer approach –An overall system architecture –Operation of the protocol Simulation setup & results Conclusion & future work

8 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 8 Cross layer design Most existing literature is not aware of video application characteristics Retransmission is important –One missing packet can result in severe damage to many peers –ESM relies on TCP retransmission (quick time player uses HTTP) –MS CoopNet adapts to local congestion based on packet loss –Both use multiple trees and MDC for robustness Our goal is to integrate : –Path Diversity –CoDiO packet scheduling –Encoding method tailored to network situation Identification of issues in designing a new protocol –scalability | robustness | efficiency | user experience

9 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 9 An overall system architecture Decides the number of trees Distributes video to its direct peer Maintains a member list (not accurate) Moderate effort to keep the list updated Responds to peer “join request” As an active peer (like a client) Join / leave a session Detect parent leave and react Send hello messages to parents Source peer (ordinary) peer As a passive peer (like a server) Respond to Hello Forward video on attachment request Detect child leave and discard it Note : Load balance between source and other peers Common in high-performance end users

10 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 10 Protocol network architecture IP UDP Overlay Multicast Layer Video Encoder Video player IP UDP Overlay Multicast Layer VIDEO SOURCE VIDEO RECEIVERS buffer

11 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 11 Protocol state diagram OFFLINE JOIN PROBE ATTACH ONLINE LEAVE HELLO User command Timer expires state flow REJOIN

12 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 12 Join procedure – design phase [Source] On “Join request” from a new peer –How many parent candidates? –too many : traffic overhead, (negative) impact on other peers –too small : low efficiency, higher failure rate to join at one time –Our decision : N * number of trees (N is obtained empirically) –Whom to choose? –Recent first, or random selection (our choice) [New peer] Which parent to choose? –Several metrics : –Available bandwidth –Diversity –RTT ( from a parent peer or source peer ) –Number of hops ( from a source peer ) –Join each tree INDEPENDENTLY or in a COUPLED way

13 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 13 Join procedure – 6 way handshaking SOURCE PARENT CANDIDATESPARENT NEW PEER JOIN REQUESTPROBE ATTACH

14 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 14 Leave procedure – Explicit leave Parent Child SERVER Leaving Host

15 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 15 Hello protocol - overview Why do we need this? –Hosts may leave ungracefully –Need to keep track of neighbors to check if alive Two design approaches –[Approach 1] To every neighbor –Used in mobile ad Hoc network –More complex –Different handling of its parent and children –[Approach 2] To its parent only for each tree –Less traffic –Still needs to be bidirectional (expects parent response)

16 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 16 Hello protocol – timer mechanism Parent leave detection Time flow CHILD : say hello to parent PARENT : respond to child : Timer expiration points Parent leaves ungracefully Notice of parent leave 1 st no reply 2 nd no reply

17 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 17 Parent ungraceful leave Parent 0 Child Hello No Reply Host 0 will… Parent 1 Parent 2 Host 0 -Detect the leave via hello -When the leave is detected 1. Ask other parents for rejoin (can use extra control plane) 2. ask for retransmission of missing video packets 3. If things don’t work well, rejoin through server. -> explicit leave message to host 0’s children

18 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 18 Local retransmission A video packet is lost A parent host leaves When… Other Peers I missed a packet. Let’s choose a parent to ask for it I am happy.

19 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 19 Outline Introduction –Internet multicast –Peer-to-peer multicast Our overlay multicast system –Cross layer approach –An overall system architecture –Operation of the protocol Simulation setup & results Conclusion & future work

20 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 20 Simulation setup - source Video source peer –video stream (encoded by H.264 with SP/SI frames) –Video rate : 676Kbps –Parent candidate list size : 5 * number of trees ( tentative ) –Number of trees >= 1 ( equal bit rate per tree ) –Starts streaming on simulation beginning –Distributes video packet to trees in round robin Host characteristics –Resides in the middle of the network –Uplink bandwidth : 5Mbps (support 7 children in case of one tree)

21 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 21 Simulation setup - receiver Video receiver –Resides on the edge of the network –Uplink bandwidth : 1Mbps ~ 4Mbps (access bw distribution) –Downlink bandwidth : uplink bandwidth * 3 –Heterogeneous access networks : DSL, dialup/cable modem, LAN –Repeat of “join” and “ungraceful leave” (scheduled for each receiver) OnOn Off High join rate (1 / sec) Low leave rate(0.03/sec)

22 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 22 NAM Snapshot (100 nodes)

23 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 23 Performance evaluation Protocol states: –Join time, first tree min: 0.2 s, max: 0.4 s –Leave detectionmin: 1.8 s, max: 2.1 s –Re-join time min: 1.0 s, max: 1.2 s (since last video packet received) Simulations over ns-2 Number of hosts: 40 Playout deadline: 1 secNumber of trees: 4 Average bandwidth: 2*videoMinimum online length: 10s

24 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 24 Influence of the bandwidth Average bandwidth 1.1 Mbps Sequence rate: 676 kbpsPlayout deadline: 1 sec Number of hosts: 40Length of simulation: 60s Average bandwidth 1.3 Mbps Average bandwidth 1.5 Mbps

25 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 25 Average tree heights (active peers only)

26 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 26 Simulation overhead (CPU usage)

27 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 27 Protocol overhead (additional traffic)

28 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 28 Video quality over all peers

29 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 29 Video quality vs the number of trees

30 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 30 Conclusion & Future work Design and implementation of –Building and maintaining of variable multiple trees –Parent / child leave detection & rejoin procedure –Implementation of a simple retransmission functionality –Heterogeneous receiver setup based on real statistics –Testbed design tool Future work –Design more realistic simulations –Optimization of the timer expiration interval for each protocol state –Improve retransmission mechanism –Distortion optimized scheduling –Comparison with other schemes

31 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 31 Acknowledgement Work done as an independent study with Prof. Bernd Girod I thank Prof. Bernd Girod for –introducing such an interesting topic and –a feedback on the first stage report I thank Eric Setton for –his valuable collaboration on code integration and –uncountable discussions on simulation results and project progress Thank all of you for attending the meeting for this talk

32 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 32 Additional Slides Mbone map End System Multicast Mechanism CoopNet Mechanism Local retransmission details Simulation Setup – edge link bandwidth Etc.

33 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 33 The topology of the Mbone May, 1994

34 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 34 Mbone map (as of July 1993) Existing research based on peer-to-peer

35 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 35 End System Multicast Developed at CMU ( Proceedings of ACM SIGMETRICS, 2000 ) NARADA protocol –Single tree, on top of mesh topology Simulation and internet experiment are performed We can download their client program at http://esm.cs.cmu.edu/ Unicast (server-client) Overlay multicast

36 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 36 CoopNet (MS) Centralized tree construction

37 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 37 Source peer Decides the number of distribution trees Keeps a member list (potentially not accurate) –Member list updates when: –A new host reports ‘attachment’ –A host informs of ‘explicit leave’ –A child of a parent leaving ungracefully reports the leave –Server does its best to keep it updated with smallest effort Responds to host “join request” Distributes video to its direct children

38 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 38 Other peers As an active peer ( client in server-client model ) –Join / leave a session –Detect parent leave and react –Send hello messages to parents As a passive peer ( like a server ) –React to hello messages –Forward video on attachment request –Discard a child if no more hello messages arrive Note : –More burden on receivers than on server –Common in high-performance clients

39 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 39 Join procedure - philosophy Centralized vs. Distributed Algorithm –Whether a server maintains a tree topology –Subtle meaning of ‘distributed’ –Who should a new host contact? Hybrid p2p : server Pure p2p : peers –How to maintain a membership list –Examples –Microsoft : a dedicated server (e.g. Napster) –CMU : bootstrapping (e.g. Gnutella) Our choice –Distributed tree construction with video source for initial contact

40 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 40 Leave Protocol – What to do Parent Child SERVER Discards a leaving host from the list Discards the child from forwarding Table -Sends ‘Leave message’ to its children ‘Recursively’ -Rejoin

41 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 41 Local Retransmission Request Generation –Requestee Selection –Sending & Scheduling of request packet Request Processing Request Reply Processing

42 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 42 Hello protocol Parent Child Hello Hello Reply APPROACH 2

43 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 43 Simulation Setup – edge link bandwidth

44 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 44 Hello packet interarrival (sample trace)

45 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 45 Simulation topics (X)PSNR vs tree count (O)PSNR vs # peers (X)Tree height vs PSNR (X)Video packet interarrival Time (O)# peers vs average tree height (O)PSNR vs tree count 1~18 (for a group of 300 nodes only) (X)Hello packet interarrival over simulation time (O)CPU time vs # peers (O) abundant group vs starving group (planned) comparison of jitter w/ packetization (O)Control overhead

46 Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 46 Algorithms evaluation via Simulation Member selection Algorithm (for server) on join request Parent candidates selection Algorithm (for receiver) –Jointly (for initial join), individually Multiple tree counts selection Algorithm (for server) –Factors : topology type, RTT distribution, session group size Rejoin Algorithm (for receiver) Retransmission Request / Reply routine


Download ppt "Design and Implementation of Overlay Multicast Tree Protocol June 17 th 2005 1 Jeonghun Noh Eric Setton Professor Bernd Girod Design and Implementation."

Similar presentations


Ads by Google