[GHC] #8224: Excessive system time -- new IO manager problem?

GHC ghc-devs at haskell.org
Wed Sep 4 17:40:34 CEST 2013


#8224: Excessive system time -- new IO manager problem?
-------------------------------------+-------------------------------------
       Reporter:  rrnewton           |             Owner:
           Type:  bug                |            Status:  new
       Priority:  high               |         Milestone:  7.8.1
      Component:  Runtime System     |           Version:  7.7
       Keywords:  IO Manager,        |  Operating System:  Linux
  System Time                        |   Type of failure:  Runtime
   Architecture:  x86_64 (amd64)     |  performance bug
     Difficulty:  Unknown            |         Test Case:
     Blocked By:                     |          Blocking:
Related Tickets:                     |
-------------------------------------+-------------------------------------
 This is an issue that came to light when testing the patches on  #910.
 You can see some of the numbers there.  Basically, recent GHC HEAD builds,
 running a large number of threads blocked on MVars will result in burning
 a lot of system time.

 The attached file provides a mediocre reproducer.  With it, you can see
 that building with HEAD as of Aug 31st and running with `-RTS -N32` will
 result in around 200ms system time, whereas GHC 7.6.3 spends about 30ms in
 system time.  This shows the disparity, but the result is not that
 egregious.

 A more noticeable example is on ticket #910, where when running on 31
 threads, there is an 8 minutes of system time for 17 minutes of user time,
 and yet at one thread that system time drops to under two seconds!

 {{{
  1 thread:   real 1m20.028s user 1m17.921s sys 0m1.768s
  31 threads: real 1m27.445s user 17m0.314s sys 8m0.175s
 }}}

 It needs to be determined whether this system time is a result of the
 parallel compilation patches on #910, or whether it is a new problem with
 the runtime system, and in particular with the parallel IO manager.  I am
 inclined to believe that compiling in parallel involves extra IO
 (repeatedly reading interface files?), but not eight minutes of it!!

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




More information about the ghc-tickets mailing list