Hi Tery,

Teresa Noviello wrote:
> Hi!
> I'm studying RTNet+RTAI solution performance in my thesis' project.
> I'm using  "ethereal"  for  my analysis.
> Im testing performance on user space applications running in real time
> mode.
> Has anyone some results on this type of problem (user space applications
> running in real time mode, using RTNet)?
> I ask you here because there aren't numeric results in the Documentation.
> 

Unfortunately, I only have outdated (more or less) systematic numbers at
hand, on outdated RTAI (e.g. 3.1) with outdated RTnet (latest was 0.7.1,
TDMAv1). And it's in German. :(

Generally, the problem with "performance" analysis is that you first
have to define your scenario clearly. Otherwise, you may compare apples
with oranges. Early RTnet analysis (our own first work included) did not
take care for all aspects with the required thoroughness (also due to
limited time spent on measuring compared to designing and developing).

So here is a list of parameters, written with slightly more "wisdom":

 o used hardware (architecture, performance/MHz, network adapters,
   Ethernet switches or hubs)
 o IRQ and scheduling latencies under load when using the favourite
   RT-extension
 o TDMA or not, if yes:
    - TDMA cycle
    - TDMA slot sizes and gaps (influences bandwidth and the time
      stations may have to react on requests)
    - synchronous or asynchronous packet queuing with respect to TDMA
      cycle (relevant for interpreting packet jitters correctly)
 o scenario to test, e.g.:
    [latency tests at application level]
    - master collects data from slaves (polled or unsolicited)
    - master collects data from slaves and redistributes it
    - random slave-to-slave communication
    - ...
    [accuracy test]
    - recording transmission slot jitters (preferably with multiple
      passive sniffers, including the Ethereal way, to reduce measuring
      errors)
    - external event arrives, gets recorded with global timestamp to
      analyse distributed clock accuracy
    - ...
    [performance benchmarks]
    - stack traversal times (instrument the code or use the
      ipipe tracer patch)
    - worst-case time spent on RTnet jobs (i.e. what latency will your
      application or other driver's IRQ handlers suffer from?)
    - average system load due to RTnet+application (what remains to
      standard Linux?)
 o load scenario:
    - competing PCI devices (hard disk DMA access, non-RT NICs, etc.)
    - non-RT CPU/cache load
    - low-prio RT applications competing for the CPU or even RTnet
      services
    - non-RT networking load (if tunnelled via RTmac/TDMA, it must have
      only low bounded effect)

You see there are a lot of questions, and as they depend on many
specific factors like hardware, RTOS, or system configuration, it's hard
to provide generic answers.

Anyway, you may want to pick a few of the mentioned aspects for your
analysis. You first step (if not already done) should be to get a clear
overview on what happens when a packet travels from A to B, both to the
packet and on the control layers. Then it is easier to interpret any
number one may measure later.

And feel free to discuss your setup, test tools, and results here.
Having some more standardised tests for RTnet has been on my wish list
for quite a while, any possible contribution will be highly welcome as well!

Jan

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to