[GHC] #13362: GHC first generation of GC to be as large as largest cache size by default

GHC ghc-devs at haskell.org
Fri Jan 26 18:40:48 UTC 2018


#13362: GHC first generation of GC to be as large as largest cache size by default
-------------------------------------+-------------------------------------
        Reporter:  varosi            |                Owner:  (none)
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:  8.6.1
       Component:  Runtime System    |              Version:  8.0.2
      Resolution:                    |             Keywords:  numa cache gc
                                     |  newcomers
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Runtime           |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by carter):

 do we mean the Nursery or the Gen1 heap after the nursery?

 I'd imagine we want the nursery to fit in L1 or L2 caches (where
 applicable) and the Gen1 heap to fit in the rest of the Cache left in
 Level3 after we account for nurseries?

 Perhaps

 {{{
 size of nursery = size of L2 cache per cpu core
 size of gen1 >= max(#capabilities * size of nursery
                                , size of L3 cache in socket -
 (#capabilities * size of  nursery) )

 }}}

 we definitely (at least in many core systems) do *not* want nurseries on
 the same Socket creating cache thrash with eachother (ie under heavy
 allocation workloads)?

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


More information about the ghc-tickets mailing list