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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Prioritizing Channel Access per Record? |
From: | Brian Bevins <[email protected]> |
To: | [email protected] |
Date: | Thu, 20 Mar 2014 11:45:48 -0400 |
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