RFR: Parallel verification

Aleksey Shipilev shade at redhat.com
Mon Jul 3 16:43:54 UTC 2017


On 07/03/2017 03:36 PM, Roman Kennke wrote:
> Am 03.07.2017 um 12:56 schrieb Aleksey Shipilev:
>> Hi,
>>
>> Verification takes a while now, since we are verifying lots of floating garbage
>> (still marked, and can be walked by GC). I think we can trivially parallelize it:
>>   http://cr.openjdk.java.net/~shade/shenandoah/verifier-parallel/webrev.01/
>>
>> We are deliberately not using work-stealing, because we don't want to rely on
>> ShTQ correctness, and not using usual ShHeap region iterators for the similar
>> reason.
>>
>> Testing: hotspot_gc_shenandoah
>>
>> Thanks,
>> -Aleksey
>>
>>
> I am undecided. On the one hand, it is nice to verify stuff fast. On the
> other side, the verifier should be as simple as possible, such that we
> can trivially see that it's doing the right thing. Parallelization goes
> against that IMO. I think this patch is still ok (but maybe that's just
> me, because I have done this so often, I can tell that it's correct),
> but I wouldn't introduce more complexity into the verifier unless really
> necessary. There's not much point in making that code superfast, but
> there's the whole point of making it work correctly... Up to you!

Pushing. I think the benefits of faster verification in time-bounded tests
outweight the complexity cost. We can do more GC cycles with faster verifier.

Thanks,
-Aleksey



More information about the shenandoah-dev mailing list