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

Joel Halpern Direct <jmh.direct@joelhalpern.com> Thu, 29 May 2014 19:48 UTC

Return-Path: <jmh.direct@joelhalpern.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 D91251A063F for <sfc@ietfa.amsl.com>; Thu, 29 May 2014 12:48:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.902
X-Spam-Level:
X-Spam-Status: No, score=-1.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, 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 oPysuS2o4y5A for <sfc@ietfa.amsl.com>; Thu, 29 May 2014 12:48:27 -0700 (PDT)
Received: from mailb2.tigertech.net (mailb2.tigertech.net [208.80.4.154]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1716D1A063B for <sfc@ietf.org>; Thu, 29 May 2014 12:48:27 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mailb2.tigertech.net (Postfix) with ESMTP id 3D458660520; Thu, 29 May 2014 12:48:23 -0700 (PDT)
X-Virus-Scanned: Debian amavisd-new at b2.tigertech.net
Received: from Joels-MacBook-Pro.local (aptilo2-usaa.ericsson.net [129.192.185.163]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mailb2.tigertech.net (Postfix) with ESMTPSA id 47C4E1C077E; Thu, 29 May 2014 12:48:22 -0700 (PDT)
Message-ID: <53878F04.40909@joelhalpern.com>
Date: Thu, 29 May 2014 15:48:20 -0400
From: Joel Halpern Direct <jmh.direct@joelhalpern.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0
MIME-Version: 1.0
To: Sharon <sbarkai@gmail.com>, Linda Dunbar <linda.dunbar@huawei.com>
References: <CFABB759.2DEF3%kegray@cisco.com> <4A95BA014132FF49AE685FAB4B9F17F645D2762A@dfweml701-chm.china.huawei.com> <AE4576EC-DE09-4E07-8FDF-937485E201D1@gmail.com>
In-Reply-To: <AE4576EC-DE09-4E07-8FDF-937485E201D1@gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: http://mailarchive.ietf.org/arch/msg/sfc/rvdiQWSoAPDRZI6Tk1uUHIYO-Lw
Cc: "Joel M. Halpern" <jmh@joelhalpern.com>, "Paul Quinn (paulq)" <paulq@cisco.com>, "Ken Gray (kegray)" <kegray@cisco.com>, "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 19:48:29 -0000

I am not at all sure I am following your diagram.
An SFF is concerned with forwarding packets to (and handling packets 
from) its attached SFs.  If you want the SFF to also affect downstream 
processing, for example by changing the service path the packet is on, 
then you need a classifier co-located with the SFF.

Yours,
Joel

On 5/29/14, 12:09 PM, Sharon wrote:
> "the SFF nodes to which the multiple instances of SF2 or SF4 are attached"
>
> Can't the SFF node make a load balancing decision on instances not
> attached to it?
> In which case "the SFF node" is enough
>
> Location A                                                       Location B
> Functions - SFF/NVE - Underlay - NVE/SFF - Functions
>
> The load balancing KPI decisions (and the invariant that keeps states
> consistent)
> May be known in Location A for SFs in location B where A/B are different
> racks or goes.
> KPIs that are factored in can include both those of the Underlay network
> and the chain.
>
> --szb
>
> On May 28, 2014, at 14:49, Linda Dunbar <linda.dunbar@huawei.com
> <mailto:linda.dunbar@huawei.com>> wrote:
>
>> 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:[L1] <#_msocom_1> 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
>>
>> ------------------------------------------------------------------------
>>
>> [L1] <#_msoanchor_1>Require pushing policies to SF1 on how to load
>> balance multiple instances of SF2.
>>
>> SF1 may not have the capability to balance among multiple instances of
>> SF2
>>
>> _______________________________________________
>> sfc mailing list
>> sfc@ietf.org <mailto:sfc@ietf.org>
>> https://www.ietf.org/mailman/listinfo/sfc