Changes between Version 2 and Version 3 of Status/Oct09

Nov 3, 2009 1:51:23 PM (6 years ago)



  • Status/Oct09

    v2 v3  
    66for others to get involved.  We are particularly eager to find partners 
    77who are willing to take responsibility for a particular platform  
    8 (e.g. '''Simon M fill in the most popular Tier 2 plaform'''); see [Platforms]. 
     8(e.g. Sparc/Solaris, currently maintained by Ben Lippmeier); see [wiki:Platforms]. 
    1010== The GHC 6.12 release ==  
    2323 * As part of this parallel-performance tuning, Satnam Singh and Simon 
    24    Marlow have developed ThreadScope, a GUI that lets you see what is 
     24   Marlow have developed !ThreadScope, a GUI that lets you see what is 
    2525   going on inside your parallel program.  It's a huge step forward 
    2626   from "It takes 4 seconds with 1 processor, and 3 seconds with 8 
    27    processors; now what?".  ThreadScope will be released separately 
     27   processors; now what?".  !ThreadScope will be released separately 
    2828   from GHC, but at more or less the same time as GHC 6.12. 
    4545   installed package with a unique identifier based on its exposed ABI. 
    4646   Now, cases where the user re-installs a package without recompiling 
    47    its dependencies will be detected, and the broken dependencies will 
     47   packages that depend on it will be detected, and the packages with broken dependencies will 
    4848   be disabled.  Previously, this would lead to obscure compilation errors, 
    49    or worse, segfaulting programs.  This involved a large amount of 
     49   or worse, segfaulting programs.[[BR]] 
     50   [[BR]] 
     51   This change involved a large amount of 
    5052   internal restructuring, but it paves the way for future improvements 
    5153   to the way packages are handled.  For instance, in the future we 
    7274   removed or replaced with something simpler in 6.14. 
    74 For more detail, see the release notes in the  6.12 User manual [UM],  
    75 which mention many things skipped over here. 
     76For more detail, see the release notes in the  [ 6.12 User manual], which mention many things skipped over here. 
    7778Another big change with GHC 6.12 is that Hackage and the Haskell Platform is 
    9394Lastly, GHC 6.12 has a totally re-engineered build system, with much-improved 
    94 dependency tracking [BuildSystem].  While there have been lots of teething problems, the  
    95 old system had become increasingly troublesome, so we had to make a change. 
     95dependency tracking [wiki:Building].  While there have been lots of teething problems, things are settling down and the new system is a huge improvement over the old one.  The main improvement is that you can usually just say `make`, and everything will be brought up to date (before it was often necessary to `make clean` first).  Another improvement is that the new system exposes much more parallelism in the build, so GHC builds faster on multicores. 
    9797== What's hot for the next year == 
    154154=== Parallelism === 
    156 SIMON MARLOW to write 
     156Most of the changes in this area were described in our ICFP'09 paper [ Runtime Support for Multicore Haskell].  The highlights: 
     158 * Load-balancing of sparks is now based on lock-free work-stealing queues. 
     160 * The overhead for ''running'' a spark is significantly less, so GHC can take advantage of finer-grained parallelism 
     162 * The parallel GC is now much more locality-aware.  We now do parallel GC in young-generation collections by default, mainly 
     163   to avoid destroying locality by moving data out of the CPU cache on which it is needed.  Young-generation collections 
     164   are parallel but not load-balanced.  There are new RTS flags to control parallel GC behaviour. 
     166 * Various other minor performance tweaks. 
    158168=== Data Parallelism === 
    193203== References == 
    195 [Platforms]  '''A wiki ref''' 
    196 [[BR]] 
    197 [IHG]  Industrial Haskell Group  
    198 [] 
    199 [[BR]] 
    200206[UM]   GHC 6.12 user manual