Thanks Andrew. That really helped me nail it down.
It turns out that I was conflating two separate effects. Contrary to
what I originally thought, there was a brief periodic CA hiccup for all
clients when my long-running calculation thread ran with a priority just
above the low end of CA. There was also a synchronized much larger slow
down for any client that was monitoring both the fast records and the
waveforms.
The first seems to be solved by dropping the calculation priority to
just below CA. I was afraid that would be too low, but surprisingly the
overall effect on the timing of the calcs is small.
The second is worked around by always spawning a separate client (EDM)
to view the waveforms. Even though the CA client threads have equal
priority, the fast records don't seem to get delayed.
Many thanks for all the helpful suggestions!
--Brian
On 03/18/14 16:43, Andrew Johnson wrote:
Hi Brian,
On 03/18/2014 02:57 PM, Brian Bevins wrote:
Hmm. When I run casr on my ioc, I get back one priority value per
client, not one per channel. And all of the priorities are currently
zero. Should this output look different if I were setting priority on a
per channel basis from the client?
The CA client has to use a separate TCP connection to the server for
each priority, so internally the server groups them by connection and
hence by priority.
For experimental purposes the caget and camonitor programs can be
configured to use a particular priority (-p <prio> where <prio> is 0-99
with 0 as the default & lowest priority). I would suggest setting up one
camonitor of your waveform records with default priority and a second
one with higher priority on the faster channels. If this resolves the
stuttering it tells you that it's probably worth exploring this approach
further.
HTH,
- Andrew
--
Brian S. Bevins, PE
Computer Scientist / Mechanical Engineer
Thomas Jefferson National Accelerator Facility
"The urge to save humanity is almost always only a false-face
for the urge to rule it."
-- H. L. Mencken
- References:
- Prioritizing Channel Access per Record? Brian Bevins
- Re: Prioritizing Channel Access per Record? Ralph Lange
- Re: Prioritizing Channel Access per Record? Brian Bevins
- Re: Prioritizing Channel Access per Record? Ralph Lange
- Re: Prioritizing Channel Access per Record? Brian Bevins
- Re: Prioritizing Channel Access per Record? Andrew Johnson
- Navigate by Date:
- Prev:
CSS BOY and 16-bit Images Gabriele Salvato
- Next:
using C# dll's Christian Roehrig
- 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: Prioritizing Channel Access per Record? Andrew Johnson
- Next:
RE: Prioritizing Channel Access per Record? Mark Rivers
- 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
|