lec2 project details - ucr computer science and...

24
Project Details Jiasi Chen Lectures: Monday 1:10-2pm in Sproul 2343 TA: Ryan Holt Lab: Tuesday 7-10pm in Chung 133 http://www.cs.ucr.edu/~rholt002/cs179i_winter17/ 1

Upload: others

Post on 06-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • ProjectDetailsJiasi Chen

    Lectures:Monday1:10-2pminSproul2343TA:RyanHolt

    Lab:Tuesday7-10pminChung133

    http://www.cs.ucr.edu/~rholt002/cs179i_winter17/1

  • Outline

    • Virtualreality

    • Videostreaming

    • Downloadbooster

    • Proposal

    2

  • VirtualReality

    3

  • AvailablePlatforms• GoogleCardboard

    • $20cardboardviewertouseanyAndroidphoneasaVRdisplay

    • SamsungGearVR• OnlycertainSamsungphones(GalaxyS7,GalaxyS6,Note5)• Bettermotion-tracking,higherresolutionscreens

    • GoogleDaydream• Onlycertainphones(GooglePixel,MotoZ,ASUSZenfone,HuaweiMate,ZTEAxon)

    • Bluetoothcontroller

    4

  • AvailablePlatforms

    • HTCVive• Accuratemotiontrackingwithroomcameras

    • OculusRift• Xboxcontroller• OculusTouchcontrollers

    • 360cameras• 6GoPros onamount• AdobePremiereProandKolor Autopano

    5

  • HowtoProgram?

    • Unity(GUI+C#)orAndroidStudio(Java)• NeedappropriateSDK(Oculus,Android,Daydream)

    6

  • MPEG-DASHVideoStreaming

    7

  • MPEG-DASHProtocol

    • MPEG-DASH• APP-layerprotocolforadaptingvideoqualitytonetworkconditions• Client-driven:clientestimatesnetworkconditionsandrequestsappropriatevideoquality• Standarddoesn’tspecifyadaptationalgorithm,justthecommunicationprotocolbetweenclientandserver

    • Whousesit?

    8

    time

    rate networkbandwidth

    videorate

  • ProjectGoal

    • Currentapproaches• Numerousapproachesproposedinresearchliteratureandinpractice• Needaapples-to-applescomparisonundercommonsetoftestconditions

    • Resources• MPEG-DASHvideoplayer:https://github.com/Dash-Industry-Forum/dash.js/wiki

    9

  • Server

    ManifestFile Multiplebit-rate/resolutionvideosdivided

    intomulti-secondsegments

    HowDASHWorks

    10

    Clients

    § ClientsrequestanewvideosegmenteveryX seconds.§ Thebit-rateoftherequestedsegmentisbasedonthe

    averageTCPthroughputoflastY segments.

    HTTP

    GET

    VIDEOVIDEOVIDEO

  • GeneralVideoRateAdaptationAlgorithm

    1. Estimatebandwidth1. Updatebandwidthestimateofith chunk,B[t]2. BasedonpreviousbandwidthestimatesB[1],B[2],...,B[t],predictnew

    bandwidthB[t+1]

    2. Makenewvideorateselection1. PickthenewvideorateR=f(videobitrate,networkbandwidth,buffersize)2. t++

    3. Gotostep1

    11

  • CurrentApproach1:Bandwidth-based

    • Defaultapproach:R[t+1]=max{r:r<B[t+1]}

    • Problem:higherbitratesà higherbandwidthestimateà unfaircompetitionbetweenclients• Loweroverheadforhigherbitrates

    • R[t+1]=f(previousvideobitrate,bandwidthestimate)=f(R[t],B[t+1])

    • Compensatebyrampingupquicklyforlowerbitrates,rampingupslowlyforhigherbitrates

    12Reference:http://conferences.sigcomm.org/co-next/2012/eproceedings/conext/p97.pdf

    currentvideobitrate

    rateofincrease

  • CurrentApproach2:Buffer-based

    • Insteadystate,R=f(buffersize)

    13Reference:http://yuba.stanford.edu/~nickm/papers/sigcomm2014-video.pdf

  • CurrentApproach3:Bandwidth+Buffer-based• Lookintothefuture:makebandwidthpredictionsforthenextNtimeslots

    • R[t+1]=f(previousvideobitrate,bandwidthestimate,buffer)

    =f(R[t],B[t],…,B[t+N],buffersize)

    • Markovdecisionprocesswithonlinetablelookup• Multi-criterionobjective

    14Reference:http://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p325.pdf

  • DownloadBooster

    15

  • DownloadBooster• Wanttospeedupdownloadsoflargefilesbyusingmultipleinterfacessimultaneously(e.g.,WiFi,4G,Ethernet)

    • SamsungintroducedDownloadBooster,butitgotblockedbymajorcarriers

    • Multipath-TCPisanothermajorstandardizationefforttoenablemultiplenetworks

    16

  • ReviewofTCPThroughput

    • Controltransmissionratebysettingwindowsize• Windowsize=min{cwnd,rwnd}• cwnd =congestionwindow(setbysender)• rwnd =receivewindow(setbyreceiver)

    • Scheduler(multiplenetworksonly)• If#ofpkts tosend<windowsize,whichpipeshouldIsendthepkts on?

    17

    time

    cwnd

    slowstart congestionavoidance

    IfACKreceived:cwndß cwnd +1/cwnd

    Ifloss:cwndß cwnd/2

    TCPcongestionavoidance:

  • TransportandApplicationLayerApproaches

    Transportlayer:multipath-TCP• MPTCPcongestioncontrol+(default,roundrobin)scheduler• Corse-grainedschedulercontrol(operateonpackets)

    Applicationlayer:HTTPproxy• TCPcongestioncontrol+yourscheduler• Fine-grainedschedulercontrol(operateonbytes)

    18

    Client

    Internet

    Application

    Virtualinterface

    Remoteserver

  • Multipath-TCP

    • Congestioncontrol• Separatecongestionwindowforeachsubflow r

    • Scheduler• Default:SendpacketsonthepipewiththelowestRTT• Round-robin:Mayleavespaceopenincongestionwindow

    19

    [1]https://www.eecs.berkeley.edu/~sylvia/cs268-2014/papers/mptcp.pdf[2]http://conferences.sigcomm.org/co-next/2012/eproceedings/conext/p1.pdf

    IfACKreceived:

    cwndr ß cwndr +!"#%

    &'()*+,,*

    -

    ∑ /012*/�* 566*-

    Ifloss:cwndß cwnd/2

    MPTCPdefault[1] Pareto-optimal[2]

    IfACKreceived:

    cwndr ß cwndr +/0127/5667-

    ∑ /012*/�* 566*- +

    9:/012:

    Ifloss:cwndß cwnd/2

  • HTTPProxy

    • Congestioncontrol• StandardTCPcongestioncontroloneachpipe

    • Scheduler• Howtoschedulepacketsontoeachpipe?Yourdesign!• E.g.,schedulepacketsproportionaltoestimatedbandwidth

    20

    IfACKreceived:cwndß cwnd +1/cwnd

    Ifloss:cwndß cwnd/2

  • ExampleProjectsfromPreviousYears

    • Convertfirst-person-shootervideogameonPCtodisplayinVR• “Zombietag”appusingNFConphones• WebsiteforsynchronizedvideowatchingonYouTube

    21

  • Proposal

    • 1-pagesummaryandplanofyourproject• DuenextMonday• Worth10%ofyourgrade• FeelfreetocometoofficehoursonThursday2-4pm

    • Sections• Executivesummary• Comparisonagainstwhatothershavedone

    • e.g.,startups,researchpapers,commercialproducts• Targetfeatures

    • Milestone0(oralprogressupdatemid-quarter)• Milestone1

    • Methodology(e.g.,tools,programminglanguages)• Evaluation(e.g.,testbed,metrics)

    22

  • Proposal

    • Makesuretoaddress• Whatmakesyourprojectinteresting?Doesitfulfilsomeunmetneed?Whoisitusefulfor?

    • Atleastonefigureshowingsystemdesign/architecture

    • Ifyou’rechoosinganexistingproject(MPEG-DASHorMPTCP)• Readthereferences,comparethem,anddiscusswhatyouexpecttofind/improve

    • Ifyou’rechoosingyourownproject• Whyshouldsomeoneinvestinyour“startup”?

    • Writtenfeedbackgiven1weeklater23

  • ComingUp…

    • Labthisweek• Workonyourproposal

    • TodobynextMonday(1/30)• SubmitproposalviaiLearn by1:10pm(onepergroup)

    24