I am using the TS7500 (ARM 9) board. By performance evaluation i meant the network and latency performance measurement. I have used the catime tool in EPICs for the client/server network performance (i.e channel access).But the results that i am getting with this board when compared to a linux-x86 system (intel i3 processor) are very poor. I am attaching the two reports generated. Have u performed such measurement for your boards. It would be great if u could suggest something regarding this or how to perform the performance measurements.
ARM 9 Board :
Testing with 10000 channels named VEC:Start Channel Connect Test -------------------- Per Op, 980.5962 uS ( 0.0010 MHz ), 0.5221 snd Mbps, 0.2611 rcv Mbps Search tries per chan - mean = 1.0 std dev = 0.1 min = 1.0 max = 2.0 channel name=VEC:Start, native type=5, native count=1 Pend Event Test ---------------- Per Op, 2.9166 uS ( 0.3429 MHz ) DBR_FLOAT Test -------------- ### async put test ### Per Op, 162.5500 uS ( 0.0062 MHz ), 1.1812 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 193.4481 uS ( 0.0052 MHz ), 0.6617 snd Mbps, 0.9925 rcv Mbps ### synch get test ### Per Op, 5874.1800 uS ( 0.0002 MHz ), 0.0218 snd Mbps, 0.0327 rcv Mbps DBR_DOUBLE Test --------------- ### async put test ### Per Op, 171.7263 uS ( 0.0058 MHz ), 1.1181 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 188.0780 uS ( 0.0053 MHz ), 0.6806 snd Mbps, 1.0209 rcv Mbps ### synch get test ### Per Op, 5855.1620 uS ( 0.0002 MHz ), 0.0219 snd Mbps, 0.0328 rcv Mbps DBR_STRING Test --------------- ### async put test ### Per Op, 121.9442 uS ( 0.0082 MHz ), 3.6738 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 122.7867 uS ( 0.0081 MHz ), 1.0425 snd Mbps, 3.6486 rcv Mbps ### synch get test ### Per Op, 10904.0876 uS ( 0.0001 MHz ), 0.0117 snd Mbps, 0.0411 rcv Mbps DBR_INT Test ------------ ### async put test ### Per Op, 100.5193 uS ( 0.0099 MHz ), 1.9101 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 124.0433 uS ( 0.0081 MHz ), 1.0319 snd Mbps, 1.5478 rcv Mbps ### synch get test ### Per Op, 5841.4275 uS ( 0.0002 MHz ), 0.0219 snd Mbps, 0.0329 rcv Mbps Get Latency Test ---------------- Get Latency - mean = 6060.9 uS, std dev = 24137.5 uS, min = 2256.0 uS max = 176482.1 uS Free Channel Test ----------------- Per Op, 0.4478 uS ( 2.2330 MHz ), 0.0000 snd Mbps, 0.0000 rcv Mbps
x86 system:
Testing with 10000 channels named VEC:Start Channel Connect Test -------------------- Per Op, 12.3947 uS ( 0.0807 MHz ), 41.3081 snd Mbps, 20.6540 rcv Mbps Search tries per chan - mean = 1.1 std dev = 0.2 min = 1.0 max = 2.0 channel name=VEC:Start, native type=5, native count=1 Pend Event Test ---------------- Per Op, 2.5694 uS ( 0.3892 MHz ) DBR_FLOAT Test -------------- ### async put test ### Per Op, 0.8990 uS ( 1.1123 MHz ), 213.5624 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 1.1567 uS ( 0.8645 MHz ), 110.6575 snd Mbps, 165.9863 rcv Mbps ### synch get test ### Per Op, 223.9892 uS ( 0.0045 MHz ), 0.5715 snd Mbps, 0.8572 rcv Mbps DBR_DOUBLE Test --------------- ### async put test ### Per Op, 0.6781 uS ( 1.4746 MHz ), 283.1310 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 1.0460 uS ( 0.9560 MHz ), 122.3730 snd Mbps, 183.5595 rcv Mbps ### synch get test ### Per Op, 235.0035 uS ( 0.0043 MHz ), 0.5447 snd Mbps, 0.8170 rcv Mbps DBR_STRING Test --------------- ### async put test ### Per Op, 0.9966 uS ( 1.0034 MHz ), 449.5136 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 1.0918 uS ( 0.9159 MHz ), 117.2383 snd Mbps, 410.3341 rcv Mbps ### synch get test ### Per Op, 284.6693 uS ( 0.0035 MHz ), 0.4496 snd Mbps, 1.5738 rcv Mbps DBR_INT Test ------------ ### async put test ### Per Op, 0.6753 uS ( 1.4809 MHz ), 284.3340 snd Mbps, 0.0000 rcv Mbps ### async get test ### Per Op, 1.0411 uS ( 0.9606 MHz ), 122.9506 snd Mbps, 184.4258 rcv Mbps ### synch get test ### Per Op, 244.8803 uS ( 0.0041 MHz ), 0.5227 snd Mbps, 0.7841 rcv Mbps Get Latency Test ---------------- Get Latency - mean = 214.1 uS, std dev = 51.4 uS, min = 164.8 uS max = 3700.0 uS Free Channel Test ----------------- Per Op, 0.4586 uS ( 2.1806 MHz ), 0.0000 snd Mbps, 0.0000 rcv Mbps
What is meant by free channel test and pend event test?
Regards, Shantonu sahoo.
To: "[email protected]" <[email protected]> From: Emmanuel Mayssat <[email protected]> Date: 03/17/2012 05:44AM Cc: epics <[email protected]> Subject: Re: ARM - EPICS performance evaluation
Well, I am not sure what you call performance evaluation. But as far as running epics/seq/etc, that's no problem. (I used 3.14.11 with minimal patching)
The issue you may be facing is I/O access. On the ts7370 (ARM9), it takes me 4ms to get a AI reading. The main issues on this board is
1/ no buffering 2/ you are running a full blown linux OS
For higher througput, I am looking at microcontrollers (arduino megas or more advanced) Read this to get a flavor of the issues ;)
http://sites.google.com/site/measuringstuff/the-arduino
To have a full blown arm production deployment (as we are strongly considering), there are practical issues:
1/ management of SD images (SD card) 2/ controlled upgrade/change of SD image
To bypass those issues, we are going in the direction of
beagleboard-xm (full blown linux desktop environment, with epics IOC but no direct critical I/O)
attached to microcontrollers (for critical I/O)
Cost of parts ~ $200
One of my coworkers called this design 'smart chassis': with the spare IO, you can monitor the environment (temp, vibration, etc)
I call it 'epics plug-and-play': You plug your chassis to your network and the epics PV are immediately available.
For maintenance, when the hardware is swapped/changed, the ioc software is changed with it. For troubleshooting on the bench, engineers/technicians can attach a keyboard and a monitor to a chassis and immediately start working. (Qt works great with embedded systems ;) We design a lot of our electronics, so by using open hardware solutions, we can *in theory* integrate the ARM+ucontroller directly in our electronics design (maybe at 2nd generation design)
...etc...
In short, they are several advantages to this design which fit *OUR* needs. Looking forward ARM cpu are becoming more and more powerful, epics/qt is on the way... You see, the tide is also going that direction...
Yes, I am using TS7500 from embeddedarm (ARM9)..
So, have u performed any performance evaluation test for ur arm platform.
Thanking you,
Testing with 10000 channels named VEC:Start
Channel Connect Test
--------------------
Per Op, 980.5962 uS ( 0.0010 MHz ), 0.5221 snd Mbps, 0.2611 rcv Mbps
Search tries per chan - mean = 1.0 std dev = 0.1 min = 1.0 max = 2.0
channel name=VEC:Start, native type=5, native count=1
Pend Event Test
----------------
Per Op, 2.9166 uS ( 0.3429 MHz )
DBR_FLOAT Test
--------------
### async put test ###
Per Op, 162.5500 uS ( 0.0062 MHz ), 1.1812 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 193.4481 uS ( 0.0052 MHz ), 0.6617 snd Mbps, 0.9925 rcv Mbps
### synch get test ###
Per Op, 5874.1800 uS ( 0.0002 MHz ), 0.0218 snd Mbps, 0.0327 rcv Mbps
DBR_DOUBLE Test
---------------
### async put test ###
Per Op, 171.7263 uS ( 0.0058 MHz ), 1.1181 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 188.0780 uS ( 0.0053 MHz ), 0.6806 snd Mbps, 1.0209 rcv Mbps
### synch get test ###
Per Op, 5855.1620 uS ( 0.0002 MHz ), 0.0219 snd Mbps, 0.0328 rcv Mbps
DBR_STRING Test
---------------
### async put test ###
Per Op, 121.9442 uS ( 0.0082 MHz ), 3.6738 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 122.7867 uS ( 0.0081 MHz ), 1.0425 snd Mbps, 3.6486 rcv Mbps
### synch get test ###
Per Op, 10904.0876 uS ( 0.0001 MHz ), 0.0117 snd Mbps, 0.0411 rcv Mbps
DBR_INT Test
------------
### async put test ###
Per Op, 100.5193 uS ( 0.0099 MHz ), 1.9101 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 124.0433 uS ( 0.0081 MHz ), 1.0319 snd Mbps, 1.5478 rcv Mbps
### synch get test ###
Per Op, 5841.4275 uS ( 0.0002 MHz ), 0.0219 snd Mbps, 0.0329 rcv Mbps
Get Latency Test
----------------
Get Latency - mean = 6060.9 uS, std dev = 24137.5 uS, min = 2256.0 uS max = 176482.1 uS
Free Channel Test
-----------------
Per Op, 0.4478 uS ( 2.2330 MHz ), 0.0000 snd Mbps, 0.0000 rcv Mbps
Testing with 10000 channels named VEC:Start
Channel Connect Test
--------------------
Per Op, 12.3947 uS ( 0.0807 MHz ), 41.3081 snd Mbps, 20.6540 rcv Mbps
Search tries per chan - mean = 1.1 std dev = 0.2 min = 1.0 max = 2.0
channel name=VEC:Start, native type=5, native count=1
Pend Event Test
----------------
Per Op, 2.5694 uS ( 0.3892 MHz )
DBR_FLOAT Test
--------------
### async put test ###
Per Op, 0.8990 uS ( 1.1123 MHz ), 213.5624 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 1.1567 uS ( 0.8645 MHz ), 110.6575 snd Mbps, 165.9863 rcv Mbps
### synch get test ###
Per Op, 223.9892 uS ( 0.0045 MHz ), 0.5715 snd Mbps, 0.8572 rcv Mbps
DBR_DOUBLE Test
---------------
### async put test ###
Per Op, 0.6781 uS ( 1.4746 MHz ), 283.1310 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 1.0460 uS ( 0.9560 MHz ), 122.3730 snd Mbps, 183.5595 rcv Mbps
### synch get test ###
Per Op, 235.0035 uS ( 0.0043 MHz ), 0.5447 snd Mbps, 0.8170 rcv Mbps
DBR_STRING Test
---------------
### async put test ###
Per Op, 0.9966 uS ( 1.0034 MHz ), 449.5136 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 1.0918 uS ( 0.9159 MHz ), 117.2383 snd Mbps, 410.3341 rcv Mbps
### synch get test ###
Per Op, 284.6693 uS ( 0.0035 MHz ), 0.4496 snd Mbps, 1.5738 rcv Mbps
DBR_INT Test
------------
### async put test ###
Per Op, 0.6753 uS ( 1.4809 MHz ), 284.3340 snd Mbps, 0.0000 rcv Mbps
### async get test ###
Per Op, 1.0411 uS ( 0.9606 MHz ), 122.9506 snd Mbps, 184.4258 rcv Mbps
### synch get test ###
Per Op, 244.8803 uS ( 0.0041 MHz ), 0.5227 snd Mbps, 0.7841 rcv Mbps
Get Latency Test
----------------
Get Latency - mean = 214.1 uS, std dev = 51.4 uS, min = 164.8 uS max = 3700.0 uS
Free Channel Test
-----------------
Per Op, 0.4586 uS ( 2.1806 MHz ), 0.0000 snd Mbps, 0.0000 rcv Mbps
- Replies:
- RE: ARM - EPICS performance evaluation Hill, Jeffrey O
- Navigate by Date:
- Prev:
Re: ARM - EPICS performance evaluation Peter Jemian
- Next:
catime tool ssahoo
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
<2012>
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: ARM - EPICS performance evaluation Emmanuel Mayssat
- Next:
RE: ARM - EPICS performance evaluation Hill, Jeffrey O
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
<2012>
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|