From warnes@biostat.washington.edu  Wed Mar 31 23:56:54 1999
From: warnes@biostat.washington.edu (Gregory R. Warnes)
Date: Wed, 31 Mar 1999 14:56:54 -0800 (PST)
Subject: GC, Disk Storage, etc
Message-ID: <Pine.LNX.4.04.9903311441410.14356-100000@localhost>


I'm wondering what the plans are for the memory management system.  

Once there is a dynamic memory allocation system in place it would be nice
to augment that so that objects which are not currently being used need
not be resident in memory.  This way, rarely used objects will not be
filling up the memory of the R process.

(Yes, I am thinking about a cross between the current R and S object
storage ideas.)

It should be possible to set up an object access system that loads objects
on demand, and saves them out to disk when not used using a LRU strategy.

The save to disk could be part of the garbage collection strategy.  Some
herusitic like, if we run out of memory, throw all the ojbects we've not
used for XXX period of time out to disk.   If there are no such objects,
try to increase our available memory.  If that fails, throw things out
from least recently used forward.  If we can't manage to satisfy the
request using either method, fail the memory allocation and tell the user.

Glancing at the current code, it seems that the hardest part of this would
be keeping track of object usage, without imposing excessive overhead.

Comments?

-Greg



-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


GC, Disk Storage, etc
Gregory R. Warnes