Changes between Version 26 and Version 27 of Status/May11

May 1, 2011 6:52:41 PM (6 years ago)

add simonmar's stuff


  • Status/May11

    v26 v27  
    5656 * Simon Marlow and '''Ryan Newton''' have developed a neat new library for deterministic parallel progarmming in Haskell; read their ICFP submission [[ DetPar]]. The model is monadic and has explicit control over granularity, but allows dynamic construction of dataflow networks that are scheduled at runtime, while remaining deterministic and pure.
    58  * '''Simon Marlow: any update?''' Previous entry: ''Simon Marlow is working on a new garbage collector that is designed to improve scaling of parallel programs beyond small numbers of cores, by allowing each processor core to collect its own local heap independently of the other cores.  Some encouraging preliminary results were reported in a [ blog post].  Work on this continues; the complexity of the system and the number of interacting design choices means that achieving an implementation that works well in a broad variety of situations is proving to be quite a challenge.''
     58 * '''Simon Marlow''' Has been busy implementing and benchmarking a new garbage collector.  GHC's current garbage collector is of the parallel "stop-the-world" variety, where to collect the heap all cores stop running the program and collect the heap in parallel.  The new collector is a "local heap" collector, in which each core has a private heap that can be collected independently of the other cores, meanwhile there is a shared global heap that is collected (much less frequently) by the usual parallel stop-the-world algorithm.  We have a paper describing the new design which has been accepted at ISMM'11 (and will be online shortly).  The results are mixed; while on average performance improves with the new collector for parallel programs, the improvements are not dramatic (at least up to 24 cores).  The new collector is significantly more complex than GHC's current collector.  Hence we do not plan to merge it into the mainline yet, but will maintain it on a git branch for the time being, while we continue to experiment with and tune it.  Some improvements from the branch that were independent of the new GC algorithm have already been merged into the mainline, so 7.2.1 will see some small improvements in GC performance and stats reporting.
     60 * '''Simon Marlow''' has implemented a chunked stack representation, which should improve the performance of programs that need large stacks.  See the [[ blog post]].  This is already in the mainline and will be in the 7.2.1 release.
    143145 * [!EdgeDetect]
     147 * [!StackChunks]