#1589: Process creation and communication doesn't scale linearly
-------------------------------+--------------------------------------------
    Reporter:  guest           |        Owner:  simonmar        
        Type:  bug             |       Status:  new             
    Priority:  normal          |    Milestone:  6.8 branch      
   Component:  Runtime System  |      Version:  6.7             
    Severity:  minor           |   Resolution:                  
    Keywords:                  |   Difficulty:  Moderate (1 day)
          Os:  Multiple        |     Testcase:                  
Architecture:  Multiple        |  
-------------------------------+--------------------------------------------
Changes (by simonmar):

  * owner:  => simonmar
  * difficulty:  Unknown => Moderate (1 day)
  * os:  Windows => Multiple
  * architecture:  x86 => Multiple

Comment:

 The problem is GC: try it with `-H500m`.

 In fact there are two problems: both MVars and TSOs are kept in the
 remembered set of the old generation instead of having a proper write
 barrier, which means that all MVars and TSOs will be visited in every
 minor GC.

 I've fixed the problem for MVars:

 {{{
 Thu Oct 11 14:55:05 BST 2007  Simon Marlow <[EMAIL PROTECTED]>
   * Add a proper write barrier for MVars
 }}}

 Now the HEAD is about 30% faster on that example with 100000 threads and
 the default heap settings.   We might consider merging that patch into
 6.8.2.

 Threads are somewhat more tricky... I've made some progress towards a fix,
 but it isn't complete yet.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1589#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to