next up previous contents
Next: Optional Distributed Garbage Collection Up: Actor Garbage Collection in Previous: The Live Unblocked Actor

Local Actor Garbage Collection

The difficulty of local actor garbage collection is to obtain a consistent global state and minimize the penalty of actor garbage collection. The easiest approach for actor garbage collection is to stop the world: no computation or communication is allowed during actor garbage collection. There are two major drawbacks of this approach, the waiting time for message clearance and a degradation of parallelism (only the garbage collector is running and all actors are waiting).

A better solution for local actor garbage collection is to use a snapshot-based algorithm [7], which can improve parallelism and does not require waiting time for message clearance. SALSA uses a snapshot based algorithm, together with the SALSA garbage detection protocol (the pseudo-root approach) [6], in order to get a meaningful global state. A SALSA local garbage collector uses the meaningful global snapshot to identify garbage actors.

One can observe the behavior of the local actor garbage collector by specifying the run-time environment options -Dgcverbose -Dnodie as follows:

java -cp salsa<version>.jar:. -Dgcverbose -Dnodie examples.HelloWorld

To start a theater without running the local actor garbage collection, one can use the option -Dnogc as follows:

java -cp salsa<version>.jar:. -Dnogc examples.HelloWorld


next up previous contents
Next: Optional Distributed Garbage Collection Up: Actor Garbage Collection in Previous: The Live Unblocked Actor
Wei-Jen Wang
2007-11-28