Thread GC non "stop-the-world"
Oscar Martin via Digitalmars-d
digitalmars-d at puremagic.com
Thu Sep 25 14:20:56 PDT 2014
On Thursday, 25 September 2014 at 13:55:42 UTC, Wyatt wrote:
> On Wednesday, 24 September 2014 at 20:15:52 UTC, Oscar Martin
> wrote:
>> On Wednesday, 24 September 2014 at 08:13:15 UTC, Marc Schütz
>> wrote:
>>>
>>> There can also be a shared _and_ a local GC at the same time,
>>> and a thread could opt from the shared GC (or choose not to
>>> opt in by not allocating from the shared heap).
>>
>> Yes, a shared GC should be a possibility, but how you avoid
>> the "stop-the-world" phase for that GC?
>>
>> Obviously this pause can be minimized by performing the most
>> work out of that phase, but after seeing the test of other
>> people on internet about advanced GCs (java, .net) I do not
>> think it's enough for some programs
>>
>> But hey, I guess it's enough to cover the greatest number of
>> cases. My goal is to start implementing the thread GC. Then I
>> will do testing of performance and pauses (my program requires
>> managing audio every 10 ms) and then I might dare to implement
>> the shared GC, which is obviously more complex if desired to
>> minimize the pauses. We'll see what the outcome
>
> This thread reminds me again of a paper I read a few months ago
> with a clever way of dealing with the sharing problem while
> maintaining performance:
> https://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/local-gc.pdf
>
> The caveat for D being this design requires read and write
> barriers and I'm pretty sure I recall correctly that those have
> been vetoed several times for complexity.
>
> -Wyatt
An interesting paper. Thank you very much
More information about the Digitalmars-d
mailing list