From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oa0-f46.google.com (mail-oa0-f46.google.com [209.85.219.46]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 731D420019F for ; Thu, 28 Feb 2013 12:03:08 -0800 (PST) Received: by mail-oa0-f46.google.com with SMTP id k1so4370406oag.5 for ; Thu, 28 Feb 2013 12:03:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=tHlHFKhVj0Xz9lyVL/Uu95ois91qJwTBNSa5UtbgYYk=; b=lyifSkBb2XP8dpDQ3qQg2BBuFiotD5GHhWIlpU7NKJ8s5N4B2f62PGiCLNE5C9k7Ry 3NBc3P+W5TOMl+TbjTpth62syOYUcMnYOF8L7Bmrpn7yELBsu0g42i7VZ4BYxSXa6yD9 AnYb0M/xz+9UE0j+y9KNF2Z7hhxYzPbPz4BH6NPf0QW92CcVBQM2cXDlu3CO/d8FHMQB Y3PVHGpPAekBJ9PnX7xQLorRumPP8ZR7n6Mm5QisjdOJSzLYo+PCzcmhYe8HBPaywayx RhmHqv61LI0+IkeiDspPGOEAHFa5Go9MFoVHL/d8cU2W0rK6QRUklfUV5bLYTvv/iWNU LLBQ== MIME-Version: 1.0 X-Received: by 10.60.22.233 with SMTP id h9mr6511766oef.47.1362081787547; Thu, 28 Feb 2013 12:03:07 -0800 (PST) Sender: gettysjim@gmail.com Received: by 10.76.22.193 with HTTP; Thu, 28 Feb 2013 12:03:07 -0800 (PST) In-Reply-To: References: <1362077845.101114942@apps.rackspace.com> Date: Thu, 28 Feb 2013 15:03:07 -0500 X-Google-Sender-Auth: ifCrUslq8h8aJK_-q4RlT0u1zpM Message-ID: From: Jim Gettys To: Dave Taht Content-Type: multipart/alternative; boundary=e89a8fb201601a17d604d6ce6192 Cc: "cerowrt-devel@lists.bufferbloat.net" Subject: Re: [Cerowrt-devel] Google working on experimental 3.8 Linux kernel for Android X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 28 Feb 2013 20:03:08 -0000 --e89a8fb201601a17d604d6ce6192 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable I've got a bit more insight into LTE than I did in the past, courtesy of the last couple days. To begin with, LTE runs with several classes of service (the call them bearers). Your VOIP traffic goes into one of them. And I think there is another as well that is for guaranteed bit rate traffic. One transmit opportunity may have a bunch of chunks of data, and that data may be destined for more than one device (IIRC). It's substantially different than WiFi. But most of what we think of as Internet stuff (web surfing, dns, etc) all gets dumped into a single best effort ("BE"), class. The BE class is definitely badly bloated; I can't say how much because I don't really know yet; the test my colleague ran wasn't run long enough to be confident it filled the buffers). But I will say worse than most cable modems I've seen. I expect this will be true to different degrees on different hardware. The other traffic classes haven't been tested yet for bufferbloat, though I suspect they will have it too. I was told that those classes have much shorter queues, and when the grow, they dump the whole queues (because delivering late real time traffic is useless). But trust *and* verify.... Verification hasn't been done for anything but BE traffic, and that hasn't been quantified. But each device gets a "fair" shot at bandwidth in the cell (or sector of a cell; they run 3 radios in each cell), where fair is basically time based; if you are at the edge of a cell, you'll get a lot less bandwidth than someone near a tower; and this fairness is guaranteed by a scheduler than runs in the base station (called a b-nodeb, IIIRC). So the base station guarantees some sort of "fairness" between devices (a place where Linux's wifi stack today fails utterly, since there is a single queue per device, rather than one per station). Whether there are bloat problems at the link level in LTE due to error correction I don't know yet; but it wouldn't surprise me; I know there was in 3g. The people I talked to this morning aren't familiar with the HARQ layer in the system. The base stations are complicated beasts; they have both a linux system in them as well as a real time operating system based device inside We don't know where the bottle neck(s) are yet. I spent lunch upping their paranoia and getting them through some conceptual hurdles (e.g. multiple bottlenecks that may move, and the like). They will try to get me some of the data so I can help them figure it out. I don't know if the data flow goes through the linux system in the bnodeb or not, for example. Most carriers are now trying to ensure that their backhauls from the base station are never congested, though that is another known source of problems. And then there is the lack of AQM at peering point routers.... You'd think they might run WRED there, but many/most do not. - Jim On Thu, Feb 28, 2013 at 2:08 PM, Dave Taht wrote: > > > On Thu, Feb 28, 2013 at 1:57 PM, wrote: > >> Doesn't fq_codel need an estimate of link capacity? >> > > No, it just measures delay. Since so far as I know the outgoing portion o= f > LTE is not soft-rate limited, but sensitive to the actual available link > bandwidth, fq_codel should work pretty good (if the underlying interfaces > weren't horribly overbuffired) in that direction. > > I'm looking forward to some measurements of actual buffering at the devic= e > driver/device levels. > > I don't know how inbound to the handset is managed via LTE. > > Still quite a few assumptions left to smash in the above. > > ... > > in the home router case.... > > ... > > When there are artificial rate limits in play (in, for example, a cable > modem/CMTS, hooked up via gigE yet rate limiting to 24up/4mbit down), the= n > a rate limiter (tbf,htb,hfsc) needs to be applied locally to move that ra= te > limiter/queue management into the local device, se we can manage it bette= r. > > I'd like to be rid of the need to use htb and come up with a rate limiter > that could be adjusted dynamically from a daemon in userspace, probing fo= r > short all bandwidth fluctuations while monitoring the load. It needent se= nd > that much data very often, to come up with a stable result.... > > You've described one soft-rate sensing scheme (piggybacking on TCP), and > I've thought up a few others, that could feed back from a daemon some > samples into a a soft(er) rate limiter that would keep control of the > queues in the home router. I am thinking it's going to take way too long = to > fix the CPE and far easier to fix the home router via this method, and > certainly it's too painful and inaccurate to merely measure the bandwidth > once, then set a hard rate, when > > So far as I know the gargoyle project was experimenting with this > approach. > > A problem is in places that connect more than one device to the cable > modem... then you end up with those needing to communicate their percepti= on > of the actual bandwidth beyond the link. > > Where will it get that from the 4G or 3G uplink? >> >> >> >> -----Original Message----- >> From: "Maciej Soltysiak" >> Sent: Thursday, February 28, 2013 1:03pm >> To: cerowrt-devel@lists.bufferbloat.net >> Subject: [Cerowrt-devel] Google working on experimental 3.8 Linux kernel >> for Android >> >> Hiya, >> Looks like Google's experimenting with 3.8 for Android: >> https://android.googlesource.com/kernel/common/+/experimental/android-3.= 8 >> Sounds great if this means they will utilize fq_codel, TFO, BQL, etc. >> Anyway my nexus 7 says it has 3.1.10 and this 3.8 will probably go to >> Android 5.0 so I hope Nexus 7 will get it too some day or at least 3.3+ >> Phoronix coverage: >> http://www.phoronix.com/scan.php?page=3Dnews_item&px=3DMTMxMzc >> Their 3.8 changelog: >> https://android.googlesource.com/kernel/common/+log/experimental/android= -3.8 >> Regards, >> Maciej >> >> _______________________________________________ >> Cerowrt-devel mailing list >> Cerowrt-devel@lists.bufferbloat.net >> https://lists.bufferbloat.net/listinfo/cerowrt-devel >> >> > > > -- > Dave T=E4ht > > Fixing bufferbloat with cerowrt: > http://www.teklibre.com/cerowrt/subscribe.html > _______________________________________________ > Cerowrt-devel mailing list > Cerowrt-devel@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cerowrt-devel > > --e89a8fb201601a17d604d6ce6192 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
I've got a bit more insight into LTE than I did in the= past, courtesy of the last couple days.

To begin = with, LTE runs with several classes of service (the call them bearers). =A0= Your VOIP traffic goes into one of them.
And I think there is another as well that is for guaranteed bit = rate traffic. =A0One transmit opportunity may have a bunch of chunks of dat= a, and that data may be destined for more than one device (IIRC). =A0It'= ;s substantially different than WiFi.

But most of what we think of as Internet st= uff (web surfing, dns, etc) all gets dumped into a single best effort (&quo= t;BE"), class.

The BE class is=A0= definitely=A0badly bloated; I can't say how much because I don't re= ally know yet; the test my colleague ran wasn't run long enough to be c= onfident it filled the buffers). =A0But I will say worse than most cable mo= dems I've seen. =A0I expect this will be true to different degrees on d= ifferent hardware. =A0The other traffic classes haven't been tested yet= for bufferbloat, though I suspect they will have it too. =A0I was told tha= t those classes have much shorter queues, and when the grow, they dump the = whole queues (because delivering late real time traffic is useless). =A0But= trust *and* verify.... =A0Verification hasn't been done for anything b= ut BE traffic, and that hasn't been quantified.

But each device gets a "fair" sho= t at bandwidth in the cell (or sector of a cell; they run 3 radios in each = cell), where fair is basically time based; if you are at the edge of a cell= , you'll get a lot less bandwidth than someone near a tower; and this f= airness is guaranteed by a scheduler than runs in the base station (called = a b-nodeb, IIIRC). =A0So the base station guarantees some sort of "fai= rness" between devices (a place where Linux's wifi stack today fai= ls utterly, since there is a single queue per device, rather than one per s= tation).

Whether there are bloat problems at the lin= k level in LTE due to error correction I don't know yet; but it wouldn&= #39;t surprise me; I know there was in 3g. =A0The people I talked to this m= orning aren't familiar with the HARQ layer in the system.

The base stations are complicated beasts; t= hey have both a linux system in them as well as a real time operating syste= m based device inside =A0We don't know where the bottle neck(s) are yet= . =A0I spent lunch upping their paranoia and getting them through some conc= eptual hurdles (e.g. multiple bottlenecks that may move, and the like). =A0= They will try to get me some of the data so I can help them figure it out. = =A0I don't know if the data flow goes through the linux system in the b= nodeb or not, for example.

Most carriers are now trying to ensure that= their backhauls from the base station are never congested, though that is = another known source of problems. =A0And then there is the lack of AQM at p= eering point routers.... =A0You'd think they might run WRED there, but = many/most do not.
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0- Jim





On Thu, Feb 28, 2013 at= 2:08 PM, Dave Taht <dave.taht@gmail.com> wrote:


On Thu, Feb 28, 2013 at 1:57 PM, <dpreed@reed.com> w= rote:

Doesn't = fq_codel need an estimate of link capacity?=A0


No, it just measures delay. Since so far as I know th= e outgoing portion of LTE is not soft-rate limited, but sensitive to the ac= tual available link bandwidth, fq_codel should work pretty good (if the und= erlying interfaces weren't horribly overbuffired) in that direction.

I'm looking forward to some measurements of actual = buffering at the device driver/device levels.

I do= n't know how inbound to the handset is managed via LTE.

Still quite a few assumptions left to smash in the above.
<= div>
...

in the home router case....=

...

When there are artif= icial rate limits in play (in, for example, a cable modem/CMTS, hooked up v= ia gigE yet rate limiting to 24up/4mbit down), then a rate limiter (tbf,htb= ,hfsc) needs to be applied locally to move that rate limiter/queue manageme= nt into the local device, se we can manage it better.

I'd like to be rid of the need to use htb and come = up with a rate limiter that could be adjusted dynamically from a daemon in = userspace, probing for short all bandwidth fluctuations while monitoring th= e load. It needent send that much data very often, to come up with a stable= result....

You've described one soft-rate sensing scheme (pigg= ybacking on TCP), and I've thought up a few others, that could feed bac= k from a daemon some samples into a a soft(er) rate limiter that would keep= control of the queues in the home router. I am thinking it's going to = take way too long to fix the CPE and far easier to fix the home router via = this method, and certainly it's too painful and inaccurate to merely me= asure the bandwidth once, then set a hard rate, when=A0

So far as I know the gargoyle project was experimenting= with this approach.=A0
=A0
A problem is in places that= connect more than one device to the cable modem... then you end up with th= ose needing to communicate their perception of the actual bandwidth beyond = the link.=A0

Where will it get = that from the 4G or 3G uplink?

=A0

-----Original Message-----
From: "M= aciej Soltysiak" <maciej@soltysiak.com>
Sent: Thursday, February 28, 2013 = 1:03pm
To: cerowrt-devel@lists.bufferbloat.net
Subject: [Cerowrt-devel] Googl= e working on experimental 3.8 Linux kernel for Android

Hiya,
Looks like Google's experimenting with 3.8 for Android: https://android.googlesource.com/kernel/common/+/experim= ental/android-3.8
Sounds great if this means they will utilize fq_codel, TFO, BQL, etc.<= /div>
Anyway my nexus 7 says it has 3.1.10 and this 3.8 will probably go to = Android 5.0 so I hope Nexus 7 will get it too some day=A0or at least 3.3+
Regards,
Maciej

__________________________________= _____________
Cerowrt-devel mailing list
Ce= rowrt-devel@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cerowrt-devel


<= br clear=3D"all">

--
Dave T=E4ht

Fixing bufferbloa= t with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html=20

_______________________________________________
Cerowrt-devel mailing list
Cerowrt-devel@lists.= bufferbloat.net
https://lists.bufferbloat.net/listinfo/cerowrt-devel


--e89a8fb201601a17d604d6ce6192--