Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 59044 invoked from network); 23 Apr 2007 00:08:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Apr 2007 00:08:16 -0000 Received: (qmail 79033 invoked by uid 500); 23 Apr 2007 00:08:21 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 78807 invoked by uid 500); 23 Apr 2007 00:08:21 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 78798 invoked by uid 99); 23 Apr 2007 00:08:21 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Apr 2007 17:08:21 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of xiaofeng.li@gmail.com designates 66.249.82.227 as permitted sender) Received: from [66.249.82.227] (HELO wx-out-0506.google.com) (66.249.82.227) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Apr 2007 17:08:13 -0700 Received: by wx-out-0506.google.com with SMTP id i26so1631492wxd for ; Sun, 22 Apr 2007 17:07:53 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=VTrwQWsB0kLlzHfRQ0jIv9VZio5jFOYI7PAG6/wrCpR/JSwCX/SSitkh5mu2O3emcnrDBsfzMPjZPBjVcr4t9C+HgZCd1F2XTT9o9qGQARZrycMJWF86baxq0wcAJnj692daE97u3uHtIEFXKPUxjooT2atbl+6hJJw7+DOSN/Q= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=rBuiZjqAM3wOtl6AK8G0NffjTKTL0xBrWLyCDaD98qiyAr58hKi/pkoEqgs9ZFH22b1+spHPMXm1xgHXuMfQfcBmI07QcC+zjPRaT7M/y99O9aB3H+N0YN9mdPwb5YQsdM0JJZgJHr/x9x+98xul5DZuFZQNxWihL07HvRDP8og= Received: by 10.90.87.5 with SMTP id k5mr4275263agb.1177286873237; Sun, 22 Apr 2007 17:07:53 -0700 (PDT) Received: by 10.90.114.14 with HTTP; Sun, 22 Apr 2007 17:07:53 -0700 (PDT) Message-ID: <9623c9a50704221707p42a8a688i78c4f2fdc118d2ec@mail.gmail.com> Date: Mon, 23 Apr 2007 08:07:53 +0800 From: "Xiao-Feng Li" To: dev@harmony.apache.org Subject: Re: [DRLVM] DRLVM default GC was switched from GCv4.1 to GCv5 In-Reply-To: <4dd1f3f00704221615s79755baem301e2983d9ffd78@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <9623c9a50704220429t40bc53a7if34d0e2363e069d5@mail.gmail.com> <4dd1f3f00704221615s79755baem301e2983d9ffd78@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org Ok, let's start another thread to discuss the fat lock resource reclamation design. Thanks, xiaofeng On 4/23/07, Weldon Washburn wrote: > Xiao Feng, > > I think the below is a good idea. I would very much like to use GCV5 to > solve a fat lock design problem. However, we need to wait until GCV5 is the > default collector. > > For those who have not looked at the code, DRLVM "malloc()s" little C > structs to hold inflated java object locks. Currently these C structs are > never reclaimed. It seems to be a classic GC kind of problem. The concept > is to use a variant of finalizer to discover when a java object is no longer > reachable and thus invoke C code that calls "free(fat_lock);". > > We probably should have a design discussion regarding GC support for > reclaiming native resources on the dev list. In addition to reclaiming fat > locks, there are probably other native resources that can benefit from the > GC's knowledge of java object lifecycle. (Class unloading? > DirectByteBuffer??) It would be nice to create a general interface for > releasing internal DRLVM native resources that are tied to java objects. > > > > > On 4/22/07, Xiao-Feng Li wrote: > > > > Hi, folks, I've made the switch of default DRLVM GC component from > > GCv4.1 (gc_cc) to GCv5 (gc_gen) yesterday. This switch is only trial > > for one week experiment. If things go well, it might be the default GC > > from then on; otherwise, it will be switched back waiting for next > > chance after JavaOne. (We do not know the switch result yet, since the > > testing infrastructure looks to be resting in weekends.) > > > > To make the switch is to bring Apache Harmony an advanced GC module > > which has state-of-the-art design and implementation as a > > stop-the-world GC. Basically, GCv5 is fully parallel in all phases of > > garbage collection, with a couple of dynamic runtime adaptation > > innovations to improve the throughput. GCv5 supports both generational > > and non-generational mode. Experiments showed good performance > > improvement over GCv4.1 for most workloads on parallel machines. > > > > I have put a quick overview of Harmony GCv5 at > > http://people.apache.org/~xli/docs/harmony_gcv5_overview.pdf . A basic > > design principle of GCv5 is to be modular (or open). This is a big > > difference from GCv4.1. Hope it could lay a good foundation for the > > community to develop more sophisticated GC technologies. As I know, > > there are two university projects already using GCv5 for their > > Harmony-based research. > > > > We would expect some regressions during the transition phase. Let's > > promptly fix the bugs exposed, and try to make the switch smooth. > > > > Thanks, > > xiaofeng > > > > > > -- > Weldon Washburn > -- http://xiao-feng.blogspot.com