Re: [PCN] PCN termination marking algorithm - consensus?

Michael Menth <menth@informatik.uni-wuerzburg.de> Wed, 27 February 2008 13:45 UTC

Return-Path: <pcn-bounces@ietf.org>
X-Original-To: ietfarch-pcn-archive@core3.amsl.com
Delivered-To: ietfarch-pcn-archive@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 237D13A6CDC; Wed, 27 Feb 2008 05:45:31 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.493
X-Spam-Level:
X-Spam-Status: No, score=0.493 tagged_above=-999 required=5 tests=[AWL=0.330, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_ORG=0.611, J_CHICKENPOX_24=0.6, RDNS_NONE=0.1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2xVvs+BE6haV; Wed, 27 Feb 2008 05:45:29 -0800 (PST)
Received: from core3.amsl.com (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id DB3613A6A1A; Wed, 27 Feb 2008 05:45:29 -0800 (PST)
X-Original-To: pcn@core3.amsl.com
Delivered-To: pcn@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 886253A6911 for <pcn@core3.amsl.com>; Wed, 27 Feb 2008 05:45:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id q51ZFf7UBMa2 for <pcn@core3.amsl.com>; Wed, 27 Feb 2008 05:45:22 -0800 (PST)
Received: from mailrelay.rz.uni-wuerzburg.de (wrzx28.rz.uni-wuerzburg.de [132.187.3.28]) by core3.amsl.com (Postfix) with ESMTP id 3282A28C1C0 for <pcn@ietf.org>; Wed, 27 Feb 2008 05:45:17 -0800 (PST)
Received: from virusscan.mail (localhost [127.0.0.1]) by mailrelay.mail (Postfix) with ESMTP id 1F405A0665; Wed, 27 Feb 2008 14:45:10 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by virusscan.mail (Postfix) with ESMTP id 13245A0660; Wed, 27 Feb 2008 14:45:10 +0100 (CET)
Received: from europa.informatik.uni-wuerzburg.de (wicx01.informatik.uni-wuerzburg.de [132.187.11.1]) by mailmaster.uni-wuerzburg.de (Postfix) with ESMTP id D5892A065E; Wed, 27 Feb 2008 14:45:08 +0100 (CET)
Received: from nero.informatik.uni-wuerzburg.de (win3005.informatik.uni-wuerzburg.de [132.187.106.5]) by europa.informatik.uni-wuerzburg.de (8.11.3/8.11.2/SuSE Linux 8.11.1-0.5) with ESMTP id m1RDj8V31021; Wed, 27 Feb 2008 14:45:08 +0100
Received: from [127.0.0.1] (nero.informatik.uni-wuerzburg.de [132.187.106.5]) by nero.informatik.uni-wuerzburg.de (Postfix) with ESMTP id AD074C88D8; Wed, 27 Feb 2008 14:45:08 +0100 (CET)
Message-ID: <47C56927.6030406@informatik.uni-wuerzburg.de>
Date: Wed, 27 Feb 2008 14:44:07 +0100
From: Michael Menth <menth@informatik.uni-wuerzburg.de>
Organization: University of Wuerzburg
User-Agent: Thunderbird 2.0.0.12 (Windows/20080213)
MIME-Version: 1.0
To: philip.eardley@bt.com
References: <75A199C5D243C741BF3D3F1EBCEF9BA503B345EF@E03MVZ1-UKDY.domain1.systemhost.net>
In-Reply-To: <75A199C5D243C741BF3D3F1EBCEF9BA503B345EF@E03MVZ1-UKDY.domain1.systemhost.net>
X-Virus-Scanned: by amavisd-new at uni-wuerzburg.de
Cc: pcn@ietf.org
Subject: Re: [PCN] PCN termination marking algorithm - consensus?
X-BeenThere: pcn@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
Reply-To: menth@informatik.uni-wuerzburg.de
List-Id: PCN WG list <pcn.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/pcn>, <mailto:pcn-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/pcn>
List-Post: <mailto:pcn@ietf.org>
List-Help: <mailto:pcn-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pcn>, <mailto:pcn-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Sender: pcn-bounces@ietf.org
Errors-To: pcn-bounces@ietf.org

Hi Phil,

philip.eardley@bt.com wrote:
>
> Here also is an attempt for consensus on the termination marking 
> behaviour.
>
> If an interface of the PCN-domain performs PCN Admission Marking then 
> it performs three functions, which are outlined in 
> draft-ietf-pcn-architecture as follows:
>
>  
>    o  Packet classify - decide whether an incoming packet is a PCN-
>       packet or not.  Another PCN WG document will specify encoding,
>       using the DSCP and/or ECN fields.
>  
>    o  PCN-meter - measure the 'amount of PCN-traffic'.  The measurement
>       is made as an aggregate of all PCN-packets, and not per flow.
>  
>    o  PCN-mark - algorithms determine whether to PCN-mark PCN-packets
>       and what packet encoding is used (as specified in another PCN WG
>       document).
>
> These functions are now described in more detail.
>
> Note: The PCN-node MAY implement these three functions on either its 
> ingoing or outgoing interfaces. The same choice MUST be made for every 
> PCN-node in one PCN-domain.
>
> [Lars has commented: do we need to allow this choice?]
>
> Classify function:
>
> If a packet’s ECN/DSCP fields have the value PCN, as defined in 
> [RFC-encoding], then it MUST be classified as a PCN-packet. However, 
> if the PCN-packet is already “termination marked”, as defined in 
> [RFC-encoding], then the Meter function SHOULD NOT be performed. (*)
>
> If a packet’s ECN/DSCP fields do not have the value PCN, as defined in 
> [RFC-encoding], then it MUST NOT be classified as a PCN-packet.
>
> Meter function:
>
> Note: The meter is described as a ‘token bucket’, however the 
> implementation is not standardised.
>
> A packet classified as a PCN-packet MUST be metered as follows.
>
> The interface MUST have:
>
> [1] a configured bit rate, termed PCN-upper-rate
>
> [2] a meter for PCN-packets, which MUST have the following behaviour:
>
> a token bucket, operating in bits:
>
> 1A tokens are added at the PCN-upper-rate, to a maximum TB.size
>
> 1B tokens are removed equal to the size in bits of the PCN-packet, to 
> a minimum TB.size=0
>
> 2 if TB.fill = 0, then the meter indicates “termination mark” to the 
> Mark function
>
I think this is buggy because when packets are marked, they may have 
already reduced the number of tokens in the bucket. The invariant of 
excess marking is that the size of all non-marked packets is removed 
from the token bucket but not the size of marked packets. Therefore, 
this algorithm marks more packets than necessary.

Correct:
1B if TB.fill<packet.size, then the meter indicates “termination mark” 
to the Mark function
1C if TB.fill<packet.size, tokens are removed equal to the size in bits 
of the PCN-packet

Do not interchange the order of 1A, 1B, and 1C! Packet size independent 
marking performs the tests of 1B and 1C for a maximum packet size (aka 
MTU or threshold).

Regards,

Michael

> Note: Step 1A can be triggered by a packet and so can be done at the 
> same time as Step 1B.
>
> Note: Step 2 can be performed before or after step 1
>
> The following SHOULD be done (**) instead of Step 2 above (Step 2 is 
> then superfluous).
>
> if TB.fill < maximum size of PCN-packet, then the meter indicates 
> “termination mark” to the Mark function
>
> The “maximum size of PCN-packet” is the MTU in bits of any PCN-packets 
> in the PCN-domain.
>
> Note: Step 1B above is still performed.
>
> Mark function:
>
> If the meter indicates to “termination mark” a PCN-packet, then:
>
> the PCN-packet’s ECN/DSCP fields MUST be set to the codepoint 
> “termination marked”, as defined in [RFC-encoding]
>
> (*) Explanation: for CL termination (ie the termination based on 
> rates, rather than the 3SM termination based on marked pkts), if the 
> meter counts pkts that are already termination marked then there’ll be 
> over-termination in the event of multiple bottlenecks. However, since 
> this option is probably more complicated to implement than a normal 
> classifier (?), I suggest it is a SHOULD.
>
> (**) Explanation: this captures the point that Michael makes in 
> http://www3.informatik.uni-wuerzburg.de/staff/menth/Publications/Menth08-PCN-MFT.pdf 
> & Bob makes in 
> http://www.ietf.org/internet-drafts/draft-briscoe-tsvwg-byte-pkt-mark-02.txt 
> Otherwise flows with big pkts get marked more than flows with small 
> pkts. However, since this option is more complicated to implement than 
> a normal token bucket, I suggest it is a SHOULD.
>
> we could also add an example algorithm, such as that in 
> http://www.ietf.org/internet-drafts/draft-charny-pcn-comparison-00.txt 
> Fig 10.1 
> <http://www.ietf.org/internet-drafts/draft-charny-pcn-comparison-00.txt%20Fig%2010.1> 
> on page 21.
>
> Comments?
>
> phil
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> PCN mailing list
> PCN@ietf.org
> https://www.ietf.org/mailman/listinfo/pcn
>   

-- 
Dr. Michael Menth, Assistant Professor
University of Wuerzburg, Institute of Computer Science
Am Hubland, D-97074 Wuerzburg, Germany, room B206
phone: (+49)-931/888-6644, fax: (+49)-931/888-6632
mailto:menth@informatik.uni-wuerzburg.de
http://www3.informatik.uni-wuerzburg.de/research/ngn

_______________________________________________
PCN mailing list
PCN@ietf.org
https://www.ietf.org/mailman/listinfo/pcn