Kyle McDonald writes:
> James Carlson wrote:
> > Because it's evil and wrong.  ;-}
> >
> >   
> Um. Ok. But that doesn't really help me learn *why* it's not technically 
> possible (or right) to do it, does it?
> Fortunately Neil's reply did fill in more of those details.

Sorry about that.  That's why I referenced the CR number, forgetting
that (a) you're not now a Sun employee, (b) the information was
misplaced in the Comments section rather than the evaluation (sigh!)
and (c) the broken bug system doesn't allow everyone access to all of
the fields needed to read a bug report.

> In what way would people shoot themselves in the foot with it? I guess 
> I'm not seeing the danger?
> Is it just the packet ordering overhead Neil mentions?

Exactly.

If you happen to be running non-IP protocols or if you're doing
bridging, then his remarks about standards violations are on target.
A bridge, in particular, must not reorder packets and several non-IP
protocols can't tolerate reordering in the link layer.

However, Solaris doesn't (yet) have bridging integrated, and non-IP
support on Solaris is thin, and in the cases where one of those things
existed, you could just document that round-robin is inapplicable, so
that's not the real reason to avoid doing it.

The real reason is that you tend to lose with reordering.  There may
be a few cases where you win, where the stars all align properly so
that reordering is minimal and you end up with N times the
throughput.  However, there'd also be many cases where the combination
would run more slowly than a single link, and you'd end up with
escalations and pain.

Mike Gerdts writes:
> On Fri, May 30, 2008 at 4:15 PM, James Carlson <[EMAIL PROTECTED]> wrote:
> > It could certainly be done quite easily, and it's been discussed many
> > times.  See, for instance, CR 6538146.
> >
> > I don't really agree with the evaluation of that bug, because
> 
> Can you copy/move the evaluation into a publicly viewable field or
> post it as a reply?

Here's an excerpt.  I've excised the portion that debated the wisdom
of including this feature in Sun Trunking.  It looks to me less like
technical information and more like an email message I shouldn't
forward without the author's permission.  (The two debating are Martin
Lorenz and Nicolas Droux; feel free to contact them to post the
material.)

  This would be clearly against the IEEE802.3ad standard which defines
  link aggregation. So we cannot support an option which goes against
  the standards, since we cannot predict the behavior of other systems
  that would be faced with that traffic. 

  Aside from standard compliance, there are other architectural issues
  to consider with Solaris: One is of course the performance impact
  caused by reordering of packets. Also our current stack is heavily
  relying on the mapping between interrupted cpus and the CPU assigned
  to the squeue associated with connections. A round robin policy goes
  completely against that architecture, packets for single connections
  will start arriving on multiple CPUs, and introducing contention on
  the squeues associated with these connections, and will lead to
  performance problems, in addition to the problems caused by
  reordering. It would also set a precedent, showing that we implement
  features that go against the architectural principles behind our
  network stack implementation.

-- 
James Carlson, Solaris Networking              <[EMAIL PROTECTED]>
Sun Microsystems / 35 Network Drive        71.232W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.496N   Fax +1 781 442 1677
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to