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  2014  2015  <20162017  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  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: running multiple iocs on raspberry 2
From: Ralph Lange <[email protected]>
To: EPICS Tech-Talk <[email protected]>
Date: Tue, 12 Jan 2016 15:16:53 +0100
I second that.

An empty 3.15 IOC has ~15 threads, plus 2 for each CA client, plus 1 for each asyn port, plus 1 for each state set, plus a few for autoSaveRestore... Starting three IOCs on one machine, you will see a wealth of threads being thrown around between the available cores.

You might want to experiment with using the standard scheduler vs. using posix real-time scheduling. I have seen systems acting very different depending on that switch, especially when they are being loaded. In case you decide you need even more knobs to screw with the real-time behavior, the MCoreUtils module [1] offers ways to tune CPU affinity, priority, and scheduling policy of threads inside IOCs.

There is no problem in running multiple IOCs in parallel. However, in specific configurations clients will not be able to "see" all IOCs on one node. There is a slim and neat iptables trick that you can apply to that machine [2], which fixes the behavior requiring no changes on the client side.

Good luck!
~Ralph

[1] http://epics.sourceforge.net/mcoreutils/
[2] https://wiki-ext.aps.anl.gov/epics/index.php/How_to_Make_Channel_Access_Reach_Multiple_Soft_IOCs_on_a_Linux_Host


On 12/01/2016 14:08, Mark Rivers wrote:
Either way should work.  If you run 3 devices in one IOC they will still use multiple threads/cores for some things, for example each asynSerialPort driver will run in its own thread.  There is no problem to run multiple IOCs on the same computer either.

Mark

________________________________________
From: [email protected] [[email protected]] on behalf of Christian Pauly [[email protected]]
Sent: Tuesday, January 12, 2016 6:45 AM
To: [email protected]
Subject: running multiple iocs on raspberry 2

Hi
I  am setting up a measuerement setup consisting of three individual
devices, which i would like to control with EPICS, running the IOC on a
Raspberry Pi. Communication with each of the devices is done using
altogether three USB-Serial converter, and based on StreamDevice.
I already have working IOCs for each individual device.


Now:
If i would like to run the full setup simultaneously:
Is it better to run the three IOCs individual on the Raspberry, one for
each device ? And relying on Linux for the Multitasking ?
Or is it preferable to run only a single IOC, and load the three
database .dbd files into the same IOC, Initializing all three Serial
ports in the same st.cmd startup file ???

The Raspberry2 has a quadcore CPU, so I could imagine, that running
three individual IOCs might give better performance, since three cores
are used ? But isn't there a problem to run more than one IOC in parallel ?


Any advice welcome !

Best regards.
Christian



References:
running multiple iocs on raspberry 2 Christian Pauly
RE: running multiple iocs on raspberry 2 Mark Rivers

Navigate by Date:
Prev: Re: Device Support for I2C and GPIO Jeong Han Lee
Next: Re: Device Support for I2C and GPIO Florian Feldbauer
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: running multiple iocs on raspberry 2 Mark Rivers
Next: RE: Cost effective solution for monitor a large number of temperatures w EPICS austen.rose
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·