Wolfgang Grandegger wrote:
Hallo,
attached you will find the results of Xemonai latency measurements on
various embedded PowerPC boards using MPC 8xx and AMCC 4xx processors,
from low to high end covering a worst case latency range from 25 to 225
us. It also includes a comparison with RTAI 3.0r5 on the slowest CPU.
Here are some remarks and comments:
- On low-end processor code size matters a lot and it's difficult to
beat RTAI/RTHAL.
Beat no, get closer, yes, probably. The good news is that looking at the
figures, we do have a margin of improvement! :o>
Btw, the nucleus can be configured so that the user-space threading engine is
compiled out (i.e. CONFIG_XENO_OPT_PERVASIVE from the nucleus menu), which would
be the corresponding profile to compare with klatency (i.e. sched_up). Disabling
this option reduces the code size for the nucleus from:
text data bss dec hex filename
66740 792 6540 74072 12158 nucleus/xeno_nucleus.ko
to:
text data bss dec hex filename
52596 576 3956 57128 df28 nucleus/xeno_nucleus.ko
Still a bit fat though.
- Apart from the CPU power, big caches and a fast memory interface
improves latencies.
- L2 cache improves latencies a lot (compare Ocotea with Yosemite).
- I'm a bit puzzled about the results of the "cruncher" test. Could
someone explain the output, please?
This test is reminiscent of the HYADES project (ia64 port of RTAI/fusion), where
we wanted to illustrate the level of execution determinism one could achieve
using the interrupt shield technique on large ia64 SMP systems. To this end, we
measured the jitter in execution time of a calibrated float-crunching loop, with
and without interrupt load. This test is likely going to disappear at some point
in time, because it's not that informative in Xeno's context.
- Stability seems already quite good. At least I did not observe any
crash yet :-).
That's cool. I see no other way to properly improve performances than first
having something which could be run on various platforms without them randomly
jumping out of the window, or us relying on plain Voodoo stuff to explain why
those setup would work or not.
The PowerPC port of Xenomai is already in good shape. That's great!
Thanks. This is likely because I do feel better since I have been aware that
there's life beyond x86. :o)
Wolfgang.
------------------------------------------------------------------------
Latency tests with Xenomai on various PowerPC boards
----------------------------------------------------
Board : Processor CPU-Clk Bus-Clk I-Cache D-Cache Memory Remarks
TQM860L : MPC 860 50 MHz 50 MHz 4 KB 4 kB 16 MB
TQM866M : MPC 866 133 MHz 66 MHz 16 KB 8 kB 128 MB
Walnut : AMCC 405GP 200 MHz 100 MHz 16 KB 8 kB 32 MB
Yosemite: AMCC 440EP 533 MHz 133 MHz 32 KB 32 KB 256 MB DDR-RAM, FPU
Ocotea : AMCC 440GX 533 MHz 152 MHz 32 KB 32 KB 256 MB DDR-RAM, L2 256 KB
Linux : DENX linux-2.6.14-rc3-g4c234921
iPipe : 1.0-00
Xenomai: SVN 2005-10-15
CRUNCER without load:
| Ideal computation time
TQM860L | 368 us ???
TQM866L | 10008 us
Walnut | 10150 us
Yosemite | 9911 us
Ocotea | 9479 us
SWITCH without load:
| lat min| lat avg| lat max| lost
TQM860L | 103360| 107840| 209280| 0
TQM866L | 25745| 31880| 51369| 5
Walnut | 24620| 25965| 32280| 1
Yosemite | 5626| 5655| 17403| 0
Ocotea | 5158| 5169| 10038| 0
KLATENCY with load:
|-----lat min|-----lat avg|-----lat max|-overrun|---test-time
TQM860L | 50560| 98976| 199040| 0| 00:09:45
TQM866L | 13835| 28571| 74348| 0| 00:11:44
Walnut | 16195| 25062| 45755| 0| 00:10:09
Yosemite | 3106| 9697| 36832| 0| 00:09:55
Ocotea | 3575| 7438| 24474| 0| 00:10:50
LATENCY with load:
|-----lat min|-----lat avg|-----lat max|-overrun|---test-time
TQM860L | 60480| 120960| 224320| 0| 00:09:46
TQM866L | 15759| 34286| 78799| 0| 00:11:14
Walnut | 21070| 31650| 64500| 0| 00:09:58
Yosemite | 3808| 12163| 47898| 0| 00:10:00
Ocotea | 3575| 7438| 24474| 0| 00:10:50
KLATENCY comparison Xenomai 2.0 vs. RTAI/RTHAL 3.0r5 on TQM860L:
---------------------------------------------------------------
KLATENCY with load:
|-----lat min|-----lat avg|-----lat max|-overrun|---test-time
Xenomai 2.0 | 50560| 98976| 199040| 0| 00:09:45
RTAI 3.0r5 | 23120| 31838| 70520| ?| 00:12:26
Note: load has been put onto the system by running in a telnet session
"ping -f <remote-host-ip>" and "while ls; do ls; done".
Note: all test have been run with CONFIG_XENO_HW_TIMER_LATENCY="1" and
CONFIG_XENO_HW_SCHED_LATENCY="1" to get correct latancy values.
RTAI figures have been corrected manually.
------------------------------------------------------------------------
_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core
--
Philippe.
_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core