a buffer based approach to rate adapta2on evidence from a
play

- PowerPoint PPT Presentation

A"Buffer(Based"Approach"to"Rate"Adapta2on:" Evidence"from"a"Large"Video"Streaming"Service" Te(Yuan"(TY)"Huang" Stanford"/"NeElix" Aug"19 th


  1. A"Buffer(Based"Approach"to"Rate"Adapta2on:" Evidence"from"a"Large"Video"Streaming"Service" Te(Yuan"(TY)"Huang" Stanford"/"NeElix" Aug"19 th ,"2014" " Joint"work"with"Nick"McKeown,"Ramesh"Johari," MaS"Trunnell,"and"Mark"Watson""

  2. Video"Streaming"Services"are"Popular" 8+"billion"hours"streamed"per"month"globally" Video"is"50+%"of"peak"traffic"in"the"US" Streaming"experience"could"be"beSer" 2"

  3. Problem"#1:"Too"many"rebuffers" Rebuffers( means"interrup2on" Defini2on:"A"rebuffer"is (unnecessary( if:" – Picking"a"lower"video"rate"would"have"avoided"it" 20"–"30%"of"rebuffers"are"unnecessary" 3"

  4. Problem"#2:"Video"rate"is"too"low" Video&rate& represents"video"quality" Video"rate"is" too&low& – When"network"could"sustain"a"higher"video"rate" 4"

  5. Picked"the"Wrong"Video"Rate" Problem"#1:"Unnecessary"Rebuffer" – The"chosen"video"rate"is"too"aggressive" – A"lower"rate"would"have"avoided"the"rebuffer" Problem"#2:"Low"Video"Rate" – The"chosen"video"rate"is"too"conserva2ve" – The"network"could"have"sustained"a"higher"rate" 5"

  6. How"is"the"Video"Rate"Picked?" File"1:" 1000" 1000" File"2:" 500" 500" 500" 500" Get"File"1"(1000kb/s)" CDN" The$Internet$ Playback" Client" Buffer" Rate" Simple"" Selec2on" HTTP"Servers" Video"at"1000kb/s" Logic" Adap.ve&Bit&Rate&(ABR)&& 6"

  7. How"is"the"Video"Rate"Picked?" Capacity" Ini2al" es2ma2on" Download" video"" Pick"a"rate" &"measure" rate" " Video"rate"for"the"next"video"chunk" 7"

  8. Highly"Varying"Capacity" 17"Mb/s"" 18000 Average Throughput over Each Chunk Download ~10%"session" 16000 14000 12000 34"2mes" 10000 (kb/s) 8000 6000 4000 500"Kb/s" 2000 0 0 500 1000 1500 2000 2500 Hard&to&es.mate&future&capacity& Time (s) 8"

  9. Capacity"Es2ma2on"is"Unreliable" Confused,(Timid,(and(Unstable:(Picking(a(Video(Streaming( Rate(is(Hard $$TY$Huang$et$al.$[ACM$IMC’12]$ Downton(Abbey(without(the(Hiccups:(BufferGBased(Rate( Adapta6on(for(HTTP(Video(Streaming( TY$Huang$et$al.$[ACM$ FhMN’12]$ Improving(Fairness,(Efficiency,(and(Stability(in(HTTPGbased(Adap6ve( Video(Streaming(with(FESTIVE(( J.$Jiang$et$al.$[ACM$CoNext’12]$ An(Experimental(Evalua6on(of(Rate(Adapta6on(Algorithms(in( Adap6ve(Streaming(over(HTTP?( S.$Akhshabi$et$al.$[ACM$MMSys’11]$ An(Experimental(Inves6ga6on(of(the(Akamai(Adap6ve(Video( 9" Streaming( L.D.$Ciccio$et$al.$[USAB’10]$

  10. What"can"we"do?" Can"we"avoid"es2ma2ng"capacity?" Yes,"most"of"the"2me!"" Capacity"es2ma2on"" can"be"avoided"in"steady(state" 90+%"of"a"typical"movie/TV"show" Pick"a"rate"as"a"func2on"of"buffer"occupancy"" 10"

  11. Avoid"Capacity"Es2ma2on"in"Steady(State" …" 50"" Start(Up" Steady(State" min" Build"up"some"idea"about"the"network" First"few"minutes"" No"idea"about"the"network" Informa2on"encoded"in"the"buffer"occupancy" Simple"es2ma2on"can"be"useful" Capacity"es2ma2on"can"be"avoided" 11"

  12. Key"Takeaway"from"Our"Results" Using"capacity"es2ma2on"in"steady(state"is"harmful" – 10–20%"rebuffers"is"unnecessary" Pick"a"video"rate"as"a"func2on"of"buffer"occupancy" in"steady(state" – Buffer"occupancy"encodes"informa2on"about" capacity"" Capacity"es2ma2on"can"be"useful"in"start(up" – Help"us"reach"the"steady"state"quickly" How"is"the"network"condi2on"encoded"in" the"occupancy"of"video"playback"buffer?" 12"

  13. The"rela2onship"between" """""""""""""""""""""""""""""""""and" Video&Rate& """"""""""""" Capacity ,"and" Video&Rate& Buffer ," Capacity "and" Video&Rate& 13"

  14. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& 14"

  15. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& 15"

  16. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& 16"

  17. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& 17"

  18. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& 18"

  19. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& 19"

  20. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& 20"

  21. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& >& Video"Rate" &&& ""Capacity" 21"

  22. The"rela2onship"between" Buffer ," Capacity "and" Video&Rate& Capacity"is"not"fully"u2lized!" Keeps"going"into"slow(start!" <& Video"Rate" &&& ""Capacity" 22"

  23. Natural"State"Variable:"Buffer"Occupancy" When"buffer"occupancy"is"decreasing" – We"can"not"sustain"the"current"video"rate" – Decrease"the"video"rate" When"buffer"occupancy"is"increasing" – We"can"stream"a"higher"video"rate" – Increase"the"video"rate" Pick"a"rate"as"a"func2on"of"buffer"occupancy" 23"

  24. Nice"Proper2es"of"Buffer(Based"Algorithm" Theorem"#1:"Avoid"unnecessary"rebuffers" – When"buffer"approaches"empty" – Request"R min"" – As"long"as"Capacity">"R min" – Buffer"will"grow" Theorem"#2:"Maximize"video"rate" – When"buffer"approaches"full" Encoding&scheme& – Request"R max" Available&video&rates& – As"long"as"Capacity"<"R max" Chunk&size& – Buffer"will"not"be"filled" – Fully"u2lize"the"capacity" 24"

  25. Pick"a"Video"Rate"as"a"" Func2on"of"Buffer"Occupancy"" Maximize"Video"Rate"" R max" Video"Rate" Selected" (1)&Increasing&from&R min& R min" (2)&Eventually&reaches&R max && Avoid"" High" Low" Full" Unnecessary" Buffer"Occupancy" Rebuffer" 25"

  26. Pick"a"Video"Rate"as"a"" Func2on"of"Buffer"Occupancy"" R max" Video"Rate" Selected" R min" High" Low" Full" Buffer"Occupancy" 26"

  27. The"Buffer(Based"ABR"Algorithm" …" 50"" Start(Up" Steady(State" min" Pick"a"rate"as"a"func2on" buffer&occupancy& Buffer"is"s2ll"growing"from"empty" Pick"a"rate"based"on"the"" immediate&past&throughput& 27"

Recommend


More recommend