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

Recommend


More recommend