15/18-740 Project proposal: Evaluating a parallel real-time garbage collector on modern hardware

Ivan Jager

Chris Martens

Fall 2009

Group info

Ivan Jager aij@andrew.cmu.edu
Chris Martens cmartens@andrew.cmu.edu

Web page

http://www.cs.cmu.edu/~cmartens/740project

Project description

We propose to examine Perry Cheng's parallel garbage collector [1] in the context of the architecture in modern personal computers. Currently the work is evaluated in the context of 64-way UltraSparc II. We would like to investigate how the collector performs in the setting of modern machines with 2 or 4 processors. Furthermore, we would like to compare it to other GC implementations since if linear scaling to 2 CPUs still makes programs run slower that they would on one CPU with a different GC implementation, that would explain why this isn't used by everyone.

Our initial idea was to get the GC running on a Core 2 Duo and Quad. This would require either changes to the TILT compiler (It doesn't target x86 natively) or porting the GC to work with a different compiler. We may spend some time examining the feasibility of this, but it is probably too much work for a project of this scope.

As an alternative, we could evaluate it on a small, modern SPARC with 2 to 4 cores. The paper mentions in passing that they assume sequential consistency, but doesn't go into detail. We should investigate whether it would still work on the relaxed consistency models of newer processors, and if not, what changes would be necessary.

If things go well, we would like to investigate and possibly implement dynamic switching between different GC algorithms depending on the number of threads.

If we end up running out of time, we would like to at least be able to explain why this GC isn't used a lot more.

Logistics

Schedule

Week Goal by end of week
1 Literature survey completed; set up accounts on workstations
2 Have run GC code or be in the process of porting
3 Have run GC code and started writing evaluation code
4 (milestone) (See below)
5 Debugging and collecting data
6 Debugging and plotting/analyzing data

Milestone

By the end of week 4, we hope to accomplish the following:

Literature search

Aside from the paper mentioned, we intend to look at Cheng's thesis and investigate papers that have cited the implementation paper to see if any of them are relevant to our project.

Reading list so far:

Resources needed

Getting started

So far we have read the paper describing the collector's implementation, downloaded and examined the TILT implementation, and sent email to Perry Cheng and Guy Blelloch requesting more information.

Bibliography

1
Perry Cheng and Guy Blelloch.
A parallel, real-time garbage collector.
In Proc. PLDI 2001, 2001.

About this document ...

15/18-740 Project proposal: Evaluating a parallel real-time garbage collector on modern hardware

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -unsegment -split 0 -no_navigation proposal.tex

The translation was initiated by chris on 2009-11-23


chris 2009-11-23