feat: benchmark Nethermind Linux priority policies - #31
Closed
kamilchodola wants to merge 4 commits into
Closed
kamilchodola wants to merge 4 commits into
kamilchodola wants to merge 4 commits into
Conversation
6 of 16 tasks
kamilchodola
marked this pull request as ready for review
September 14, 2026 07:55
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds an opt-in container configuration for comparing Nethermind's existing managed thread priority with a scoped Linux native nice value. Default container arguments remain unchanged.
Changes
EXPB_NETHERMIND_PRIORITY_MODE=off|observe|nice|boostand reject enabled modes for other clients.NETHERMIND_EXPB_PRIORITY_MODEand grantSYS_NICEequally to observe, nice and boost containers. The companion client's boost policy tries -20 then -6; nice retains the original -5 experiment.offwithout grantingSYS_NICE, so disabling the policy still works with the new Linux default. An absent override preserves the usual container arguments.EXPB_SKIP_OVERRIDEfor aligning payload corpora with snapshots. With the current Fusaka corpus, skip=10 and warmup=1 preserve block 25,490,001 as the first measured block without submitting obsolete pre-snapshot fork choices.This requires a Nethermind image containing the companion priority probe. It changes native nice priority; it does not implement CPU affinity or P/E-core selection.
Use explicit
observefor the unchanged-native-priority control: the companion Nethermind revision enables the boost policy by default on Linux. Existing historical timing results used nice=-5 and do not measure the new policy.Validation
Focused tests cover defaults, mode validation, capability/environment forwarding, skip validation, and payload-server/K6 measurement boundaries. Integration experiments on the original prototype branches completed 16 valid runs across AMD realblocks, superblocks and Fusaka, plus ARM Fusaka. The publication branch excludes pre-existing SSE/profiler changes, so those measurements are evidence for the original experimental build, not a benchmark of this exact branch tip.
Current validation: 16 focused tests passed, including boost forwarding, explicit off, absent overrides and non-Nethermind behavior; Ruff and git diff --check passed.
Companion Nethermind runtime and workflow PR: NethermindEth/nethermind#13412.