[GHC] #9221: (super!) linear slowdown of parallel builds on 40 core machine
GHC
ghc-devs at haskell.org
Thu Aug 25 06:56:20 UTC 2016
#9221: (super!) linear slowdown of parallel builds on 40 core machine
-------------------------------------+-------------------------------------
Reporter: carter | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 8.2.1
Component: Compiler | Version: 7.8.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: #910, #8224 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by slyfox):
Replying to [comment:56 simonmar]:
> Yes, perhaps we should default to -qb0 when -A is larger than some
threshold.
>
> The mutator parallelism looks not too bad (3.24 out of 4). Was there
enough parallelism in the program you were compiling to do better than
that?
I assumed there is as it's ~100 independent haskell modules,
but some of them are disproportionally large.
Got to 24-core VM to run the same benchmark. At first it manages to peak
24 HEC utilisation
but at the tail it clearly has not enough parallelism:
-qb1: http://code.haskell.org/~slyfox/T9221/ghc-
stage2.eventlog.N24.j24.png
-qb0: http://code.haskell.org/~slyfox/T9221/ghc-
stage2.eventlog.N24.j24.A256M.qb0.png
> The `MVar`s are probably just the compilation manager: it fires up a
thread for every module, and they wait on the results of compiling the
modules they depend on.
Yes, that's more likely. It would be cool to have labelMVar similar to
existing labelThread
to see IDs/names of blocker MVars.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9221#comment:57>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list