[PCN] Re: Questions on LC-PCN draft version 01

"Georgios Karagiannis" <karagian@cs.utwente.nl> Thu, 01 November 2007 06:34 UTC

Return-path: <pcn-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1InTdi-0005Kg-Qs; Thu, 01 Nov 2007 02:34:50 -0400
Received: from pcn by megatron.ietf.org with local (Exim 4.43) id 1InTdg-0005JV-Tt for pcn-confirm+ok@megatron.ietf.org; Thu, 01 Nov 2007 02:34:48 -0400
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1InTdg-0005JN-E2 for pcn@ietf.org; Thu, 01 Nov 2007 02:34:48 -0400
Received: from rotterdam.ewi.utwente.nl ([130.89.10.5]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1InTde-00023w-N0 for pcn@ietf.org; Thu, 01 Nov 2007 02:34:48 -0400
Received: from webmail.cs.utwente.nl (janus.ewi.utwente.nl [130.89.10.26]) by rotterdam.ewi.utwente.nl (8.13.6/8.13.6) with SMTP id lA16YfH5009696; Thu, 1 Nov 2007 07:34:41 +0100 (MET)
Received: from 84.82.109.231 (auth. user karagian@imap1.ewi.utwente.nl) by webmail.cs.utwente.nl with HTTP; Thu, 01 Nov 2007 06:34:41 +0000
To: "Anna Charny (acharny)" <acharny@cisco.com>, "anurag.bhargava@ericsson.com" <anurag.bhargava@ericsson.com>, "Lars Westberg (KI/EAB)" <lars.westberg@ericsson.com>
Date: Thu, 01 Nov 2007 06:34:40 +0000
X-Mailer: IlohaMail/0.8.13 (On: webmail.cs.utwente.nl)
Message-ID: <yVCmHJJa.1193898880.2360280.karagian@ewi.utwente.nl>
In-Reply-To: <BABC859E6D0B9A4D8448CC7F41CD2B07053D8789@xmb-rtp-203.amer.cisco.com>
From: Georgios Karagiannis <karagian@cs.utwente.nl>
Bounce-To: "Georgios Karagiannis" <karagian@cs.utwente.nl>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0 ()
X-Scanned-By: MIMEDefang 2.52 on 130.89.10.5
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0rc3 (rotterdam.ewi.utwente.nl [130.89.10.5]); Thu, 01 Nov 2007 07:34:43 +0100 (MET)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: e274a7d5658fb8b0d6fbc93f042d014b
Cc: "pcn@ietf.org" <pcn@ietf.org>
Subject: [PCN] Re: Questions on LC-PCN draft version 01
X-BeenThere: pcn@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: PCN WG list <pcn.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/pcn>, <mailto:pcn-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/pcn>
List-Post: <mailto:pcn@ietf.org>
List-Help: <mailto:pcn-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/pcn>, <mailto:pcn-request@ietf.org?subject=subscribe>
Errors-To: pcn-bounces@ietf.org

Hi Anna

Thank you very much for your comments!
Before answering to your comments, see in line below, I would like to
explain in an abstract way the LC-PCN algorithm.

* Setting the thresholds at PCN_interior_nodes:
-----------------------------------------------
In order to calculate the PCN_upper_rate we use two parameters:
Maximum PHB capacity: that is the maximum capacity that can be
supported by a PCN_interior_node
Termination_offset_rate: that is an absolute rate value that should be
set equal into all PCN_interior_nodes. Note that this value is used by
PCN_interior_nodes to calculate their PCN_upper_rate and also during the
situation that a PCN_interior_node is in flow termination state and it
receives PCN_marked packets. Please see pseudo code on page 20.
This value must be set equal into all PCN_interior_nodes such that all
these nodes will know when to take into account the incoming PCN_marked
packets and when not.

The PCN_upper_rate is then found as:
PCN_upper_rate = "Maximum PHB capacity" - Termination_offset_rate

The PCN_lower_rate is configured in all PCN_interior-nodes and it can be
calculated in the following way:
PCN_lower_rate = PCN_upper_rate - Admission_offset_rate

The Admission_offset_rate is an absolute rate value and it is equal in
all PCN_interior_nodes and PCN_egress_nodes. Note that this value is
used by PCN_interior_nodes to calculate their PCN_lower_rate and the
PCN_egress_nodes to calculate their PCN_upper_rate_egress. Furthermore,
this value is used by the PCN_interior_nodes also during the situation
that a PCN_interior_node is in admission control state and it receives
PCN_marked packets. Please see pseudo code on page 13.
This value must be set equal into all PCN_interior_nodes such that all
these nodes will know when to take into account the incoming PCN_marked
packets and when not. Note that a PCN_interior_node can PCN_mark packets
up to an excess rate equal to the Admission_offset_rate. If the exess
rate in an PCN_interior_node is higher than the Admission_offset_rate,
then the PCN_interior_node changes state from admission control state to
flow termination state.

* Setting the thresholds at PCN_egress_nodes:
---------------------------------------------
The question is how to calculate the threshold that defines when a
PCN_egress_node goes into the admission control state.
One way to do that is to consider that when the PCN_egress_node receives
a PCN_marked packet it will mean that at least one PCN_interior_node
started to be admission control congested and therefore it will go from
Normal state to admission control state. Of course this will somehow
might provide some errors, because there might be situations that this
consideration might be to conservative. Therefore, we use a percentage
of received PCN_marking encoded packets in proportion to total rate of
received packets. In this version of the draft we call this value as:
PCN_lower_rate_egress. This is wrong.
What we should say is:
PCN_lower_rate_egress: is equal to incoming_PCN_marking_rate, when:
(incoming_PCN_marking_rate/measured PHB rate) = to a preconfigured
percentage, say 1%. From now on I denote this percentage as:
PCN_lower_percentage_egress.
Thus we can say that a PCN_egress_node changes from Normal state to
admission control state when
incoming_PCN_marking_rate/measured PHB rate > PCN_lower_percentage_egress.
Where,
incoming_PCN_marking_rate = N * input_PCN_marking_bytes/T
Where,
input_PCN_marking_bytes = received number of "PCN_marking" encoded
packets during measurement period T.

Now we defined the condition that the PCN_egress_node changes state from
Normal state to admission control state. But how will the PCN_egress_node
change state from admission control state to flow termination state.
In order to explain this, it is imporatnt to note that each
PCN_interior_node that is in admission control state it can PCN_mark
packets up to a value equal to Admission_offset_rate. Furthermore, if a
PCN_interior_node receives incoming PCN_marked packets and is in the
addmission control state, it will not remark any packets if the excess
rate is equal or lower than the incoming_PCN_marking_rate, see page 13.
Furthermore, if we will consider as normal situations the situations
that no ECMP occurs and that all flows belonging to the same
ingress-egress aggregate will use the same path from PCN_ingress to
PCN_egress, this will mean that when the PCN_egress_node receives, for
the given ingress-egress aggregate an excess rate equal to
Admission_offset_rate it will have to change from admission control
state to flow termination state.
Thus in this case the second threshold, that in this case is a rate and
not a percentage, can be calculated as follows:
PCN_upper_egress_rate = PCN_lower_egress_rate + Admission_offset_rate.
However, there are some corner cases, that mainly occur when the
different congestion points (admission control congested
PCN_interior_nodes) on the same path are not simulataneously starting to
be congested. Therefore we use the multicongestion_error parameter to
identify the error bound that ocurs due to these corner cases. Note that
this error bound can be e.g., predefined ones off line by the operator,
by studying the network topology and/or studying how often such corner
cases could occur and/or doing off line measurements. Therefore we use:
PCN_upper_rate_egress = PCN_lower_rate_egress + Admission_offset_rate +/-
multicongestion_error

* How the states of operation in PCN_interior_nodes are being changed?
---------------------------------------------------------------------
This is explained on page 17, 18, by using Figure 4.

Change from Normal state to Admission control state: event A
Occurs when:
Measured PHB rate > PCN_lower_rate

Change from Admission control state to Flow Termination  state: event B
Occurs when:
Measured PHB rate > PCN_upper_rate

* How the states of operation in PCN_egress_nodes are being changed?
---------------------------------------------------------------------
This is explained on page 21, 22. Note that the description of event A on
page 21 has to be modified to avoid the confusions that were caused up
to now, see explanation given above.

Change from Normal state to Admission control state: event A
Occurs when:
incoming_PCN_marking_rate/measured PHB rate) > PCN_lower_percentage_egress
As explained above:
IF ((incoming_PCN_marking_rate/measured PHB rate) =
PCN_lower_percentage_egress)
THEN PCN_lower_egress_rate = incoming_PCN_marking_rate

Change from Admission control state to flow termination state: event B
Occurs when:
incoming_PCN_marking_rate > PCN_upper_rate_egress

It is important to note that also the explanation of event C on page 21,
has to be modified to avoid the confusions that were caused up to now,
see explanation given above:
Change from Admission control state to Normal state:
Occurs when:
incoming_PCN_marking_rate/measured PHB rate) =<
PCN_lower_percentage_egress


* Generated excess rate by an PCN_interior_node operating in admission
control state.
-------------------------------------------------------------

The excess rate = signaled_overload_rate.
The maximum excess rate that a PCN_interior_node can calculate in
admission control state is equal to Admission_offset_rate, see
explanation above.
The number of bytes that are remarked, signaled_remarked_bytes depend on
the value of calculated excess rate (signaled_overload_rate), the value
of the Admission_offset_rate and the value of the
incoming_PCN_marking_rate, see pseudo code on page 13.

Note that all packets that are passing through a congested
PCN_interior_node an are not being PCN_marked by the PCN_interior_node
have to be remarked using the PCN_Affected_marking.


Regarding probes, the probe packets that are passing through a congested
node are either PCN_marked or PCN_Affected_marked.

* Generating excess rate by an PCN_interior_node operating in flow
termination state:
----------------------------------------------------------------
The excess rate = signaled_overload_rate.
Note that the calculation of the signaled_overload_rate is different than
in the situation that the PCN_Interior_node operates in admission
control state, see page 19 and 20. This is due to the fact that a
sliding window is used to solve an undershooting problem, see discussion
on page 19.
The number of bytes that are remarked, signaled_remarked_bytes depend on
the value of calculated excess rate (signaled_overload_rate), the value
of the Termination_offset_rate and the value of the
incoming_PCN_marking_rate, and the see pseudo code on page 20.

Note that all packets that are passing through a congested
PCN_interior_node an are not being PCN_marked by the PCN_interior_node
have to be remarked using the PCN_Affected_marking.

* Providing admission control at PCN_egress_nodes:
--------------------------------------------------
 When the PCN_egress_node is operating in admission control state than a
flow that is requesting admission into the PCN domain can b etreated in
the following way:

If no probing is used, the request for admission can be accomplished by
using an external to PCN signaling protocol. In this case when the
request arrives at a PCN_egress_node that operates in admission control
state then the request is rejected. If it operates in Normal state is
accepted.

If probing is used, the request for admission is accomplished by using
probe packets. In this case when the probe arrives at a PCN_egress_node
and it is either PCN_marking or PCN_Affected_marking encoded is
rejected. Otherwise is accepted.
Note that probes can only be used when PCN_Affected_marking is appled in
whole PCN domain. Otherwise, the admission control procedure will work
by using e.g., an external signaling protocol used between
PCN_ingress_nodes and PCN_egress_nodes.

* Providing flow termination at PCN_egress_nodes:
--------------------------------------------------

When a PCN_egress_node operates on flow termination it calculates the
incoming excess rate (incoming_PCN_marking_rate).
By using the excess rate the PCN_egress_node calclates the numer of flows
that have to be terminated using the pseudo code given on page 23. Note
that the PCN_egress_node has to maintain per flow reservation states.
The information contained in the per flow states is used for the
calculation of the flow that have to be terminated, see pseudocode on
page 23. Note also that this pseudo code uses priority clases, but it
operates when also no priority clases are used by setting
Maximum_priority = 0
Where, 0 =< priority_class =< Maximum_priority



Below, I am providing some answers to your comments!








> -----Original Message-----
> From: Anna Charny (acharny) [mailto:acharny@cisco.com]
> Sent: zondag 7 oktober 2007 21:40
> To: anurag.bhargava@ericsson.com; Georgios Karagiannis; Lars Westberg
> (KI/EAB)
> Cc: pcn@ietf.org
> Subject: Questions on LC-PCN draft version 01
>
> Dear authors of the LC-PCN draft,
>
> Am I right that there has been no response yet to Phil's questions
> (attached at the end) on the new version of your draft below (I
> checked the pcn list and it does not seem it went there)? If the
> response was sent, can you resend it please?
>
> I have many of the same questions, and also a few additional ones.
> Here are some of them.
>
> 1) I do not understand whether pcn-lower_rate_egress and
> pcn_upper_rate ingress are expressed as a fraction of the total rate
> (a unitless entity, analogous to CLE) or an absolute value (in bits or
> bytes per second). The text seems to be contradictory on this point:
>
> on page 8 it is a fraction:
>
> "PCN_lower_rate_egress = predefined percentage of received
> PCN_marking",
>
> while on page 13 it is an absolute rate:
>
> "If the incoming_PCN_marking_rate is higher than a preconfigured
> PCN_lower_rate_egress, ..." where the
>
> (Incoming_PCN_marking_rate is clearly defined as abslolue rate on page
> 12: "Where the "incoming_PCN_marking_rate" is calculated as follows:
> incoming_PCN_marking_rate = (received number of "PCN_marking"
> DSCP during T)* N)/T;)

Georgios: You are right, please see discussion above on paragaph denoted
as:
"Setting the thresholds at PCN_egress_nodes".


We use a percentage of received PCN_marking encoded packets in proportion
to total rate of received packets to define when a PCN_egres_node goes
from Normal state to admission control state. In this version of the
draft we call this value as: PCN_lower_rate_egress. This is wrong.
What we should say is:
PCN_lower_rate_egress: is equal to incoming_PCN_marking_rate, when:
(incoming_PCN_marking_rate/measured PHB rate) = to a preconfigured
percentage, say 1%. From now on I denote this percentage as:
PCN_lower_percentage_egress.
Thus we can say that a PCN_egress_node changes from Normal state to
admission control state when
incoming_PCN_marking_rate/measured PHB rate > PCN_lower_percentage_egress.
Where,
incoming_PCN_marking_rate = N * input_PCN_marking_bytes/T
Where,
input_PCN_marking_bytes = received number of "PCN_marking" encoded
packets during measurement period T.


>
> 2) Regarding the question above,
>
> * if pcn_lower_rate_eggress (and pcn_uppre-rate_egress) are
> absolute rates, then how do you choose that abslolute rate value,
> given that the rates of ingress-egress aggregates at the same ingress
> may be vastly different in magnitude?

Georgios: See explanation above! Hopefully this misundersatnding is also
solved!

>
> *if, however, pcn_lower_rate_eggress (and
> pcn_uppre-rate_egress) are ratios, then what is the guidance of
> setting these ratios so that the egress can always tell admission
> state from the termination state, given that the same marking is used
> for admission and termination marking?
> Specifically, suppose at the bottleneck pcn_lower_threshold is set to
> X, and pcn_upper_threshold to aX with some a>1 (assume for example
> a=1.5).
> How does the egress node tell between the conditions when the total
> pcn traffic on the bottleneck is 1.1X (which is the state wnen
> admission is needed but termination is not, - in this case
> (1.1X-X)/X=0.1 traffic is pcn-marked), and the case when the total
> traffic on the bottleneck is 1.1aX, which is the case when termination
> is needed, and (1.1ax-ax)/ax=0.1), if in both cases the ratio between
> marked and total traffic is the same value 0.1?

Georgios: In order to solve the above described problems,
the thresholds used in the PCN_interior_nodes and PCN_egress_nodes are
using:
the Admission_offset_rate that is an absolute rate value which is set
equal into whole PCN domain.

Note that the maximum excess rate that a PCN_interior_node can calculate
in admission control state is equal to Admission_offset_rate. If the
excess rate is higher than the Admission_offset_rate then the node
changes from admission control state to flow termination state.

Please see all details that I have provided at the top of this email. In
particular, check the paragraphs denoted above as:
"Setting the thresholds at PCN_interior_nodes"
"Setting the thresholds at PCN_egress_nodes"
"Generated excess rate by an PCN_interior_node operating in admission
control state"



>
> 3) On page 9, multicongestion error error is introduced, but the text
> is silent on how this error is defined and what is it set to (if it is
> a configuration parameter), or how it is measured (if it is something
> that is being measured). Can you explain, please?

Georgios:
Please see the paragraph denoted above as "Setting the thresholds at
PCN_egress_nodes"


Best regards,
Georgios


>
> I have some more questions, including sharing those asked by Phil in
> the attached message), but I will stop now, as I hope clarifications
> on the above (and Phil's) questions will help understand the draft
> better...
>
> Thank you in advance for clarifying all this.
>
> Anna


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