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

Fix some performance related issues #940

Merged
merged 12 commits into from
Mar 11, 2020
Merged

Fix some performance related issues #940

merged 12 commits into from
Mar 11, 2020

Conversation

ashamis
Copy link
Contributor

@ashamis ashamis commented Mar 10, 2020

  • big request table will use an intrusive linked list so when an item is removed it can be done in O(1)
  • the checkpoint in pbft is now only used for marking stable and therefore does not need to be signed
  • the request queue will now have a queue per thread. This allows us to maintain session consistency while ensuring that we have enough work for all execution threads
  • bring the intrusive double linked list from snmalloc
  • print a request time series (second granularity) when collecting other metrics

@ashamis ashamis requested a review from a team as a code owner March 10, 2020 22:49
@codecov-io
Copy link

codecov-io commented Mar 10, 2020

Codecov Report

Merging #940 into master will decrease coverage by 0.54%.
The diff coverage is 50.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #940      +/-   ##
==========================================
- Coverage   68.96%   68.43%   -0.54%     
==========================================
  Files         100      101       +1     
  Lines        7820     7978     +158     
==========================================
+ Hits         5393     5459      +66     
- Misses       2427     2519      +92     
Flag Coverage Δ
#unit_BFT 68.43% <50.00%> (-0.54%) ⬇️
#unit_CFT 68.43% <50.00%> (-0.54%) ⬇️
Impacted Files Coverage Δ
src/node/genesisgen.h 49.26% <0.00%> (-2.67%) ⬇️
src/node/ledgersecrets.h 14.67% <0.00%> (-0.40%) ⬇️
src/node/networkstate.h 100.00% <ø> (ø)
src/node/rpc/metrics.h 0.00% <0.00%> (ø)
src/node/values.h 80.00% <ø> (ø)
src/node/rpc/memberfrontend.h 60.53% <16.22%> (-7.24%) ⬇️
src/node/networkencryption.h 33.33% <33.33%> (ø)
src/tls/25519.h 83.67% <83.67%> (+6.75%) ⬆️
src/node/rpc/nodecalltypes.h 100.00% <100.00%> (ø)
src/node/rpc/nodefrontend.h 78.65% <100.00%> (ø)
... and 3 more

@ghost
Copy link

ghost commented Mar 10, 2020

adding_things@5895 aka 20200311.9 vs master ewma over 30 builds from 5534 to 5893
images

@ashamis ashamis merged commit d7741ae into microsoft:master Mar 11, 2020
@ashamis ashamis added this to the Performance improvements milestone Mar 11, 2020
@ashamis ashamis linked an issue Mar 11, 2020 that may be closed by this pull request
eddyashton pushed a commit to eddyashton/CCF that referenced this pull request Mar 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Threading in CCF
3 participants