Distributed Garbage Collection
   HOME

TheInfoList



OR:

Distributed garbage collection (DGC) in
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
is a particular case of
garbage collection Waste collection is a part of the process of waste management. It is the transfer of solid waste from the point of use and disposal to the point of treatment or landfill. Waste collection also includes the curbside collection of recyclable ...
where a remote client can hold references to an
object Object may refer to: General meanings * Object (philosophy), a thing, being, or concept ** Object (abstract), an object which does not exist at any particular time or place ** Physical object, an identifiable collection of matter * Goal, an a ...
. DGC uses some combination of the classical garbage collection (GC) techniques, tracing and
reference counting In computer science, reference counting is a programming technique of storing the number of references, pointers, or handles to a resource, such as an object, a block of memory, disk space, and others. In garbage collection algorithms, refere ...
. It has to cooperate with local garbage collectors in each
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management * Business process, activities that produce a specific s ...
in order to keep global counts, or to globally trace accessibility of data. In general, remote processors do not have to know about internal counting or tracing in a given process, and the relevant information is stored in interfaces associated with each process. DGC is complex and can be costly and slow in freeing memory. As a cheap way of avoiding DGC algorithms, one can rely on a time lease – set or configured on the remote object; it is the
stub Stub or Stubb may refer to: Shortened objects and entities * Stub, a tree cut and allowed to regrow from the trunk; see pollarding * Pay stub, a receipt or record that the employer has paid an employee * Stub period, period of time over which i ...
's task to periodically renew the lease on the remote object. If the lease has expired, the server process (the process owning the remote object) can safely assume that either the client is no longer interested in the object, or that a
network partition A network partition is a division of a computer network into relatively independent subnets, either by design, to optimize them separately, or due to the failure of network devices. Distributed software must be designed to be partition-tolerant, ...
or crash obstructed lease renewal, in which case it is "hard luck" for the client if it is in fact still interested. Hence, if there is only a single reference to the remote object on the server representing a remote reference from that client, that reference can be dropped, which will mean that the local garbage collector on the server will garbage-collect the object at some future point in time.


References

* {{Refend Automatic memory management