joohwan kim and r srikant dept of electrical and computer
play

Joohwan Kim and R. Srikant Dept. of Electrical and - PowerPoint PPT Presentation

Joohwan Kim and R. Srikant Dept. of Electrical and Computer Engineering and Coordinated Science Lab University of Illinois at Urbana-Champaign 1


  1. Joohwan ¡Kim ¡and ¡R. ¡Srikant ¡ ¡ Dept. ¡of ¡Electrical ¡and ¡Computer ¡Engineering ¡and ¡ ¡ Coordinated ¡Science ¡Lab ¡ University ¡of ¡Illinois ¡at ¡Urbana-­‑Champaign ¡ 1 ¡

  2. A ¡Random ¡Graph ¡Problem ¡ — Consider ¡N ¡nodes: ¡ 1,2,…, ¡ 𝑂 . ¡ ¡ — Create ¡a ¡directed ¡cycle ¡by ¡randomly ¡permuFng ¡the ¡nodes. ¡ — Create ¡another ¡independent ¡cycle ¡ — Max ¡distance ¡between ¡any ¡pair ¡of ¡nodes ¡in ¡each ¡cycle: ¡ 𝑃 ( 𝑂 ) ¡ ¡ 1 7 8 11 ¡ 5 9 3 1 3 ¡ 10 ¡ 11 ¡ 12 ¡ 2 5 6 ¡ 10 ¡ 7 ¡ 6 9 4 4 8 2 ¡ 12 ¡ ¡ 2 ¡

  3. A ¡Random ¡Graph ¡Problem ¡ — Consider ¡the ¡superposed ¡graph ¡of ¡the ¡two ¡cycles ¡ ¡ 1 8 5 9 3 ¡ 11 ¡ 2 10 ¡ 7 ¡ 6 4 12 ¡ — Distance ¡between ¡any ¡pair ¡of ¡two ¡nodes? ¡ — Answer: ¡ 𝑃 ( ​ log ⁠ 𝑂 ) ¡ ¡(Kim ¡and ¡Wormald, ¡2001) ¡ 3 ¡

  4. Broken ¡Cycle.… ¡ — Remove ¡each ¡RED ¡edge ¡with ¡some ¡probability ¡(say ¡½). ¡ 1 8 5 9 3 ¡ 11 ¡ 2 10 ¡ 7 ¡ 6 ¡ 4 12 ¡ ¡ — Maximum ¡distance ¡from ¡node ¡1 ¡to ¡all ¡nodes? ¡ — Answer: ¡ 𝑃 ( ​ log ⁠ 𝑂 ) ¡with ¡high ¡probability ¡ 4 ¡

  5. Outline ¡ — Mo#va#on: ¡A ¡model ¡for ¡construc#ng ¡high ¡ throughput, ¡low-­‑delay ¡P2P ¡streaming ¡systems ¡ — Peer-­‑to-­‑Peer ¡(P2P) ¡Networks ¡ — Minimal ¡centralized ¡support ¡ — Key ¡Ideas: ¡ — Superposi#on ¡of ¡random ¡Hamiltonian ¡cycles ¡(even ¡ with ¡some ¡edges ¡removed) ¡has ¡good ¡diameter ¡ proper#es ¡ — Two ¡ways ¡to ¡construct ¡Hamiltonian ¡cycles ¡ — Comparison ¡with ¡Prior ¡Work ¡ 5 ¡

  6. Client-­‑Server ¡vs. ¡Peer-­‑to-­‑Peer ¡ Client-­‑Server ¡ Peer-­‑to-­‑Peer ¡ • Direct ¡transmission ¡from ¡the ¡source ¡to ¡ • Direct ¡transmission ¡to ¡a ¡few ¡peers ¡ 𝑂 ¡clients ¡ • Data ¡exchange ¡by ¡the ¡peers ¡ • Upload ¡bandwidth ¡of ¡the ¡server ¡= ¡c ¡ • Upload ¡bandwidth ¡of ¡a ¡peer ¡= ¡1 ¡ • Available ¡upload ¡bandwidth ¡= ¡ 𝑂 ¡ • Streaming ¡rate ¡per ¡client ¡= ¡ ​𝑑/𝑂 ¡ • Streaming ¡rate ¡per ¡client ¡ ≈1 ¡ Required ¡bandwidth ¡for ¡P2P ¡streaming ¡does ¡not ¡grow ¡with ¡the ¡network ¡size! ¡ 6 ¡

  7. P2P ¡File-­‑sharing ¡vs. ¡P2P ¡streaming ¡ — P2P ¡File-­‑sharing ¡ — Big ¡file ¡→ ¡MulFple ¡chunks. ¡ — ObjecFve: ¡Collect ¡all ¡the ¡chunks ¡ ¡ — Gnutella, ¡BitTorrent, ¡etc. ¡ — In ¡this ¡talk: ¡P2P ¡Streaming ¡ — Source ¡peer ¡: ¡generates ¡chunks ¡of ¡real-­‑Fme ¡content ¡ ¡sequenFally ¡ — ObjecFve: ¡Play ¡out ¡chunks ¡sequenFally ¡with ¡low ¡delay ¡ — PPLive, ¡CoolStreaming, ¡etc. ¡ 7 ¡

  8. Delay ¡Requirement ¡for ¡Real-­‑Fme ¡Content ¡ — Streaming ¡delay: ¡Fme ¡taken ¡for ¡a ¡chunk ¡to ¡be ¡disseminated ¡ from ¡the ¡source ¡to ¡all ¡peers ¡ — Buffering ¡to ¡miFgate ¡out ¡of ¡sequence ¡delivery ¡of ¡chunks ¡ Thousands ¡ 5 4 3 2 1 of ¡Peers ¡ X ¡ 4 6 3 2 1 Broadcaster ¡ playout ¡ (Source) ¡ Playout ¡buffer ¡of ¡a ¡Peer ¡ — OpFmal ¡streaming ¡delay? ¡How ¡to ¡achieve ¡this? ¡ 8 ¡

  9. Problem ¡Statement ¡ — We ¡want ¡each ¡peer ¡to ¡have ¡a ¡small ¡number ¡of ¡neighbors ¡with ¡ whom ¡it ¡interacts ¡ — QuesFons: ¡ 1. How ¡should ¡the ¡neighborhood ¡of ¡each ¡peer ¡be ¡chosen? ¡ 2. What ¡policy ¡should ¡each ¡peer ¡use ¡to ¡disseminate ¡chunks ¡to ¡ neighbors? ¡ 3. How ¡should ¡each ¡peer ¡update ¡its ¡neighborhood ¡in ¡response ¡ to ¡peer ¡churn ¡(arrivals, ¡departures ¡of ¡peers)? ¡ ¡ — Goal: ¡Design ¡an ¡algorithm ¡that ¡can ¡achieve ¡high ¡throughput, ¡ low ¡delay, ¡and ¡is ¡robust ¡to ¡peer ¡churn. ¡ 9 ¡

  10. Our ¡Pairing ¡Algorithm ¡ — Every ¡peer ¡(including ¡the ¡source) ¡has ¡at ¡most ¡two ¡ children ¡and ¡ two ¡ parents . ¡ Parents ¡ v ¡ Children ¡ — Two ¡outgoing ¡edges ¡(Blue ¡and ¡Red) ¡per ¡peer ¡ — Two ¡incoming ¡edges ¡(Blue ¡and ¡Red) ¡per ¡peer ¡ — Neighborhood ¡is ¡updated ¡locally ¡in ¡response ¡to ¡peer ¡churn. ¡ 10 ¡

  11. Random ¡Peer ¡Pairing ¡Algorithm ¡ — (Law-­‑Siu ¡2003) ¡When ¡a ¡new ¡peer ¡arrives, ¡the ¡peer ¡ Independently ¡chooses ¡one ¡BLUE ¡edge ¡and ¡one ¡RED ¡edge ¡ 1. uniformly ¡at ¡random. ¡ (Using ¡a ¡tracker) ¡ Breaks ¡into ¡the ¡edges. ¡ 2. x ¡ 1 2 1 2 x ¡ o ¡ o ¡ o ¡ o ¡ 3 3 Blue ¡Layer ¡ Red ¡Layer ¡ 11 ¡

  12. Random ¡Peer ¡Pairing ¡Algorithm ¡ — When ¡a ¡new ¡peer ¡arrives, ¡the ¡peer ¡ Independently ¡chooses ¡one ¡BLUE ¡and ¡one ¡RED ¡edge ¡uniformly ¡ 1. at ¡random. ¡(Note: ¡needs ¡a ¡tracker) ¡ Breaks ¡into ¡the ¡edges. ¡ 2. x ¡ + ¡ 1 2 1 2 o ¡ x ¡ o ¡ o ¡ o ¡ 3 4 3 4 Blue ¡Layer ¡ Red ¡Layer ¡ 12 ¡

  13. Random ¡Peer ¡Pairing ¡Algorithm ¡ — When ¡an ¡exisFng ¡peer ¡leaves, ¡ ¡ — Its ¡parent ¡in ¡each ¡layer ¡contacts ¡its ¡child ¡directly. ¡ — They ¡repair ¡the ¡pairing. ¡ — Takes ¡advantange ¡of ¡peer ¡churn ¡ 1 x ¡ 2 1 2 x ¡ x ¡ x ¡ o ¡ o ¡ 4 3 4 3 Blue ¡Layer ¡ Red ¡Layer ¡ 13 ¡

  14. Equivalent ¡DescripFon ¡of ¡Layers ¡ — BLUE ¡and ¡RED ¡layers ¡are ¡cycles ¡with ¡independently ¡permuted ¡ orders ¡of ¡peers. ¡ ¡ 1 7 8 11 ¡ 5 9 3 1 3 ¡ 10 ¡ 11 ¡ 12 ¡ 2 5 6 ¡ 10 ¡ 7 ¡ 6 9 4 4 8 2 ¡ 12 ¡ Red ¡Layer ¡ ¡ Blue ¡Layer ¡ ¡ 14 ¡

  15. Next: ¡Chunk ¡DisseminaFon ¡ ¡ — Recall ¡that ¡mulFmedia ¡content ¡is ¡generated ¡in ¡the ¡form ¡of ¡ chunks ¡ ¡ — At ¡each ¡Fme ¡instant, ¡a ¡peer ¡has ¡a ¡subset ¡of ¡the ¡chunks ¡ generated ¡so ¡far. ¡It ¡has ¡to ¡make ¡two ¡decisions: ¡ — Neighbor ¡selecFon: ¡It ¡has ¡to ¡pick ¡a ¡neighbor ¡to ¡which ¡it ¡will ¡ upload ¡one ¡of ¡its ¡chunks ¡ — Chunk ¡SelecFon: ¡It ¡has ¡to ¡decide ¡which ¡chunk ¡to ¡upload ¡ — Chunk ¡DisseminaFon: ¡Neighbor ¡selecFon ¡+ ¡Chunk ¡selecFon ¡ 15 ¡

  16. Recall: ¡Maximum ¡Streaming ¡Rate ¡ — Each ¡peer ¡can ¡upload ¡ ¡one ¡chunk ¡per ¡Fme ¡slot ¡to ¡one ¡of ¡its ¡ neighbors ¡ ¡ — If ¡there ¡are ¡N ¡peers ¡in ¡the ¡network, ¡the ¡total ¡upload ¡capacity ¡is ¡ N ¡chunks ¡per ¡Fme ¡slot ¡ — This ¡upload ¡capacity ¡must ¡be ¡used ¡to ¡serve ¡N ¡peers. ¡So ¡max ¡ streaming ¡rate ¡possible ¡is ¡ ​𝑂/𝑂 =1 ¡ — We ¡will ¡first ¡present ¡an ¡algorithm ¡which ¡achieves ¡a ¡streaming ¡ rate ¡of ¡ ​ 1 / 2 . ¡ 16 ¡

  17. Chunk ¡DisseminaFon ¡Algorithm ¡ — One ¡chunk ¡arrives ¡at ¡the ¡source ¡during ¡every ¡two ¡Fmeslots ¡ — Arrival ¡rate ¡at ¡source ¡= ¡ ​ 1 / 2 ¡ ¡ 1 2 3 4 — Every ¡peer ¡(including ¡the ¡source) ¡alternates ¡between ¡ transmilng ¡over ¡the ¡BLUE ¡edge ¡and ¡ ¡the ¡RED ¡edge: ¡ — Transmits ¡ the ¡latest ¡chunk ¡over ¡the ¡selected ¡edge . ¡ 2 v ¡ 2 2 17 ¡

  18. Theorem ¡ Under ¡our ¡pairing ¡and ¡disseminaFon ¡algorithm: ¡ — Streaming ¡rate ¡= ¡ ​ 1 / 2 ¡ — Each ¡chunk ¡is ¡eventually ¡disseminated ¡to ¡all ¡peers. ¡ — 𝑃 ( ​ log ⁠ 𝑂 ) ¡delay ¡with ¡high ¡probability. ¡ ¡ — Each ¡chunk ¡is ¡disseminated ¡to ¡all ¡peers ¡within ¡ 𝑃 ( ​ log ⁠ 𝑂 ) ¡ Fmeslots ¡ ¡ 18 ¡

Recommend


More recommend