thanks! I just tried setting -A32M and this seems to fix the parallel GC problems, I now get a speedup with parallel GC on and performance is the same as passing -qg. I had tried -H before and it only made things worse, but -A seems to do the trick.

I'm still having problems with segmentation faults though. Depending on how I apply parMap, and whether I use monad-par or control.parallel, they seem to come and go arbitrarily. In a successful run that lasted about 30s in total with control.parallel, +RTS -s reports:
SPARKS: 422712 (394377 converted, 0 pruned)

am I creating too many sparks?

On Mon, Oct 10, 2011 at 3:07 PM, Gregory Collins <greg@gregorycollins.net> wrote:
On Mon, Oct 10, 2011 at 3:55 PM, Tom Thorne <thomas.thorne21@gmail.com> wrote:
>
> Yes I will try to run threadscope on it, I tried it before and the event log output produced about 1.8GB, and then crashed.
> Is there any way to tell the RTS to perform GC less often? My code doesn't use too much memory and I'm using fairly hefty machines (e.g one with 48 cores and 128GB of RAM) and so perhaps the default/heuristic settings aren't optimal.

Increasing "-A" and "-H" in the RTS options should help with this.

G
--
Gregory Collins <greg@gregorycollins.net>