> Date: Fri, 28 May 1999 10:55:01 -0400
> From: Paul Koning <[EMAIL PROTECTED]>
> Cc: [EMAIL PROTECTED]
> 
> >>>>> "John" == John Ford <[EMAIL PROTECTED]> writes:
> 
>  John> I hope that we all will agree that there is really no such
>  John> thing as hard realtime ethernet networking. ...
> 
> No.  That's an inaccurate statement.
> 
> I find myself going over this topic every couple of months,
> unfortunately.
> 
> What would it mean for a network to be "hard real time"?  I can think
> of several possible answers.
> 
> 1. A message offered for transmission will be transmitted in bounded
> time or the request will be rejected.
> 
> 2. A message offered for transmission will be transmitted in bounded
> time (and not rejected).
> 
> 3. A message offered for transmission will be received by its
> destination in bounded time.

My point was that it is many times easier and cheaper to re-architect
your application to tolerate the inherent non-determinism in a network
than it is to improve the network to the extent required by the
application. 

<lots of very good info snipped>

> No network does #3, since no network has zero bit error rate.
> However, any network can closely approximate #3 (i.e., deliver with a
> probability x of packet loss or excessive delay) for quite small x,
> given careful attention to bit error rate, congestion (traffic
> planning), etc.  For some networks it's easier than others.  For
> example, full duplex Ethernet avoids the excessive collisions problem
> at the price of introducing the issue of congestion at the switches.
> FDDI and token ring provide a shared LAN that nevertheless guarantees
> transmission (#2) if you discount token loss, but if you examine the
> worst case delay under very high load you will find the numbers
> amazingly high, especially for token ring.  For example, an FDDI ring
> of 100 stations has a worst case delay of 100*TTRT, and TTRT is
> constrained to be at least 4 ms...  
> 
> If your network load is well below the wire limits, and the network
> carries no traffic other than the real time traffic, the job is easy
> and Ethernet is a very good solution.  Be sure to consider the
> consequence of packet loss (due to bit errors), though.  A possible
> approach is to run dual rails (two independent LANs) with packets sent
> on both, and arrival of at least one being sufficient to make things
> work.  You'll want to have ongoing monitoring of the CRC error rates
> to have advance warning of deterioration.

This is the crux of the matter.  I agree totally with you that it can
be made to work *most* of the time.  This is not consistent with hard
real time systems that must meet the deadline *every* time.  If
meeting the deadline most of the time is sufficient, then I claim that
the standard Linux scheduler system combined with a very fast
computer will get you there.

> 
> If your network carries both real time and general purpose traffic,
> life is hard.  Ethernet is more problematic then, but unfortunately
> it's not clear there are real-world alternatives that are better.  For
> example, the FDDI protocol offers solutions but implementations of
> those solutions are somewhere between rare and non-existent (and in
> any case, FDDI is disappearing).  ATM may help but that's an awfully
> big and complex hammer.  Possibly, running things through routers that
> can classify and prioritize traffic may be the best answer.  

True.  You are stuck before you start, in this case.

> Better
> yet, consider running two networks, thereby physically separating the
> real time traffic.

This is our approach.  The software running on 2 machines is a
master-slave type system, so collisions and interference between the
2 users of the network are eliminated.

John
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to