EPICS Home

Experimental Physics and Industrial Control System


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

Subject: again: memory management
From: Benjamin Franksen <[email protected]>
To: [email protected]
Date: Tue, 5 Jul 2005 12:30:55 +0200
Hi All,

In EPICS V4, data in (better: referenced by) record fields will 
dynamically grow and shrink, at least for array and string types. We 
will also add and remove record instances at runtime.

That means we can no longer maintain the traditional EPICS attitude of 
'allocate everything at init time'. That in turn means memory 
management will become a critical issue for overall performance. IMNSHO 
it is /not/ appropriate to simply go on as before (i.e. use malloc/free 
plus some specialized per-class free-list stuff) as if nothing had 
happened. Some decisions will have to be made.

Many people advocate some sort of per-class memory management based on 
reference counting. There exist quite a number of popular myths about 
the pros and cons of the various kinds of dynamic memory management 
techniques (malloc/free, reference counting, mark-weep GC, ...). Many 
of them are easily falsified.

An excellent source of information are the links under 
http://www.hpl.hp.com/personal/Hans_Boehm/gc/#background, especially 
http://www.hpl.hp.com/personal/Hans_Boehm/gc/nonmoving/, where 
performance measurements between the (above listed) main three types of 
MM lead to conclusions that are somewhat contrary to common folklore. A 
must-read.

Ben

Replies:
Re: again: memory management Kay-Uwe Kasemir

Navigate by Date:
Prev: string implementations (was: memory management) Benjamin Franksen
Next: [Fwd: Re: EPICS V4 support for data acquisition] Marty Kraimer
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Record support and user-defined fields Marty Kraimer
Next: Re: again: memory management Kay-Uwe Kasemir
Index: 2002  2003  2004  <20052006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024