piotr srebrny part i multicasting in the internet
play

Piotr Srebrny Part I: Multicasting in the Internet Basis & - PowerPoint PPT Presentation

Piotr Srebrny Part I: Multicasting in the Internet Basis & critique Part II: CacheCast Internet redundancy Packet caching systems CacheCast design CacheCast evaluation Efficiency Computational complexity


  1. Piotr Srebrny

  2.  Part I: Multicasting in the Internet  Basis & critique  Part II: CacheCast  Internet redundancy  Packet caching systems  CacheCast design  CacheCast evaluation ▪ Efficiency ▪ Computational complexity ▪ Environmental impact

  3. Ellen Munthe-Kaas Hi… Vera Goebel Kjell Åge Bringsrud Daniel Rodríguez Fernández

  4. Hi, I would like to invite you to the presentation on the IP Multicast issues.

  5. Scalability was like the Holy Grail for multicast community.

  6. DMMS S Group up

  7. DMMS S Group up

  8. … and after 10 years of non -random mutations

  9. IGMP Snooping MAAS MASC CGMP MBGP RGMP MSDP MADCAP BGP4+ AMT PGM MOSPF MLDv3 PIM-SM PIM-SSM IGPMv2 MLDv2 PIM-DM DVMRP IGPMv3

  10. http://multicasttech.com/status/ (obsolete)

  11. Part II

  12.  Internet redundancy  Packet caching systems  CacheCast design  CacheCast evaluation  Efficiency  Computational complexity  Environmental impact  Related system  Summary

  13.  Internet is a content distribution network Ipoque 2009 (http://www.ipoque.com/sites/default/files/mediafiles/documents/internet-study-2008-2009.pdf) 26

  14.  Single source multiple destination transport mechanism becomes fundamental!  At present, Internet does not provide efficient multi-point transport mechanism

  15.  “Datagram routing for internet multicasting”, L. Aguilar, 1984 – explicit list of destinations in the IP header  “Host groups: A multicast extension for datagram internetworks” , D. Cheriton and S. Deering, 1985 – destination address denotes a group of host  “A case for end system multicast”, Y. hua Chu et al., 2000 – application layer multicast 28

  16.  Server transmitting the same data to multiple destinations is wasting the Internet resources  The same data traverses the same path multiple times A P D P C P B P A B S C D 29

  17.  Consider two packets A and B that carry the same content and travel the same few hops A P A P P P B 30

  18.  Consider two packets A and B that carry the same content and travel the same few hops A P B B P B P P P B 31

  19.  In practice:  How to determine whether a packet payload is in the next hop cache?  How to compare packet payloads?  What size should be the cache?

  20. 33

  21. Network elements:  Link  Medium transporting packets  Router  Switches data packets between links 34

  22.  Link  Logical point to point connection  Highly robust & very deterministic  Throughput limitation per bit [bps]  It is beneficial to avoid redundant payload transmissions over a link

  23.  Router  Switching node  Performs three elementary tasks per packet ▪ TTL update ▪ Checksum recalculation ▪ Destination IP address lookup  Throughput limitation per packet [pps]  Forwarding packets with redundant payload does not impact router performance

  24.  Caching is done on per link basis  Cache Management Unit (CMU) removes payloads that are stored on the link exit  Cache Store Unit (CSU) restores payloads from a local cache 37

  25.  Link cache processing must be simple  ~72ns to process the minimum size packet on a 10Gbps link  Modern memory r/w cycle ~6-20ns  Link cache size must be minimised  At present, a link queue is scaled to 250ms of the link traffic, for a 10Gbps link it is already 315MB  Difficult to build! A source of redundant data must support link caches! 38

  26. 1. Server can transmit packets carrying the same data within a minimum time interval 2. Server can mark its redundant traffic 3. Server can provide additional information that simplifies link cache processing 39

  27.  CacheCast packet carries an extension header describing packet payload  Payload ID  Payload size  Index  Only packets with the header are cached 40

  28. Packet train  Only the first packet carries the payload  The remaining packets truncated to the header 41

  29.  Packet train duration time  It is sufficient to hold payload in the CSU for the packet train duration time  What is the maximum packet train duration time? 42

  30. Back-of-the-envelope calculations  ~10ms caches are sufficient 43

  31. Two components of the CacheCast system  Server support  Distributed infrastructure of small link caches A D C B P A B S CMU CSU CMU CSU C D 44

  32. • Cache miss P1 P1 0 x A A P1 CMU CSU CMU table Cache store Index Payload ID Index Payload P2 0 P1 0 P2 1 P3 1 P3 2 P4 2 P4 46

  33. • Cache hit P2 x 1 B B CMU CSU CMU table Cache store Index Payload ID Index Payload 0 P1 0 - P1 1 P2 1 - P2 P2 2 P3 2 - P3 47

  34. • Cache miss P1 P1 0 x A A CMU CSU CMU table Cache store Index Payload ID Index Payload P2 0 P1 0 P2 1 P3 1 P3 2 P4 2 P4 What can go wrong? 48

  35. • Cache hit P1 0 x B B P2 0 B CMU CSU CMU table Cache store Index Payload ID Index Payload 0 P1 0 P2 P2 1 P3 1 P3 2 P4 2 P4 How to protect against this error? 49

  36.  Tasks:  Batch transmissions of the same data to multiple destinations  Build the CacheCast headers  Transmit packets in the form of a packet train  One system call to transmit data to all destinations msend()

  37.  msend() system call  Implemented in Linux  Simple API int msend ( fd_set *fds_write, fd_set *fds_written, char *buf, int len)  fds_write – a set of file descriptors representing connections to data clients  fds_written – a set of file descriptors representing connections to clients that the data was transmitted to 51

  38.  OS network stack  Connection endpoints represented as sockets  Transport layer (e.g. TCP, UDP, or DCCP)  Network layer (e.g. IP)  Link layer (e.g. Ethernet)  Network card driver

  39.  msend() execution

  40. Two aspects of the CacheCast system Efficiency I.  How much redundancy CacheCast removes? Computational complexity II.  Can CacheCast be implemented efficiently with the present technology? 55

  41.  CacheCast and ‘Perfect multicast’  ‘Perfect multicast’ – delivers data to multiple destinations without any overhead  CacheCast overheads Unique packet header per destination I. Finite link cache size resulting in payload II. retransmissions III. Partial deployment 56

  42. L   1  - the total am ount of m ulticast links m L m m L - the total am ount of unicast links L u u Metric expresses the reduction in traffic volume  Example:   L 9 , L 5 u m 5 4      1 44 % m 9 9 57

  43. CacheCast unicast header part ( h ) and multicast payload part ( p )   s L s L L   1     h u p m m 1 m  CC L ( s s ) L u h p u Thus: 1  s    h , r  CC m 1 r s p E.g.: using packets where s p =1436B and s h =64B, CacheCast achieves 96% of the ‘perfect multicast’ efficiency 58

  44.  Single link cache efficiency is related to the amount of redundancy that is removed V c - traffic volum e with CacheCast   1  V c  traffic volum e without CacheCast V V  Traffic volumes:    V n ( s s ) p h    V s ns c p h

  45.  Link cache efficiency:  s ns   1  p h  ns ns p h  Thus:    1    n  1 s 1 C   h C , r    1 r s p

  46.    1    n  1 C  

  47.  The more destination the higher efficiency  E.g.  512Kbps – 8 headers in 10ms, e.g. 12 destinations L K J P I H G F E D C B P A  Slow sources transmitting to many destinations cannot achieve the maximum efficiency

  48. System efficiency δ m for 10ms large caches 63

  49.  Step I

  50.  Step II

  51.  Step III

  52.  Step IV  How could we improve?

  53. CMU and CSU deployed partially 1 2 3 4 5 6 S 68

  54. 69

  55.  Considering unique packet headers  CacheCast can achieve up to 96% of the ‘Perfect multicast’ efficiency  Considering finite cache size  10ms link caches can remove most of the redundancy generated by fast sources  Considering partial deployment  CacheCast deployed over the first five hops from a server achieves already half of the maximum efficiency 70

  56.  Computational complexity may render CacheCast inefficient  Implementations  Link cache elements – implemented with Click Modular Router Software as processing elements  Server support – a Linux system call and an auxiliary shell command tool 72

  57.  CacheCast can be deployed as a software update  Click Modular Router Software  CacheCast router modell  73

  58.  Router configuration:  CSU – first element  CMU – last element  Packet drop occurs at the output link queue, however before CMU processing

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend