|
|
Subscribe / Log in / New account

Gettys: The Internet is Broken, and How to Fix It

Jim Gettys has posted a lengthy article collecting a lot of thoughts on what's wrong with the Internet and how the problems can be addressed. "'Fairness' between applications is also essential. We should reduce/eliminate the current perverse incentives for applications to abuse the network, as HTTP does today. We’ve had an arms race conspiracy for the last decade between web browsers and web sites to minimize latency that is destructive to other traffic we may care about (such as telephony, teleconferencing and gaming). Sometimes this is best addressed by fixing protocols to be both more efficient and more friendly to the network, as HTTP/1.1 pipelining and now SPDY are intended to do. But the 'web site sharding' problem is impossible for clients to avoid."

to post comments

Gettys: The Internet is Broken, and How to Fix It

Posted Jun 27, 2012 17:32 UTC (Wed) by hechacker1 (guest, #82466) [Link] (4 responses)

Hopefully coDel works out then. From all the tests I've seen, it looks promising and very hands off "set it and forget it."

Well that, and perhaps the default pfifo scheduler could be changed over to it or anything more sensible (sfq? sfq-red? codel-sfq?)

Because let's face it, as new routers come out, how many of them are actually tuned at all for QoS these days? Most manufacturers just stick to the default kernel with minimal tweaks.

Otherwise good article. I never considered that Ledbat stops working once the buffer bloat problem is fixed. But I do know that uTP surely today still hurts performance, especially by throwing off all the UDP classifiers for small packets (what looks like VOIP ends up being a uTP packet).

Gettys: The Internet is Broken, and How to Fix It

Posted Jun 28, 2012 7:53 UTC (Thu) by nim-nim (subscriber, #34454) [Link] (2 responses)

Is codel enabled by default in newer kernels (yet)?

Gettys: The Internet is Broken, and How to Fix It

Posted Jun 28, 2012 13:09 UTC (Thu) by Tobu (subscriber, #24111) [Link] (1 responses)

It's in 3.5, but requires per-interface setup with the tc tool. I had extracted a 4-line snippet from a script on the mailing list, but it has ceased working, so I don't have advice on trying it out.

Gettys: The Internet is Broken, and How to Fix It

Posted Jun 28, 2012 15:58 UTC (Thu) by mtaht (subscriber, #11087) [Link]

In its simplest form, fq_codel for ethernet, running at line rate,
is one line:

tc qdisc add dev your_device root fq_codel

I'd love to see fq_codel or a successor on by default on ethernet in linux in the 3.7 timeframe. But I suspect it will be the distros that pick it up and run with it sooner than that, using some /etc/network/ifup.d scripting magic.

There are test kernels already for ubuntu and fedora... ( http://www.bufferbloat.net/projects/codel/wiki ), openwrt has it too... who will be next?? :)

Anyway, as for the need for "scripting magic"

wifi is more complex, having 4 queues. You need
one fq_codel per hw queue. There are other multi-queue devices, too.

Wifi (mac80211) has issues that cannot be solved at the qdisc layer at present.

If you are running at line rate and your underlying device driver is overbuffered, and/or doesn't have BQL support, you are not going to see all the benefit of fq_codel. BQL is very important and only in about 10 of Linux's device drivers as I write. (hint: it's about 6-12 lines of code to add it to your device driver)

If you are shaping your traffic to slower than line rate, BQL does not matter, but the relevant tc lines would include htb or hfsc as the root qdiscs. I am trying to implement many of jg's recommendations as for classification, aqm, etc in my copious spare time...

There is also an older debloat script out there that takes care of many of the BQL/network offload issues and work continues to make it all simpler.

So... do play with fq_codel, under load, especially at 100Mbit and below. This was kamal mostafa's reaction. He turned it on and...

"The result is *very* impressive: I see a 30X reduction in ping latency on a fully saturated 10Mbps network, just by switching on the new fq_codel scheduler. For an interactive ssh session over that same saturated 10Mbps network, fq_codel totally eliminates the laggy keyboard response — it feels like there’s no other network traffic at all!"

and he turned around and set up an ubuntu ppa, and wrote a howto, linked here:

https://launchpad.net/~kamalmostafa/+archive/bufferbloat

Gettys: The Internet is Broken, and How to Fix It

Posted Jun 29, 2012 0:24 UTC (Fri) by mtaht (subscriber, #11087) [Link]

fq_codel is the logical successor to sfqred (swapping codel in for red, and fixing some thorny new stream behavior in sfq). It has been shown to scale up to 10GigE speeds (admittedly with some knobs at that level) really well.

It's the current state of the art, although I think some more improvements can be had in soft-rate-limiting, and certainly BQL needs some love.

Gettys: The Internet is Broken, and How to Fix It

Posted Jun 28, 2012 14:48 UTC (Thu) by wertigon (guest, #42963) [Link] (2 responses)

The biggest thing that breaks the web, IMO, is AJAX and how it's used.

AJAX, used properly, is a great tool. The problem is, most AJAX developers don't try to adhere to old basic idioms, like "Every file/page has a unique URI and a unique URL". And that saddens me. :(

I love the way how jQuery works with it's selectors though. jQuery, along with AJAX, allows you to do crazy stuff like:

<div id="page_content"></div>

<a href="somepage.php#page_content" class="ajaxlink">Load somepage.php in #page_content</a>

And the JavaScript is hidden from the document, completely. IMO, we need to take back the web to what it was supposed to be, and adhere to those principles. But I guess one can only dream about that...

Gettys: The Internet is Broken, and How to Fix It

Posted Jun 28, 2012 15:33 UTC (Thu) by wertigon (guest, #42963) [Link]

Whoops, my bad. I was a bit off topic there, I read "web" when it really was "internet". >_<

*runs away to fetch proper reading glasses*

Gettys: The Internet is Broken, and How to Fix It

Posted Jul 1, 2012 20:25 UTC (Sun) by man_ls (guest, #15091) [Link]

What is your complaint exactly? I don't get it, can you post examples or references? Thanks!


Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds