EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Excessive scan times for periodic scans
From: "Konrad, Martin via Core-talk" <[email protected]>
To: "Johnson, Andrew N." <[email protected]>, EPICS Core Talk <[email protected]>
Date: Wed, 3 Apr 2019 22:34:53 +0000
Hi Andrew,
> How heavily loaded are the callback threads cb{Low,Medium,High}?
The two cbLow threads use 5-10% CPU each. Load on the cb{Medium,High}
threads is 0.0%.
> Do you have chains of records that are linked together?
Only a small fraction of the input records are linking to calc records
or similar. No long chains of records or output records that could take
long to process.

> What other resources do your devices share that might limit how fast
> the IOC can communicate with them?
Hmm, I can't think of anything other than RAM (of which we have more
than enough - 24 GB) and the network interface (according to the
hypervisor's monitoring we are using only a small percentage of it's
bandwidth).

> How long does it take to "talk" to each device?
I'll measure the latency tomorrow.

> Multiple callback threads was certainly added, and I suspect it
> might help your situation because the second-half asynchronous
> processing is probably happening there.
I think you're right about this. I actually had to bump up the resources
a little to prevent cbLow queue overflows:

scanOnceSetQueueSize(10000)
callbackSetQueueSize(10000)
callbackParallelThreads(2, "Low")

Queue status after the IOC is running for a while:

epics> callbackQueueStatus
PRIORITY  HIGH-WATER MARK  ITEMS IN Q  Q SIZE  % USED  Q OVERFLOWS
   cbLow             3186           0   10000     0.0            0
cbMedium                0           0   10000     0.0            0
  cbHigh                0           0   10000     0.0            0
epics> scanOnceQueueStatus
PRIORITY  HIGH-WATER MARK  ITEMS IN Q  Q SIZE  % USED  Q OVERFLOWS
scanOnce              630           0   10000     0.0            0

Thanks,

Martin

-- 
Martin Konrad
Facility for Rare Isotope Beams
Michigan State University
640 South Shaw Lane
East Lansing, MI 48824-1321, USA
Tel. 517-908-7253
Email: [email protected]

References:
Excessive scan times for periodic scans Konrad, Martin via Core-talk

Navigate by Date:
Prev: Re: EPICS 7.0.2.1 release preparation Johnson, Andrew N. via Core-talk
Next: Re: How to ensure epicsThread function is running in short-lived environment? Benjamin Franksen via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Excessive scan times for periodic scans Konrad, Martin via Core-talk
Next: Re: Excessive scan times for periodic scans Konrad, Martin via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 07 Apr 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·