Welcome!
To use the personalized features of this site, please log in or register.
If you have forgotten your username or password, we can help.
|
 |
A Comparative Evaluation of Parallel Garbage Collector Implementations
| |
|
A Comparative Evaluation of Parallel Garbage Collector Implementations
Clement R. Attanasio5, David F. Bacon5, Anthony Cocchi5 and Stephen Smith5
| (5) |
IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heights, NY 10598, USA |
Abstract
While uniprocessor garbage collection is relatively well understood, experience with collectors for large multiprocessor servers
is limited and it is unknown which techniques best scale with large memories and large numbers of processors. In order to
explore these issues we designed a modular garbage collection framework in the IBM Jalapeño Java virtual machine and implemented
five different parallel garbage collectors: non-generational and generational versions of mark-and-sweep and semi-space copying
collectors, as well as a hybrid of the two. We describe the optimizations necessary to achieve good performance across all
of the collectors, including load balancing, fast synchronization, and inter-processor sharing of free lists. We then quantitatively
compare the different collectors to find their asymptotic performance both with respect to how fast they can run applications
as well as how little memory they can run them in. All of our collectors scale linearly up to sixteen processors. The least
memory is usually required by the hybrid mark-sweep collector that uses a copying collector for its nursery, although sometimes
the non-generational mark-sweep collector requires less memory. The fastest execution is more application-dependent. Our only
application with a large working set performed best using the mark-sweep collector; with one exception, the rest of the applications
ran fastest with one of the generational collectors.
Fulltext Preview (Small, Large)
 References secured to subscribers.
|
|
|
|
|
|