A garbage collection algorithm is described for persistent object stores in a client/server environment. The algorithm is based on a partitioned mark-and-sweep approach, and it is tailored to cope with the problems introduced by persistence. The correctness of the algorithm is enforced by exploiting the flow of log records between the clients and the server, and the locking, logging, and recovery protocols of the system. The algorithm was implemented, tested, and measured in the client/server EXODUS storage manager. The performance evaluation results provided show that the collector bookkeeping mechanisms add little overhead to client operations.
The paper is well organized and clearly written. Necessary background on client/server persistent systems and garbage collection techniques is provided at the beginning of the paper. Therefore, any reader with some interest in the area should be able to understand the material. The paper makes a valuable contribution to the literature on storage management.