ARM-software / synchronization-benchmarks

Collection of synchronization micro-benchmarks and traces from infrastructure applications
Other
38 stars 36 forks source link

Add a per-thread average acquire metric which measures realtime #12

Closed lucasclucasdo closed 6 years ago

lucasclucasdo commented 6 years ago

Currently the global average acquire time is measured in wall-clock time while the per-thread average acquire time is measured in scheduled time. While this is useful for establishing the average number of cores contending for access to the lockword at one time it can create misleading results when comparing the per-thread acquire time. This is especially true on algorithms such as jvm_objectmonitor which use thread sleeping to mitigate contention. A new metric which tracks the average wall-clock time between acquires on each thread should be added for performance characterization. The existing per-thread scheduled time metric should be retained for confirming algorithm behavior and correct operation of the thread pinning and scheduling scheme to encourage a particular level of contention while under test.