Yes, if we use timestamp, then we can have separate PIE per queue.

Rong

On 7/8/15, 1:39 PM, "Agarwal, Anil" <anil.agar...@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:ro...@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-...@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.agar...@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-boun...@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-...@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.franc...@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-boun...@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-...@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" <uu...@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 <t...@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 mailing list
aqm@ietf.org
https://www.ietf.org/mailman/listinfo/aqm

Reply via email to