Joohwan ¡Kim ¡and ¡R. ¡Srikant ¡ ¡ Dept. ¡of ¡Electrical ¡and ¡Computer ¡Engineering ¡and ¡ ¡ Coordinated ¡Science ¡Lab ¡ University ¡of ¡Illinois ¡at ¡Urbana-‑Champaign ¡ 1 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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 ¡
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