Closed Bug 1812589 Opened 2 years ago Closed 1 year ago

Ensure the CPU frequency, and other optimizations are enabled on the A51

Categories

(Testing :: Raptor, task, P1)

task

Tracking

(firefox116 fixed)

RESOLVED FIXED
116 Branch
Tracking Status
firefox116 --- fixed

People

(Reporter: sparky, Assigned: aglavic)

References

Details

(Keywords: perf-alert, Whiteboard: [fxp])

Attachments

(1 file)

This bug is for making sure the CPU frequency, and other performance settings (or optimizations), are setup on the A51 devices.

Assignee: nobody → aglavic
Flags: needinfo?(aglavic)

Looks like Peter H. setup work on browsertime to use pinned cpu frequencies:
https://github.com/sitespeedio/browsertime/pulls?q=is%3Apr+a51
Will investigate along this path and follow up with results

Flags: needinfo?(aglavic)
Priority: P2 → P1
Flags: needinfo?(aglavic)

Double check that any optimizations done for p2 and g5 are also being done for the a51 see also: https://searchfox.org/mozilla-central/source/testing/raptor/raptor/performance_tuning.py

Attachment #9338699 - Attachment description: WIP: Bug 1812589 - Ensure the CPU frequency, and other optimizations are enabled on the A51. r?#perftest → Bug 1812589 - Ensure the CPU frequency, and other optimizations are enabled on the A51. r?#perftest
Pushed by aglavic@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/24de8014b48f
Ensure the CPU frequency, and other optimizations are enabled on the A51. r=perftest-reviewers,sparky
Flags: needinfo?(aglavic)
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 116 Branch

== Change summary for alert #38826 (as of Thu, 22 Jun 2023 14:53:17 GMT) ==

Improvements:

Ratio Test Platform Options Absolute values (old vs new)
38% sina PerceptualSpeedIndex android-hw-a51-11-0-aarch64-shippable-qr warm webrender 351.45 -> 219.29
37% sina SpeedIndex android-hw-a51-11-0-aarch64-shippable-qr warm webrender 354.27 -> 222.18
37% sina FirstVisualChange android-hw-a51-11-0-aarch64-shippable-qr warm webrender 345.80 -> 217.83
37% sina ContentfulSpeedIndex android-hw-a51-11-0-aarch64-shippable-qr warm webrender 347.21 -> 219.20
35% sina fcp android-hw-a51-11-0-aarch64-shippable-qr warm webrender 221.45 -> 144.19
... ... ... ... ...
4% imdb LastVisualChange android-hw-a51-11-0-aarch64-shippable-qr warm webrender 7,390.59 -> 7,058.85

For up to date results, see: https://treeherder.mozilla.org/perfherder/alerts?id=38826

Keywords: perf-alert

What was the reason for this change? Don't we want to run Android devices closer to the way users run them. The change seems to have artificially improved also sp3 score. This makes it hard to test thread scheduling changes on CI, since the results not match what one can see locally.

Flags: needinfo?(gmierz2)
Flags: needinfo?(aglavic)

:smaug, we made the change to help stabilize test results from android. We can disable this tuning on sp3 if needed: https://searchfox.org/mozilla-central/source/testing/raptor/raptor/cmdline.py#345

Flags: needinfo?(smaug)
Flags: needinfo?(gmierz2)
Flags: needinfo?(aglavic)

I think at least on a51 we should disable it, since that is used for sp3. But it is unclear to me why we need this tuning anywhere?
Bas might have an opinion too.

Flags: needinfo?(smaug) → needinfo?(bas)

Ok, we'll file a bug to take care of disabling it on sp3. These CPU settings provide us with more stable values that improve our regression detection capabilities (catching smaller changes, and less invalid alerts).

(In reply to Olli Pettay [:smaug][bugs@pettay.fi] from comment #9)

I think at least on a51 we should disable it, since that is used for sp3. But it is unclear to me why we need this tuning anywhere?
Bas might have an opinion too.

I think the reality in benchmarking is that the stability of the system requires us to minimize circumstantial frequency boosts and such (they introduce issues such as noisy neighbor effects, differences due to temperature of the environment, etc.) so sacrificing some score for stability makes sense. Especially since this also makes Speedometer scores more reliably comparable between platforms.

Flags: needinfo?(bas)

We got higher scores because of the change. Higher scores and better stability, but less realistic numbers.

er, so do we still run sp3 with this? That means unrealistic numbers

Flags: needinfo?(gmierz2)

Based on what Bas mentioned, I didn't make any patches to disable it. I think it would be good to discuss this in the next staff meeting if it's still a concern.

Flags: needinfo?(gmierz2)

Do we test Chrome with these same A51 performance settings?

To get stable but more realistic numbers, perhaps we could use the "powersave" scaling_governor policy instead of "performance"? "powersave" forces the CPU to use the lowest possible clock frequency and not change on demand.

Yes, all android devices/tests have this tuning. We could look into changing to powersave. IIRC the values we set here for the minimum frequency are the maximum values that the CPU can run at: https://searchfox.org/mozilla-central/source/testing/raptor/raptor/performance_tuning.py#169-170

We should use whatever is the default on the devices. Android devices have rather different types of CPUs comparing to desktop and it is very important to get such testing where big cores may run fast, but little cores then a lot slower, since that seems to happen normally.
Browsers have so many threads and processes these days that the scheduling affects performance a lot.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: