Enquiries on Load Barrier Overhead
Per Liden
per.liden at oracle.com
Tue Sep 17 06:28:33 UTC 2019
Hi,
On 9/17/19 5:28 AM, Dawei Li wrote:
> Hi ZGC Team,
>
> When I read the Jfokus 2018 slides about ZGC I have a few questions about
> load barrier overhead at slide No 44.
>
> Question 1: How do you measure the execution overhead on SPECjbb 2015? How
> do you configure base line testing and correspondingly, overhead testing?
This is a bit tricky to measure, and there's been various attempts and
approaches. In this particular case the ZGC load barrier was added to
ParallelGC, with an always successful fast path check. The performance
(benchmark score, instructions retired, etc) of this Franken-ParalleGC
was then compared against vanilla ParallelGC.
>
> Question 2: Is the *slow* *path* a source of overhead? Is it the *main*
> source?
On a typical workload, the slow path is taken on the order of one in a
million, so the overhead is dominated by the fast path. During marking,
the slow path is on the order of 150 instructions, with an occasional
cache miss when pushing to the mark stacks. During relocation, the slow
path can be more expensive in the somewhat rare case where the mutator
thread needs to relocate a medium sized object.
/Per
>
> Looking forward to your reply! Thank you!
>
> Warm Regards,
> Dawei Li
>
More information about the zgc-dev
mailing list