
#14981: GHC parallel GC is not doing well on modern many-core machine -------------------------------------+------------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari):
Are there a plans to reconsider bringing local heaps back in some future time?
Not at the moment, at least not with the same approach that was tried in the local heaps paper. Unfortunately maintaining the local heap invariant ends up being rather expensive both in complexity budget and computation (since objects which may be encountered by other capabilities must be evacuated out to the global heap). GHC is not at all unusual in the stop-the-world nature of its minor GC and there are well-understood ways of dealing with it: simply increase the size of the nursery to reduce the frequency of minor GCs (and therefore synchronization). I have seen GHC run very well on a few dozen cores with a `+RTS -A128MB`. Depending upon the allocation load, it may also help to reduce `+RTS -qn` to reduce the number of cores which need to synchronize. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14981#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler