Re: [sfc] questions of "load balancing considerations" in the draft-quinn-sfc-arch-05

Eric Gray <eric.gray@ericsson.com> Thu, 29 May 2014 14:25 UTC

Return-Path: <eric.gray@ericsson.com>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 00FAB1A09A0 for <sfc@ietfa.amsl.com>; Thu, 29 May 2014 07:25:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] 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 ViwU50DzLNtW for <sfc@ietfa.amsl.com>; Thu, 29 May 2014 07:25:51 -0700 (PDT)
Received: from usevmg21.ericsson.net (usevmg21.ericsson.net [198.24.6.65]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6D5831A0999 for <sfc@ietf.org>; Thu, 29 May 2014 07:25:41 -0700 (PDT)
X-AuditID: c6180641-f79df6d000002de0-51-5386f0c7150e
Received: from EUSAAHC005.ericsson.se (Unknown_Domain [147.117.188.87]) by usevmg21.ericsson.net (Symantec Mail Security) with SMTP id 88.BC.11744.7C0F6835; Thu, 29 May 2014 10:33:12 +0200 (CEST)
Received: from EUSAAMB107.ericsson.se ([147.117.188.124]) by EUSAAHC005.ericsson.se ([147.117.188.87]) with mapi id 14.03.0174.001; Thu, 29 May 2014 10:25:29 -0400
From: Eric Gray <eric.gray@ericsson.com>
To: Linda Dunbar <linda.dunbar@huawei.com>, "Ken Gray (kegray)" <kegray@cisco.com>, "Paul Quinn (paulq)" <paulq@cisco.com>, "Joel M. Halpern" <jmh@joelhalpern.com>
Thread-Topic: [sfc] questions of "load balancing considerations" in the draft-quinn-sfc-arch-05
Thread-Index: AQHPerstNYLhn/ifQS+CjPHej+3iV5tWg/PggAEJnTA=
Date: Thu, 29 May 2014 14:25:29 +0000
Message-ID: <48E1A67CB9CA044EADFEAB87D814BFF632AD0288@eusaamb107.ericsson.se>
References: <CFABB759.2DEF3%kegray@cisco.com> <4A95BA014132FF49AE685FAB4B9F17F645D2762A@dfweml701-chm.china.huawei.com>
In-Reply-To: <4A95BA014132FF49AE685FAB4B9F17F645D2762A@dfweml701-chm.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [147.117.188.11]
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrJLMWRmVeSWpSXmKPExsUyuXRPuO6JD23BBrt6OSw+nnrDZDFj+xwW i7stE5ks9r9aymrx5MFWdgdWjym/N7J6tBx5y+qxZMlPJo9zU74zBrBEcdmkpOZklqUW6dsl cGW0zD7MWPDepuLk1IesDYwPDboYOTkkBEwkVnWsZoawxSQu3FvP1sXIxSEkcJRRYuOs+ywg CSGB5YwSLbNMQGw2AQ2JY3fWMoIUiYDEG6/dYQJJMAsoSjy69RvMFhZIkJjS1ccGYosIJErM ednKDmFbSWz9ewOohoODRUBV4l9fOkiYV8BXonPXfyaIXZUSK/fMBGvlFAiTWPJjD1grI9Bx 30+tgVolLnHryXwmiKMFJJbsOQ/1gKjEy8f/WCFsJYmPv+ezQ9TrSdyYOoUNwtaWWLbwNTPE XkGJkzOfsExgFJuFZOwsJC2zkLTMQtKygJFlFSNHaXFqWW66keEmRmBcHZNgc9zBuOCT5SFG AQ5GJR7eB69bg4VYE8uKK3MPMUpzsCiJ8+65VhUsJJCeWJKanZpakFoUX1Sak1p8iJGJg1Oq gdHjyrOZ2j/3izhcijARXOAonTy7NumoruLjdQZrX6x79HRlzMGgIqFfF984dDF/U/gcMfHO 1e55TNzPuWr+P+7kiVWTuMQ+zzrqQ0l0w60H3DJOHxPOMcqpiJtvEgGaY3tmu55qkL/m6YD3 h/o+nxRaZG+l8o5HW/udzbn6CAXV059fnfW/qMRSnJFoqMVcVJwIAEz7Sh2MAgAA
Archived-At: http://mailarchive.ietf.org/arch/msg/sfc/EiVhnYC74aF54uwQ1nLRSLuxitw
Cc: "sfc@ietf.org" <sfc@ietf.org>
Subject: Re: [sfc] questions of "load balancing considerations" in the draft-quinn-sfc-arch-05
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 May 2014 14:25:55 -0000

Linda,

	A few points:
1) probably better not to use MS Word (assuming that is what you used) to add 
comments to your mail (not sure many people will be able to read them); best
to simply include your comment(s) directly.
2) being careful about providing text to ensure that the right context is included
can help to understand your point.
3) your comments appear (as Ken pointed out in a separate response) not to be
     based on what any of us said; in fact, it looks like what you really mean is "based
     on my understanding of what you have said" as a way to make a separate (but
     related) point.

In your first point, a more complete context would be included if you quoted this:

"The load distribution decision will be localized (in general, although there might 
   be macro policy controlling that - which is out of scope for the sake of a simple 
   example).  In this case, the control entity will push to the sf1 nodes, a table of
   sorts: sf2 with a series of next hops, and if needed some weighted or other 
   metrics (these could also be decided locally by some policy, but sf1 would need 
   to be aware of expand/contract triggers and actions).  sf1 would use local logic -- 
   hash, state table, etc. -- to distribute the chained packets to sf2."

This is the entire paragraph, after the first two sentences.

I believe the issue with this text is that the authors have improperly parenthesized 
text, making the meaning of this paragraph self-contradictory and rather opaque
on first reading it.

In fact, grammatically speaking the entire paragraph is a mess - and that does not
help in understanding it.

The way I have puzzled it out, the text "[in] this case, the control entity will push
to the sf1 nodes, a table of [some sort: e.g.  - ] sf2 with a series of next hops, and 
[(if needed)] some weighted or other metrics" applies to the text in parentheses 
in the preceding sentence (i.e. - "in general, although there might be [a] macro 
policy controlling that - ...").  In other words, "this case" refers to the case where 
a macro policy is used to control the "local decision" process.

As you can see from the way I have hacked up the sentences in my effort to make
sense of them, and the amount of restructuring I think the text requires, it is my 
opinion that the text needs a major rework.

For one thing, the complex example given actually doesn't help and should not be
included.

Assuming I have the meaning correct, I would replace the quoted text above with:

"In the example shown in Figure 5, the load distribution decision for SF2 is localized 
  at SF1 (though the decision may be affected by a macro policy provided in some
 form by the control entity)."

The rest of the previous text only adds confusion as a result of over-stating the
example.

As a matter of personal preference, I would also use the word "embedded" as
the better-known spelling of the word "imbedded" used in the first sentence
(and possibly elsewhere in the draft).

I agree with Ken that your second suggested change is incorrect.

--
Eric
  


From: sfc [mailto:sfc-bounces@ietf.org] On Behalf Of Linda Dunbar
Sent: Wednesday, May 28, 2014 5:50 PM
To: Ken Gray (kegray); Paul Quinn (paulq); Joel M. Halpern
Cc: sfc@ietf.org
Subject: Re: [sfc] questions of "load balancing considerations" in the draft-quinn-sfc-arch-05

Joel, Eric, and Ken, 

Thank you very much for the explanation. 

Based on what you said, the description on how "control entity  push to the sf1 nodes ." should be removed from the text, specifically:

"In this
   case, the control entity will push to the sf1 nodes, a table of
   sorts:  sf2 with a series of next hops, and if needed some weighted or
   other metrics (these could also be decided locally by some policy,
   but sf1 would need to be aware of expand/contract triggers and
   actions)." 


Should also change the sentence after the Figure 5 to

"Either through an imbedded action in sf1 and sf3, the SFF nodes to which the multiple instances of SF2 or SF4 are attached, or through external
   control, the service functions sf2 and sf4 are elastically expanded
   and contracted dynamically."  


Linda
From: Ken Gray (kegray) [mailto:kegray@cisco.com] 
Sent: Wednesday, May 28, 2014 4:24 PM
To: Linda Dunbar; Paul Quinn (paulq); Joel M. Halpern
Cc: sfc@ietf.org
Subject: Re: [sfc] questions of "load balancing considerations" in the draft-quinn-sfc-arch-05

+1 to Joel . the picture would be ugly at best.  We attempted a generic HA/LB slide to make a point and even it was ugly .such are the limitations of ASCII art.

In line .

From: Linda Dunbar <linda.dunbar@huawei.com>
Date: Wednesday, May 28, 2014 3:34 PM
To: "Paul Quinn (paulq)" <paulq@cisco.com>, "Joel M. Halpern" <jmh@joelhalpern.com>
Cc: "sfc@ietf.org" <sfc@ietf.org>
Subject: [sfc] questions of "load balancing considerations" in the draft-quinn-sfc-arch-05

Paul and Joel, 
 
Does the Load Balancing Figure 5 (of draft-quinn-sfc-arch-05) assume that SF1 is responsible for balancing traffic among the 3 instances of SF2, and SF3 is responsible for balancing traffic among the 3 instances of SF4?

<keg> Document text below the picture says "Either through an imbedded action in sf1 and sf3, or through external
control, the service functions sf2 and sf4 are elastically expanded and contracted dynamically."
 
Isn't it a single point of failure?

<keg> Document text immediately subsequent to that picture and paragraph illustrates HA scenarios.
 
Some service functions are Stateful, i.e. they may require packets from same flows to traverse the same service function instance. For the Load Balancing scheme described by Figure 5, do you assume that SF1 and SF3 will be responsible for making sure that same flows go through the same service function instance?

<keg> Again, the aforementioned text deliberately allows this responsibility to be either imbedded in the elasticity-causing function or to be controlled externally or centrally.  We don't get into the mechanics as these can vary.  While stateful/bidirectional does add an additional burden, it can be accommodated without an explosion of discrete chains.  For example, it could be handled "at allocation time" if elasticity is managed via a separate entity and the individual allocations reflected through service chain control in the initial metadata bound to at the classification point in either direction.  OR, if the devices are working as a paired system (single vendor or ecosystem) with integrated elasticity, they could pass metadata between them when sf1 or sf3 does the initial dynamic allocation (affecting local forwarding on it's partner).  That's probably not an exhaustive list of ways to solve the problem.  8^)

<keg> The point of this section was that elasticity and HA should not cause an inordinate explosion of discrete chains without recommending a particular solution.  That is,  you shouldn't create unnecessary  complexity where it doesn't need to exist.
 
For the stateful service functions, if a flow is switched from SF-Instance-X to SF-Instance-Y, the SF-Instance-Y needs to synchronize the states from SF-Instance-X. Who is responsible for those states maintenance for the Load Balancing described in Figure 5?

<keg> None of those entities exist in Figure 5.  Can you re-phrase your question from the figure? 
 
Linda