lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi...

22
Project Details Jiasi Chen CS 179i: Project in Computer Science (Networks) Lectures: Monday 3:10-4pm in Spieth 1307 http://www.cs.ucr.edu/~jiasi/teaching/cs179i_winter16/ 1

Transcript of lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi...

Page 1: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

ProjectDetailsJiasi Chen

CS179i:ProjectinComputer Science(Networks)Lectures:Monday3:10-4pminSpieth 1307

http://www.cs.ucr.edu/~jiasi/teaching/cs179i_winter16/

1

Page 2: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

Outline

• Virtualreality

• Videostreaming

• Downloadbooster

• Proposal

2

Page 3: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

VirtualRealityUsingCommodityHardware

3

Page 4: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

TwoDifferentPlatforms

• GoogleCardboard• $20cardboardviewertouseanysmartphone asaVRdisplay

• SamsungGearVR• OnlycertainSamsungphones (GalaxyS6,Note5)• Bettermotion-tracking, higherresolution screens• Passthrough-camera enabled

• Resources• CardboardAndroidAPI:https://developers.google.com/cardboard/android/• GearVRAndroiddevelopment: http://www.gearvrf.org/

4

Page 5: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

VirtualRealityProjectIdeas

• StreetView• Createavirtualtourofalocation

• Livestreaming• Streamthescene fromyourVRdevicetoanotheruser

• AugmentedrealitywiththeSamsungGearVR• Haspassthrough camera,butnotpowerfulenoughforaugmented reality[1]• Whatifsomeprocessing couldbeoffloadedtonearbydevices?

5

Page 6: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

MPEG-DASHVideoStreaming

6

Page 7: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

MPEG-DASHProtocol

• MPEG-DASH• APP-layerprotocolforadaptingvideoqualitytonetworkconditions

• Client-driven: clientestimates networkconditions andrequests appropriatevideoquality

• Standarddoesn’tspecifyadaptationalgorithm, justthecommunication protocolbetween clientandserver

• Whousesit?

7

time

rate network bandwidth

video rate

Page 8: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

ProjectGoal

• Currentapproaches• Numerousapproaches proposed inresearchliterature andinpractice• Needaapples-to-apples comparisonundercommonsetoftestconditions

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

8

Page 9: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

Server

ManifestFile Multiplebit-rate/resolutionvideosdivided

intomulti-second segments

HowDASHWorks

9

Clients

§ ClientsrequestanewvideosegmenteveryX seconds.§ Thebit-rateoftherequestedsegmentisbasedonthe

averageTCPthroughputoflastY segments.

HTTP

GET

VIDEOVIDEOVIDEO

Page 10: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

GeneralVideoRateAdaptationAlgorithm

1. Estimatebandwidth1. Updatebandwidthestimate ofith chunk,B[i]2. Basedonpreviousbandwidthestimates B[1],B[2],...,B[i],predictnew

bandwidthB[i+1]

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

3. Gotostep1

10

Page 11: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

CurrentApproach1:Bandwidth-based

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

• Problem:higherbitratesà higherbandwidth estimateà unfaircompetition betweenclients• Loweroverheadforhigherbitrates

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

• Compensate byrampingupquicklyforlowerbitrates,rampingupslowlyforhigherbitrates

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

current videobitrate

rateofincrease

Page 12: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

CurrentApproach2:Buffer-based

• Insteadystate,R=f(buffersize)

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

Page 13: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

CurrentApproach3:Bandwidth+Buffer-based• Lookintothefuture:makebandwidthpredictionsforthenextNtimeslots

• R=f(previousvideobitrate,bandwidthestimate,buffer)

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

• Markovdecisionprocesswithonlinetablelookup• Multi-criterionobjective

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

Page 14: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

DownloadBooster

14

Page 15: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

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

• SamsungintroducedDownloadBooster,butitgotblockedbymajorcarriers

• Multipath-TCPisanothermajorstandardizationefforttoenablemultiplenetworks

15

Page 16: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

ReviewofTCPThroughput

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

• rwnd =receivewindow(setbyreceiver)

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

16

time

cwnd

slow start congestion avoidance

IfACK received:cwnd ß cwnd +1/cwnd

Ifloss:cwnd ß cwnd/2

TCPcongestion avoidance:

Page 17: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

TransportandApplicationLayerApproaches

Transportlayer:multipath-TCP• MPTCPcongestion control+(default,roundrobin)scheduler

• Fine-grained scheduler control(operateonpackets)

Applicationlayer:HTTPproxy• TCPcongestioncontrol+yourscheduler

• Coarse-grained scheduler control(operateonchunks)

17

Client

Internet

Applica

tion

Virtualinterface

Remote server

Page 18: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

Multipath-TCP

• Congestioncontrol• Separatecongestionwindowforeachsubflow r

• Scheduler• Default:Sendpackets onthepipewiththelowestRTT• Round-robin:Mayleavespaceopenincongestionwindow

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

IfACK received:

cwndr ß cwndr +!"#%

&'()*+,,*

-

∑ /012*/* 455*-

Ifloss:cwnd ß cwnd/2

MPTCPdefault [1] Pareto-optimal [2]

IfACK received:

cwndr ß cwndr +/0126/4556-

∑ /012*/* 455*- +

89/0129

Ifloss:cwnd ß cwnd/2

Page 19: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

HTTPProxy

• Congestioncontrol• StandardTCPcongestioncontroloneachpipe

• Scheduler• Howtoschedule packets ontoeachpipe?Yourdesign!• E.g.,schedule packetsproportional toestimated bandwidth

19

IfACK received:cwnd ß cwnd +1/cwnd

Ifloss:cwnd ß cwnd/2

Page 20: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

Proposal

• 2-pagesummaryandplanofyourproject• Worth10%ofyourgrade

• Sections• Executivesummary• Comparisonagainstotherapproaches

• e.g.,startups,research papers,commercial products• Targetfeatures

• Milestone 0(oralprogressupdateon2/16/16)• Milestone 1

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

20

Page 21: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

Proposal

• Makesuretoaddress• Whatmakesyourprojectinteresting?Doesitfulfilsomeunmetneed?Whoisitusefulfor?

• Atleastonefigureshowingsystemdesign/architecture

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

• Ifyou’rechoosingyourownproject• Whyshouldsomeoneinvestinyour“startup”?

• Writtenfeedbackby1/22/1621

Page 22: lec2 project details - UCR Computer Science and Engineering · lec2_project_details Author: Jiasi Chen Created Date: 1/12/2016 12:25:41 AM ...

Conclusions

• Nextclass• Designtips

• Labthisweek• Workonyourproposal

• TodobynextMonday(1/18)• SubmitproposalviaiLearn by3:10pm(onepergroup)

22