is information centric multi tree routing feasible
play

Is Information-Centric Multi-Tree Routing Feasible? ICN workshop - PowerPoint PPT Presentation

Is Information-Centric Multi-Tree Routing Feasible? ICN workshop 2013 Michele Papalini (University of Lugano) joint work with: Antonio Carzaniga (University of Lugano) Koorosh Khazaei (University of Lugano) Alexander L. Wolf (Imperial College


  1. router b : router b : tree T ,next-hop w → predicate P T , w tree T ,next-hop w → predicate P T , w (FIB) (FIB) T 1 , c �→ p c ∨ p g ∨ p h T 1 , c �→ p c ∨ p g ∨ p h T 1 , f �→ p f ∨ p j ∨ p k T 1 , f �→ p f ∨ p j ∨ p k T 1 , e �→ p a ∨ p d ∨ p e ∨ p i T 1 , e �→ p a ∨ p d ∨ p e ∨ p i T 2 , c �→ p c ∨ p h ∨ p g T 2 , c �→ p c ∨ p h ∨ p g T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  2. router b : tree T ,next-hop w → predicate P T , w router b : tree T ,next-hop w → predicate P T , w (FIB) T 1 , c �→ p c ∨ p g ∨ p h (FIB) c �→ p c ∨ p h ∨ p g T 1 , f �→ p f ∨ p j ∨ p k T 1 , f �→ p f ∨ p j ∨ p k T 1 , e �→ p a ∨ p d ∨ p e ∨ p i T 1 , e �→ p a ∨ p d ∨ p e ∨ p i T 2 , c �→ p c ∨ p h ∨ p g T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  3. router b : tree T ,next-hop w → predicate P T , w (FIB) T 1 , c �→ p c ∨ p g ∨ p h T 1 , f �→ p f ∨ p j ∨ p k T 1 , e �→ p a ∨ p d ∨ p e ∨ p i T 2 , c �→ p c ∨ p h ∨ p g T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  4. router b : tree T ,next-hop w → predicate P T , w router b : next-hop w → predicate P T , w (FIB) T 1 , c �→ p c ∨ p g ∨ p h (FIB) c �→ p c ∨ p h ∨ p g T 1 , f �→ p f ∨ p j ∨ p k T 1 , f �→ p f ∨ p j ∨ p k T 1 , e �→ p a ∨ p d ∨ p e ∨ p i T 1 , e �→ p a ∨ p d ∨ p e ∨ p i T 2 , c �→ p c ∨ p h ∨ p g T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  5. router b : router b : next-hop w → predicate P T , w tree T ,next-hop w → predicate P T , w (FIB) (FIB) T 1 , c �→ p c ∨ p g ∨ p h c �→ p c ∨ p h ∨ p g f �→ ( T 1 ∧ p f ) ∨ ( T 1 ∧ p j ) ∨ ( T 1 ∧ p k ) T 1 , f �→ p f ∨ p j ∨ p k e �→ ( T 1 ∧ p a ) ∨ ( T 1 ∧ p d ) ∨ ( T 1 ∧ p e ) ∨ ( T 1 ∧ p i ) ∨ T 1 , e �→ p a ∨ p d ∨ p e ∨ p i ( T 2 ∧ p a ) ∨ ( T 2 ∧ p d ) ∨ ( T 2 ∧ p e ) ∨ ( T 2 ∧ p i ) ∨ T 2 , c �→ p c ∨ p h ∨ p g ( T 2 ∧ p f ) ∨ ( T 2 ∧ p j ) ∨ ( T 2 ∧ p k ) T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  6. router b : router b : next-hop w → predicate P T , w tree T ,next-hop w → predicate P T , w (FIB) (FIB) T 1 , c �→ p c ∨ p g ∨ p h c �→ p c ∨ p h ∨ p g f �→ ( T 1 ∧ p f ) ∨ ( T 1 ∧ p j ) ∨ ( T 1 ∧ p k ) T 1 , f �→ p f ∨ p j ∨ p k e �→ ( T 1 ∧ p a ) ∨ ( T 1 ∧ p d ) ∨ ( T 1 ∧ p e ) ∨ ( T 1 ∧ p i ) ∨ T 1 , e �→ p a ∨ p d ∨ p e ∨ p i ( T 2 ∧ p a ) ∨ ( T 2 ∧ p d ) ∨ ( T 2 ∧ p e ) ∨ ( T 2 ∧ p i ) ∨ T 2 , c �→ p c ∨ p h ∨ p g ( T 2 ∧ p f ) ∨ ( T 2 ∧ p j ) ∨ ( T 2 ∧ p k ) T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  7. router b : tree T ,next-hop w → predicate P T , w router b : next-hop w → predicate P T , w (FIB) T 1 , c �→ p c ∨ p g ∨ p h (FIB) c �→ p c ∨ p h ∨ p g T 1 , f �→ p f ∨ p j ∨ p k f �→ ( T 1 ∧ p f ) ∨ ( T 1 ∧ p j ) ∨ ( T 1 ∧ p k ) T 1 , e �→ p a ∨ p d ∨ p e ∨ p i e �→ p a ∨ p d ∨ p e ∨ p i ∨ T 2 , c �→ p c ∨ p h ∨ p g ( T 2 ∧ p f ) ∨ ( T 2 ∧ p j ) ∨ ( T 2 ∧ p k ) T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  8. router b : tree T ,next-hop w → predicate P T , w router b : next-hop w → predicate P T , w (FIB) T 1 , c �→ p c ∨ p g ∨ p h (FIB) c �→ p c ∨ p h ∨ p g T 1 , f �→ p f ∨ p j ∨ p k f �→ ( T 1 ∧ p f ) ∨ ( T 1 ∧ p j ) ∨ ( T 1 ∧ p k ) T 1 , e �→ p a ∨ p d ∨ p e ∨ p i e �→ p a ∨ p d ∨ p e ∨ p i ∨ T 2 , c �→ p c ∨ p h ∨ p g ( T 2 ∧ p f ) ∨ ( T 2 ∧ p j ) ∨ ( T 2 ∧ p k ) T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  9. router b : tree T ,next-hop w → predicate P T , w router b : next-hop w → predicate P T , w (FIB) T 1 , c �→ p c ∨ p g ∨ p h (FIB) c �→ p c ∨ p h ∨ p g T 1 , f �→ p f ∨ p j ∨ p k coming soon: new data structure f �→ ( T 1 ∧ p f ) ∨ ( T 1 ∧ p j ) ∨ ( T 1 ∧ p k ) T 1 , e �→ p a ∨ p d ∨ p e ∨ p i e �→ p a ∨ p d ∨ p e ∨ p i ∨ T 2 , c �→ p c ∨ p h ∨ p g ( T 2 ∧ p f ) ∨ ( T 2 ∧ p j ) ∨ ( T 2 ∧ p k ) T 2 , e �→ p a ∨ p d ∨ p e ∨ p f ∨ p i ∨ p j ∨ p k a c b b g e d f h j i k

  10. Evaluation

  11. Evaluation Q 1: Is it possible to use trees to route traffic over the Internet?

  12. Evaluation Q 1: Is it possible to use trees to route traffic over the Internet? Q 2: Do user-defined descriptor-based addresses aggregate?

  13. Evaluation Q 1: Is it possible to use trees to route traffic over the Internet? Q 2: Do user-defined descriptor-based addresses aggregate? We need a workload

  14. What do we need? Topology

  15. What do we need? Topology Distribute users on the nodes

  16. What do we need? Topology Distribute users on the nodes Assign applications to users

  17. What do we need? Topology Distribute users on the nodes Assign applications to users Create the registrations

  18. What do we need? Topology ◮ AS-level Internet topology Distribute users on the nodes Assign applications to users Create the registrations

  19. What do we need? Topology Distribute users on the nodes ◮ assigned to each AS according to the estimated population Assign applications to users Create the registrations

  20. What do we need? Topology Distribute users on the nodes Assign applications to users ◮ selected according to the real number of users Create the registrations

  21. What do we need? Topology Distribute users on the nodes Assign applications to users Create the registrations ◮ ???

  22. Imagine the future Internet ◮ study the users behavior on different applications ◮ define registrations with actual tags used by users

  23. Imagine the future Internet ◮ study the users behavior on different applications ◮ define registrations with actual tags used by users Push content ◮ web content and blog posts ◮ short messages (tweets)

  24. Imagine the future Internet ◮ study the users behavior on different applications ◮ define registrations with actual tags used by users Push content ◮ web content and blog posts ◮ short messages (tweets) Pull content ◮ videos

  25. Web Content Goal : Understand users interests

  26. Web Content Goal : Understand users interests Users Bookmarks (Delicious) ◮ bookmarks = subscription

  27. Application User Registration Delicious 1M 124M Blogs 60K 180K Video 1K 10K Twitter Graph 41M 1B Twitter Messages 400K 500K

  28. Data Amplification

  29. Data Amplification Multiple languages ◮ replicate the data for the 25 most spoken languages ◮ language is chosen according to the popularity

  30. Data Amplification Multiple languages ◮ replicate the data for the 25 most spoken languages ◮ language is chosen according to the popularity Synonyms ◮ for each word we define synonyms ◮ synonyms are randomly chosen

  31. Evaluation Q 1: Is it possible to use trees to route traffic over the Internet? Q 2: Do user-defined descriptor-based addresses aggregate?

  32. Additional cost in using k trees on the actual AS-level topology with k = 8, 16, 32, 64, 128 trees 6 Avg/Max Additional Path Length (Hops) 5 4 3 2 1 0 8 16 32 64 128

  33. Additional cost in using k trees on the actual AS-level topology with k = 8, 16, 32, 64, 128 trees 6 Avg/Max Additional Path Length (Hops) 5 4 3 2 1 0 8 16 32 64 128

  34. Additional cost in using k trees on the actual AS-level topology with k = 8, 16, 32, 64, 128 trees 6 Avg/Max Additional Path Length (Hops) 5 4 3 2 1 0 8 16 32 64 128

  35. Tree aggregation in FIBs with k = 8, 16, 32, 64, 128 trees 16 14 Distinct Trees per Interface 12 10 8 6 4 2 0 8 16 32 64 128

  36. Tree aggregation in FIBs with k = 8, 16, 32, 64, 128 trees 16 14 Distinct Trees per Interface 12 10 8 6 4 2 0 8 16 32 64 128

  37. Aggregation of tag-based addresses in FIBs memory requirements in a central node for a single tree 2.5M users All Interfaces Largest Interfaces 325 1 Destinations 42,112 6,559 Tags 276,501,173 35,814,399 Original Descriptors 85,504,514 10,727,593 Actual Descriptors 10,880,657 1,145,713 Size (MB) 518.83 54.63

  38. Aggregation of tag-based addresses in FIBs memory requirements in a central node for a single tree 2.5M users All Interfaces Largest Interfaces 325 1 Destinations 42,112 6,559 Tags 276,501,173 35,814,399 Original Descriptors 85,504,514 10,727,593 Actual Descriptors 10,880,657 1,145,713 Size (MB) 518.83 54.63

  39. Aggregation of tag-based addresses in FIBs memory requirements in a central node for a single tree 2.5M users All Interfaces Largest Interfaces 325 1 Destinations 42,112 6,559 Tags 276,501,173 35,814,399 Original Descriptors 85,504,514 10,727,593 Actual Descriptors 10,880,657 1,145,713 Size (MB) 518.83 54.63

  40. Aggregation of tag-based addresses in FIBs memory requirements in a central node for a single tree 2.5M users All Interfaces Largest Interfaces 325 1 Destinations 42,112 6,559 Tags 276,501,173 35,814,399 Original Descriptors 85,504,514 10,727,593 Actual Descriptors 10,880,657 1,145,713 Size (MB) 518.83 54.63

  41. Aggregation of tag-based addresses in FIBs memory requirements in a central node for a single tree 2.5M users All Interfaces Largest Interfaces 325 1 Destinations 42,112 6,559 Tags 276,501,173 35,814,399 Original Descriptors 85,504,514 10,727,593 Actual Descriptors 10,880,657 1,145,713 Size (MB) 518.83 54.63 Aggregation Factor 7.85 9.36

  42. Aggregation of tag-based addresses in FIBs memory requirements in a central node for a single tree 2.5M users All Interfaces Largest Interfaces 325 1 Destinations 42,112 6,559 Tags 276,501,173 35,814,399 Original Descriptors 85,504,514 10,727,593 Actual Descriptors 10,880,657 1,145,713 Size (MB) 518.83 54.63 Bloom Filter size = 400 bits

  43. Current Work Workload: 25M users, 513M descriptors, 8 trees Total descriptors: 4.1 billion

  44. Current Work Workload: 25M users, 513M descriptors, 8 trees Total descriptors: 4.1 billion Compressed Table: 300M descriptors

  45. Current Work Workload: 25M users, 513M descriptors, 8 trees Total descriptors: 4.1 billion Compressed Table: 300M descriptors Update time (average): 6 µ sec per descriptor

  46. Current Work Workload: 25M users, 513M descriptors, 8 trees Total descriptors: 4.1 billion Compressed Table: 300M descriptors Update time (average): 6 µ sec per descriptor Matching time 200 180 160 140 Time (us) 120 100 80 60 40 20 0 1 2 3 4 5 6 Tags

  47. Conclusion Routing scheme: ◮ tag-based address ◮ push-pull communication

Recommend


More recommend