1394.1 overview (evolving slide set)

Post on 31-Jan-2016

38 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

1394.1 Overview (evolving slide set). December 13, 1999 Dr. David V. James, Sony dvj@alum.mit.edu (contains slide animations). Bus bridge topologies. (selective routing between buses). Hierarchical bus bridges. b.1. b.4. b.2. a.0. a.1. c.0. c.1. Two portals, one on each bus - PowerPoint PPT Presentation

TRANSCRIPT

1394.1 Overview1394.1 Overview(evolving slide set)(evolving slide set)

December 13, 1999December 13, 1999

Dr. David V. James, SonyDr. David V. James, Sonydvj@alum.mit.edudvj@alum.mit.edu

(contains slide animations)(contains slide animations)

Bus bridge topologiesBus bridge topologies

(selective routing between buses)(selective routing between buses)

Hierarchical bus bridgesHierarchical bus bridges

Two portals, one on each bus forwards async by destinationID async routing tables are stable forwards isoch by channel number isoch routing entries are dynamic

b.2b.4b.1

a.0 a.1 c.0 c.1

Looped bus bridgesLooped bus bridges

During initialization, disable redundant bridge Active topology forms a spanning tree

b.2b.4b.1

a.0 a.1 c.0 c.1

disabled bridge

Software route adjustmentsSoftware route adjustments

The redundant bridge can be partially activated.Shortest path routing is then enable.But, caution is necessary to avoid deadlocks.

b.2b.4b.1

a.0 a.1 c.0 c.1a/c

Assigned busID addressesAssigned busID addresses

(net refresh after bus reset)(net refresh after bus reset)

Bus reset resultsBus reset results

A bus reset does several things: a new bus number is assigned a courtesy notification is broadcast

b.2b.4b.1

a.0 a.1 d.0 d.1

(c.0) (c.1)

Why new busID assignment? Why new busID assignment?

Primary objectives: correctness & simplicity secondary objective: efficient reset recoveryExisting (remapped) virtualIDs can be unsafeDirect local-node addressing (no alpha agent) more efficient; no caching concernsNo source_ID/destination_ID substitutionsNo localID accounts (DIRTY,FREE,...)Single bus rediscovery can be efficient

Subnet disconnectionSubnet disconnection

Both subbuses get new busIdsDirty “victim” subnet is “scrubbed”

e.1e.2e.1

a.0 a.1 d.0 d.1

Subnet reconnectionSubnet reconnection

New busIDs are assigned: To all merged (bus reset) nodes To unaffected victim buses (due to USED/DIRTY conflict)

f.2f.4f.1

a.0 a.1 g.0 g.1

Isochronous connectionsIsochronous connections

(one talker & multiple listeners)(one talker & multiple listeners)

Isochronous connection (A)Isochronous connection (A)

C

L

T

Connection assumptions: controller, talker, listener anywhere disconnect if any are “lost” async: channel but no bandwidth

Isochronous connection (B)Isochronous connection (B)

C’T

L’

Common connection: same talkerEui/plugID distinct controller listener nodes

(example: common listener bus)

Overlaid connectionsOverlaid connections

C

L

T C’T

L’

T C’

L’

C

L

Persistent connections (NO!)Persistent connections (NO!)

C’T

L’

T C’

L’

C

L

T C’

L’

C

L

? ?

L”

C”

C

L

T C’

L’

C

L

Source quarantineSource quarantine

(bridge-aware)(bridge-aware)

Bridge-aware quarantine Bridge-aware quarantine detection/removaldetection/removal

res

req

Quarantined requester: request accepted, response returned distinct rcode/scode identifies problemQuarantine release: FirstSwap transaction clears quarantine (sequence number possible)

res

req

Bridge-awareBridge-awarequarantine recoveryquarantine recovery

Quarantine recovery: Discard EUI-to-nodeID translations (or ignore, based on sequence number)

res

req

res

req

(discard)

Legacy source quarantineLegacy source quarantine

Legacy quarantine detectionLegacy quarantine detection

res

req

Quarantined requester (the same): request accepted (ack_complete), discarded controller’s response-frame timeout occurs

C

Legacy quarantine recoveryLegacy quarantine recovery

Quarantine recovery: FinalSwap transaction clears quarantine Consumer reactivates the talker

list

talk C

list

talk C

Net initializationNet initialization

Net refresh - assigns new busIDsNet refresh - assigns new busIDsNet restart - slowly recycles busIDsNet restart - slowly recycles busIDsNet reset - quickly recycles busIDsNet reset - quickly recycles busIDs

Initial configurationInitial configuration

net’s primary-alpha portal

bus’s secondary-alpha portal

isolating bus-bridge portal

Node attachment resultsNode attachment results(animated sequence)(animated sequence)

Net refresh messagesNet refresh messages

Bus reset (node attached)Bus reset (node attached)

Bus reset invalidates node’s busIDsReset portals becomes prime-portal candidates Cross-bridge traffic is disabled

bus reset

Primary bus acquisitionPrimary bus acquisition

Acquisition messages are sent by each portal Acquisition messages sent to “next” portalThe “next” portal is defined to be stable

Primary bus acquisitionedPrimary bus acquisitioned

Largest portalID acquisition survivesMessages “pass through” victim portalsCompletes when candidate’s message return

Adjacent bus acquistionAdjacent bus acquistion

“Breach” packets sent from current candidateReceipt of breach packets initiates breach Adjacent bus acquisition begins...

Remote bus acquisitionRemote bus acquisition

After acquisition, breach packets sentBreach packets start remote-bus acquisition

Bus acquisition completesBus acquisition completes

Breach packets avoid acquired territoryNet acquisition completes when breach returnsTentative busID/route assignments determined

Commit phase beginsCommit phase begins

Commit begins after breach packets return bridge routing tables are changed busID assignment removes barriers

Commit phase completesCommit phase completes

Commit completes when commit packets returnNormal operation is possible at this time

Refresh sequence reviewRefresh sequence review

Bus resetBus reset

AcquisitionAcquisition

CommitCommit

Node attachment resultsNode attachment results(animated sequence)(animated sequence)

Net refresh messagesNet refresh messages(animated sequence)(animated sequence)

Isochronous BW averagingIsochronous BW averaging

Peak bandwidth creditsPeak bandwidth credits

time

BW

average

maximum

credits

Event mergingEvent merging

(if local events are insufficient...)(if local events are insufficient...)

GASP event overloadGASP event overload

tgt

src

4 input with one output, so something is lost

src

srcsrc

Merged event parametersMerged event parameters

source

timeOfBirth

events

source

timeOfBirth

events

source

timeOfBirth

events

merge point OR’d

newest time

top related