From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-24-ewr.dyndns.com (mxout-130-ewr.mailhop.org [216.146.33.130]) by lists.bufferbloat.net (Postfix) with ESMTP id BA6832E00B9 for ; Fri, 4 Feb 2011 07:13:03 -0800 (PST) Received: from scan-21-ewr.mailhop.org (scan-21-ewr.local [10.0.141.243]) by mail-24-ewr.dyndns.com (Postfix) with ESMTP id 3D0F75CD690 for ; Fri, 4 Feb 2011 15:12:59 +0000 (UTC) X-Spam-Score: 0.1 () X-Mail-Handler: MailHop by DynDNS X-Originating-IP: 75.145.127.229 Received: from gw.co.teklibre.org (75-145-127-229-Colorado.hfc.comcastbusiness.net [75.145.127.229]) by mail-24-ewr.dyndns.com (Postfix) with ESMTP id 0F2DD5CC3D0 for ; Fri, 4 Feb 2011 15:12:55 +0000 (UTC) Received: from cruithne.co.teklibre.org (unknown [IPv6:2002:4b91:7fe5:2:21c:25ff:fe80:46f9]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "cruithne.co.teklibre.org", Issuer "CA Cert Signing Authority" (verified OK)) by gw.co.teklibre.org (Postfix) with ESMTPS id 723C25E8CC for ; Fri, 4 Feb 2011 08:12:54 -0700 (MST) Received: by cruithne.co.teklibre.org (Postfix, from userid 1000) id 3FF52121B75; Fri, 4 Feb 2011 08:12:53 -0700 (MST) From: d@taht.net (Dave =?utf-8?Q?T=C3=A4ht?=) To: Juliusz Chroboczek Organization: Teklibre - http://www.teklibre.com References: <87k4hgdte9.fsf@trurl.pps.jussieu.fr> Date: Fri, 04 Feb 2011 08:12:53 -0700 In-Reply-To: <87k4hgdte9.fsf@trurl.pps.jussieu.fr> (Juliusz Chroboczek's message of "Fri, 04 Feb 2011 10:46:22 +0100") Message-ID: <87zkqbn896.fsf@cruithne.co.teklibre.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: bloat@lists.bufferbloat.net Subject: Re: [Bloat] About Stochastic Fair Blue (SFB) X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 04 Feb 2011 15:13:04 -0000 Juliusz Chroboczek writes: > Hi again, > One AQM that attempts both is Stochastic Fair a stochastically-fair > variant of BLUE [1]. In addition to reducing buffer size and enforcing > rough inter-flow fairness, SFB will reliably detect unresponsive flows > and rate-limit them. > > In order to experiment with SFB, I've implemented it for Linux a couple > of years ago [2]. Unfortunately, I've given up for now on trying to get > it into the mainline kernel, and I'm not sure I want to try again [3]. I had incorporated juliusz's patches to the tc utility here in my git repo here a few weeks back. https://github.com/dtaht/iproute2bufferbloat (I would be very interested in accumulating the other patches to tc for the other new AQMs, too, if anyone knows what or where they are) So a patched tc + SFB modules gives you a new AQM to work with. The SFB code seems to compile as modules and insert into modern kernels just fine. I've built it on arm, x86_64, and x86, with mips on my list soon. However, the usage is a little vague. Could you make some suggestions as to a "shaping stack" to fiddle with, for example, a wireless environment or home gateway scenario? [1] Also, would you mind if I also put the SFB code into git somewhere on github? It could use a few minor tweaks (make install). Things I like about SFB 1) You can hash against multiple combinations of things. For example, in the home gateway scenario, you could hash against IP addresses only, not IP/port numbers - to give a per-device level of fairness. 2) It has a brilliant idea in the bloom filter - it looks like that concept can scale.. 3) It does packet marking... (So has to be used in combination with something else) 4) it works with ipv6. Things that I don't "get" about SFB. 1) I don't understand how the penalty box concept works. 2) I don't understand how it would interact with shaping above and below it[2] -- Dave Taht http://nex-6.taht.net [1] and in my case my driver set is so bloated that traffic shaping at the moment does little good - but I'm getting there. [2] Yes, I've read the paper. And the code. Twice.