From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk0-x230.google.com (mail-qk0-x230.google.com [IPv6:2607:f8b0:400d:c09::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id C827D3B29E for ; Tue, 24 Jul 2018 17:31:46 -0400 (EDT) Received: by mail-qk0-x230.google.com with SMTP id a132-v6so3631688qkg.3 for ; Tue, 24 Jul 2018 14:31:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ralwgCes12y6z+6teW8ShZA377EUel+r5Ltnt4oZ7LQ=; b=Z/MO67USsOplXmX2yt8Ymzy7T8Z9gJv3x6Jptqu8QMuNhXhUe+Of4ibzQ0nj8gjqeB JkdKfZgJBQ86m3rfCgs383NLcL28Lz5GmjvRWo0ut2/ppoR38ynW1b3ZUzVX+6IB2qSE DFhHN653wzkkeVqDOQaet8nUH1lNu0J55YsdjPxWcxPf5H2+/Xexe2IUP8nj1uydNZtS DKUraQtu/o+PQGeFGoZOPO+W6qATjIMatipyqYBFrqU1GJSgtBanF983OomVjbxI/Fxv c71dg+IO95JVgsmiRyiN2MhEQEKOTlRC6odZB6wADCCuAHz8NQ18A4/ls8ewjvvtBzLZ 9K1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ralwgCes12y6z+6teW8ShZA377EUel+r5Ltnt4oZ7LQ=; b=K1KRxfZL7cpKEqkiMbKr2gi2YhP8Dais10iN8hXhEE2WCAJM1BVlIfmpEgQVCx0San zbDqpQ6MrN1UISbXkO0rhYXm0NqWgUOMQ/NUqz+4BdU297Xudj7DMD2AXp28sV6lwZNQ qPKpMgnwLcG2XndJUdC4Y96M2MCWgB3TQiiKJCBTtewlCaPx0nQkPWurGWQrlT+NFbcH aDylFutyAoUzPYraLnukKfeGUt5XgzWo2Fw7v7PZyj1+ttboOPzwj1AEebnr1EHgFdlI bhEFe9qcolpAgPTNKKEuGDgz0JEG2v6TTUxjj4rf1+OEybo5UjqX5hoFHcS95mduTEK8 VDAQ== X-Gm-Message-State: AOUpUlGr4s6Zk++I/gcGeDQUZcCNeqD5vh/Se7LgcswqCs6ccbgqa9Nx nOx2eXkrN3I6E64ON3PfyQqPPXhmFVKGkl7rpSg= X-Google-Smtp-Source: AAOMgpf9Rmsz/zAIiJmHrtXcrbD+uPHjlMc6mPidmokvraGF/xxEwI0qC3ygsIfy5K7gG4Y48jMH0ra/kHOyV3VOVf0= X-Received: by 2002:a37:2121:: with SMTP id h33-v6mr17037963qkh.319.1532467906255; Tue, 24 Jul 2018 14:31:46 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Dave Taht Date: Tue, 24 Jul 2018 14:31:16 -0700 Message-ID: To: Benjamin Cronce Cc: bloat Content-Type: text/plain; charset="UTF-8" Subject: Re: [Bloat] No backpressure "shaper"+AQM X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2018 21:31:46 -0000 I'd actually written some code for this way back when, if you want to know how policers currently work, google for "tri-color policer". They worked ok in the T1 era, but suck rocks now. TL;DR Earlier this week while we (ended up) debugging a buggy comcast modem I was desparate enough to resume thinking it was time to revisit the concept as a first stage filter prior to hitting cake. I did think that an *aqm* that aimed for defeating a burst policer rate (much like BBR is doing now) would be a goodness. Say you know there is a policer upstream configured like yours... Then... I thought we could build something lighter weight than shaping, but the feature set built and built... A few useful enhancements to the standard policer like deficits rather than tbf, adding ECN, shooting equally at all flows it sees (fq), not shooting at one flow for more than one packet in 4 (thus, voip suffers not), trying to wait an RTT before shooting again (codel - actually pie in this case). As one example I controlled the shooting schedule with a 2048 bit, (2 bits per flow) bitmap sampling every 5ms, keeping around 16 versions (thus 80ms of history) I discarded the idea for several other reasons back then ENOFUNDING TBF Policers generally are used in switches and routers that do it in hardware. Everything I came up with was doable in HW (O1) (which cake/fq_codel are not), but waiting 10 years for it to show up in ISP hardware seemed harder than waiting 10 years to see ISP shapers get fixed. Shaping, given the growing amounts of multi-core underutilized cpus, allowed us to be more gentle and achieve goals like better e2e host and flow fq, while allowing sparse flows to not be delayed very much. ENOFUNDING Identifying flows required taking a hash which slows things down. Still, a "slightly better" bobbie aqm influenced policer has long seemed doable so long as it's extremely lightweight.