Re: [Cake] Donation

2017-11-15 Thread Pete Heist

> On Nov 14, 2017, at 9:10 PM, Dave Taht  wrote:
> 
> Pete Heist > writes:
> 
>> By the way, what or how much is needed to get Cake mainlined?
> 
> I'd like us to give it a go when net-next reopens in two weeks,
> we'd then have 6 weeks or so to get it right.
> 
> We need:
> 
> * Someone to do the heavy lifting. Which I suspect would be me.
> * Someones with various hardware platforms that current kernels can be
>  run on. qemu?
> * I'd like to see the ack filtering work get tested on lede at low
>  bandwidths on dsl especially.
> * A whole lotta tests at various RTTs

I can offer some testing time, and can script or batch a range of RTTs. netns 
would be useful here. For completeness, I suggest a product of rrul_be runs:

Rates: 128 / 256 / 512Kbit, 1 / 2 / 4 / 8 / 16 / 32 / 64 / 128 / 256 / 512Mbit, 
1Gbit

RTTs: 150 / 300 / 600us, 1 / 2 / 4 / 8 / 16 / 32 / 64 / 128 / 256 / 512 / 1024ms

Opinions? Some of those might be rough (I’m looking at you 128Kbit / 1024ms), 
but it would be good to know what happens. For hardware, I could turn my Mac 
Mini into a qemu box. I guess this list is about right: 
https://www.debian.org/releases/stable/i386/ch02s01.html.en 
. I don’t know if 
all tests need to be tried on all platforms.

Testing could go much further, with host fairness, diffserv keywords, rtt 
settings (more on that later), overheads, nat, etc. We could also test 
underpowered hardware with rate limiting to see if it degrades gracefully. For 
sanity, we could just test a smattering of these things.

> Blockers:
> 
> * Ripping out all the backward compatability cruft for submission to
>  mainline and following netdev formatting conventions for comments and
>  indentation. I'd like any new features in the backport to get
>  backported, though (sigh), as lede looks to be shipping a 4.9 based
>  kernel.

Argh, but probably has to be done.

> * tc-cake man page needs to be updated.
> 
> * tc-adv related code updated to latest iproute2
> 
> * There is some work going on here to add ack filtering to cake, which
> looks VERY promising: https://github.com/dtaht/sch_cake/pull/63 
> 
> 
> I'm going to add something like this to netem also. It may be that
> merely leveraging the hash would be enough in cake's case.
> 
> * Testing against the net-next kernel on x86, x86_64, arm, mips, and
> aarch architectures. (I just got bit by not testing 32 bit arches, sigh)

Regarding the target and interval settings Cake uses, here are the current 
keywords available and their settings:

datacentre: 19us / 114us (us yanks might like ‘datacenter' as a synonym)
lan: 50us / 1ms
metro: 500us / 10ms
regional: 1.5ms / 30ms
internet: 5ms / 100ms
oceanic: 15ms / 300ms
satellite: 50ms / 1s
interplanetary: 5ms / 3600s

About a year ago I raised a concern that these values were outside what the 
CoDel authors intended. The counter-argument at the time was that 
experimentally, we can show that TCP RTT can be reduced on a Gbit LAN with the 
‘lan’ keyword. And that argument seems to hold, so far. On two BQLd systems (2x 
PCEngines APU2s) connected with GigE, I can run the same experiment now and 
show that:

TCP RTT ~= 8ms with default qdisc, throughput ~= 940 Mbit
TCP RTT ~= 4.5ms with ‘cake unlimited’, throughput ~= 920 Mbit
TCP RTT ~= 1ms with ‘cake unlimited lan’, throughput ~= 920 Mbit

So yes, we can lower TCP RTT with these more aggressive settings. But just to 
make sure, we’re confident that there are no other side effects from these 
lower targets and intervals? Is there anything else I should test for to be 
sure? For example, when I rate limit to 950 Mbit and try the same test above, 
‘lan’ causes a 20% drop in throughput vs the defaults. That may be from an 
overtaxed CPU, but I don’t know. I also wonder how this affects routed vs local 
traffic. I’ll try to test this at some point, as I want to understand it better 
anyway to know how backhaul links should be configured...

> Non-Blockers:
> 
> * I don't believe in cobalt, or rather, I won't believe in it until we
> have data at many RTTs. That said, what I'd propose would be a
> monolithic cobalt.h file rather than codel5.h.
> 
> The netns stuff will make simulating RTTs and bandwidths much easier….
> 
> * I think the fq_codel batch drop facility is better than what cake uses
> in case of floods. Partially due to the need to handle backports the
> mechanism fq_codel uses is hard to use - but going mainline we could add this.
> 
> * The autorate_ingress code should be marked experimental. I keep hoping
> it can be improved by better looking for "smoothness" inbound, but
> algorithms escape me. This doesn't bother me much, as tcp continues to
> be improved over the past 50 years, perhaps we can find ways to improve
> this with more users.
> 
> * It is possible to tune the quantum and peeling functions to not 

Re: [Cake] Donation

2017-11-14 Thread Pete Heist

> On Nov 12, 2017, at 6:00 PM, cake-requ...@lists.bufferbloat.net wrote:
> 
> I sometimes think we should establish an organization, with a board of
> directors, a bank account, etc, but aside
> from grant money, donated computers and computer time, and all the
> massive efforts of all the volunteers, that's most of the donations
> we've ever got, and it would be, at least, 800 bucks to start a
> non-profit, + an accountant to "do right".
> 
> Any and all thoughts as to how to do better are welcomed.
> 
> We could have a bake sale for cake, to get it mainlined.

Has there been any thought towards monetizing some portion of the bufferbloat 
project to help pay for it? Here are a couple of ideas:

- Make a network and bloat testing service with a subscription tier or 
advertising supported free tier. Proceeds could at first fund the server 
resources needed, and maybe there’d be something left over. I don’t think 
there’s anything out there that’s more technically oriented and measures 
one-way delay, or differentiates between upstream and downstream packet loss, 
or has some of flent’s features like TCP RTT or the myriad of tests it 
supports, for starters. I really don’t know if anyone would pay a subscription 
fee for this though, or how much ad revenue would be possible.

- I’m intrigued by the idea of a cooperative or so-called “platform 
cooperative". In this case, individuals or companies could pay a monthly or 
annual fee to either just support the effort, or get access to a higher level 
of support, the bloat testing service, or specific code changes, etc. Any 
income beyond what’s needed to meet expenses could be distributed to its 
members somehow. This is a vague idea so far, I know. But I’ve been pretty 
impressed with how well the cooperative ISP I use works (lbcfree.net), and at 
its apparent resiliency over time. Though, the service they offer to their 
customers may be more clearly defined (“become a member, get Internet”).

By the way, what or how much is needed to get Cake mainlined?

___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake


Re: [Cake] Donation

2017-11-11 Thread Dave Taht
Thank you for your kind thoughts of a donation but that page is long obsolete.

There are both patreon and gofundme pages, but they were both focused
on wifi. There isn't anything specific to cake, and perhaps there
should be. The funds should be directed at the people doing the work,
rather than me. Or perhaps we could do a funding drive or something
like that. I'm not too enthused about the results of the donations
model, but every little bit counts!

Currently:

https://www.patreon.com/dtaht brings in 156 dollars a month, out of
which the bufferbloat project's current expenses are 60 (80?) or so
for servers.

Expenses used to be MUCH higher than what we took in. Hardware was the
least of it. I funded a fat server in google's cloud to build openwrt
and later, lede, for a very, very long time, among other things, after
the relevant google grant expired and we needed to keep the servers
humming.

We did a HUGE funding drive (by these standards) to fight the FCC,
with great results in terms of PR:

https://www.gofundme.com/savewifi

And spent it all on PR... And we won that battle.

I sometimes think we should establish an organization, with a board of
directors, a bank account, etc, but aside
from grant money, donated computers and computer time, and all the
massive efforts of all the volunteers, that's most of the donations
we've ever got, and it would be, at least, 800 bucks to start a
non-profit, + an accountant to "do right".

I've explored leveraging several other orgs, like SPI. I helped start
icei.org, and currently I sit on the board of
https://commonsconservancy.org/ , but remain puzzled about how to get
the level of microfinancing to people that need it, when they need it.
I'm impressed by the shuttleworth flash grant program, and by the work
of nlnet, both of whom  wrote some right sized (5-20k) checks at
crucial junctures of the bufferbloat projects.

Any and all thoughts as to how to do better are welcomed.

We could have a bake sale for cake, to get it mainlined.
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake


[Cake] Donation

2017-11-11 Thread George Amanakis via Cake
--- Begin Message ---

Dear All,

i would like to make a small donation for the development of cake. Is 
"https://www.bufferbloat.net/projects/cerowrt/wiki/Donate/; up-to-date?


Thank you,
George Amanakis

--- End Message ---
___
Cake mailing list
Cake@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cake