-
Notifications
You must be signed in to change notification settings - Fork 307
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DAOS-16469 engine: bind helper - b26
When a main IO XS wants to add some task to helper XS (in spite of via chore queue or creating new ULT), it needs to take lock on related helper XS. Under the dss_helper_pool mode, if there are a lot of ULTs from different main IO XS doing that concurrently, the overhead caused by lock contention may be high. To reduce such overhead, we will divide main IO XS into small groups, and bind each group to a helper XS: the ones in the same group will share one helper, different groups use different helpers. Then above lock contention will be restricted inside the group. Depends on the system configuration, such solution may be unnecessary, for example, there is only single helper per engine, or very limited targets (less than 4 or about) per engine. So this feature will be configurable via environment variable DAOS_BIND_HELPER that is unset by default. NOTE: 1. Binding helper is only available when the count of helper XS is non-zero and smaller than the count of main IO XS. 2. If multiple sockets mode is enabled (dss_numa_nr > 1), then do not bind helper for simplification. 3. To be load balanced, if the count of main IO XS is not the integral multiple of the helper XS, then binding helper will be disabled automatically. Allow-unstable-test: true Signed-off-by: Fan Yong <[email protected]>
- Loading branch information
Showing
7 changed files
with
128 additions
and
40 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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
This file contains 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