[rvm-research] ImmixConstants MAX_COLLECTORS value

Jeremy Singer <[email protected]>
Newsgroups gmane.comp.java.jikes.rvm.devel
Message-ID <C15961FB70BA6F4EA55A1FAAB461DAC12E32B885@CMS08-02.campus.gla.ac.uk>
Hi all,

I just compiled a production build of Jikes RVM on my shiny new 32 core x86_64-linux box. RVM built ok but when I ran it with the DaCapo avrora benchmark it died on the first major GC, failing this assertion:

[snip]
  at [0x70e52ee4, 0x64ec6f56] Lorg/jikesrvm/mm/mmtk/Assert; _assert(Z)V at line 55
   at [0x70e52ee4, 0x64ec6f56] Lorg/mmtk/policy/immix/ImmixSpace; prepare(Z)V at line 139

The assertion in ImmixSpace.java line 139 is:

VM.activePlan.collectorCount() <= MAX_COLLECTORS

I checked MAX_COLLECTORS, which is set to 16 in 
MMTk/src/org/mmtk/policy/immix/ImmixConstants.java

I bumped the MAX_COLLECTORS value to 64, and now the benchmark completes successfully.

I guess this issue may trip up a number of unsuspecting people, especially as core counts are increasing. My question is, should we automatically generate the value for MAX_COLLECTORS using something like Linux nproc at source code generation time? Or at least, flag this issue somewhere sensible so people know what's happening?

Many thanks,
Jeremy

---
http://www.dcs.gla.ac.uk/~jsinger

------------------------------------------------------------------------------
Time is money. Stop wasting it! Get your web API in 5 minutes.
www.restlet.com/download
http://p.sf.net/sfu/restlet
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.