Re: [aqm] FQ-PIE kernel module implementation
"Rong Pan (ropan)" <ropan@cisco.com> Wed, 08 July 2015 21:01 UTC
Return-Path: <ropan@cisco.com>
X-Original-To: aqm@ietfa.amsl.com
Delivered-To: aqm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 53EA21A87AF for <aqm@ietfa.amsl.com>; Wed, 8 Jul 2015 14:01:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.777
X-Spam-Level:
X-Spam-Status: No, score=-10.777 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FRT_FUCK2=3.434, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3avUl_Wjeblo for <aqm@ietfa.amsl.com>; Wed, 8 Jul 2015 14:01:02 -0700 (PDT)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C33941A87AE for <aqm@ietf.org>; Wed, 8 Jul 2015 14:01:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10498; q=dns/txt; s=iport; t=1436389261; x=1437598861; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=Twx8axId6fYyJwidJBOdqXVGOALH8qgBwOTaevmFB6k=; b=alx98D2HlLjw9OSQ37kuq+v1P+enJzLotKXhFwzEAYf0+dwFfCsUqieB B47dU86HYwIvejisYS+NHekgtZ5kaH7kmz14BItFrnfPq4MWhd2FcJELt 8ZUsidaLO9XQ8i+4xU8vkm3ssilebyC50QmxKvbETR19fZ3o6Icu9i83L o=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AWBQA7jp1V/4MNJK1bDoMEVGAGgxq6YIV3AhyBQTwQAQEBAQEBAYEKhCMBAQEENDoLDAQCAQgRBAEBAQQjBQICMBQJCAIEAQ0FiC0BDZpLnREGljQBAQEBAQEBAQEBAQEBAQEBAQEBAQETBIEbijCEUwgQGwcEAoJcgUkFlCMBhGaHF4E7hBiLBYQrg18mY4EpHIEVPm8BAYFFgQQBAQE
X-IronPort-AV: E=Sophos;i="5.15,434,1432598400"; d="scan'208";a="166487006"
Received: from alln-core-1.cisco.com ([173.36.13.131]) by alln-iport-2.cisco.com with ESMTP; 08 Jul 2015 21:01:00 +0000
Received: from xhc-aln-x14.cisco.com (xhc-aln-x14.cisco.com [173.36.12.88]) by alln-core-1.cisco.com (8.14.5/8.14.5) with ESMTP id t68L10e7027429 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 8 Jul 2015 21:01:00 GMT
Received: from xmb-aln-x15.cisco.com ([169.254.9.203]) by xhc-aln-x14.cisco.com ([173.36.12.88]) with mapi id 14.03.0195.001; Wed, 8 Jul 2015 16:01:00 -0500
From: "Rong Pan (ropan)" <ropan@cisco.com>
To: "Agarwal, Anil" <Anil.Agarwal@viasat.com>, "Francini, Andrea (Andrea)" <andrea.francini@alcatel-lucent.com>, Polina Goltsman <uucpf@student.kit.edu>, "Fred Baker (fred)" <fred@cisco.com>, Toke Høiland-Jørgensen <toke@toke.dk>
Thread-Topic: [aqm] FQ-PIE kernel module implementation
Thread-Index: AQHQnxLHo+U4nRH5VEqK1N9uhqwYK52lzHSAgCN6BID//7b8qYAAVkSAgACr3QCABqphAIAAfKeA//+LFACAAQ3xAIAANTSAgACdIID//5C+gA==
Date: Wed, 08 Jul 2015 21:01:00 +0000
Message-ID: <D1C2DD21.5B6F%ropan@cisco.com>
References: <D1961A16.1087%hokano@cisco.com> <5577FBD3.5000804@student.kit.edu> <97EDD2D8-CC0A-4AFA-9A74-3F2C282CF5C2@cisco.com> <87mvzem9i9.fsf@alrua-karlstad.karlstad.toke.dk> <7E6C797B-EE6F-4390-BC8F-606FDD8D5195@cisco.com> <559659A8.9030104@student.kit.edu> <D1C1965D.59EA%ropan@cisco.com> <1BFAC0A1D7955144A2444E902CB628F865B044BB@US70TWXCHMBA12.zam.alcatel-lucent.com> <D1C1A7DF.5A59%ropan@cisco.com> <7A2801D5E40DD64A85E38DF22117852C70AD421B@wdc1exchmbxp05.hq.corp.viasat.com> <D1C2B40F.5AFE%ropan@cisco.com> <7A2801D5E40DD64A85E38DF22117852C70AD5116@wdc1exchmbxp05.hq.corp.viasat.com>
In-Reply-To: <7A2801D5E40DD64A85E38DF22117852C70AD5116@wdc1exchmbxp05.hq.corp.viasat.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.5.2.150604
x-originating-ip: [171.71.131.12]
Content-Type: text/plain; charset="euc-kr"
Content-ID: <F9C2C3FC99E6E84E8723A57C823E7378@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/aqm/JamrVXqTTcWYXn-8q9NmN8h6sJ8>
Cc: "draft-ietf-aqm-pie@tools.ietf.org" <draft-ietf-aqm-pie@tools.ietf.org>, "Hironori Okano -X (hokano - AAP3 INC at Cisco)" <hokano@cisco.com>, AQM IETF list <aqm@ietf.org>
Subject: Re: [aqm] FQ-PIE kernel module implementation
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: <https://mailarchive.ietf.org/arch/browse/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, 08 Jul 2015 21:01:07 -0000
Yes, if we use timestamp, then we can have separate PIE per queue. Rong On 7/8/15, 1:39 PM, "Agarwal, Anil" <Anil.Agarwal@viasat.com> wrote: >Rong, > >Since the timestamp discussion came up in the context of FQ-PIE, it is >not clear how we would use timestamp-based delay values measured across >many queues to perform the computation of p. The delays experienced in >different queues can have vastly different values. >FQ-PIE has a single instance of PIE across all queues and a single value >of p. How do you compute est_del from the various delay values from >multiple queues? >Or are you thinking of using a separate PIE instance per queue? >Can you please elaborate? > >Thanks, >Anil > >-----Original Message----- >From: Rong Pan (ropan) [mailto:ropan@cisco.com] >Sent: Wednesday, July 08, 2015 2:17 PM >To: Agarwal, Anil; Francini, Andrea (Andrea); Polina Goltsman; Fred Baker >(fred); Toke Høiland-Jørgensen >Cc: draft-ietf-aqm-pie@tools.ietf.org; Hironori Okano -X (hokano - AAP3 >INC at Cisco); AQM IETF list >Subject: Re: [aqm] FQ-PIE kernel module implementation > >We can take the timestamp values to figure out latency and plug into >PIE's basic control law. > >p = p + alpha*(est_del-target_del) + beta*(est_del-est_del_old); > >We have tried this implementation before for comparison purpose. This >would react slowly than deriving latency for queue length because latency >value is only available when a packet leaves a queue. But it would remove >any inaccuracy in calculating the latency. For PIE, we go for rate >estimation as we think timestamping packets in hardware would be hard. >FQ_PIE is a different story. If someone affords to implement FQ, then >timestamping would not be too much of an overhead. > >The other twist works as well. We will experiment and decide what we want >to do. > > >Drop_Queue_i = (Queue_lenth_i / Longest_Queue_length) * drop_prob > >Thanks, > >Rong > > >On 7/8/15, 1:06 AM, "Agarwal, Anil" <Anil.Agarwal@viasat.com> wrote: > >>Rong, >> >>Can you please elaborate on how packet timestamps would be used with >>FQ-PIE? >>It is not obvious. >> >>Is there a written description of FQ-PIE? Does it describe use of >>timestamps as well? >> >>For equation - >> Drop_Queue_i = (Queue_lenth_i / Longest_Queue_length) * drop_prob is >>there a fast algorithm for computing Longest_Queue_length for large >>number of queues? >> >>Thanks, >>Anil >> >>-----Original Message----- >>From: aqm [mailto:aqm-bounces@ietf.org] On Behalf Of Rong Pan (ropan) >>Sent: Tuesday, July 07, 2015 7:00 PM >>To: Francini, Andrea (Andrea); Polina Goltsman; Fred Baker (fred); Toke >>Høiland-Jørgensen >>Cc: draft-ietf-aqm-pie@tools.ietf.org; Hironori Okano -X (hokano - AAP3 >>INC at Cisco); AQM IETF list >>Subject: Re: [aqm] FQ-PIE kernel module implementation >> >>My bad, my memory has slipped. What you quote below is accurate.. >> >> >> >>Rong >> >> >> >>On 7/7/15, 3:58 PM, "Francini, Andrea (Andrea)" >> >><andrea.francini@alcatel-lucent.com> wrote: >> >> >> >>>Hi Rong, >> >>> >> >>>In the ns2 version of (then) SFQ-PIE described in the May 2014 >>>CableLabs >> >>>document titled "ACTIVE QUEUE MANAGEMENT IN DOCSIS 3.X CABLE MODEMS", >>>a >> >>>different formula than the one you gave below was used to compute the >> >>>drop probability of Queue i: >> >>> >> >>>Drop_Queue_i = (Queue_lenth_i / Longest_Queue_length) * drop_prob >> >>> >> >>>i.e., the length of the longest queue was used at the denominator >>>instead >> >>>of the aggregate queue length (Total_Queue_Length). >> >>> >> >>>I am curious about the reason that required that particular >>>algorithmic >> >>>change. >> >>> >> >>>Thank you, >> >>> >> >>>Andrea >> >>> >> >>> >> >>>-----Original Message----- >> >>>From: aqm [mailto:aqm-bounces@ietf.org] On Behalf Of Rong Pan (ropan) >> >>>Sent: Tuesday, July 07, 2015 6:33 PM >> >>>To: Polina Goltsman; Fred Baker (fred); Toke Høiland-Jørgensen >> >>>Cc: draft-ietf-aqm-pie@tools.ietf.org; Hironori Okano -X (hokano - >>>AAP3 >> >>>INC at Cisco); AQM IETF list >> >>>Subject: Re: [aqm] FQ-PIE kernel module implementation >> >>> >> >>>FQ_PIE still uses rate estimation so the aggregated queue length would >> >>>give us more precise estimation of the latency. Actually, on second >> >>>thought, if we are going to afford the complexity of FQ, then >>>timestamp >> >>>packets become trivial. If we use time stamp in FQ_PIE, all these >>>concerns >> >>>would be gone. >> >>> >> >>>Having said that, drop probability can be easily tuned according to >>>each >> >>>queue¹s queue length: >> >>>Drop_Queue_i = Queue_lenth_i/Total_Queue_length*drop_prob. This has >>>shown >> >>>to work. Hiro¹s previous implementation of FQ_PIE has it and it is >> >>>working. Unfortunately, in his new version of FQ_PIE, this somehow >>>gets >> >>>lost. >> >>> >> >>>He will update FQ_PIE accordingly. But I will vote for timestamp this >>>time >> >>>as FQ is a lot more complicated than time stamp. If one decides to use >>>FQ, >> >>>timestamp comes easy as well. >> >>> >> >>>Thanks, >> >>> >> >>>Rong >> >>> >> >>> >> >>> >> >>> >> >>> >> >>>On 7/3/15, 2:45 AM, "Polina Goltsman" <uucpf@student.kit.edu> wrote: >> >>> >> >>>> >> >>>> >> >>>>On 07/03/2015 01:30 AM, Fred Baker (fred) wrote: >> >>>>>> On Jul 2, 2015, at 4:21 PM, Toke Høiland-Jørgensen <toke@toke.dk> >> >>>>>>wrote: >> >>>>>> >> >>>>>> This is, as far as I can tell from your explanation, different >>>>>> than >> >>>>>>what >> >>>>>> fq_pie does. >> >>>>> OK, apologies for the misinformation. >> >>>>> >> >>>>> In any event, the matter is not fundamental to fair queuing. >> >>>>According to the code and Toke in FQ-Codel there are separate state >> >>>>variables for each queue, >> >>>>whereas in FQ-PIE there is a single instance of state (see line 72-75 >>>>in >> >>>>sch_fq_pie.c >> >>>> >>>><https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_hiro >>>>nor >>>>iokano_fq-2Dpie_blob_master_sch-5Ffq-5Fpie.c&d=AwIGog&c=jcv3orpCsv7C4 >>>>ly8 >>>>-ubDob57ycZ4jvhoYZNDBA06fPk&r=FyvaklKYrHaSCPjbBTdviWIW9uSbnxdNSheSGz1 >>>>Jvq >>>>4&m=ZhwYVG7trmH21ngvxzmFV1-mkreFJJEBMToS4eye5KU&s=90jYjRUO0hcRiGb1Kd3 >>>>owx >>>>wftY2Pd3WrK2Hs-sq619E&e= >). >> >>>>This is [should be] equivalent to a PIE queue >> >>>>which uses FQ instead of FIFO as a child queue. >> >>>> >> >>>>As I understand the FQ-Codel draft, it seems to be fundamental to >> >>>>FQ-Codel that each queue has separate state variables. >> >>>>So my question is: is it indeed fundamental ? >> >>>> >> >>>>P.S. comment on line sch_fq_pie.c should probably be updated >> >>> >> >>>_______________________________________________ >> >>>aqm mailing list >> >>>aqm@ietf.org >> >>>https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mail >>>man >>>_listinfo_aqm&d=AwIGog&c=jcv3orpCsv7C4ly8-ubDob57ycZ4jvhoYZNDBA06fPk&r >>>=Fy >>>vaklKYrHaSCPjbBTdviWIW9uSbnxdNSheSGz1Jvq4&m=ZhwYVG7trmH21ngvxzmFV1-mkr >>>eFJ JEBMToS4eye5KU&s=hAK-RY-wfp0zIHzoazmmKJ03TrFqQ2TM9SqbDo_ku3Q&e= >> >> >> >>_______________________________________________ >>aqm mailing list >>aqm@ietf.org >>https://urldefense.proofpoint.com/v2/url?u=https-3A__www.ietf.org_mailm >>an_ >>listinfo_aqm&d=AwIGog&c=jcv3orpCsv7C4ly8-ubDob57ycZ4jvhoYZNDBA06fPk&r=F >>yva >>klKYrHaSCPjbBTdviWIW9uSbnxdNSheSGz1Jvq4&m=ZhwYVG7trmH21ngvxzmFV1-mkreFJ >>JEB MToS4eye5KU&s=hAK-RY-wfp0zIHzoazmmKJ03TrFqQ2TM9SqbDo_ku3Q&e= >
- [aqm] FQ-PIE kernel module implementation Hironori Okano -X (hokano - AAP3 INC at Cisco)
- Re: [aqm] FQ-PIE kernel module implementation Dave Taht
- Re: [aqm] [Bloat] FQ-PIE kernel module implementa… Simon Barber
- Re: [aqm] [Bloat] FQ-PIE kernel module implementa… Bill Ver Steeg (versteb)
- Re: [aqm] [Bloat] FQ-PIE kernel module implementa… Bill Ver Steeg (versteb)
- Re: [aqm] FQ-PIE kernel module implementation Polina Goltsman
- Re: [aqm] [Bloat] FQ-PIE kernel module implementa… Fred Baker (fred)
- Re: [aqm] FQ-PIE kernel module implementation Fred Baker (fred)
- Re: [aqm] FQ-PIE kernel module implementation Toke Høiland-Jørgensen
- Re: [aqm] FQ-PIE kernel module implementation Fred Baker (fred)
- Re: [aqm] FQ-PIE kernel module implementation Fred Baker
- Re: [aqm] FQ-PIE kernel module implementation Toke Høiland-Jørgensen
- Re: [aqm] FQ-PIE kernel module implementation Bless, Roland (TM)
- Re: [aqm] FQ-PIE kernel module implementation Polina Goltsman
- Re: [aqm] FQ-PIE kernel module implementation Simon Barber
- Re: [aqm] FQ-PIE kernel module implementation Dave Taht
- Re: [aqm] FQ-PIE kernel module implementation Michael Welzl
- Re: [aqm] FQ-PIE kernel module implementation Fred Baker (fred)
- Re: [aqm] FQ-PIE kernel module implementation Dave Taht
- Re: [aqm] FQ-PIE kernel module implementation Agarwal, Anil
- Re: [aqm] FQ-PIE kernel module implementation Fred Baker (fred)
- Re: [aqm] FQ-PIE kernel module implementation Bless, Roland (TM)
- Re: [aqm] FQ-PIE kernel module implementation Polina Goltsman
- Re: [aqm] FQ-PIE kernel module implementation Dave Taht
- Re: [aqm] FQ-PIE kernel module implementation Agarwal, Anil
- Re: [aqm] FQ-PIE kernel module implementation Francini, Andrea (Andrea)
- Re: [aqm] FQ-PIE kernel module implementation Rong Pan (ropan)
- Re: [aqm] FQ-PIE kernel module implementation Francini, Andrea (Andrea)
- Re: [aqm] FQ-PIE kernel module implementation Rong Pan (ropan)
- Re: [aqm] FQ-PIE kernel module implementation Agarwal, Anil
- Re: [aqm] FQ-PIE kernel module implementation Agarwal, Anil
- Re: [aqm] FQ-PIE kernel module implementation Polina Goltsman
- Re: [aqm] FQ-PIE kernel module implementation Francini, Andrea (Andrea)
- Re: [aqm] FQ-PIE kernel module implementation Rong Pan (ropan)
- Re: [aqm] FQ-PIE kernel module implementation Agarwal, Anil
- Re: [aqm] FQ-PIE kernel module implementation Rong Pan (ropan)
- Re: [aqm] FQ-PIE kernel module implementation Agarwal, Anil
- Re: [aqm] FQ-PIE kernel module implementation Francini, Andrea (Andrea)
- Re: [aqm] FQ-PIE kernel module implementation Rong Pan (ropan)
- Re: [aqm] FQ-PIE kernel module implementation Agarwal, Anil
- Re: [aqm] FQ-PIE kernel module implementation Francini, Andrea (Andrea)