[aqm] burst_allowance calculation in PIE

Dave Dolson <ddolson@sandvine.com> Wed, 01 April 2015 20:33 UTC

Return-Path: <ddolson@sandvine.com>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com []) by ietfa.amsl.com (Postfix) with ESMTP id 6BA001A908A for <aqm@ietfa.amsl.com>; Wed, 1 Apr 2015 13:33:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([]) by localhost (ietfa.amsl.com []) (amavisd-new, port 10024) with ESMTP id r_ivhjAHurka for <aqm@ietfa.amsl.com>; Wed, 1 Apr 2015 13:33:25 -0700 (PDT)
Received: from mail1.sandvine.com (mail1.sandvine.com []) by ietfa.amsl.com (Postfix) with ESMTP id 9B7B81A910F for <aqm@ietf.org>; Wed, 1 Apr 2015 13:31:12 -0700 (PDT)
Received: from WTL-EXCHP-2.sandvine.com ([fe80::68ac:f071:19ff:3455]) by WTL-EXCHP-3.sandvine.com ([::1]) with mapi id 14.03.0195.001; Wed, 1 Apr 2015 16:31:12 -0400
From: Dave Dolson <ddolson@sandvine.com>
To: "aqm@ietf.org" <aqm@ietf.org>
Thread-Topic: burst_allowance calculation in PIE
Thread-Index: AdBsusqqaI4pXvS0T+ioPH50ToijMg==
Date: Wed, 1 Apr 2015 20:31:11 +0000
Message-ID: <E8355113905631478EFF04F5AA706E9830BB07CA@wtl-exchp-2.sandvine.com>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_E8355113905631478EFF04F5AA706E9830BB07CAwtlexchp2sandvi_"
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/ObWafyoTyi5z2XqsifMS-dfDiX4>
Subject: [aqm] burst_allowance calculation in PIE
X-BeenThere: aqm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discussion list for active queue management and flow isolation." <aqm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/aqm>, <mailto:aqm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/aqm/>
List-Post: <mailto:aqm@ietf.org>
List-Help: <mailto:aqm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/aqm>, <mailto:aqm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Apr 2015 20:33:35 -0000

In https://tools.ietf.org/html/draft-ietf-aqm-pie-00#section-5.3,

It appears that burst_allowance is intended to allow a certain amount of traffic to get queued before the algorithm kicks in. (Because the algorithm isn't always running; it gets turned off when the queue gets near empty.)

However, burst_allowance isn't decremented according to packet arrival, rather it is decremented each update period.
So whether 100 bytes or 1M bytes pass through, burst_allowance is decremented at the same rate.
Doesn't this seem wrong to not account for the quantity that is enqueued?

As for the wording itself,
"The burst allowance, noted by burst_allowance, is initialized to
max_burst. As long as burst_allowance is above zero, an incoming packet
will be enqueued bypassing the random drop process. During each update
instance, the value of burst_allowance is decremented by the update
period, Tupdate. When the congestion goes away, defined by us as p
equals to 0 and both the current and previous samples of estimated delay
are less than target_del, we reset burst_allowance to max_burst."

It says that burst_allowance is to be decremented "during each update instance". Does an "update instance" correspond to a "measurement cycle"? Can this be made more precise? (I couldn't find "update instance" mentioned elsewhere.)
>From the pseudo-code, it appears that it is decremented every 16ms; it only gets set to BURST_ALLOWANCE at the transition from INACTIVE-->ACTIVE.
(In Pseudo-code, I think BURST_ALLOWANCE means max_burst and burst_count means burst_allowance.)

David Dolson
Senior Software Architect, Sandvine Inc.