[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Idr] Fwd:I-D ACTION:draft-pmohapat-idr-acceptown-community-01.txt
John G. Scudder wrote:
> On Apr 30, 2008, at 6:39 PM, Danny McPherson wrote:
>
>> Traffic wasn't the issue. It's more CPU, memory, etc.. Just
>> because it's available doesn't mean it's free.
>>
>
> Regarding memory, it needn't be consumed for a this-is-my-own-route
> path. (It may be, but this is an implementation decision.)
>
>
You need to be careful about steady-state memory usage vs
high-water-mark memory usage.
Processing updates chews memory *prior* to installation of entries in
various RIBs/FIBs, and
unless you have an excess of CPU power (and can handle line-rate packets
in the slow path),
it isn't possible to feasibly pre-filter without degrading performance.
And not pre-filtering means memory gets hit on the transient prior to
discarding this-is-my-own-route.
> Regarding CPU, remember that you want to optimize the bottleneck,
> nothing else matters really. In most cases, the RR is the control
> plane bottleneck. Loading it up more to protect the CPUs of non-
> bottleneck devices seems like an odd design decision.
>
>
The red flag has gone up. Using the term "*the* bottleneck" means you
don't understand the nature
of complex systems. Yes, there will *always* be a bottleneck. However,
solving for one bottleneck
will *always* move the bottleneck to some other place. It may be
acceptable for a stable state with
several equally-pernicious bottlenecks affecting the system, or to move
the bottleneck to a portion of
the solution space that scales best (e.g. one that scales as O(n log n)
vs one that scales as O(n^2).
The two other points I'd like to make, are, that:
(1) saying "in most cases" is the same as saying "it's not always the
case". Solving for one case without
considering other cases is very short-sighted and can cause unforseen
consequences. It is much better
to *consider* those cases, explicitly, and discuss whether and to what
degree they would get affected; and
(2) keep in mind - an RR is *strictly* control plane. It is possible for
it to reside on a device that also does
data plane stuff. However, if RR performance is a huge deal, throwing
*computer* hardware at it, rather
than *router* hardware at it, is an entirely feasible solution - with
likely higher (by orders of magnitude)
ceiling on performance that can be bought, and likely at much lower
price point than equivalent router vendor
RR solutions. RR can achieve equivalent topological solutions (and thus
avoid topological variance versus
router-based RR's) by sitting as a one-armed device hanging off a core
router.
There is something to very much consider, however:
RR's are fundamentally required to achieve suitable scaling on big
non-VPN networks.
Please keep those networks in mind when messing about with core BGP
protocols.
(Never mind that I'm working on something to *really* mess with those
same core BGP protocols... but with good reason. :-) )
Brian Dickson
_______________________________________________
Idr mailing list
Idr at ietf.org
https://www.ietf.org/mailman/listinfo/idr