Technical and economic feasibility for millisecond deterministic

advertisement
Technical and economic
feasibility for millisecond
deterministic delay in
Residential Ethernet
Michael Johas Teener
Plumblinks
mike@teener.com
Agenda
• Why millisecond deterministic
delay?
• An example technical approach
• Complexity comparison
• Difficulty of implementation
• Summary
Plumblinks
©2004
Slide 2
Why millisecond delay?
• Interactive control response
– should be less than 50ms, best if less than 10ms
– musical instruments need lowest values
• Simplifies multiple-path control and
synchronization
– some devices on networks will be serially
connected
– ultimate source to ultimate sink may take
several trips on network
• Expectation of 1394-based devices
– single 1394 bus has less than 300µs applicationto-application latency
Plumblinks
©2004
Slide 3
Why deterministic delay?
• Deterministic delay means bounds on both
maximum and minimum!
• Buffer sizes are bounded and small
– Buffer is sized at difference between max and
min delay
• Expectation of 1394-based devices
– 1394 devices usually have 250µs buffers
Plumblinks
©2004
Slide 4
Example technical approach
• Provide synchronous services only on full-duplex
links
– but only normal 802.1D restrictions on number of bridges
– some form of negotiation used to indicate if neighbor on
a link is ResE-capable
• If neighbor is ResE-capable:
– Provide well-known clock for synchronization
– Synchronous packets are standard 802.3, but distinctly
labelled
– Admission controls for synchronous traffic on a per-link
basis
– Dynamic queue priority based on synchronous pacing
Plumblinks
©2004
Slide 5
Full-duplex links only
… but all devices get normal packets
dev
ResE
switch
ResE “cloud”
dev
non-RE switch
blocks isoch
ResE
switch
Enet
switch
dev
dev
half-duplex
blocks isoch
dev
Enet
hub
dev
no isoch
services
dev
no isoch
services
dev
dev
Plumblinks
ResE
switch
©2004
Slide 6
Clock distribution
• All ResE devices periodically exchange “current
time” information
– only with link neighbor, probably using something like
MAC control services
• One station in ResE cloud is selected as clock
master
– other stations follow it using a very “stiff” filter
• Very accurate synch is possible
– less than a microsecond
• Important part is every station knows the current
“cycle”
– cycle is a 8kHz counter
Plumblinks
©2004
Slide 7
Synchronous packet labelling
• All packets are normal 802.3 format
– unique length/type
• Use GMRP to handle multicast channel selection?
• Extra “talker channel” field to handle multiple
streams from a single station
• Cycle time stamp
– indicates the cycle that the packet was scheduled to
transmit
– perhaps a second one that indicates when scheduled for
transmission from original source
… useful for delay calculations, but this could be done other
ways
• Other fields to aid 1394 bridging
– “synch”, etc.
Plumblinks
©2004
Slide 8
Admission controls
• Listener must confirm resources available along
entire path to destination
– sends “join request” control packet to talker with amount
of bandwidth needed (in bytes/cycle)
– intermediate bridges make reservation, update delay
count and pass on control packet
– if resources not available, packet is stamped as
“unavailable”, but still sent to talker
– talker returns “join response” packet to listener with status
status includes resource available (or not), and delay
• Obviously, various timeouts and disconnects affect
this
– fun future work!
Plumblinks
©2004
Slide 9
Admission controls (2)
• Additional listeners also send “join” request
– but this time an intermediate bridge can
respond if it is already routing the stream
• Listener sends “leave” when done
– only gets to talker if this is the last listener,
bridges intercept all others
• Talker is required to send one packet every
cycle
– may be zero length
– if missing for more than “x” cycles, can be used
to take down the connection
Plumblinks
©2004
Slide 10
Synchronous pacing
• Transmitter sends all packets labelled with
cycle “n” as soon as possible in that cycle
cycle
1
counter
2
1 1
isoch
stream A
isoch
stream B
Plumblinks
3
2 2
4
asynch
5
6
3 3 4 4 asynch 5 5
isoch streams for
current cycle
have priority
isoch packet
delayed
6 6
streams are not
ordered within
a cycle!
isoch packet delayed
into next cycle
©2004
Slide 11
Complexity comparison
• Worst case client MAC will be no more complex than 1394
“OHCI” (Open Host Controller Interface)
– typically 150k gates including multiple buffers and powerful
scripted DMA engine to perform RDMA-type transactions
– will usually be much simpler for non-computer applications
• Bridge will need extra priority level and required
management functions
– Synchronous priority queue per output port
250 µs of data per port max
– Separate routing table for synchronous streams
same structure as existing 802.1D
– Resource manager
new
– Local clock
new
Plumblinks
©2004
Slide 12
Difficulty of implementation
• Example implementations of IEEE 1394.1
bridges exist
– much more difficult that proposed RE bridge
1394 has its own legacy to deal with!
– early examples running at 800Mbit/sec were
commercially shipped in 2000
using FPGAs!
• 802.1D bridges are a great basis to start
from
– many integrated examples, wide range of
capabilities
Plumblinks
©2004
Slide 13
Summary
• Millisecond deterministic delay is technically
feasible
– Example approach is not the only one
– 1394-based systems exist now
• Millisecond deterministic delay is economically
feasible
– Very minor changes to client are needed
– Modest changes to bridge are also required
Will be much smaller than 1000baseT PHY!
Therefore, bridging 1394 buses
should be one of the requirements for
Residential Ethernet
Plumblinks
©2004
Slide 14
Thank you!
Download