802-17-01-00011 (dvj July 2001) -...

30
802-17-01-00011 (dvj July 2001)

Transcript of 802-17-01-00011 (dvj July 2001) -...

Page 1: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Page 2: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

802.17 presentationPrepared for 802.17, July 2001Dr. David V. JamesChief ArchitectLara Networks110 Nortech ParkwaySan Jose, CA [email protected]

Page 3: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

CRC processing

Store&forward/Cut-through agnosticInvalid data is effectively discarded

store-and-forward discardscut-through stomps the CRC

Maximize error-logging accuracySeparate header&data CRCs“most” corruptions hit the data

Page 4: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Separate header & data CRCs

header

payload

headerInformation

crc32

data[n]

crc32

Page 5: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

crcA data[n]core

Cut-through CRCs

• Corrupted packet remains corrupted• Error logged when first detected • if (crcA!=crc) {

errorCount+= (crcA!=crc^STOMP);crcB= crc^STOMP;

}

node crcB data[n]core

Page 6: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Distinct CRCs reduces discards

• Discard the corrupted packet

data head node

X

data head node

X(nothing)

• Discard the corrupted data

head

Page 7: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

??

End-to-end CRC protected TTL

CRC checkCRC generate

zero dt zero

EXOREXOR

crcB ttl' header

t+= 1

crcA ttl header

CRC checkCRC check/stomp

Page 8: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Pre-emption

Suspend class-B/C for class-A packetOnly one level is sufficient

class-A is the latency critical trafficmore levels complicate hardware

Physical layer dependentmarginal for high BW & small packetsdistinctive “suspend” symbol required

Page 9: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Pre-emption fragments

• Packets can be suspended• The class-A packet can be stripped

• egress queues are store&forward• distinctive idle markers needed

data[n]partB data[n]partA node data[n]partB classAdata[n]partA node data[n]partB Idle' data[n]partA

Page 10: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Pre-emption compatibility

• Pre-emption mandates egress S&F

• Simplistic node has no such S&F

• Interoperability burden on elegant• boundary node has S&F bypass • cut-through in preemptive domain

preemptive domain

Page 11: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Basic issuesLimits of scalabilitySupported topologiesPacket formatsTransport servicesArbitrationInitialization (plug & play)

Page 12: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Limits of scalability

! The metro area

! Terrestrial

! Geosynchronous

! To the curb

! To the home

Page 13: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Basic issuesLimits of scalabilitySupported topologiesPacket formatsTransport servicesArbitrationInitialization (plug & play)

Page 14: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Supported topologies

! A physical ring

! Dual ringlets

! Single ringlet

! Duplex ringlet

Page 15: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Basic issuesLimits of scalabilitySupported topologiesPacket formatsTransport servicesArbitrationInitialization (plug & play)

Page 16: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

size type --

Packet header

header

standard header

vendor header

payload

64 bits

ttl crc32

vlanIdentifier

sourceMacAddress

destinationMacAddress

cos

3

c

1

res

4

Page 17: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

size type

Vendor dependent header

header

standard header

vendor header

payload

info crc32

headerIdentifier

headerInformation

Page 18: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

data[n]

Payload

header

standard header

vendor header

payload crc32

Page 19: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

size type res ttl crc32

level …

arbitration

(…)

payload

Arbitration packets

arbitration

64 bits

ringRunRate

arbMacAddressB

arbMacAddressA

Page 20: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Basic issuesLimits of scalabilitySupported topologiesPacket formatsTransport servicesArbitrationInitialization (plug & play)

Page 21: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

data[n]unprovisioned or

unused provisioned

provisioned bandwidth,bounded latency

Arbitration classes

provisioned bandwidth,low latency Class-A

Class-B

Class-C

Page 22: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Basic issuesLimits of scalabilitySupported topologiesPacket formatsTransport servicesArbitrationInitialization (plug & play)

Page 23: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Lessons of the past…

Flow control mandates 2-out-of-3Low latency transmissionsFair bandwidth allocationHigh bandwidth utilization

Feedback control systemsLow latency signalingControl can pass class-B/C packetsSeparate class-A queue is utilized

Other observationsLocal control => global perversions Fairness is inherently “approximate”Strange beating sequences DO OCCUR

Page 24: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Internal MAC arbitration signals

• Arbitration affects opposing run • My congestion affects upstream node• Downstream congestion affects me

dataPaths

arbitration

arbitration

dataPaths

Page 25: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

External MAC arbitration signals

arbs

arbs

application

MAC receives informationMAC FIFOs are $$, latency++, inflexible

Application receives informationAllows reordering and run selection

Page 26: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

B

Arbitration related components

• Distinct class-A & class-B/C paths • Load dependent policing

fifoBC

fifoA

policeApoliceBA

Precedence: Fa, A, B, C, Fbc

C BpoliceC

C BpoliceC

C BpoliceC

Page 27: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

nodeA

Opposing arbitration

• Data packets flow in one direction• Arbitration control flows in the other*

nodeB nodeC packetcontrol

Page 28: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Allowed transmissions

A,B,Cb,Cc,F----≥0

A,BA,B,Cb,F--pass≥1/4

AA,FA,Fpasssend≥1/2

A,FA,FA,Fsendsend≥3/4

HILOnoneHILO

transmissionswarnings

Page 29: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Arbitration summary

Dual levelsClass-A, pre-emptive low latency Class-B, less latency sensitive

Jumbo framesAffect asynchronous latenciesNO IMPACT on synchronous latency

Cut-through vs store-and-forwardEither should be allowedLight-load latency DOES matter

Page 30: 802-17-01-00011 (dvj July 2001) - IEEEgrouper.ieee.org/groups/802/17/documents/presentations/jul2001/dvj... · zero dt zero EXOR EXOR crcB ttl' header ... 802-17-01-00011 (dvj July

802-17-01-00011 (dvj July 2001)

Basic issuesLimits of scalabilitySupported topologiesPacket formatsTransport servicesArbitrationInitialization (plug & play)