A performance comparison between stop-the-world and multithreaded concurrent generational garbage collection for Java
Performance, Computing, and Communications Conference, 2002. 21st IEEE International (2002)
Phoenix, AZ, USA
Apr. 3, 2002 to Apr. 5, 2002
C.-T.D. Lo , Dept. of Comput. Sci., Illinois Inst. of Technol., Chicago, IL, USA
The recent popularity of the Java programming language has brought automatic dynamic memory management (a.k.a., the garbage collection) into the mainstream. Traditional garbage collectors suffer from long garbage collection pauses (stop-the-world mark-sweep algorithm) or inability of collecting cyclic garbage (reference counting approach). Generational garbage collection, however, is based only on the weak generational hypothesis that most objects die young. In this paper, the performance evaluation of a new multithreaded concurrent generational garbage collector (MCGC) based on mark-sweep with the assistance of reference counting is reported. The MCGC can take advantage of multiple CPUs in an SMP system and the merits of lightweight processes. Furthermore, the long garbage collection pause can be reduced and the garbage collection efficiency can be enhanced. Measurement results indicate that the MCGC improves the garbage collection pause time up to 96.75% over the traditional stop-the-world mark-sweep garbage collector. Moreover, the MCGC receives minimal time and space penalties as shown in the report of the total execution time, the memory footprint and the sticky reference count rate.
W. Srisa-an, J. Chang and C. Lo, "A performance comparison between stop-the-world and multithreaded concurrent generational garbage collection for Java," Performance, Computing, and Communications Conference, 2002. 21st IEEE International(PCC), Phoenix, AZ, USA, 2002, pp. 301-308.