Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable NUMA Balancing and UCLAMP task feature for HPC workloads #11298

Closed
wants to merge 6 commits into from

Conversation

Alberto-Perez-Guevara
Copy link
Contributor

@Alberto-Perez-Guevara Alberto-Perez-Guevara commented Dec 3, 2024

Enable NUMA Balancing and UCLAMP task feature for HPC workloads

Merge Checklist
  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

Following the investigation by the Singularity team, it was found a performance issue when comparing Hierarchical Virtualization - L1VH - kernel and HPC. Investigation found that enabling CONFIG_NUMA_BALANCING and CONFIG_UCLAMP reduced the VGG test regression to less than 2% (an acceptable range) when running superbenchmark and comparing the L1 Ubuntu 5.15 and L1 Azure Linux 3.0 VMs.

Change Log

Changes to be committed:
modified: config
modified: kernel.signatures.json
modified: kernel.spec
modified: SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec
modified: SPECS-SIGNED/kernel-signed/kernel-signed.spec
modified: SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec
modified: SPECS/kernel-64k/kernel-64k.spec
modified: SPECS/kernel-headers/kernel-headers.spec
modified: SPECS/kernel/kernel-uki.spec
modified: toolkit/resources/manifests/package/pkggen_core_aarch64.txt
modified: toolkit/resources/manifests/package/pkggen_core_x86_64.txt
modified: toolkit/resources/manifests/package/toolchain_aarch64.txt
modified: toolkit/resources/manifests/package/toolchain_x86_64.txt

Does this affect the toolchain?

NO

Associated issues

55353192

Test Methodology
  • Pipeline build id: 687785
  • Test kernel changes in Hierarchical Virtualization - L1VH mode
  • Test kernel in Azlinuc_HPC_Image versions 12.0.0 in Guest OS VM mode
  • Run Superbenchmark for 18hrs.
  • Run Hyper-V
image

 Changes to be committed:
	modified:   config
	modified:   kernel.signatures.json
	modified:   kernel.spec
 Changes to be committed:
	modified:   SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec
	modified:   SPECS-SIGNED/kernel-signed/kernel-signed.spec
	modified:   SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec
	modified:   SPECS/kernel-64k/kernel-64k.spec
	modified:   SPECS/kernel-headers/kernel-headers.spec
	modified:   SPECS/kernel/kernel-uki.spec
 Changes to be committed:
	modified:   toolkit/resources/manifests/package/pkggen_core_aarch64.txt
	modified:   toolkit/resources/manifests/package/pkggen_core_x86_64.txt
	modified:   toolkit/resources/manifests/package/toolchain_aarch64.txt
	modified:   toolkit/resources/manifests/package/toolchain_x86_64.txt
…change

 Changes to be committed:
	modified:   ../SPECS-SIGNED/kernel-64k-signed/kernel-64k-signed.spec
	modified:   ../SPECS-SIGNED/kernel-signed/kernel-signed.spec
	modified:   ../SPECS-SIGNED/kernel-uki-signed/kernel-uki-signed.spec
	modified:   kernel-64k/kernel-64k.spec
	modified:   kernel-headers/kernel-headers.spec
@Alberto-Perez-Guevara Alberto-Perez-Guevara marked this pull request as ready for review December 9, 2024 22:34
@Alberto-Perez-Guevara Alberto-Perez-Guevara requested a review from a team as a code owner December 9, 2024 22:34
 Changes to be committed:
	modified:   resources/manifests/package/pkggen_core_aarch64.txt
	modified:   resources/manifests/package/pkggen_core_x86_64.txt
	modified:   resources/manifests/package/toolchain_aarch64.txt
	modified:   resources/manifests/package/toolchain_x86_64.txt
@microsoft-github-policy-service microsoft-github-policy-service bot added the 3.0-dev PRs Destined for AzureLinux 3.0 label Feb 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0-dev PRs Destined for AzureLinux 3.0 Packaging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants