Experimental Physics and Industrial Control System
Hi all,
A while ago, wnolan wrote:
> I was curious what sort or rates are being observed using the catime
> utility for RTEMS installations.
I finally got around to compare the CA connect rate and catime between
RTEMS-mvme5500 and vxWorks-mvme5500. The conclusion is that EPICS/RTEMS
and EPICS/vxWorks is competitive to each other while tested under the same
network setup.
Many thanks to Mark Heron and Steve Singleton of Diamond Light Source
for collaborations in obtaining data for EPICS/vxWorks/mvme5500.
Till Straumann wrote :
> a) epics/rtems frequently uses 'malloc_free_space' which can be
> a very expensive operation under RTEMS (designed to be a
> diagnostic). AFAIK, this has been addressed and a more efficient
> implementation is available with the development version (4.7).
> An unofficial patch is available for 4.6 but my usual workaround
> is to hack
> libCom/osi/os/RTEMS/osdPoolStatus.c:osiSufficientSpaceInPool()
> to always return 1.
> RTEMS-svgm vxworks-svgm RTEMS-svgm vxworks-svgm
> (1000 channels) (10000 channels)
>search 4.8 Mbps 3.0 Mbps 14.5 Mbps 11.1 Mbps
>pend 215.7 It/s 215.8 It/s 211.1 It/s 206.2 It/s
>async put 5.5 Mbps 6.2 Mbps 11.0 Mbps 11.5 Mbps
>async get 12.0 Mbps 10.6 Mbps 25.6 Mbps 19.7 Mbps
>sync get 0.7 Mbps 0.4 Mbps 0.2 Mbps 0.2 Mbps
The average result of mvme5500 is attached at the end. Table 1 is
that of the workaround, and Table 2 is that of the patched
malloc_free_space() taken on a different day. I am happy with
the result of EPICS/RTEMS-mvme5500.
Regards,
Kate
--------------------------------------------------------------------------
catime performance (March,2005)
between
EPICS3.14.6/RTEMS: 4.6.0/mvme5500 BSP
and
EPIICS3.14.x/vxWorks/mvme5500
----------------------------------------------------------------------------
--
Table 1: RTEMS/osdPoolStatus.c: osiSufficentSpaceInPool() to always
return 1 without calling malloc_free_space():
RTEMS-m5500 vxworks-m5500 RTEMS-m5500 vxworks-m5500
(1000 channels) (10000 channels)
search 6.2 Mbps 5.9 Mbps 30.3 Mbps 19.2 Mbps
pend 454.9K It/s 455.3K It/s 450.1K It/s 425.5K It/s
async put 16.8 Mbps 16.6 Mbps 30.6 Mbps 22.0 Mbps
async get 21.7 Mbps 23.0 Mbps 54.0 Mbps 34.5 Mbps
sync get 1.6 Mbps 0.9 Mbps 1.0 Mbps 0.3 Mbp
----------------------------------------------------------------------------
--
Table 2: RTEMS/osdPoolStatus.c :osiSufficentSpaceInPool() calls
malloc_free_space(), which was patched with a more efficient
algorithm implemented by Joel Sherrill <[email protected]>:
RTEMS-m5500 vxworks-m5500 RTEMS-m5500 vxworks-m5500
(1000 channels) (10000 channels)
search 5.8 Mbps 5.8 Mbps 27.1 Mbps 18.2 Mbps
pend 413.6K It/s 470.3K It/s 445.2K It/s 447.6K It/s
async put 15.4 Mbps 13.0 Mbps 30.4 Mbps 22.0 Mbps
async get 19.1 Mbps 15.0 Mbps 51.4 Mbps 32.5 Mbps
sync get 1.4 Mbps 0.8 Mbps 0.4 Mbps 0.3 Mbp
--------------------------------------------------------------------
- Navigate by Date:
- Prev:
'type-punned pointer' warning patch Eric Norum
- Next:
3.14.6/asyn/vxi11 crash Laznovsky, Michael
- 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: CA Connect rates under RTEMS Till Straumann
- Next:
RE: CA Connect rates under RTEMS Feng, Shuchen
- 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