Skip to content

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

Merged
merged 1 commit into from
Aug 11, 2025

Conversation

npatel-jump
Copy link
Contributor

@npatel-jump npatel-jump commented Aug 5, 2025

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

@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch from 491ee64 to 4b01600 Compare August 5, 2025 14:39
@npatel-jump npatel-jump changed the title async repair Requests + proactive rtt async repair requests + proactive rtt Aug 5, 2025
@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch 5 times, most recently from 68b79d5 to 33da4a0 Compare August 5, 2025 15:14
@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch 2 times, most recently from 397187b to 83844d0 Compare August 5, 2025 15:44
@npatel-jump npatel-jump changed the title async repair requests + proactive rtt async repair requests + proactive ci request Aug 5, 2025
@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch from d84a3f8 to a3b967e Compare August 5, 2025 16:24
@lidatong
Copy link
Member

lidatong commented Aug 5, 2025

@mmcgee-jump should take a look at changes to sign, shred, pack, bundle (i believe he did some of them)

@lidatong lidatong changed the title async repair requests + proactive ci request repair: asynchronous sign requests and immediate ping responses Aug 7, 2025
@lidatong lidatong changed the title repair: asynchronous sign requests and immediate ping responses repair: asynchronous sign requests and ping-pong optimization Aug 7, 2025
@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch 7 times, most recently from 7a1732e to 4220d89 Compare August 7, 2025 22:03
@lidatong
Copy link
Member

lidatong commented Aug 7, 2025

fix above and the repair subcommand then should be ok to merge

@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch 2 times, most recently from 33811e8 to a1aa599 Compare August 8, 2025 01:26
@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch from a1aa599 to 52af559 Compare August 8, 2025 14:25
Copy link
Member

@lidatong lidatong left a 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

@lidatong lidatong changed the title repair: asynchronous sign requests and peer ping pong optimization repair: worker pooled async signing and ping-pong optimization Aug 8, 2025
@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch 8 times, most recently from 8ca1386 to 1d9deff Compare August 8, 2025 16:05
lidatong
lidatong previously approved these changes Aug 8, 2025
Copy link
Contributor

@mmcgee-jump mmcgee-jump left a comment

Choose a reason for hiding this comment

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

.

Copy link
Member

@lidatong lidatong left a 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

Comment on lines +1 to +15
#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;
}
Copy link
Member

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

Copy link
Contributor Author

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

@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch 2 times, most recently from 1df2a49 to 07bf10e Compare August 9, 2025 00:08
Enable asynchronous signing requests in the repair flow.
Cleanup and document async repair signing logic.
Update for flow control and mapping improvements.
@npatel-jump npatel-jump force-pushed the npatel/repair-async-sign-3 branch from 07bf10e to d29ba16 Compare August 9, 2025 03:04
@lidatong lidatong added this pull request to the merge queue Aug 11, 2025
Merged via the queue into firedancer-io:main with commit 8bc6685 Aug 11, 2025
9 checks passed
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.

3 participants