EPICS Home

Experimental Physics and Industrial Control System


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

Subject: file read and EPICS interaction problem
From: Erik Johansson <[email protected]>
To: "'[email protected]'" <[email protected]>
Date: Sat, 5 Apr 2003 18:12:23 -1000
Hello -

I have been experiencing problems when reading a somewhat large file (~670k)
from an NFS-mounted disk on an EPICS IOC. When EPICS is running, the file
load takes an incredibly long time, typically 20 seconds or so, but can also
take almost a full minute. Something appears to be blocking so that the file
IO cannot take place. The problem goes away if EPICS is not running (i.e, it
works fine if EPICS is loaded but iocInit has not occurred). I have
experimented with breaking up the read into many smaller reads. Most of
these smaller reads work fine, but a few of them hang for several seconds,
and the overall transfer rate is about the same. I have played with
priorities, task locks (int locks won't work in this case). I have also
experimented with turning off all the various devices that are connected to
this IOC, but the problem still remains. It does not appear to be a
fundamental TCP/IP problem, as all the various file loads during startup,
including iocCore (which is ~4Mb), happen very quickly. I am using an MV2304
CPU running EPICS r3.13.0Beta12. I am using "fread" to do the file read, but
have also tried using "read". Someone here also tried tftp, but that didn't
help. The delays are repeatable, but not deterministic.

Has anyone experienced anything similar? Or, does anyone have any ideas as
to what the problem could be?

I plan to test this on other VME crates we have, and also on other sub-nets
to rule out any kind of network problem.

For those interested, here is why we are reading such a large file:

We are using EPICS as the control interface to an adaptive optics system
with two real-time controllers. Parameters are sent to the real-time
controllers using shared memory, EPICS, and a shared-memory device driver
that I wrote. The large file is the "reconstruction matrix" required by one
of the real-time controllers. This matrix must be updated every few minutes
or so during system operation. The matrix is currently created by a separate
process on a Solaris host and written to disk. A task on the EPICS IOC then
reads the file and sends it to the controller (note that this can all be
done by EPICS, even though the matrix far exceeds the 16k size limit,
because the transfer is done using database access and not channel access).
We are currently porting the matrix creation task to the IOC, so the file
transfer issue will eventually go away. But, in the meantime, we still need
to solve this problem.

Many thanks for any help you can give me.

Erik

****************************************
Erik M. Johansson
Adaptive Optics Software Engineer
W. M. Keck Observatory
65-1120 Mamalahoa Hwy
Kamuela, HI 96743
Tel: 808-885-7887
Fax: 808-885-4464


Replies:
Re: file read and EPICS interaction problem Andrew Johnson

Navigate by Date:
Prev: Re: stringIn record monitors Andrew Johnson
Next: Re: file read and EPICS interaction problem Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: problems switching ioc's ip address Dale L. Brewe
Next: Re: file read and EPICS interaction problem Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  <20032004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024