You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "weldon washburn (JIRA)" <ji...@apache.org> on 2006/11/19 23:21:38 UTC

[jira] Closed: (HARMONY-2101) [DRLVM][GC] patch for parallel compaction

     [ http://issues.apache.org/jira/browse/HARMONY-2101?page=all ]

weldon washburn closed HARMONY-2101.
------------------------------------

    Resolution: Fixed

build and build test run successfully on linux w/ gcc 4.0.2.  build runs successfully on windowsXP

> [DRLVM][GC] patch for parallel compaction
> -----------------------------------------
>
>                 Key: HARMONY-2101
>                 URL: http://issues.apache.org/jira/browse/HARMONY-2101
>             Project: Harmony
>          Issue Type: Improvement
>          Components: DRLVM
>         Environment: Windows and Linux FC4.0
>            Reporter: Xiao-Feng Li
>         Assigned To: weldon washburn
>         Attachments: 00-gcv5_parallel.patch
>
>
> This is a patch that makes the GCv5 work in multiple collector threads. This patch has mainly following work:
> 1. It makes the marking phase and installing forwarding-pointer phase parallel. The marking phase lets multiple collectors share a task pool for load balance. The installing forwarding-pointer phase is an improvement over SUN's parallel compator. It enables all the objects be compacted to lower address space without a few piles of compacted objects. The remaining phase in compaction is to move object. It's not yet put in the patch, but it's trivial since the difficulty is in prior phases.
> 2. Data structures/utilities the support a prallel collection. In this patch, I put a synchronized stack and a synchronized queue implementations. Both are non-blocking. The queue is based on Michael and Scott's algorithm. Some other data structures like vector and pool are also implemented. The parallel compaction heavily depends on these data structures and utilities for both correctness and performance.
> 3. It also has added the code for command line options for number of collector threads and to switch between generational/non-generational mode. -Dgc.gen_mode=true/false -Dgc.num_collectors=2
> Note, with this patch, the generational mode is broken. The focus is for parallel. Hopefully next version will have a full parallel compactor. Once the parallel compaction is done, I will get back the generational mode since it is relatively much easier then. The default is non-gen mode and two collector threads. 
> Thanks,
> xiaofeng

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira