802.17 · pdf filenodeb reactive. data communication division cypress dvj _transit_01 november...

41
Data Communication Division CYPRESS November 14, 2001, page 1 dvj_transit_01 802.17 presentation m Prepared for 802.17, November 2001 m Dr. David V. James Chief Architect Network Processing Solutions Data Communications Division 110 Nortech Parkway San Jose, CA 95134-2307 Tel: +1.408.942.2010 Fax: +1.408.942.2099 Base: [email protected] Work: [email protected]

Upload: phamkhuong

Post on 11-Feb-2018

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 1dvj_transit_01

802.17 presentation

m Prepared for 802.17, November 2001m Dr. David V. James

Chief ArchitectNetwork Processing SolutionsData Communications Division110 Nortech ParkwaySan Jose, CA 95134-2307Tel: +1.408.942.2010Fax: +1.408.942.2099Base: [email protected]: [email protected]

Page 2: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 2dvj_transit_01

Flow control

Page 3: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 3dvj_transit_01

data[n]unprovisioned or

unused provisioned

overprovisioned,unbounded latency

Arbitration classes

Class-B1

Class-C

provisioned bandwidth,bounded latency Class-B0

provisioned bandwidth,low latency Class-A

guar

ante

ed

Page 4: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 4dvj_transit_01

nodeA

Opposing arbitration

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

nodeB nodeC packetcontrol

Page 5: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 5dvj_transit_01

Supported topologies

n A physical ring

n Dual ringlets

n Duplex ringlet

Page 6: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 6dvj_transit_01

Internal MAC arbitration signals

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

dataPaths

arbitration

arbitration

dataPaths

Page 7: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 7dvj_transit_01

External MAC arbitration signals

arbs

arbs

application

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

Application receives informationAllows reordering and run selection

Page 8: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 8dvj_transit_01

B

Arbitration related components

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

passBC

passA

policeApoliceBA

Precedence: Fa, A, B, C, Fbc

C BpoliceC

C BpoliceC

C BpoliceC

Page 9: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 9dvj_transit_01

Class-A flow control(proactive and reactive)

Page 10: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 10dvj_transit_01

Class-A flow control

m ProactiveMinimal (nonexistent?) passBC transit bufferLess available bandwidthEach station maintains constant classAp traffic

m ReactiveSignificant passBC transit bufferFull bandwidth utilizationEach station responds/regenerates throttle messages

m Interoperable?This is a bandwidth vs memory $$ tradeoff

Page 11: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 11dvj_transit_01

nodeA

Proactive class-A partitions

• Data packets go source-to-destination• Residue returns destination-to-source

to provide subsistence for transmissions

nodeB nodeC

Page 12: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 12dvj_transit_01

nodeA

Proactive class-Acompatibility options

• Reactive node trickles class-A bandwidth• Reactive node recycles class-A bandwidth

class-A => class-A’, thus preserving BW

nodeB Reactive

Page 13: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 13dvj_transit_01

nodeA

Reactive class-A control

• Transmission of packets causes• Backup of passBC FIFO that• Returns flow-control information that• Provides consumable idle packets

nodeB

(1)

(2)(3)

(4)

Page 14: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 14dvj_transit_01

nodeA

Reactive class-A compatibility

• Flow control passes upstream• Proactive stations pass these indications

nodeB

(1)

(2)(3)

(4)

Page 15: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 15dvj_transit_01

Frame formats

Page 16: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 16dvj_transit_01

headerCRC

payload

Frame formats

type

headerCRC

header

32 bits

compact headerCRC

payloadtype

headerCRC

complete

sourceMacLodstLo srcHi

destinationMacHiheader

Page 17: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 17dvj_transit_01

Header formatw

rap

destStationID

71

ring

destStationID

71

flood

1 8

mac

s

1

clas

s

2

depthBC

4

timeToLive

Page 18: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 18dvj_transit_01

headerCRC

payload

RPR control frames

802.17 discover

headerCRC

header

headerCRC

payload

802.17 congest

headerCRC

header

Page 19: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 19dvj_transit_01

Topology discovery

Page 20: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 20dvj_transit_01

Frame interchanges

m Triggered on state changem Triggered on state changem Also sent periodically

– Automatic fault recovery– Piggyback on heartbeat

m Also distributes stationID addresses– Previous: derived from topology and EUI-48 info– Bit map supportive “reclaiming” precedence

m Robust!– Context-less behavior (update rate only)– No addressing or timeouts required

Page 21: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 21dvj_transit_01

Topology collection

• Prepend your macAddress(no duplicate copies present…)

Page 22: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 22dvj_transit_01

Topology maintenance

• Prepend your macAddress• Strip duplicate macAddress & beyond

Page 23: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 23dvj_transit_01

headerCRC

payload

Discovery formats

type17

complete

dstLo ??

DISCOV

headerCRC

header

32 bits

ring bridge

destinationMacHi

Page 24: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 24dvj_transit_01

CRC processing

Page 25: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 25dvj_transit_01

CRC processing

m Store&forward/Cut-through agnosticm Invalid data is effectively discarded

– store-and-forward discards– cut-through stomps the CRC

m Maximize error-logging accuracy– Separate header&data CRCs– “most” corruptions hit the data

Page 26: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 26dvj_transit_01

payloadCRC

payload

Separate header and data CRCs

headerCRC

header

Page 27: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 27dvj_transit_01

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 28: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 28dvj_transit_01

Distinct CRCs reduces discards

• Discard the corrupted packet

data head node

X

data head node

X(nothing)

• Discard the corrupted data

head

Page 29: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 29dvj_transit_01

??

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 30: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 30dvj_transit_01

Pre-emption(a physical layer decision)

Page 31: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 31dvj_transit_01

Pre-emption

m Suspend class-B/C for class-A packetm Only one level is sufficient

– class-A is the latency critical traffic– more levels complicate hardware

m Physical layer dependent– marginal for high BW & small packets– distinctive “suspend” symbol required

Page 32: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 32dvj_transit_01

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 33: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 33dvj_transit_01

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 34: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 34dvj_transit_01

Limits of scalability

n The metro area

n Terrestrial

n Geosynchronous

n To the curb

n To the home

Page 35: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 35dvj_transit_01

Lessons of the past…m Flow control mandates 2-out-of-3

– Low latency transmissions– Fair bandwidth allocation– High bandwidth utilization

m Feedback control systems– Low latency signaling– Control can pass class-B/C packets– Separate class-A queue is utilized

m Other observations– Local control => global perversions – Fairness is inherently “approximate”– Strange beating sequences DO OCCUR

Page 36: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 36dvj_transit_01

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 37: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 37dvj_transit_01

Arbitration summarym Dual levels

– Class-A, pre-emptive low latency – Class-B, less latency sensitive

m Jumbo frames– Affect asynchronous latencies– NO IMPACT on synchronous latency

m Cut-through vs store-and-forward– Either should be allowed– Light-load latency DOES matter

Page 38: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 38dvj_transit_01

MAC interface links

Page 39: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 39dvj_transit_01

LiteLink features

mByte-wide 10Gb/s link (Gb/pin/s)– 11 pins total for clock, control, and data

mSLVS-400 transmitter, matched impedance– Technology independent 0.8V driver supply– .2V and .6V low and high signal levels

mDifferential receiver, matched impedance– Near DC encoding (5/11 or 6/11 ones)– Termination derived reference voltage

mSource synchronous, DDR clock

Page 40: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 40dvj_transit_01

Byte-wide coding properties

enco

der

data{0..7}

strobed

ecod

er

data{0..7}

strobe

error

2) About 1/2 asserted on each link1) Uncoded strobe

3) About 1/2 asserted on each group

4) Benefits of error detectionvia legal code checking

Page 41: 802.17 · PDF filenodeB Reactive. Data Communication Division CYPRESS dvj _transit_01 November 14, 2001, page 13 nodeA ... zero dt zero EXOR EXOR crcB ttl' header t+= 1 crcA ttl header

Data Communication DivisionCYPRESS

November 14, 2001, page 41dvj_transit_01

LiteLink signaling

(…)(common reference)

(…)

enco

ded

Dat

a5a

strobe

enco

ded

Dat

a5b