Skip to content

Perf_Timer.AsynchronousContention and Perf_Timer.SynchronousContention benchmark issue on Mono Interpreter #78209

Open

Description

Benchmarks Perf_Timer.AsynchronousContention and Perf_Timer.SynchronousContention are running very slow in dotnet-runtime-perf-slow on arm64/Mono/Interpreter pipeline (Performance Linux arm64 release mono Interpreter micro_mono perfampere NoJS False).

Trying to reproduce it on similar machine (VM in Azure - Ubuntu 20.04+arm64) was not successful. I and @BrzVlad were not able to build the runtime and run the benchmark on Helix machine.

This is recent run:

[2022/11/06 09:20:40][INFO] // Found 1 benchmarks:
[2022/11/06 09:20:40][INFO] //   Perf_Timer.AsynchronousContention: Job-WRTDBJ(PowerPlanMode=00000000-0000-0000-0000-000000000000, Toolchain=CoreRun, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
[2022/11/06 09:20:40][INFO] 
[2022/11/06 09:20:40][INFO] // **************************
[2022/11/06 09:20:40][INFO] // Benchmark: Perf_Timer.AsynchronousContention: Job-WRTDBJ(PowerPlanMode=00000000-0000-0000-0000-000000000000, Toolchain=CoreRun, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
[2022/11/06 09:20:40][INFO] // *** Execute ***
[2022/11/06 09:20:40][INFO] // Launch: 1 / 1
[2022/11/06 09:20:40][INFO] // Execute: /home/helixbot/work/ABE0092A/p/dotnet-mono/shared/Microsoft.NETCore.App/e2174923-60b2-43dd-b6a9-8441df07c287/corerun b5a5684a-08f5-4df4-b63f-edc7eea54efc.dll --anonymousPipes 541 542 --benchmarkName System.Threading.Tests.Perf_Timer.AsynchronousContention --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Toolchain=CoreRun, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 149 in /home/helixbot/work/ABE0092A/w/C6760A99/e/performance/artifacts/bin/MicroBenchmarks/Release/net8.0/b5a5684a-08f5-4df4-b63f-edc7eea54efc/bin/Release/net8.0/publish
[2022/11/06 09:20:40][INFO] Failed to set up high priority. Make sure you have the right permissions. Message: Permission denied
[2022/11/06 09:20:40][INFO] // BeforeAnythingElse
[2022/11/06 09:20:40][INFO] 
[2022/11/06 09:20:40][INFO] // Benchmark Process Environment Information:
[2022/11/06 09:20:40][INFO] // Runtime=.NET 8.0.0 (42.42.42.42424), Arm64 AOT
[2022/11/06 09:20:40][INFO] // GC=Non-concurrent Workstation
[2022/11/06 09:20:40][INFO] // HardwareIntrinsics=
[2022/11/06 09:20:40][INFO] // Job: Job-QZTFHS(PowerPlanMode=00000000-0000-0000-0000-000000000000, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
[2022/11/06 09:20:40][INFO] 
[2022/11/06 09:20:40][INFO] OverheadJitting  1: 1 op, 35480.00 ns, 35.4800 us/op
[2022/11/06 09:28:22][INFO] WorkloadJitting  1: 1 op, 461892819541.00 ns, 461.8928 s/op
[2022/11/06 09:28:22][INFO] 
[2022/11/06 09:35:53][INFO] WorkloadWarmup   1: 1 op, 450740774849.00 ns, 450.7408 s/op
[2022/11/06 09:35:53][INFO] 
[2022/11/06 09:35:53][INFO] // BeforeActualRun
[2022/11/06 09:43:23][INFO] WorkloadActual   1: 1 op, 450043300789.00 ns, 450.0433 s/op
[2022/11/06 09:50:51][INFO] WorkloadActual   2: 1 op, 447471732038.00 ns, 447.4717 s/op
[2022/11/06 09:58:18][INFO] WorkloadActual   3: 1 op, 447013733387.00 ns, 447.0137 s/op
[2022/11/06 10:05:46][INFO] WorkloadActual   4: 1 op, 448038099850.00 ns, 448.0381 s/op
[2022/11/06 10:13:14][INFO] WorkloadActual   5: 1 op, 448591081197.00 ns, 448.5911 s/op
[2022/11/06 10:20:41][INFO] WorkloadActual   6: 1 op, 447030699880.00 ns, 447.0307 s/op
[2022/11/06 10:28:08][INFO] WorkloadActual   7: 1 op, 447022293085.00 ns, 447.0223 s/op
[2022/11/06 10:35:37][INFO] WorkloadActual   8: 1 op, 448186147351.00 ns, 448.1861 s/op
[2022/11/06 10:43:04][INFO] WorkloadActual   9: 1 op, 447640623738.00 ns, 447.6406 s/op
[2022/11/06 10:50:33][INFO] WorkloadActual  10: 1 op, 448467970186.00 ns, 448.4680 s/op
[2022/11/06 10:58:01][INFO] WorkloadActual  11: 1 op, 447736490717.00 ns, 447.7365 s/op
[2022/11/06 11:05:29][INFO] WorkloadActual  12: 1 op, 448190031399.00 ns, 448.1900 s/op
[2022/11/06 11:12:59][INFO] WorkloadActual  13: 1 op, 449815026432.00 ns, 449.8150 s/op
Killed

It's eventually killed, because pipeline runs out of time.

Below is one from September that finished. But the times are still in 167s.

[2022/09/23 21:20:32][INFO] // Found 1 benchmarks:
[2022/09/23 21:20:32][INFO] //   Perf_Timer.AsynchronousContention: Job-DUILMZ(PowerPlanMode=00000000-0000-0000-0000-000000000000, Toolchain=CoreRun, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
[2022/09/23 21:20:32][INFO] 
[2022/09/23 21:20:32][INFO] // **************************
[2022/09/23 21:20:32][INFO] // Benchmark: Perf_Timer.AsynchronousContention: Job-DUILMZ(PowerPlanMode=00000000-0000-0000-0000-000000000000, Toolchain=CoreRun, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
[2022/09/23 21:20:32][INFO] // *** Execute ***
[2022/09/23 21:20:32][INFO] // Launch: 1 / 1
[2022/09/23 21:20:32][INFO] // Execute: /home/helixbot/work/B2030979/p/dotnet-mono/shared/Microsoft.NETCore.App/7b7a15c3-9555-44f0-a930-533a9f2547dc/corerun 3b989c30-9124-438b-b4b7-cd4fd717963a.dll --benchmarkName System.Threading.Tests.Perf_Timer.AsynchronousContention --job "PowerPlanMode=00000000-0000-0000-0000-000000000000, Toolchain=CoreRun, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1" --benchmarkId 150 in /home/helixbot/work/B2030979/w/BDB30A21/e/performance/artifacts/bin/MicroBenchmarks/Release/net7.0/3b989c30-9124-438b-b4b7-cd4fd717963a/bin/Release/net7.0/publish
[2022/09/23 21:20:32][INFO] Failed to set up high priority. Make sure you have the right permissions. Message: Permission denied
[2022/09/23 21:20:32][INFO] // BeforeAnythingElse
[2022/09/23 21:20:32][INFO] 
[2022/09/23 21:20:32][INFO] // Benchmark Process Environment Information:
[2022/09/23 21:20:32][INFO] // Runtime=.NET 8.0.0 (42.42.42.42424), Arm64 AOT
[2022/09/23 21:20:32][INFO] // GC=Non-concurrent Workstation
[2022/09/23 21:20:32][INFO] // HardwareIntrinsics=
[2022/09/23 21:20:33][INFO] // Job: Job-GJKJNQ(PowerPlanMode=00000000-0000-0000-0000-000000000000, IterationTime=250.0000 ms, MaxIterationCount=20, MinIterationCount=15, WarmupCount=1)
[2022/09/23 21:20:33][INFO] 
[2022/09/23 21:20:33][INFO] OverheadJitting  1: 1 op, 77444.00 ns, 77.4440 us/op
[2022/09/23 21:23:32][INFO] WorkloadJitting  1: 1 op, 179874620266.00 ns, 179.8746 s/op
[2022/09/23 21:23:32][INFO] 
[2022/09/23 21:26:20][INFO] WorkloadWarmup   1: 1 op, 167329988104.00 ns, 167.3300 s/op
[2022/09/23 21:26:20][INFO] 
[2022/09/23 21:26:20][INFO] // BeforeActualRun
[2022/09/23 21:29:07][INFO] WorkloadActual   1: 1 op, 167549719942.00 ns, 167.5497 s/op
[2022/09/23 21:31:55][INFO] WorkloadActual   2: 1 op, 167296143533.00 ns, 167.2961 s/op
[2022/09/23 21:34:42][INFO] WorkloadActual   3: 1 op, 167278742826.00 ns, 167.2787 s/op
[2022/09/23 21:37:29][INFO] WorkloadActual   4: 1 op, 167452413521.00 ns, 167.4524 s/op
[2022/09/23 21:40:17][INFO] WorkloadActual   5: 1 op, 167320729619.00 ns, 167.3207 s/op
[2022/09/23 21:43:04][INFO] WorkloadActual   6: 1 op, 167412709896.00 ns, 167.4127 s/op
[2022/09/23 21:45:52][INFO] WorkloadActual   7: 1 op, 167387006109.00 ns, 167.3870 s/op
[2022/09/23 21:48:39][INFO] WorkloadActual   8: 1 op, 167426540496.00 ns, 167.4265 s/op
[2022/09/23 21:51:26][INFO] WorkloadActual   9: 1 op, 167294036599.00 ns, 167.2940 s/op
[2022/09/23 21:54:14][INFO] WorkloadActual  10: 1 op, 167317449832.00 ns, 167.3174 s/op
[2022/09/23 21:57:01][INFO] WorkloadActual  11: 1 op, 167463292190.00 ns, 167.4633 s/op
[2022/09/23 21:59:49][INFO] WorkloadActual  12: 1 op, 167331924572.00 ns, 167.3319 s/op
[2022/09/23 22:02:36][INFO] WorkloadActual  13: 1 op, 167407704498.00 ns, 167.4077 s/op
[2022/09/23 22:05:23][INFO] WorkloadActual  14: 1 op, 167382575539.00 ns, 167.3826 s/op
[2022/09/23 22:08:11][INFO] WorkloadActual  15: 1 op, 167165982642.00 ns, 167.1660 s/op
[2022/09/23 22:08:11][INFO] 
[2022/09/23 22:08:11][INFO] // AfterActualRun
[2022/09/23 22:10:58][INFO] WorkloadResult   1: 1 op, 167549719942.00 ns, 167.5497 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   2: 1 op, 167296143533.00 ns, 167.2961 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   3: 1 op, 167278742826.00 ns, 167.2787 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   4: 1 op, 167452413521.00 ns, 167.4524 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   5: 1 op, 167320729619.00 ns, 167.3207 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   6: 1 op, 167412709896.00 ns, 167.4127 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   7: 1 op, 167387006109.00 ns, 167.3870 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   8: 1 op, 167426540496.00 ns, 167.4265 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult   9: 1 op, 167294036599.00 ns, 167.2940 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult  10: 1 op, 167317449832.00 ns, 167.3174 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult  11: 1 op, 167463292190.00 ns, 167.4633 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult  12: 1 op, 167331924572.00 ns, 167.3319 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult  13: 1 op, 167407704498.00 ns, 167.4077 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult  14: 1 op, 167382575539.00 ns, 167.3826 s/op
[2022/09/23 22:10:58][INFO] WorkloadResult  15: 1 op, 167165982642.00 ns, 167.1660 s/op
[2022/09/23 22:10:58][INFO] GC:  3569 1 1 14720017296 1
[2022/09/23 22:10:58][INFO] Threading:  46000046 961262 1
[2022/09/23 22:10:58][INFO] 
[2022/09/23 22:10:58][INFO] // AfterAll
[2022/09/23 22:10:58][INFO] // Benchmark Process 3194 has exited with code 0.
[2022/09/23 22:10:58][INFO] 
[2022/09/23 22:10:58][INFO] Mean = 167.366 s, StdErr = 0.024 s (0.01%), N = 15, StdDev = 0.093 s
[2022/09/23 22:10:58][INFO] Min = 167.166 s, Q1 = 167.307 s, Median = 167.383 s, Q3 = 167.420 s, Max = 167.550 s
[2022/09/23 22:10:58][INFO] IQR = 0.113 s, LowerFence = 167.138 s, UpperFence = 167.589 s
[2022/09/23 22:10:58][INFO] ConfidenceInterval = [167.266 s; 167.466 s] (CI 99.9%), Margin = 0.100 s (0.06% of Mean)
[2022/09/23 22:10:58][INFO] Skewness = -0.11, Kurtosis = 2.65, MValue = 2

Similar behavior is for Perf_Timer.SynchronousContention.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions