A method for compaction of objects within a computer memory, the method
including dividing a memory space into a plurality of non-overlapping
sections, selecting a plurality of source sections from among the
sections, each containing at least one object, selecting a plurality of
target sections from among the sections, and moving any of the objects
from the source section to the target section, where each of a plurality
of pairs of the source and target sections is exclusively available to a
different process from among a plurality of processes operative to
perform any of the steps with a predefined degree of concurrency.