-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Add task arena worker block time #1352
Conversation
* Add `threading_control::is_any_other_client_active()` to verify if other arenas are requesting workers. * Add hybrid CPU detection at initialization. * On non-hybrid CPUs, make workers block for 1ms before leaving the arena, unless - more work becomes available in the arena (-> unblock and stay in the arena); - other arenas are requesting workers (-> unblock and leave the arena immediately). Signed-off-by: Dmitri Mokhov <dmitri.n.mokhov@intel.com> Signed-off-by: pavelkumbrasev <pavel.kumbrasev@intel.com>
fd4110e
to
20f0e19
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.
Overall the patch looks good.
7ee1539
to
6ac387d
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!
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
* Add `threading_control::is_any_other_client_active()` to verify if other arenas are requesting workers. * Add hybrid CPU detection at initialization. * On non-hybrid CPUs, make workers block for 1ms before leaving the arena, unless - more work becomes available in the arena (-> unblock and stay in the arena); - other arenas are requesting workers (-> unblock and leave the arena immediately). Signed-off-by: Dmitri Mokhov <dmitri.n.mokhov@intel.com> Signed-off-by: pavelkumbrasev <pavel.kumbrasev@intel.com> (cherry picked from commit 92c8529)
* Increase yields multiplier on APPLE platforms * Improve machine_pause on arm64 * Add task arena worker block time (#1352) * Add hybrid CPU detection at initialization. * Show patch version in the version string Signed-off-by: pavelkumbrasev <pavel.kumbrasev@intel.com> Signed-off-by: sarathnandu <sarath.nandu.ramachandran.nair@intel.com> Signed-off-by: Isaev, Ilya ilya.isaev@intel.com Signed-off-by: Dmitri Mokhov <dmitri.n.mokhov@intel.com>
Description
Add
threading_control::is_any_other_client_active()
to verify if other arenas are requesting workers.Add hybrid CPU detection at initialization.
On non-hybrid CPUs, make workers block for 1ms before leaving the arena, unless
Fixes performance degradation on large systems when CPU power state demotion is disabled.
Type of change
Choose one or multiple, leave empty if none of the other choices apply
Add a respective label(s) to PR if you have permissions
Tests
Documentation
Breaks backward compatibility
Notify the following users
List users with
@
to send notificationsOther information