ICFP 2021
Sun 22 - Sat 28 August 2021
Sun 22 Aug 2021 20:44 - 21:06 at HIW - GHC 1 Chair(s): Ningning Xie

GHC’s parallel garbage collector periodically “stops the world” to perform collections. This requires synchronisation between all threads in the program, which must which must all be stopped before a collection can begin. This synchronisation imposes a significant cost on the runtime on both GHC and all parallel programs build with GHC. In it’s pre-9.2 implementation, this cross-thread synchronisation is achieved through spin locks and (on linux) calls to sched_yield. We have modified this implementation to use mutexes and condition variables. These modifications will be available in GHC 9.2 We present benchmarks showing dramatic performance improvements for GHC itself while building the Cabal library, and provide some explanation for the surprising magnitude of the improvements.

Sun 22 Aug

Displayed time zone: Seoul change

20:00 - 21:30
GHC 1HIW at HIW
Chair(s): Ningning Xie University of Toronto
20:00
22m
Talk
Exact Print Annotations in GHC
HIW
20:22
22m
Talk
Avoiding quadratic GHC core code size
HIW
Edsko de Vries Well-Typed LLP, Andres Löh Well-Typed LLP
20:44
22m
Talk
Improvements to GHC's parallel garbage collector
HIW
Douglas Wilson Well Typed