
I've been reading a little about GC latency and have run across statements like this: One solution to the GC synchronisation problem would be to implement a concurrent garbage collector. Typically, however, concurrent GC adds some overhead to the mutator, since it must synchronise with the collector.some thunks are never “black-holed”, so giving a potential performance win. Unfortunately, in the parallel setting, it substantially enlarges the time window in which two or more duplicate threads might evaluate the same think, and thus -- Comparing and Optimising Parallel Haskell Implementations for Multicore Machines What is the mutator? -- Jason Dusek

Hello Jason, Thursday, August 6, 2009, 11:38:08 AM, you wrote:
One solution to the GC synchronisation problem would be to implement a concurrent garbage collector. Typically, however, concurrent GC adds some overhead to the mutator, since it must synchronise with the collector.some thunks are never “black-holed”, so giving a potential performance win. Unfortunately, in the parallel setting, it substantially enlarges the time window in which two or more duplicate threads might evaluate the same think, and thus
i'm not an expert, but: lazy haskell value is some expression to comupte. when this value started to evaluate, it's replaced by "black hole" - special value. attempt to compute black-holed value (in the same thread) means that we have cyclic computation dependency - exception triggered. once value of thunk is evaluated, it's written back by code called mutator -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

i'm not an expert, but: once value of thunk is evaluated, it's written back by code called mutator
Whilst that is indeed mutation, it is not what is usually referred to as the "mutator" in the context of garbage collection. Quite simply, the "mutator" is the actual running program, as opposed to the GC, which is part of the underlying runtime system. Conceptually, the mutator and GC are the two mutually-exclusive threads of control that modify the heap. Usually one must halt while the other runs. Regards, Malcolm
participants (3)
-
Bulat Ziganshin
-
Jason Dusek
-
Malcolm Wallace