EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  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  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: Prioritizing Channel Access per Record?
From: Mark Rivers <[email protected]>
To: "'Brian Bevins'" <[email protected]>, "[email protected]" <[email protected]>
Date: Tue, 18 Mar 2014 17:05:08 +0000
Hi Brian,

How big are your waveform records?

Mark

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Brian Bevins
Sent: Tuesday, March 18, 2014 11:27 AM
To: [email protected]
Subject: Re: Prioritizing Channel Access per Record?

On 03/18/14 12:03, Ralph Lange wrote:
> On 18.03.2014 16:47, Brian Bevins wrote:
>> Is there any way to specify that CA delivery of updates from certain 
>> records should be prioritized over other records on the same ioc?
>>
>> I've got an application where a bunch of ai's are processed at 10Hz 
>> and some relatively big (for us) waveforms are processed at about 
>> 0.3-0.5 Hz. The ioc is not heavily loaded and all record processing 
>> seems to happen in a timely way, but from the client end (EDM) the 
>> "fast" records all pause for ~0.5 sec whenever the waveforms push out 
>> their CA updates.
>>
>> The ai's are already being processed at a higher priority, but this 
>> doesn't seem to help their updates get pushed out with higher priority.
>>
>> Is there some tinkering I can do with the priorities of the CA 
>> threads to get what I want? How can I tell which thread will get 
>> which record updates? Is there something more obvious I'm missing?
>>
>> Thanks,
>> --Brian
>>
>
> The CA thread pairs on the server (IOC) are created per client.
> The client can set the priority as an argument to the 
> ca_create_channel() call [1].
> If the client-set priorities are honored on the server depends on the 
> server side OS and/or configuration.
>
> On real-time Linux, the MCoreUtils module [2] (EPICS 3.15 only) 
> contains a rule-based engine to tinker with IOC thread priorities and 
> policies.
>
> Cheers,
> ~Ralph
>
> [1] 
> http://www.aps.anl.gov/epics/base/R3-14/12-docs/CAref.html#ca_create_channel
> [2] http://epics.sourceforge.net/mcoreutils/

Thanks for the quick reply, Ralph.

Using client-set priorities occurred to me, but then it seems I would 
need to write my own client to monitor and display the slow (or fast) 
records. Standard clients are all pretty much going to use a default 
priority in ca_create_channel(). If there is an existing general purpose 
client that allows setting the priorities, I'd love to hear about it. 
I'm currently using R3.14.12.3 on RTEMS, and I don't yet know if that 
supports client-set priority. If it does, then writing a little display 
program might work.

If I were to switch to rt linux and make use of mcoreutils, it sounds 
like I would essentially run two virtual iocs on the same machine, one 
at a higher priority. Is that right?

Thanks,
--Brian

-- 
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



Replies:
Re: Prioritizing Channel Access per Record? Brian Bevins
References:
Prioritizing Channel Access per Record? Brian Bevins
Re: Prioritizing Channel Access per Record? Ralph Lange
Re: Prioritizing Channel Access per Record? Brian Bevins

Navigate by Date:
Prev: Re: Prioritizing Channel Access per Record? Ralph Lange
Next: Re: Prioritizing Channel Access per Record? Brian Bevins
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Prioritizing Channel Access per Record? Brian Bevins
Next: Re: Prioritizing Channel Access per Record? Brian Bevins
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  <20142015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 17 Dec 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·