Re: [8023-CMSG] Questions
Brad,
The thing to remember is that MACs don't have queues, at least according
to 802.3. To the extent that MAC chip vendors supply queuing algorithms
for their implementations over and above the zero that 802.3 specifies,
they are often modeled after the mechanisms described in 802.1D for
bridges, or after the mechanisms IETF describes for routers. That way,
they're likely to work, likely to be understandable by the users of the
chips, and likely to result in useful networks.
Brad (and Matt),
Reasonable people may differ on the utility of Pause. Although there are
a (very few) exceptions, for the most part, you want your queue control
where the queues are. Putting the queues on the output side of one device
and putting the queue controls on the input side of another device, and
using 802.3X Pause to connect the two modules, is going way, way, out of
your way to make your life more difficult. Putting more than a minimal
amount of queuing on both ends of (the same direction of) the wire simply
adds latency while making control more difficult. Rate limiting the
draining of the output queue is much easier to get right than trying to
control the transmission rate from the other (receiving) end of a wire
whose length you're not sure of.
All those nasty things having been said, if a transmitter doesn't have
the ability to rate limit, and if the owner of that transmitter is
willing to pay the owner of the receiver enough money per month, then
Pause may be the only game in town, even if it's crooked. That does
not mean that you should optimize for that case, or use that example to
build new features.
-- Norm
Booth, Bradley wrote:
> JT,
>
> I got the answer I needed, which is that there is a base assumption that
> an 802.1 layer needs to exist above the 802.3 MAC if there is going to
> be any use of priorities. It was the interaction between the MAC's
> queues and 802.1 queues that I didn't understand as I spend most of my
> time at the physical layer.
>
> I'm still mulling over the statement by Matt that PAUSE makes a bigger
> pipe into a smaller pipe. Over a long period of time and if it was
> implemented correctly, I could understand that analogy. The trouble I'm
> having with that statement is that it seems to me that PAUSE is
> performed because of back pressure from upper layers (memory has passed
> a watermark). If upper layers can handle QoS/CoS, then surely they'd be
> able to handle making a big pipe run like a small pipe. If they cannot,
> then it seems that PAUSE would want some finer granularity rather than
> XON/XOFF.
>
> Thanks,
> Brad
>
> -----Original Message-----
> From: owner-stds-802-3-cm@listserv.ieee.org
> [mailto:owner-stds-802-3-cm@listserv.ieee.org] On Behalf Of Jonathan
> Thatcher
> Sent: Monday, May 17, 2004 8:49 AM
> To: STDS-802-3-CM@listserv.ieee.org
> Subject: Re: [8023-CMSG] Questions
>
>
> Brad,
>
> The way you choose to ask the question sends the response in a
> particular
> direction that you may, or may not be intending.
>
> If I were to ask you if 10GBASE-T knows how to forward packets from the
> MAC-Client interface one could respond in two different ways where both,
> depending on perspective, are technically correct:
>
> 1. 10GBASE-T does not know anything about the MAC-Client interface as
> that
> is exposed only in layers above 10GBASE-T.
> 2. Of course it does. By definition, 10GBASE-T references the upper
> layers.
> These are, therefore, explicitly included in the 10GBASE-T
> specification.
>
> Now someone might argue with each of these. For instance, the argument
> to
> the second might be, "you don't understand, the MAC is common across
> multiple port types." This argument is true, but misses the point. The
> fact
> is, that is the beauty of the layered architecture.
>
> Ethernet is not just the PMD. Ethernet is the PMD and all layers above
> the
> PMD that provide a complete solution, whether those layers are shared or
> not.
>
> Just because 802.1 is shared with other 802 "dots" does not mean that
> when
> it is integrated with Ethernet that it isn't part of Ethernet.
>
> Some in 802.1 would argue that all of 802.1 is part of the MAC. 802.1 is
> part of Layer 2. 802.1 is part of an Ethernet solution.
>
> There are any number of ways that you could modify your question to get
> opposite responses.
>
> Example: Is it understood or implied that 802.3 knows how to direct to
> and
> from multiple queues? Answer: Absolutely. See EPON. But, even without
> EPON,
> MAC-Control knows how to deal with packets to/from control and data
> queues.
>
> Etc.
>
> My response to 1) would therefore be: 802.1 knows. Therefore, by
> definition
> Ethernet knows.**
>
> jonathan
>
> ** Exception: if there is no 802.1, then there are no queues and
> Ethernet
> doesn't know because there is nothing to know. In this case, the
> question is
> moot. :-)
>
>
>>-----Original Message-----
>>From: owner-stds-802-3-cm@LISTSERV.IEEE.ORG
>>[mailto:owner-stds-802-3-cm@LISTSERV.IEEE.ORG]On Behalf Of Booth,
>>Bradley
>>Sent: Sunday, May 16, 2004 6:50 PM
>>To: STDS-802-3-CM@LISTSERV.IEEE.ORG
>>Subject: Re: [8023-CMSG] Questions
>>
>>
>>Norm,
>>
>>Thanks for the response. Two follow-up questions:
>>1) Is it understood or implied that Ethernet knows how to
>>direct frames
>>to and from these 8 queues?
>>2) What if the device does not use a bridge as in an adapter?
>>
>>Thanks,
>>Brad
>>
>>-----Original Message-----
>>From: owner-stds-802-3-cm@LISTSERV.IEEE.ORG
>>[mailto:owner-stds-802-3-cm@LISTSERV.IEEE.ORG] On Behalf Of
>>Norman Finn
>>Sent: Sunday, May 16, 2004 11:11 AM
>>To: STDS-802-3-CM@LISTSERV.IEEE.ORG
>>Subject: Re: [8023-CMSG] Questions
>>
>>
>>Brad,
>>
>>I think you did miss the mark, particularly with:
>>
>> "Considering that Ethernet doesn't know in advance about the
>>provisioning
>> of the network and does not care about which packets it delays or
>>drops,
>> then it is likely that 802.1 and the upper layers can do all the
>> priorities or differentiated services that they want but will see
>> diminishing returns as the load on the network increases."
>>
>>I would agree with, "Ethernet doesn't know in advance about the
>>provisioning
>>of the network", but 802.1D bridges certainly do care about
>>which frames
>>are
>>delayed or dropped. Bridges define the use of 8 queues per
>>output port,
>>and
>>frames are marked with 8 levels of priority. Although strict priority
>>scheduling is the only queue draining algorithm specified in the
>>standard,
>>others are explicitly allowed, and most vendors implement
>>varieties that
>>provide very good latency and bandwidth guarantees. Furthermore, a
>>great
>>many bridges are able to assign priorities to 802.3 frames based on
>>criteria
>>such as IP DSCP code points.
>>
>>In short, ethernet is *far* from "best effort".
>>
>>-- Norm
>>
>>Booth, Bradley wrote:
>>
>>>My apologies in advanced if the answers are obvious, but
>>
>>I've been so
>>
>>>focused on cabling and physical layer the last couple of
>>
>>weeks, so I'm
>>a
>>
>>>bit brain dead to upper layer stuff.
>>>
>>>There has been some talk about differentiated services and
>>
>>priorities
>>
>>>associated with 802.1 and the upper layers. Here are my questions:
>>>1) If the network is overprovisioned (available bandwidth >= maximum
>>
>>instantaneous throughput), then am I correct in assuming that
>>
>>>these differentiated services and priorities operate just
>>
>>fine because
>>
>>>the upper layer protocols within the switches have sufficient
>>>bandwidth? Should I also assume that the available
>>
>>bandwidth is based
>>
>>>upon what the end stations (adapters, servers, etc.) can handle?
>>>2) If the network is not overprovisioned (either in the switches or
>>>adapters), then is it fair to assume that these differentiated
>>
>>services
>>
>>>and priorities will provide diminishing returns as throughput
>>
>>increases
>>
>>>over the available bandwidth?
>>>
>>>I keep coming back to the statement others have made that
>>
>>802.1 or the
>>
>>>upper layers can handle this, but I cannot help think that
>>
>>would only
>>be
>>
>>>true for an overprovisioned network. Considering that Ethernet
>>
>>doesn't
>>
>>>know in advance about the provisioning of the network and does not
>>
>>care
>>
>>>about which packets it delays or drops, then it is likely that 802.1
>>
>>and
>>
>>>the upper layers can do all the priorities or
>>
>>differentiated services
>>
>>>that they want but will see diminishing returns as the load on the
>>>network increases.
>>>
>>>This would seem to me like going out and buying a Formula 1 race car
>>
>>to
>>
>>>use to drive to work in Silicon Valley. A lot of money in fuel and
>>>equipment only to sit on 101 during rush hour(s).
>>>
>>>Am I off the mark here?
>>>
>>>Thanks,
>>>Brad
>>>
>>
>