[GHC] #14981: GHC parallel GC is not doing well on modern many-core machine
GHC
ghc-devs at haskell.org
Thu Mar 29 15:00:45 UTC 2018
#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
More information about the ghc-tickets
mailing list