[GHC] #9221: (super!) linear slowdown of parallel builds on 40 core machine

GHC ghc-devs at haskell.org
Fri Sep 19 15:41:59 UTC 2014


#9221: (super!) linear slowdown of parallel builds on 40 core machine
-------------------------------------+-------------------------------------
              Reporter:  carter      |            Owner:
                  Type:  bug         |           Status:  new
              Priority:  high        |        Milestone:  7.10.1
             Component:  Compiler    |          Version:  7.8.2
            Resolution:              |         Keywords:
      Operating System:              |     Architecture:  Unknown/Multiple
  Unknown/Multiple                   |       Difficulty:  Unknown
       Type of failure:  Compile-    |       Blocked By:
  time performance bug               |  Related Tickets:  #910
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------

Comment (by simonmar):

 We probably want to be running with larger heap sizes when there are lots
 of cores, to counteract the synchronization overhead of stop-the-world GC
 across many cores. e.g. `+RTS -A32m` at least.

 Check whether your machines really have N cores, or if N/2 of those are
 hyperthreaded cores.  I don't recommend including hyperthreaded cores in
 the -N value you give to GHC, it's better to leave them free to soak up
 any extra load while letting the GC synchronize properly.

 @carter, when you said "100% of ghc's cpu time was spent on user-space
 lock contention when I did the -j40 invocation.", how did you discover
 that?  Which lock in particular?

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9221#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list