[squeak-dev] parallelism models (was: Selectors with underscores)
Jecel Assumpcao Jr
jecel at merlintec.com
Wed Mar 17 21:20:35 UTC 2010
Igor Stasenko wrote on Wed, 17 Mar 2010 02:23:01 +0200
> Main question: garbage collection.
> How each of the possible models approaching this, quite complex problem.
Yes, distributed garbage collection has been a deep research topic for
decades. Here is a good overview of the subject:
For old Squeak images enhanced to deal with inter-image references, my
approach is to handle this problem manually. If I need to run a 2.4
image in order to use some old application, then I will create a new
copy in the same directory as my more current image(s) from which I will
use them and use it exclusively for that purpose. Both the 2.4 and the
new images will accumulate some garbage due to circular inter-image
references (even after these references go away), but I can live with
that. Depending on how I will actually use it, I might not save the 2.4
image but might restarted from the original version each time.
For new images with NeoModules there is no sense in having distributed
garbage collection. A module is a growing series of read-only files on
disk. The idea is that disks get larger and larger at a faster rate than
the local creation and modification of objects, so it is no big deal to
keep everything. Note that if you create objects on your disk and I
download a copy of them to my machine, then this copy is only considered
a cache based on the idea that I can throw it away at any time and if it
is needed in the future I can download it again from you. Remote and
local objects are managed very differently, but the result is that
remote objects are someone else's problem and local objects don't have
to be garbage collected.
More information about the Squeak-dev