Does anyone know of any work done on keeping track of the number of
the existing DRbObject references to a local object?
It seems that if I can keep track of the propogation of DRbObjects
(adding calls to a service on the server where the local server that
update the distributed reference count), that it should be sort of
trivial to release the local object only when all distributed
references are gone.
On #ruby-lang it was suggested that this might be premature
optimization, however, I am sure that this will be necessary. The
purpose of the system I am writing is to provide a framework for Actor
computation. One of the programming techniques in the Actor model is
to produce a large number of worker actors on a machine with many
processors for the express purpose of computing a small part of a much
larger computation. However, another technique is to create a smaller
number of actors that you will keep around and possibly propogate
those references to other actors in the system. So you can see how
the distributed system could easily become littered with
undiscoverable objects that would sit around wasting resources if they
aren’t garbage collected, yet we can’t necessarily toss them away
right after we use them.
If there’s anything that you think might be helpful, I’d be very
Don’t Feel Like Typing? Send me a voicemail: