View
1.184
Download
1
Category
Tags:
Preview:
DESCRIPTION
Stefan Holmer, Google Var uppkommer latency på internet och vilka effekter leder det till? Hur kan framtidens internet lösa problemet? Vad kan man som applikationsutvecklare göra för att förbättra situationen?
Citation preview
Are you feeling buffer bloated?Stefan Holmer
Google Confidential and Proprietary
App performs poorly for some users
● Simple tasks are taking seconds to perform:○ Downloading a web page○ Sending a message○ DNS queries are timing out
● Interactivity is completely broken:○ Calling doesn't work due to talking over
each other○ Gaming gets frustrating
Google Confidential and Proprietary
Turns out...
● ...someone is streaming a movie or downloading a big file.
● ...not necessarily in your home.
● ...it's not necessarily lack of bandwidth.
Google Confidential and Proprietary
Taking a Step Back - TCP
Loss based○ Wants to keep increasing the bitrate (cwnd) until a packet is lost.○ Typically happens when a packet buffer is full.
(from Ilya Grigorik's High Performance Browser Networking)
Google Confidential and Proprietary
TCP - Roughly Fair
Google Confidential and Proprietary
Effects of a Long TCP Transfer
(Jim Gettys' measurements)
Google Confidential and Proprietary
Effects of a Long TCP Transfer
(Jim Gettys' measurements)
Google Confidential and Proprietary
Bufferbloat
● In the early days, buffers were reasonably sized.● TCP got feedback early when the link was over-used.● Packet loss = bad connection...
Queue length
Google Confidential and Proprietary
Bufferbloat
● Memory cheaper and cheaper.● Bigger buffers are added to avoid losing packets.● TCP needs those losses!
Google Confidential and Proprietary
Slow-start will really be slow
(from, Ilya Grigorik's blog, igvita.com)
Google Confidential and Proprietary
What can we do?
● In applications, mostly nothing.This is something others do to you!○ Avoid big TCP transfers when
interaction is needed.○ Limit background traffic.
● Must be solved:○ in the network.○ or in every endpoint.
● Notify people when possible.
Google Confidential and Proprietary
Check your home connection
● Try Netalyzr.
● Measures the quality of your connection in terms of:○ Blocked ports○ Throughput○ Queue sizes/bufferbloat
Google Confidential and Proprietary
What is being done?
● Improving the networks.○ Lots of research on new Active Queue Management techniques
■ CoDel, PIE○ Drop packets earlier when possible to keep the bloat low.○ Being built into home routers and Linux.
● Improving endpoints.○ Better delay-sensing congestion control.○ uTorrent - LEDBAT○ VoIP services, such as Hangouts - RMCAT
Recommended