-
Notifications
You must be signed in to change notification settings - Fork 312
repair: worker pooled async signing and ping-pong optimization #5924
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
repair: worker pooled async signing and ping-pong optimization #5924
Conversation
491ee64
to
4b01600
Compare
68b79d5
to
33da4a0
Compare
397187b
to
83844d0
Compare
d84a3f8
to
a3b967e
Compare
@mmcgee-jump should take a look at changes to sign, shred, pack, bundle (i believe he did some of them) |
7a1732e
to
4220d89
Compare
fix above and the |
33811e8
to
a1aa599
Compare
a1aa599
to
52af559
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.
please squash into one commit before merging with specified PR title
repair: worker pooled async signing and ping-pong optimization
8ca1386
to
1d9deff
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.
.
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.
more feedback (some nitpicky) since you have to do the config fix anyways... the main important one is making sure you're not swallowing errors that would indicate bugs in your code
#include "../fd_flamenco_base.h" | ||
#include "fd_repair.h" | ||
#include "../../util/fd_util.h" | ||
#include <string.h> | ||
|
||
/* init repair test */ | ||
static fd_repair_t * | ||
test_repair_setup( void ) { | ||
ulong footprint = fd_repair_footprint(); | ||
void * shmem = aligned_alloc( fd_repair_align(), footprint ); | ||
FD_TEST( shmem ); | ||
fd_repair_t * repair = fd_repair_join( fd_repair_new( shmem, 14919811UL ) ); | ||
FD_TEST( repair ); | ||
return repair; | ||
} |
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.
it would have been better to track the credits with this API so you can test them together here
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.
TODO: Will complete this in a seperate PR, going to focus on repair testing subommand for now
1df2a49
to
07bf10e
Compare
Enable asynchronous signing requests in the repair flow. Cleanup and document async repair signing logic. Update for flow control and mapping improvements.
07bf10e
to
d29ba16
Compare
default.toml - Added minimum sign tiles as 2
config - allow for sign tile count to be parsed
topology - added 2 links: ping pong (sync) and repair requests (async)
repair tile - initialization pending ledger and processing async sign round robin across sign tiles
sign tile - initialization changes to handle links
Decreases repair time per slot from ~280ms per slot to ~50ms per slot