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

Linda Dunbar <linda.dunbar@huawei.com> Thu, 29 May 2014 17:16 UTC

Return-Path: <linda.dunbar@huawei.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 F15161A018C for <sfc@ietfa.amsl.com>; Thu, 29 May 2014 10:16:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.851
X-Spam-Level:
X-Spam-Status: No, score=-4.851 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.651, 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 BmoFWEbDe1py for <sfc@ietfa.amsl.com>; Thu, 29 May 2014 10:16:33 -0700 (PDT)
Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0A8491A0254 for <sfc@ietf.org>; Thu, 29 May 2014 10:16:32 -0700 (PDT)
Received: from 172.18.7.190 (EHLO lhreml204-edg.china.huawei.com) ([172.18.7.190]) by lhrrg01-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id BHK37931; Thu, 29 May 2014 17:16:26 +0000 (GMT)
Received: from LHREML406-HUB.china.huawei.com (10.201.5.243) by lhreml204-edg.china.huawei.com (172.18.7.223) with Microsoft SMTP Server (TLS) id 14.3.158.1; Thu, 29 May 2014 18:15:30 +0100
Received: from DFWEML702-CHM.china.huawei.com (10.193.5.72) by lhreml406-hub.china.huawei.com (10.201.5.243) with Microsoft SMTP Server (TLS) id 14.3.158.1; Thu, 29 May 2014 18:16:01 +0100
Received: from DFWEML701-CHM.china.huawei.com ([169.254.1.64]) by dfweml702-chm.china.huawei.com ([169.254.4.56]) with mapi id 14.03.0158.001; Thu, 29 May 2014 10:15:50 -0700
From: Linda Dunbar <linda.dunbar@huawei.com>
To: "Ken Gray (kegray)" <kegray@cisco.com>, Eric Gray <eric.gray@ericsson.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/PggAEJnTCAACWuAIAAF//Q
Date: Thu, 29 May 2014 17:15:49 +0000
Message-ID: <4A95BA014132FF49AE685FAB4B9F17F645D28D8E@dfweml701-chm.china.huawei.com>
References: <CFABB759.2DEF3%kegray@cisco.com> <4A95BA014132FF49AE685FAB4B9F17F645D2762A@dfweml701-chm.china.huawei.com> <48E1A67CB9CA044EADFEAB87D814BFF632AD0288@eusaamb107.ericsson.se> <CFACBEC7.2E6CF%kegray@cisco.com>
In-Reply-To: <CFACBEC7.2E6CF%kegray@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.192.11.251]
Content-Type: multipart/alternative; boundary="_000_4A95BA014132FF49AE685FAB4B9F17F645D28D8Edfweml701chmchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: http://mailarchive.ietf.org/arch/msg/sfc/eq6PIe_8P-AJ3BL10dZrHipSSPo
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 17:16:38 -0000

Eric and Ken:

The current text explicitly says " sf1 would use local logic --  hash, state table, etc. -- to distribute the chained packets to sf2.".  To me this is not generic description. Why it has to be sf1 to choose which instance of sf2 for the chain? What if the decision is on SFF node?


If you want to make the text generic, I suggest removing the text on how SF1 having local logic to choose SF2, like:

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


"The load distribution decision will be localized (in general, although there might
   be macro policy controlling that"

Linda

-----Original Message-----
From: Ken Gray (kegray) [mailto:kegray@cisco.com]
Sent: Thursday, May 29, 2014 9:41 AM
To: Eric Gray; 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

Yep, can see how it is a bit too "thick".  I'm okay with your suggested simplification.

On 5/29/14 10:25 AM, "Eric Gray" <eric.gray@ericsson.com<mailto:eric.gray@ericsson.com>> wrote:

>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<mailto: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<mailto: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<mailto:linda.dunbar@huawei.com>>
>Date: Wednesday, May 28, 2014 3:34 PM
>To: "Paul Quinn (paulq)" <paulq@cisco.com<mailto:paulq@cisco.com>>, "Joel M. Halpern"
><jmh@joelhalpern.com<mailto:jmh@joelhalpern.com>>
>Cc: "sfc@ietf.org<mailto:sfc@ietf.org>" <sfc@ietf.org<mailto: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
>