Re: [sip-overload] comments on draft-ietf-soc-overload-rate-control-01

"NOEL, ERIC C (ERIC C)" <ecnoel@research.att.com> Wed, 02 May 2012 13:38 UTC

Return-Path: <ecnoel@research.att.com>
X-Original-To: sip-overload@ietfa.amsl.com
Delivered-To: sip-overload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A896C21F8598 for <sip-overload@ietfa.amsl.com>; Wed, 2 May 2012 06:38:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.599
X-Spam-Level:
X-Spam-Status: No, score=-106.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J+igJC8tTVeu for <sip-overload@ietfa.amsl.com>; Wed, 2 May 2012 06:38:25 -0700 (PDT)
Received: from mail-pink.research.att.com (mail-pink.research.att.com [192.20.225.111]) by ietfa.amsl.com (Postfix) with ESMTP id A2C0021F84BD for <sip-overload@ietf.org>; Wed, 2 May 2012 06:38:25 -0700 (PDT)
Received: from mail-blue.research.att.com (unknown [135.207.178.11]) by mail-pink.research.att.com (Postfix) with ESMTP id 51B2612006C; Wed, 2 May 2012 09:38:25 -0400 (EDT)
Received: from njfpsrvexg5.research.att.com (njfpsrvexg5.research.att.com [135.207.177.27]) by mail-blue.research.att.com (Postfix) with ESMTP id 93378EF72E; Wed, 2 May 2012 09:38:00 -0400 (EDT)
Received: from njfpsrvexg6.research.att.com ([fe80::a8f7:a94a:d5bd:fe0b]) by njfpsrvexg5.research.att.com ([fe80::a501:da3:2345:4587%10]) with mapi; Wed, 2 May 2012 09:38:34 -0400
From: "NOEL, ERIC C (ERIC C)" <ecnoel@research.att.com>
To: 'Volker Hilt' <volker.hilt@bell-labs.com>, "'sip-overload@ietf.org'" <sip-overload@ietf.org>
Date: Wed, 02 May 2012 09:39:30 -0400
Thread-Topic: [sip-overload] comments on draft-ietf-soc-overload-rate-control-01
Thread-Index: Ac0MPmSS86udd2loRVCepKZkBCHFDwHLRsKABT5jaRA=
Message-ID: <2F8FB48C17221643AD77FA295756D2A73E64C15BBC@njfpsrvexg6.research.att.com>
References: <4F71F78E.80009@bell-labs.com> <2F8FB48C17221643AD77FA295756D2A73E64C15B08@njfpsrvexg6.research.att.com>
In-Reply-To: <2F8FB48C17221643AD77FA295756D2A73E64C15B08@njfpsrvexg6.research.att.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [sip-overload] comments on draft-ietf-soc-overload-rate-control-01
X-BeenThere: sip-overload@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Overload <sip-overload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sip-overload>
List-Post: <mailto:sip-overload@ietf.org>
List-Help: <mailto:sip-overload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sip-overload>, <mailto:sip-overload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 02 May 2012 13:38:26 -0000

Volker,

Phil, Janet and I worked out the following response to provide better clarification on the meaning of Tau, Tau1 and Tau2:

The tolerance parameter Tau determines how close the long-term admitted rate is to an ideal control that would admit all SIP requests for arrival rates less than 1/T and then admit SIP requests precisely rate at 1/T for arrival rates above 1/T. In particular at mean arrival rates close to 1/T, it determines the tolerance to deviation of the inter-arrival time from T (the larger Tau the more tolerance to deviations from the inter-departure interval T).  

This deviation from the inter-departure interval influences the admitted rate burstyness, or the number consecutive SIP requests forwarded to the SIP server (burst size proportional to Tau over the difference between 1/T and the arrival rate).

SIP servers with a very large number of clients, each with a relatively small arrival rate, will generally benefit from a smaller value for Tau in order to limit queuing (and hence response times) at the server when subjected to a sudden surge of traffic from all clients.  Conversely, a SIP server with a relatively small number of clients, each with proportionally larger arrival rate, will benefit from a larger value of Tau.

With a priority scheme that relies on two tolerance parameters (Tau2 influences the priority traffic, Tau1 influences the non-priority traffic), always set Tau1 <= Tau2 (Tau is replaced by Tau1 and Tau2).  Setting both tolerance parameters to the same value is equivalent to having no priority. Tau1 influences the admitted rate the same way as Tau does when no priority are set. And the larger the difference between Tau1 and Tau2, the closer to the control is to strict priority.

Tau (or Tau1 and Tau2) can assume any positive real number value and is not necessarily bounded by T.   
  
Then for the pseudo code (C-like syntax):

Pseudo code (no priority case): 
    
    // T: emission interval, set to 1 / TargetRate 
    // tau:  tolerance parameter 
    // t_a: arrival time of last arrival 
   // LCT:  arrival time of last conforming SIP request (initialized to the first arrival time) 
   // X: current value of leaky bucket counter (initialized to 0) 
   
   // After first arrival, calculate auxiliary variable Xp 
    Xp = X - (t_a - LCT); 
     
    if (Xp <= tau) {   
      // Accept SIP request 
     // Update X and LCT       
      X = max(0,Xp) + T;       
      LCT = t_a; 
    } else { 
      // Reject SIP request 
      // Do not update X and LCT     
    } 
     
Pseudo code (priority case): 
   
    // T: emission interval, set to 1 / TargetRate 
    // tau1:  tolerance parameter of no priority SIP requests 
    // tau2:  tolerance parameter of priority SIP requests 
    // t_a: arrival time of last arrival 
   // LCT:  arrival time of last conforming SIP request (initialized to the first arrival time) 
   // X: current value of leaky bucket counter (initialized to 0) 
   
   // After first arrival, calculate auxiliary variable Xp 
    Xp = X - (t_a - LCT); 
     
  if (AnyRequestReceived && Xp <= tau1 || PriorityRequestReceived && Xp <= tau2 && Xp > tau1) { 
      // Accept SIP request 
     // Update X and LCT       
      X = max(0,Xp) + T; 
      LCT = t_a; 
    } else { 
      // Reject SIP request 
      // Do not update X and LCT     
    }

Note that we intend to update our contribution with the above text.

Additional comments and/or suggestions are welcome.

Thanks,

Eric Noel 
AT&T Labs, Inc. 
Rethink Possible

Network Design and Performance Analysis
200 South Laurel Avenue, D5-3D19
Middletown, NJ 07748
P: 732.420.4174
ecnoel@att.com


-----Original Message-----
From: NOEL, ERIC C (ERIC C) 
Sent: Thursday, April 05, 2012 5:24 PM
To: 'Volker Hilt'; sip-overload@ietf.org
Cc: 'phil.m.williams@bt.com'; jgunn6@csc.com
Subject: RE: [sip-overload] comments on draft-ietf-soc-overload-rate-control-01

Volker,

Apologies for the delayed response.  Phil is away and could not provide input to below, and I am about to go away as well. So I am giving you partial responses which I will complete upon my return. Janet also provided some input in below.

- Section 3.4.:
   But when deriving this rate the server may need to
   take into account the effect of the client prioritization on the
   load it receives, e.g. CPU utilization will depend upon the
   characteristics of the requests.
How should the server take the client prioritization into account? Does the server need to know the prioritization made by the client?
[EN/JG] The server does not know the client(s) prioritization rules, but it could account for it implicitly  by relying on a resource measure such as the average CPU load per request due to the particular request stream mix resulting from the client's admission control.  Using this measure would allow the server to take into account the client prioritization.  

- Section 3.5.:
What is the adjusted-oc-value? Is this the value received in the oc parameter? How will it be adjusted?
[EN/JG] The parameter "adjusted-oc-value" is a typo, should be "oc-value". Will be changed in the next version.


How should the values TAU1 and TAU2 be set with respect to the overall TAU? Can you give guidance on how they should be chosen? What will they depend on?
[EN/JG] Putting together a small model to produce guidance on parameter selection. 

It would be very helpful to have a pseudo-code algorithm for rate based controls. This will make the description in this section easier to understand.
[EN/JG] Will be added in next version.

Eric Noel 
AT&T Labs, Inc. 
Rethink Possible

Network Design and Performance Analysis
200 South Laurel Avenue, D5-3D19
Middletown, NJ 07748
P: 732.420.4174
ecnoel@att.com


-----Original Message-----
From: sip-overload-bounces@ietf.org [mailto:sip-overload-bounces@ietf.org] On Behalf Of Volker Hilt
Sent: Tuesday, March 27, 2012 1:23 PM
To: sip-overload@ietf.org
Subject: [sip-overload] comments on draft-ietf-soc-overload-rate-control-01

Eric, Phil,

here are a few comments on draft-ietf-soc-overload-rate-control-01:

- Section 3.4.:

    But when deriving this rate the server may need to
    take into account the effect of the client prioritization on the
    load it receives, e.g. CPU utilization will depend upon the
    characteristics of the requests.

How should the server take the client prioritization into account? Does the server need to know the prioritization made by the client?

- Section 3.5.:

What is the adjusted-oc-value? Is this the value received in the oc parameter? How will it be adjusted?

How should the values TAU1 and TAU2 be set with respect to the overall TAU? Can you give guidance on how they should be chosen? What will they depend on?

It would be very helpful to have a pseudo-code algorithm for rate based controls. This will make the description in this section easier to understand.

Thanks,

Volker

_______________________________________________
sip-overload mailing list
sip-overload@ietf.org
https://www.ietf.org/mailman/listinfo/sip-overload