[GHC] #7606: Stride scheduling for Haskell threads with priorities

GHC cvs-ghc at haskell.org
Thu Jan 24 09:37:13 CET 2013


#7606: Stride scheduling for Haskell threads with priorities
---------------------------------+------------------------------------------
    Reporter:  ezyang            |       Owner:  ezyang          
        Type:  feature request   |      Status:  new             
    Priority:  normal            |   Milestone:  7.8.1           
   Component:  Runtime System    |     Version:  7.7             
    Keywords:                    |          Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |     Failure:  None/Unknown    
  Difficulty:  Unknown           |    Testcase:                  
   Blockedby:                    |    Blocking:                  
     Related:                    |  
---------------------------------+------------------------------------------

Comment(by simonmar):

 Great progress!

 If we used actual time rather than scheduler quanta, wouldn't that fix the
 heap-check case too?  Calling `gettimeofday` is very cheap these days,
 cheap enough that we can call it every time we emit an event in the event
 log, so I'm sure it won't be a problem to call it in the scheduler.

 My guess is that with `threads003` we're just pushing the size up enough
 that the GC has to touch another cache line per TSO.  If that's the case,
 then I'm not ''too'' worried, since this is a microbenchmark and won't
 affect real world performance much.  But we should verify that that's
 what's going on.  It can't be that we're allocating another stack chunk,
 because that would show up in the allocations.

 Check whether the amount of memory copied by the GC goes up in proportion
 to the amount you added to the TSO struct.  If it is a lot more, then
 something else is going on.  Also try some measurements with `perf`?

 Once this is squashed (or accounted for), we can move on to checking that
 priorities work right, and looking at the primops and the user API.

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



More information about the ghc-tickets mailing list