EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  <20022003  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  <20022003  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: 3.14 questions (memory footprint)
From: Alan K Biocca <[email protected]>
To: "'Epics Tech-Talk'" <[email protected]>
Date: Tue, 30 Apr 2002 15:16:27 -0700
Just this morning at the Advanced Light Source we observed the effects of memory creep on our control system. (There are likely more 4MB IOCs than 16M in the legacy world). The result was CA errors without error messages leading to confusion and lost time. (This particular case due to our own growth, not EPICS).

While it is partially true for new systems that memory is cheap, this is not true for existing systems. A few megabytes would cost us about 40k$, and our project is not large.

I think that good tight C code may be preferrable to C++ on the realtime side of things, both in terms of code size and performance.

== Alan


At 02:38 PM 4/30/2002 -0700, Larry Doolittle wrote:
Jeff -

> There are many new features, and improved structure, in R3.14 which
> would increase the size of iocCore independent of the use of C++.

While I don't doubt either the intent of improved structure,
or the observed increase in executable size, I question that
one implies the other.  To me, one obvious metric for an improved
structure would be an efficiency increase.

> With RAM memory selling for about 50 cents per megabyte, and with new
> VME processors arriving with either 32 MB or 64 MB of RAM, it's becoming
> less important to dwell on code size changes of this magnitude.
> Nevertheless, there are many legacy 16 MB 68k based IOCs ...

This brings to mind the apocryphal "frog in the kettle" story.
As long as EPICS memory usage creeps up to fill the memory available
in the latest VME cards, it is doomed to only run on high-end
embedded hardware.  Some (like me) would like to communicate
with an EPICS-based network from physically smaller and smaller
devices, as they become available.

The EPICS host we observed this effect on, and which runs R3.14
xcas in all its C++ glory with room to spare, measures
1.4" x 2.4" x 0.3" and dissipates 2 Watts.  Still, it is a board
that is distinct from the data acquisition and control circuitry,
a boundary that I would like very much to erase.

> What are the benefits of C++? Probably the most significant benefit is
> the reduced likelihood of making mistakes when maintaining large source
> codes.

My limited experience with C++ suggests that its programming paradigm
encourages the expansion of both the source code and binary size, and
makes debugging harder.

- Larry


References:
RE: 3.14 questions Jeff Hill
3.14 questions Carl Lionberger
Re: 3.14 questions Larry Doolittle

Navigate by Date:
Prev: Re: 3.14 questions Larry Doolittle
Next: Re: DM to EDM Nick Rees
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: 3.14 questions Larry Doolittle
Next: RE: 3.14 questions Ralph . Lange
Index: 1994  1995  1996  1997  1998  1999  2000  2001  <20022003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·