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

DAOS-16469 dtx: optimize DTX CoS cache - b26 #15085

Merged
merged 1 commit into from
Oct 24, 2024

Conversation

Nasf-Fan
Copy link
Contributor

@Nasf-Fan Nasf-Fan commented Sep 6, 2024

If there are a lot of committable DTX entries in DTX CoS cache, then it may be inefficient to locate the DTX entry in CoS cache with given oid + dkey_hash, that may happen under the case of that DTX batched commit is blocked (such as because of network trouble) as to trigger DTX refresh (for DTX cleanup) on other related engines. If that happened, it will increase the system load on such engine and slow down DTX commit further more. The patch reduces unnecessary search operation inside CoS cache.

Other changes:

  1. Metrics (io/dtx/async_cmt_lat/tgt_id) for DTX asynchronously commit latency (with unit ms).

  2. Fix a bug in sched_ult2xs() with multiple numa sockets for DSS_XS_OFFLOAD case.

  3. Delay commit (or abort) collective DTX on the leader target to handle resent race.

  4. Avoid blocking dtx_req_wait() if chore failed to send out some DTX RPC.

  5. Some cleanup for error handling.

Before requesting gatekeeper:

  • Two review approvals and any prior change requests have been resolved.
  • Testing is complete and all tests passed or there is a reason documented in the PR why it should be force landed and forced-landing tag is set.
  • Features: (or Test-tag*) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.
  • Commit messages follows the guidelines outlined here.
  • Any tests skipped by the ticket being addressed have been run and passed in the PR.

Gatekeeper:

  • You are the appropriate gatekeeper to be landing the patch.
  • The PR has 2 reviews by people familiar with the code, including appropriate owners.
  • Githooks were used. If not, request that user install them and check copyright dates.
  • Checkpatch issues are resolved. Pay particular attention to ones that will show up on future PRs.
  • All builds have passed. Check non-required builds for any new compiler warnings.
  • Sufficient testing is done. Check feature pragmas and test tags and that tests skipped for the ticket are run and now pass with the changes.
  • If applicable, the PR has addressed any potential version compatibility issues.
  • Check the target branch. If it is master branch, should the PR go to a feature branch? If it is a release branch, does it have merge approval in the JIRA ticket.
  • Extra checks if forced landing is requested
    • Review comments are sufficiently resolved, particularly by prior reviewers that requested changes.
    • No new NLT or valgrind warnings. Check the classic view.
    • Quick-build or Quick-functional is not used.
  • Fix the commit message upon landing. Check the standard here. Edit it to create a single commit. If necessary, ask submitter for a new summary.

Copy link

github-actions bot commented Sep 6, 2024

Ticket title is 'IOR Easy performance low with EC_16P2GX'
Status is 'In Progress'
Labels: 'daos_ecb_scale,pre_acceptance_issues'
https://daosio.atlassian.net/browse/DAOS-16469

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch from c47f421 to e69b1dd Compare September 6, 2024 11:14
@daosbuild1
Copy link
Collaborator

Test stage Functional on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15085/2/testReport/

@Nasf-Fan Nasf-Fan changed the title DAOS-16469 dtx: optimize DTX CoS cache DAOS-16469 dtx: optimize DTX CoS cache - b26 Sep 6, 2024
@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch from e69b1dd to 9f67bb3 Compare September 6, 2024 14:59
@daosbuild1
Copy link
Collaborator

Test stage NLT on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15085/3/testReport/

@daosbuild1
Copy link
Collaborator

Test stage Functional on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15085/4/testReport/

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch from 9f67bb3 to 3bcd242 Compare September 7, 2024 01:56
@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Medium completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-15085/5/execution/node/1424/log

@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-15085/5/execution/node/1470/log

@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Large completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-15085/5/execution/node/1616/log

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch 2 times, most recently from b04cca9 to b73cec8 Compare September 9, 2024 06:32
@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Large completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-15085/7/execution/node/1509/log

@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-15085/7/execution/node/1493/log

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch from b73cec8 to a6a2a8d Compare September 10, 2024 03:03
@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-15085/8/execution/node/1446/log

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch 2 times, most recently from 3e26b41 to 862fa8e Compare September 11, 2024 01:43
@daosbuild1
Copy link
Collaborator

Test stage NLT on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15085/10/testReport/

@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Medium Verbs Provider completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-15085/11/execution/node/1551/log

@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch 2 times, most recently from de20884 to 28c00bd Compare September 12, 2024 06:42
If there are a lot of committable DTX entries in DTX CoS cache,
then it may be inefficient to locate the DTX entry in CoS cache
with given oid + dkey_hash, that may happen under the case of
that DTX batched commit is blocked (such as because of network
trouble) as to trigger DTX refresh (for DTX cleanup) on other
related engines. If that happened, it will increase the system
load on such engine and slow down DTX commit further more. The
patch reduces unnecessary search operation inside CoS cache.

Other changes:

1. Metrics (io/dtx/async_cmt_lat/tgt_id) for DTX asynchronously
   commit latency (with unit ms).

2. Fix a bug in sched_ult2xs() with multiple numa sockets for
   DSS_XS_OFFLOAD case.

3. Delay commit (or abort) collective DTX on the leader target
   to handle resent race.

4. Avoid blocking dtx_req_wait() if chore failed to send out
   some DTX RPC.

5. Some cleanup for error handling.

Signed-off-by: Fan Yong <[email protected]>
@Nasf-Fan Nasf-Fan force-pushed the Nasf-Fan/DAOS-16469_3_b26 branch from 28c00bd to f2f0cac Compare September 13, 2024 04:12
@Nasf-Fan Nasf-Fan marked this pull request as ready for review October 14, 2024 05:08
@Nasf-Fan Nasf-Fan requested review from a team as code owners October 14, 2024 05:08
@Nasf-Fan Nasf-Fan requested review from a team as code owners October 14, 2024 05:08
@Nasf-Fan Nasf-Fan added release-2.6.2 Targeted for release 2.6.2 clean-cherry-pick Cherry-pick from another branch that did not require additional edits labels Oct 17, 2024
@Nasf-Fan
Copy link
Contributor Author

Ping reviewers, thanks!

Copy link
Contributor

@daltonbohning daltonbohning left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ftest LGTM

@Nasf-Fan Nasf-Fan requested a review from gnailzenh October 23, 2024 01:41
@Nasf-Fan
Copy link
Contributor Author

Ping reviewers, thanks!

@gnailzenh gnailzenh merged commit ec3aa1c into release/2.6 Oct 24, 2024
51 of 52 checks passed
@gnailzenh gnailzenh deleted the Nasf-Fan/DAOS-16469_3_b26 branch October 24, 2024 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clean-cherry-pick Cherry-pick from another branch that did not require additional edits release-2.6.2 Targeted for release 2.6.2
Development

Successfully merging this pull request may close these issues.

5 participants