General list for discussing Bufferbloat
 help / color / mirror / Atom feed
* [Bloat] Steam's distribution service - exceeding inbound policiers and bufferbloat
       [not found] ` <CABQZMoKF3pa_HN3EmGxuk44BmOobN0dAbg+uyMm9vkMHoyYWyA@mail.gmail.com>
@ 2017-04-07  2:47   ` cloneman
  2017-05-21 12:49     ` Benjamin Cronce
  0 siblings, 1 reply; 4+ messages in thread
From: cloneman @ 2017-04-07  2:47 UTC (permalink / raw)
  To: bloat

[-- Attachment #1: Type: text/plain, Size: 1446 bytes --]

Hi,

Appologies in advance if this is the wrong place to ask, I haven't been
able to locate an official discussion board.

I'm looking for any comments on Steam's game distribution download system -
specifically how it defeats any bufferbloat mitigation system I've used.

It seems to push past inbound policers, exceeding them by about 40%. That
is to say, if you police steam traffic to half of your line rate, enough
capacity will remain to avoid packet loss, latency, jitter etc. Obviously
this is too much bandwidth to reserve.

Without any inbound control, you can expect very heavy packet loss and
jitter. With fq_codel or sfq and taking the usual recommended 15% off the
table, you get improved, but still unacceptable performance in your small
flows / ping etc.

The behavior can be observed by downloading any free game on their
platform. I'm trying to figure out how they've accomplished this and how to
mitigate this behavior. It operates with 20 http connections
simultaneously, which is normally not an issue (multiple web downloads
 perform well under fq_codel)

Note: in my testing cable and vdsl below 100mbit were vulnerable to this
behavior, while fiber was immune.

Basically there are edge cases on the internet that like to push too many
bytes down a line that is dropping or delaying packets. I would like to see
more discussion on this issue.

I haven't tried tweaking any of the parameters / latency targets in
fq_codel.

[-- Attachment #2: Type: text/html, Size: 1909 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bloat] Steam's distribution service - exceeding inbound policiers and bufferbloat
  2017-04-07  2:47   ` [Bloat] Steam's distribution service - exceeding inbound policiers and bufferbloat cloneman
@ 2017-05-21 12:49     ` Benjamin Cronce
  2017-05-21 13:08       ` cloneman
  0 siblings, 1 reply; 4+ messages in thread
From: Benjamin Cronce @ 2017-05-21 12:49 UTC (permalink / raw)
  To: cloneman; +Cc: bloat

[-- Attachment #1: Type: text/plain, Size: 2036 bytes --]

All current TCP implementations have a minimum window size of two segments.
If you have 20 open connections, then the minimum bandwidth TCP will
attempt to consume is (2 segments * 20 connection)/latency. If you have
very low latency relative to your bandwidth, the sender will not respond to
congestion.

On Thu, Apr 6, 2017 at 9:47 PM, cloneman <cloneman@gmail.com> wrote:

> Hi,
>
> Appologies in advance if this is the wrong place to ask, I haven't been
> able to locate an official discussion board.
>
> I'm looking for any comments on Steam's game distribution download system
> - specifically how it defeats any bufferbloat mitigation system I've used.
>
> It seems to push past inbound policers, exceeding them by about 40%. That
> is to say, if you police steam traffic to half of your line rate, enough
> capacity will remain to avoid packet loss, latency, jitter etc. Obviously
> this is too much bandwidth to reserve.
>
> Without any inbound control, you can expect very heavy packet loss and
> jitter. With fq_codel or sfq and taking the usual recommended 15% off the
> table, you get improved, but still unacceptable performance in your small
> flows / ping etc.
>
> The behavior can be observed by downloading any free game on their
> platform. I'm trying to figure out how they've accomplished this and how to
> mitigate this behavior. It operates with 20 http connections
> simultaneously, which is normally not an issue (multiple web downloads
>  perform well under fq_codel)
>
> Note: in my testing cable and vdsl below 100mbit were vulnerable to this
> behavior, while fiber was immune.
>
> Basically there are edge cases on the internet that like to push too many
> bytes down a line that is dropping or delaying packets. I would like to see
> more discussion on this issue.
>
> I haven't tried tweaking any of the parameters / latency targets in
> fq_codel.
>
>
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
>
>

[-- Attachment #2: Type: text/html, Size: 2897 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bloat] Steam's distribution service - exceeding inbound policiers and bufferbloat
  2017-05-21 12:49     ` Benjamin Cronce
@ 2017-05-21 13:08       ` cloneman
  2017-05-21 14:04         ` Benjamin Cronce
  0 siblings, 1 reply; 4+ messages in thread
From: cloneman @ 2017-05-21 13:08 UTC (permalink / raw)
  To: Benjamin Cronce; +Cc: bloat

[-- Attachment #1: Type: text/plain, Size: 2274 bytes --]

thanks for the info. This is a possibility, as I have 5ms latency to their
servers with 50mbit of bandwidth.

On May 21, 2017 8:49 AM, "Benjamin Cronce" <bcronce@gmail.com> wrote:

> All current TCP implementations have a minimum window size of two
> segments. If you have 20 open connections, then the minimum bandwidth TCP
> will attempt to consume is (2 segments * 20 connection)/latency. If you
> have very low latency relative to your bandwidth, the sender will not
> respond to congestion.
>
> On Thu, Apr 6, 2017 at 9:47 PM, cloneman <cloneman@gmail.com> wrote:
>
>> Hi,
>>
>> Appologies in advance if this is the wrong place to ask, I haven't been
>> able to locate an official discussion board.
>>
>> I'm looking for any comments on Steam's game distribution download system
>> - specifically how it defeats any bufferbloat mitigation system I've used.
>>
>> It seems to push past inbound policers, exceeding them by about 40%. That
>> is to say, if you police steam traffic to half of your line rate, enough
>> capacity will remain to avoid packet loss, latency, jitter etc. Obviously
>> this is too much bandwidth to reserve.
>>
>> Without any inbound control, you can expect very heavy packet loss and
>> jitter. With fq_codel or sfq and taking the usual recommended 15% off the
>> table, you get improved, but still unacceptable performance in your small
>> flows / ping etc.
>>
>> The behavior can be observed by downloading any free game on their
>> platform. I'm trying to figure out how they've accomplished this and how to
>> mitigate this behavior. It operates with 20 http connections
>> simultaneously, which is normally not an issue (multiple web downloads
>>  perform well under fq_codel)
>>
>> Note: in my testing cable and vdsl below 100mbit were vulnerable to this
>> behavior, while fiber was immune.
>>
>> Basically there are edge cases on the internet that like to push too many
>> bytes down a line that is dropping or delaying packets. I would like to see
>> more discussion on this issue.
>>
>> I haven't tried tweaking any of the parameters / latency targets in
>> fq_codel.
>>
>>
>> _______________________________________________
>> Bloat mailing list
>> Bloat@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/bloat
>>
>>
>

[-- Attachment #2: Type: text/html, Size: 3373 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bloat] Steam's distribution service - exceeding inbound policiers and bufferbloat
  2017-05-21 13:08       ` cloneman
@ 2017-05-21 14:04         ` Benjamin Cronce
  0 siblings, 0 replies; 4+ messages in thread
From: Benjamin Cronce @ 2017-05-21 14:04 UTC (permalink / raw)
  To: cloneman; +Cc: bloat

[-- Attachment #1: Type: text/plain, Size: 2484 bytes --]

(1500 segment*2)/5ms=4.8Mb/sec minimum per connection. 20 connections is
96Mb/sec

On May 21, 2017 8:08 AM, "cloneman" <cloneman@gmail.com> wrote:

> thanks for the info. This is a possibility, as I have 5ms latency to their
> servers with 50mbit of bandwidth.
>
> On May 21, 2017 8:49 AM, "Benjamin Cronce" <bcronce@gmail.com> wrote:
>
>> All current TCP implementations have a minimum window size of two
>> segments. If you have 20 open connections, then the minimum bandwidth TCP
>> will attempt to consume is (2 segments * 20 connection)/latency. If you
>> have very low latency relative to your bandwidth, the sender will not
>> respond to congestion.
>>
>> On Thu, Apr 6, 2017 at 9:47 PM, cloneman <cloneman@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> Appologies in advance if this is the wrong place to ask, I haven't been
>>> able to locate an official discussion board.
>>>
>>> I'm looking for any comments on Steam's game distribution download
>>> system - specifically how it defeats any bufferbloat mitigation system I've
>>> used.
>>>
>>> It seems to push past inbound policers, exceeding them by about 40%.
>>> That is to say, if you police steam traffic to half of your line rate,
>>> enough capacity will remain to avoid packet loss, latency, jitter etc.
>>> Obviously this is too much bandwidth to reserve.
>>>
>>> Without any inbound control, you can expect very heavy packet loss and
>>> jitter. With fq_codel or sfq and taking the usual recommended 15% off the
>>> table, you get improved, but still unacceptable performance in your small
>>> flows / ping etc.
>>>
>>> The behavior can be observed by downloading any free game on their
>>> platform. I'm trying to figure out how they've accomplished this and how to
>>> mitigate this behavior. It operates with 20 http connections
>>> simultaneously, which is normally not an issue (multiple web downloads
>>>  perform well under fq_codel)
>>>
>>> Note: in my testing cable and vdsl below 100mbit were vulnerable to this
>>> behavior, while fiber was immune.
>>>
>>> Basically there are edge cases on the internet that like to push too
>>> many bytes down a line that is dropping or delaying packets. I would like
>>> to see more discussion on this issue.
>>>
>>> I haven't tried tweaking any of the parameters / latency targets in
>>> fq_codel.
>>>
>>>
>>> _______________________________________________
>>> Bloat mailing list
>>> Bloat@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/bloat
>>>
>>>
>>

[-- Attachment #2: Type: text/html, Size: 3817 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-05-21 14:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CABQZMo+5QNS5CiZF3+rhx8vTaHvzOS-Ftx6uuyVcEO9cwLYgPg@mail.gmail.com>
     [not found] ` <CABQZMoKF3pa_HN3EmGxuk44BmOobN0dAbg+uyMm9vkMHoyYWyA@mail.gmail.com>
2017-04-07  2:47   ` [Bloat] Steam's distribution service - exceeding inbound policiers and bufferbloat cloneman
2017-05-21 12:49     ` Benjamin Cronce
2017-05-21 13:08       ` cloneman
2017-05-21 14:04         ` Benjamin Cronce

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox