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

Use sendmmsg for broadcasting shreds #6325

Merged
merged 4 commits into from Oct 11, 2019
Merged

Conversation

@pgarg66
Copy link
Contributor

pgarg66 commented Oct 10, 2019

Problem

Broadcast stage sends one shred at a time. This incurs high system call costs.

Summary of Changes

Use send_mmsg() API to send multiple shreds in one system call.

@pgarg66 pgarg66 requested review from carllin and sagar-solana Oct 10, 2019
@pgarg66

This comment has been minimized.

Copy link
Contributor Author

pgarg66 commented Oct 10, 2019

@pgarg66

This comment has been minimized.

Copy link
Contributor Author

pgarg66 commented Oct 10, 2019

For comparison, the left part of chart is on master, and right part is with this PR. It's plotting time it took to broadcast the whole slot. The peak to average ratio seems to be better with the PR.

This is on a CPU testnet with 51 nodes, at yield of ~20K TPS.

image

@codecov

This comment has been minimized.

Copy link

codecov bot commented Oct 11, 2019

Codecov Report

Merging #6325 into master will decrease coverage by 1.6%.
The diff coverage is 82.3%.

@@           Coverage Diff            @@
##           master   #6325     +/-   ##
========================================
- Coverage    74.9%   73.3%   -1.7%     
========================================
  Files         219     219             
  Lines       43155   44058    +903     
========================================
- Hits        32354   32317     -37     
- Misses      10801   11741    +940
@pgarg66 pgarg66 merged commit 3647813 into solana-labs:master Oct 11, 2019
11 checks passed
11 checks passed
Summary 1 rule matches and 7 potential rules
Details
buildkite/solana Build #12972 passed (21 minutes, 13 seconds)
Details
buildkite/solana/bench Passed (15 minutes, 55 seconds)
Details
buildkite/solana/checks Passed (2 minutes, 14 seconds)
Details
buildkite/solana/coverage Passed (18 minutes, 19 seconds)
Details
buildkite/solana/local-cluster Passed (14 minutes, 28 seconds)
Details
buildkite/solana/pipeline-upload Passed (30 seconds)
Details
buildkite/solana/shellcheck Passed (31 seconds)
Details
buildkite/solana/stable Passed (14 minutes, 26 seconds)
Details
buildkite/solana/stable-perf Passed (11 minutes, 10 seconds)
Details
ci-gate Pull Request accepted for CI pipeline
@pgarg66 pgarg66 deleted the pgarg66:send-mmsg branch Oct 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.