Re: Garbage Collection project (GSOC 2013)
Matthew Fluet <[email protected]> Thu, 2 May 2013 21:45:48 -0400
| Newsgroups | gmane.comp.lang.ml.mlton.devel |
|---|---|
| Message-ID | <CAMrhFL74Lw43POzQU5j3kM-sRJLcXR4bkA6=OMdZpKFr5WOvEA@mail.gmail.com> |
On Thu, May 2, 2013 at 3:39 PM, Gao Han <[email protected]> wrote: > > My name is Gao, a CS sophomore from SUNY Buffalo. I am interested in the > Garbage Collection (GC) project offered by MLton. A copy of my proposal is > attached with this email. I would greatly appreciate your comments and > suggestions. GC Improvements is certainly a broad topic, and I'm glad to see a proposal with a particular focus. I'm not familiar with the Brecht et. al paper, but I'll raise the standard concern that Java programs might well have different allocation/retention/GC/heap characteristics than SML programs. But, it seems like a worthy experiment. Some misc. comments: * It would be good to work out a design such that the threshold approach can coexist with the existing approach(es) to heap sizing. * You may need to consider other benchmark programs; most of the proposed benchmarks aren't GC-bound. * Does the Brecht et. al approach compute threshholds once at program start or repeatedly during execution? That is, how and when is AvailMemory determined? * The statement "For major GC, it will be performed when old-space is larger than a certain ratio compared to the available physical memory." isn't quite right. A major GC is triggered when the old generation occupies the entire heap. When the major GC is a copying GC a second heap is allocated as the to-space. If that second heap cannot be allocated (or certain ratios are exceeded), then the major GC is a mark-compact GC with the existing heap. In any case, the ratio compared to available physical memory only comes into play when determining what size to grow the heap to after a major GC is completed (and the current live data size is known). ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite It's a free troubleshooting tool designed for production Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap2