Congestion Management (CM) - IEEE 802

44
IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 1 Congestion Management (CM) Managing the Layer Stack Jonathan Thatcher May 2004

Transcript of Congestion Management (CM) - IEEE 802

Page 1: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 1

Congestion Management (CM)Managing the Layer Stack

Jonathan Thatcher

May 2004

Page 2: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 2

Things to RemembernCongestion Management (CM) doesn’t

produce more bandwidthn It is about preferential treatmentn It is about latency vs throughput tradeoffs

nCM is not “quality of service (QoS)”n In fact, not a “telecom-like service” at allnQoS requires knowledge “deeper” than L2

nPAUSE < CM < QoSn If (CM j PAUSE or CM j QoS) then STOP

Page 3: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 3

This Presentation Doesn’t…

n This presentation doesn’t attempt to justify the need for a congestion management projectnOthers will do that.

n This presentation doesn’t address issues related to queue arbitration mechanismsnThis can be left to TF

Page 4: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 4

Presentation Problem Statement**n It is possible to place the specification of

Congestion Management entirely within 802.1, split between 802.1 and 802.3, or entirely within 802.3nRedundancy between WG should be avoided

nEach choice has PROs and CONsnMaking this choice subsequent to the

establishment of the Task Force is a disservice to IEEE-SA, IEEE-802, IEEE-802.1 and IEEE 802.3

** Note: this is not the “big problem statement”

Page 5: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 5

Classification of Flows

n IEEE 802 does not care how m L3 data is classified and mapped to L2 classn The means to classify a flow is beyond 802 scopen The association between a classified flow and one

of its classified packets is beyond 802 scopen We cannot know future; need flexibility

n The means to identify the classification of a frame within L2 is within 802’s scopen We do not want to look beyond L2 to identify class

n The rules for treatment of a classification of frames within L2 is within 802’s scope

Page 6: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 6

Edge-to-Edge Multi-Vendor Consistency

nNetwork-wide consistency of operation is a key factor – perhaps the key factor –in deciding placement

nUniversal, predictable CM cannot be assured if CM on the link differs from CM within the bridge

n If consistency of CM behavior (e.g. arbitration) is important, then there is a strong affinity to specification in 802.1

Page 7: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 7

Generic Multi-buffer Model

Buffer 0

Buffer 1

Buffer NParser

Sele

ctor

Buffer 0

Buffer 1

Buffer N

Parser

Sele

ctor

n Could be an 802.3 link or an 802.1 bridgen Full duplex nature (not shown) implicit

DataCtrl

DCt

atarl

“Selector” is combination of arbiter and multiplexer

Page 8: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 8

CM-Data Frame Identificationn We can assume that there is a method (e.g.

tag) to identify the “class” of the data framesn Most obvious is reuse of VLAN priority bits

n Simple; may not be sufficiently flexible / forward thinkingn Could use VLAN (including or excluding priority)n Could use new Tag (e.g. like LLID in EPON)n Could use new EtherTypen Could use any variety and combination of things

n Choice of method is for Task Force, not SGn Highly influenced by placement of CM function

n The important point here is that CM-DATA packets exist and are readily parsed independent of payload

Page 9: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 9

CM-Control Framen We can assume that there is a new

“Congestion Management Control Frame (CM-CTRL)” that is passed on the link.n Most obvious is MAC-Control with new op-code

n TLV format supporting one or more “class identifiers”n Field for one “class identifier” per control packet

n Could use PAUSE with additional tagn Could use new EtherType

n Still sent as control packet in order to avoid being pausedn Issues with link-aggregation & OAM which are resolvable,

but more complex

n The important point here is that CM-CTRL packets exist and are readily parsed

Page 10: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 10

Service Interface Reconciliation (almost)

802.3-2002 Clause 31.3 NOTE — In the absence of the MAC Control sublayer, Clause 31 makes no attempt to reconcile the long-standing inconsistencies between the interface definitions in subclauses 4.3.2 and 2.3. These existing inconsistencies have not historically hampered the construction of interoperable networking equipments, and are not sufficiently important to merit further attention.

Page 11: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 11

Sublayer Stack – Tx Only (Rx Similar)

MAC Control

OAM

MAC-Client Interface

MAC Client

Link Agg

MAC

Data

Selector

Selector

ControlControlControl

MA_DATA.request

SelectorTransmitFrame

MA_CONTROL.request

TransmitStatus

Page 12: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 12

No Explicit Pacing Mechanismn It is implicit within the standard that upper

sublayers use the MAC’s TransmitStatus I/F to pace (gate) the MA_DATA.request mechanism and thus avoid overflowing the MACn In fact, TransmitStatus is explicitly used only by

layer management (see Clause 5)n There is no explicit requirement to avoid sending

multiple MA_DATA.request primitivesn It is explicit that the MAC will only see the

MA_DATA.request active at the time it services the next frame from the upper layer; no other MA_DATA.requests will be seen, implying intermediate requests (frames) are dropped

Page 13: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 13

Basic MAC Control (Clause 31)

MAC

MAC Control

MAC Client

IngressBuffer

ParserPause

Selector

ControlControl Data

EgressBuffer

MAC-Client Interface

Data

Timer

Page 14: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 14

Assumptionsn No simultaneous usage of current PAUSE &

new congestion management assumed heren It is possible to have PAUSE default to a class or

behave as an “all class” control, but the complications outweigh any advantage

n Ultimately, this decision is for the Task Forcen Highly influenced by placement of CM function

n The choice of arbitration schemes is to the first order independent of the location of the selector/parsern Selection of sublayer affects location of

preponderance of workn Selection of arbitration scheme is work for the TF

Page 15: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 15

Placement Optionsn It is possible to put the parser and selector in

different sublayers. But, there appears to be no advantage to doing so, and there are many disadvantagesn Don’t want to compromise layer architecturen Don’t want communication between Rx and Tx to

cross layer boundaries

n Therefore, only 4 placements will be considered:n Reconciliation Sublayer (RS)n MAC Controln MAC Client (with MAC Control)n MAC Client (without MAC Control)

Page 16: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 16

Class Parser in Reconciliation Sublayer

MAC(0:N)

MAC Control(0:N)

BufferN

Ctrl NCtrl 0 Data N

Buffer0

MAC Client(0:N)

…Receive Side

Data 0

To Tx (N)To Tx (0)

Parser Parser

MAC-Client Interface

MAC NMAC 0

Class ParserRS

Timer Timer…

Page 17: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 17

Class Parser in Reconciliation Sublayer

n Notes:n This is not recommended -- just because it can be done,

doesn’t mean that it should ben This is shown for completeness and simplicity to graspn If new tagged MAC-Control frame, then “class parser” simply

steers CM-Control & CM-Data packets to correct MAC (0:N)n Changes required to MAC-Control for CM tag are minimal

n Tag might be added/stripped at “class parser sublayer” eliminating changes to the MAC Control layer and above

n If new CM-Control frame (e.g. new OpCode for MAC-Control), then “class parser” would sink CM-Control frame and source new CM-Control(s) for MAC (O:N)n It is not clear that this would make any sense unless the CM-

Control frame through the MAC is PAUSEn Which implies no changes in the MAC or MAC Control sublayersn Hence “Timer” shown in MAC-Control sublayer

Page 18: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 18

Class Parser in MAC Control Sublayer

MAC

MAC Control(0:N)

BufferN

Ctrl NCtrl 0 Data N

Buffer0

MAC Client(0:N)

…Receive Side

Data 0

Class Parser

Parser Parser

MAC-Client Interface

To Tx (N)To Tx (0)ArbCtrl ArbCtrl…

Page 19: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 19

Class Parser in MAC Control Sublayer

n Notes:n This figure is functionally equivalent to having a

figure with MA_DATA.indicate (packets) tagged with class (0:N) and showing a single MAC-Client interface

n If new tagged MAC Control frame, then “class parser” simply steers CM-Control & CM-Data packets to correct MAC-Control (0:N)n Changes required to MAC-Control for tag are minimal

n Tag might be added/stripped at “class parser sublayer” eliminating changes to the MAC Control sublayer and above

n If new CM-Control frame, then parser would sink CM-Control frame and create new Control frames for MAC-Control (O:N)n Control frame to MAC-Control could be PAUSE

n Reduction in work if MAC-Control frame through MAC-Control is PAUSE

Page 20: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 20

Single CM-Control Method

MAC

MAC Control(0:N)

BufferN

Ctrl NCtrl 0 Data N

Buffer0

MAC Client(0:N)

…Receive

Data 0

Parser Parser

MAC-Client Interface

To Tx (N)Timer Timer…

CMControl

Class ParserArbCtrl

To Gates

Page 21: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 21

Single CM-Control Method

n This is a variation Parser/Selector in MAC-Control SublayernKey point is leaving existing PAUSE logic

alonenMultiple sub-variations are possible

nNo reason to show these as separate choices as they do not substantially affect the key decisions at this stage.

Page 22: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 22

MAC Client

Class Parser in MAC Client Sublayer

MAC

MAC Control

BufferN

Data N

Buffer0Receive Side

Data 0

MAC-Client Interface

Data Class Parser

Parser

To Tx (0:N) Control

Timer

Page 23: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 23

Class Parser in MAC Client Sublayer

nNotes:nMAC-Control parser simply steers CM-

Control frame to MAC-Control-Client nIf single Control Client (as shown), then MAC-

Control sublayer needs to support a new OpCodenIt is possible to have one Control Client per class

in which case there would be a Control Class Parser in addition to the Data Class Parser within the Client sublayer.

nMight work within MAC-Client as PAUSE does todayn This does not limit flexibility for arbitration schemes

Page 24: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 24

MAC Client

Class Parser in Client; no MAC Control

MAC

BufferN

Data N

Buffer0Receive Side

Data 0

MAC-Client Interface

…To Tx (0:N)

Parser

MAC Control

Control

Page 25: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 25

Class Parser in Client; no MAC Control

nNotes:nSimilar behavior to Class Parser in Client

(with MAC Control Sublayer)nBut, no MAC-Control should ever be used!

nElse, potential to block CM-Control packets, which use the MA-Data path

nNo support for PAUSE (no loss)nNo support for EPON (no loss)nNo support for future MAC-Control additions

(loss?)n Implies no work for 802.3

Page 26: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 26

Class Selector in Reconciliation Sublayer

MAC(0:N)

MAC Control(0:N)

MAC Client(0:N)

…Transmit Side

From Rx (0)

MAC-Client Interface

Class SelectorRS

From (N)

BufferN

Ctrl NCtrl 0

Buffer0

Selector Selector

MAC NMAC 0

Pause Pause

Data NData 0

Page 27: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 27

Class Selector in Reconciliation Sublayer

n Notes:n This is not recommended -- just because it can be done,

doesn’t mean that it should ben This is shown for completeness and simplicity to graspn If new tagged MAC Control frame, then “class selector” leaves

CM-Control & CM-Data packets unmodifiedn Changes required to MAC Control for new control code (minimal)

n Tag might be added/stripped at “class parser sublayer” eliminating changes to the MAC Control layer and above

n If new CM-Control frame, then “class selector” would sink MAC-Control frames for MAC (0:N) and source new CM-Control(s)n Reduction in work if Control frame through MACs is PAUSE

n It is not clear that this would make any sense unless the control frame through the MAC is PAUSEn Which implies no changes in the MAC or MAC Control sublayer

Page 28: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 28

Class Selector in MAC Control Sublayer

MAC Control(0:N)

MAC Client(0:N)

…Transmit Side BufferN

Ctrl NCtrl 0

Buffer0

MAC

MAC-Client Interface

Class Selector

Selector SelectorGateGate

From Rx (0)

…From (N)

Data 0 Data N

Page 29: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 29

Class Selector in MAC Control Sublayer

nNotes:n If new tagged MAC Control frame, then “class

selector” leaves CM-Control & CM-Data packets unmodifiedn Changes required to MAC Control for new control code

(minimal)n Tag might be added at “class selector sublayer” eliminating

changes to layers above

n If new CM-Control frame, then “class selector” might sink MAC-Control frames from MAC-Control (0:N) and source new CM-Control(s)n Reduction in work if PAUSE used

Page 30: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 30

MAC Client

Class Selector in Client Sublayer

MAC

MAC Control

Transmit Side

MAC-Client Interface

Data Class Selector

Selector

Control

BufferN

Buffer0

GateGateFrom Rx (0)

Data NData 0

… From (N)

Page 31: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 31

Class Selector in Client Sublayer

n Notes:n MAC-Client Data Class Selector “simply” arbitrates

between CM-Data classesn If single Control Client (as shown), then MAC-Control

sublayer needs to support a new CM-Control-Requestn It is possible to have multiple Control Clients per class (vs

single Control shown in Client) in which case there would be a Control Class selector in addition to the Data Class selector within the Client sublayer.n If new CM-Control, then selector will sink Control requests

and create CM-Control requestsn Might work within MAC-Client as PAUSE does today

Page 32: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 32

MAC Control

MAC Client

Class Selector in Client; no MAC Control

MAC

Transmit Side

MAC-Client Interface

Selector

BufferN

Buffer0

GateGateFrom Rx (0)

Data NData 0

Control

From (N)

Page 33: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 33

Class Selector in Client Sublayer

nNotes:nSimilar behavior to Data Class Selector in

Client (with MAC Control Sublayer)nSee notes for Rx side

Page 34: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 34

Selection Criteria

nConsistency with existing architecturenSimplicitynEase of understandingnConfusion freen InteroperablenOpen fewest number of clauses for change

n Flexibility

Page 35: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 35

Analysis of Placements (1/3)

nParser/Selector in Client – basically what is done todaynSans the congestion management gating

n If CM control selector below LinkAgg, then selector must either:nchoose which link to forward CM

management frames (very complex), orndefault to a single link (is delay a problem?)

Page 36: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 36

Analysis of Placements (2/3)n CM_MA_CONTROL.request priority (relative to LinkAg,

OAM…) dependent on placement of selector in sublayer stackn If highest priority control, wants to be near MACn If lowest priority control, wants to be near Clientn Ideal is for Client to arbitrate all control priorities –

meaning, gate only one MA_CONTROL.request at a time

n MA_CONTROL.request becomes MA_DATA.request as it moves down through sublayersn If priority different than sublayer stack order, CM

selector in MAC_Control would have to parse and differentiate not just class of data, but also type of control in order to correctly “select” next packet

Page 37: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 37

Analysis of Placements (3/3)

nSelection at lower sublayers implies availability of multiple data classes (MA_DATA.request) and control types (MA_CONTROL.request) simultaneously.n In today’s sublayers MA_CONTROL.request

blocks MA_DATA.requestnThis can work, but it implies that as

MA_CONTROL.request(s) is asserted, MA_DATA.request(s) assert and de-assert…. This adds to the existing sublayer interface architecture confusion

Page 38: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 38

Recommendation

Page 39: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 39

Lower Receive Sublayer Stack

MAC Control

OAM

MAC Client

Link Agg

MAC

DataControlControlControlControl

Add this simple parser, nothing more

Parser

Parser

Parser

Parser

Existing MAC_Control

Page 40: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 40

Lower Transmit Sublayer Stack

MAC Control

OAM

MAC Client

Link Agg

MAC

Selector

Selector

DataControl

Selector

Selector

ControlControlControl

Add this simple priority MUX, nothing more

Existing MAC_Control

Page 41: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 41

Upper Receive Sublayer Stack

MAC Client

CM Control SublayerControl

DataControlControlControl Data …

This is simple pass-throughThis parser

already exists

CM-Control sinks MAC_Control packet which has new opcode and TLV structure (like OAM)

Not Shown: Queue Manager feedback path to CM Control

To T

x

Page 42: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 42

Upper Transmit Sublayer Stack

MAC Client

CM Control SublayerControl

DataControlControlControl Data …

From

Rx

CM-Control sources MAC_Control packet which has new opcode and TLV structure (like OAM)

CM Control Sublayer gates all MA_DATA.request and MA_CONTROL requests ensuring proper priority and

timing of all requests

This thin sublayer exists between 802.3 and 802.1

Page 43: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 43

Advantagesn Minimalist modifications to existing clauses

n Clause 31 n Managementn Avoids changes to most confusing and ambiguous

aspects of standard

n Avoids complexities related to LinkAg (& OAM)n Maximum flexibility

n To future sublayers between MAC and Clientn Single point of control -> predictabilityn Arbitration scheme is independent of this structure

n Proximity to existing queue managementn No complexity added to existing 802.3 clauses

Page 44: Congestion Management (CM) - IEEE 802

IEEE 802.3 Congestion Management -- May 2004 -- Jonathan Thatcher 44

Related Objectivesn No change to:

n 802.1 / 802.3 layer architecturen MAC_Client Interfacen Link Aggregationn OAMn MAC (Clause 4 or 4A)n PCS / PMA / PMD

n No simultaneous support for CM and PAUSEn No traffic classificationn No reordering within class