RFR: 8280139: Report more detailed statistics about task stealing in task queue stats
Thomas Schatzl
tschatzl at openjdk.java.net
Wed Jan 19 13:03:45 UTC 2022
Hi all,
can I have reviews that improves task queue statistics?
This is a step to see problems with task queue in general and measure future task stealing improvements in GC; particularly contention on steal information has shown to be correlated to performance, so information about basic occurrences during stealing (how many empty, how many contended, how many contended in a row, max contended accesses in a row) in the task queue is very interesting for further performance work.
Old output of `gc+tasks+stats=trace` after compiling in these statistics:
thr qpush qpop qpop-s qattempt qsteal opush omax
--- ---------- ---------- ---------- ---------- ---------- ---------- ----------
0 3777115 3776816 3872 17434 9630 0 0
And new:
thr push pop pop-slow st-attempt st-empty st-ctdd st-success st-ctdd-max st-biasdrop ovflw-push ovflw-max
--- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
0 4616264 4616218 3608 12945 1 1650 11294 5 9405 0 0
[...]
The first four columns stayed the same, then the `qsteal` has been split up into the various steal results (empty/contended/success). `st_ctdd_max` gives the maximum amount of contended steal attempts in a row. `st_biasdrop` shows how many times the steal bias has been dropped (reset).
`ovflw-push` and `ovfl-max` are the same as before, just renamed a bit to use the available space.
There has been no intention to change anything about the algorithm, so there is no need for perf testing (I can see). Later changes will do that.
Thanks,
Thomas
-------------
Commit messages:
- Cleanup, remove tasks count
- More task queue statistics
Changes: https://git.openjdk.java.net/jdk/pull/7143/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7143&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8280139
Stats: 78 lines in 3 files changed: 44 ins; 0 del; 34 mod
Patch: https://git.openjdk.java.net/jdk/pull/7143.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7143/head:pull/7143
PR: https://git.openjdk.java.net/jdk/pull/7143
More information about the hotspot-gc-dev
mailing list