-
Notifications
You must be signed in to change notification settings - Fork 30k
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
benchmark: conditionally use spawn with taskset for CPU pinning #52253
benchmark: conditionally use spawn with taskset for CPU pinning #52253
Conversation
072af25
to
3fb5b79
Compare
bf8e66e
to
9ac9d79
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Can you please amend the first commit so it passes our linting rules? You can use |
This change enhances the benchmarking tool by conditionally using the, spawn method with taskset for CPU pinning, improving consistency of benchmark results across different environments. Fixes: nodejs#52233
9ac9d79
to
d6b0a82
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
I've run the benchmarking script myself and verified that it does not switch CPU. |
is it normal that CI takes more than 14hours? |
No, let's see if I was able to kick it back up. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Build from tarball / test-tarball-linux (pull_request) is stuck again, it's been running for 3d, can someone let me know if something needs to be fixed in the PR? |
b070fa2
to
5f700f5
Compare
Commit Queue failed- Loading data for nodejs/node/pull/52253 ✔ Done loading data for nodejs/node/pull/52253 ----------------------------------- PR info ------------------------------------ Title benchmark: conditionally use spawn with taskset for CPU pinning (#52253) ⚠ Could not retrieve the email or name of the PR author's from user's GitHub profile! Branch thisalihassan:taskset_support_benchmark -> nodejs:main Labels benchmark, performance, author ready Commits 6 - benchmark: conditionally use spawn with taskset for cpu pinning - benchmark: run lint - benchmark: refactor code for benchmark cpu settings - benchmark: prefer node import syntax for built-in child_process - docs: update benchmarks md to explain CPUSET variable - benchmark: fix stdio on stderr for child process Committers 1 - Ali Hassan PR-URL: https://github.com/nodejs/node/pull/52253 Reviewed-By: Matteo Collina Reviewed-By: Raz Luvaton Reviewed-By: Yagiz Nizipli ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/52253 Reviewed-By: Matteo Collina Reviewed-By: Raz Luvaton Reviewed-By: Yagiz Nizipli -------------------------------------------------------------------------------- ℹ This PR was created on Thu, 28 Mar 2024 15:21:09 GMT ✔ Approvals: 3 ✔ - Matteo Collina (@mcollina) (TSC): https://github.com/nodejs/node/pull/52253#pullrequestreview-1970850302 ✔ - Raz Luvaton (@rluvaton): https://github.com/nodejs/node/pull/52253#pullrequestreview-1984706306 ✔ - Yagiz Nizipli (@anonrig) (TSC): https://github.com/nodejs/node/pull/52253#pullrequestreview-1981518776 ✔ Last GitHub CI successful ℹ Green GitHub CI is sufficient -------------------------------------------------------------------------------- ✔ No git cherry-pick in progress ✔ No git am in progress ✔ No git rebase in progress -------------------------------------------------------------------------------- - Bringing origin/main up to date... From https://github.com/nodejs/node * branch main -> FETCH_HEAD ✔ origin/main is now up-to-date - Downloading patch for 52253 From https://github.com/nodejs/node * branch refs/pull/52253/merge -> FETCH_HEAD ✔ Fetched commits as ba07e4e5e643..5f700f58ec81 -------------------------------------------------------------------------------- [main 3c831d10f9] benchmark: conditionally use spawn with taskset for cpu pinning Author: Ali Hassan Date: Thu Mar 28 20:18:15 2024 +0500 2 files changed, 50 insertions(+), 9 deletions(-) [main a1a9ea842b] benchmark: run lint Author: Ali Hassan Date: Fri Mar 29 02:21:59 2024 +0500 2 files changed, 4 insertions(+), 4 deletions(-) [main 511f2a7dc2] benchmark: refactor code for benchmark cpu settings Author: Ali Hassan Date: Sat Mar 30 04:53:37 2024 +0500 3 files changed, 38 insertions(+), 15 deletions(-) [main b9577be4c0] benchmark: prefer node import syntax for built-in child_process Author: Ali Hassan Date: Sat Mar 30 15:10:36 2024 +0500 2 files changed, 2 insertions(+), 2 deletions(-) [main 137610d821] docs: update benchmarks md to explain CPUSET variable Author: Ali Hassan Date: Fri Apr 5 12:44:29 2024 +0500 1 file changed, 36 insertions(+) [main d44dadece0] benchmark: fix stdio on stderr for child process Author: Ali Hassan Date: Sat Apr 6 04:09:09 2024 +0500 2 files changed, 6 insertions(+), 8 deletions(-) ✔ Patches applied There are 6 commits in the PR. Attempting autorebase. Rebasing (2/12)https://github.com/nodejs/node/actions/runs/8584238305 |
Landed in 47c934e |
This change enhances the benchmarking tool by conditionally using the, spawn method with taskset for CPU pinning, improving consistency of benchmark results across different environments. Fixes: #52233 PR-URL: #52253 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Raz Luvaton <rluvaton@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
This change enhances the benchmarking tool by conditionally using the, spawn method with taskset for CPU pinning, improving consistency of benchmark results across different environments. Fixes: #52233 PR-URL: #52253 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Raz Luvaton <rluvaton@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
This PR updates our process spawning mechanism from fork to spawn to incorporate the taskset command, enabling CPU pinning for benchmark tasks. This change aims to improve benchmark consistency and reliability on systems with heterogeneous CPU cores.
closes #52233