Skip to content

restore: snapin stem burst 2#8886

Open
jvarela-jump wants to merge 1 commit intomainfrom
jvarela/snapin-stem-burst
Open

restore: snapin stem burst 2#8886
jvarela-jump wants to merge 1 commit intomainfrom
jvarela/snapin-stem-burst

Conversation

@jvarela-jump
Copy link
Contributor

Minimizing snapin STEM_BURST to 2.
This reduces pressure on cr_avail on snapin output links.
Combining expected hash and expected capitalization into a single message (reusing existing fd_ssctrl_hash_result_t).
Updating snapin_txn link as unreliable in topology.
Minor updates to snapwm and snaplv STEM_BURST as well.

@jvarela-jump jvarela-jump marked this pull request as ready for review March 15, 2026 06:59
Copilot AI review requested due to automatic review settings March 15, 2026 06:59
@github-actions
Copy link

Performance Measurements ⏳

Suite Baseline New Change
backtest mainnet-368528500-perf per slot 0.088491 s 0.088035 s -0.515%
backtest mainnet-368528500-perf snapshot load 5.748 s 4.501 s -21.695%
backtest mainnet-368528500-perf total elapsed 88.49052 s 88.035403 s -0.514%
firedancer mem usage with mainnet.toml 985.41 GiB 985.41 GiB 0.000%

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adjusts the snapshot restore pipeline to reduce stem burst pressure (especially on snapin output links), consolidates the “expected hash” and “expected capitalization” signaling for the vinyl path into a single message, and updates topology reliability for the snapin_txn placeholder link.

Changes:

  • Combine expected lthash + capitalization into FD_SNAPSHOT_HASH_MSG_EXP_AND_CAPITAL for snapin -> snapwm -> snaplv, and remove the standalone capitalization message.
  • Reduce/retune STEM_BURST values for snapin, snapwm, and snaplv.
  • Mark snapin_txn as an unreliable topology link in production and dev topologies.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/discof/restore/utils/fd_ssctrl.h Introduces combined expected-hash+capitalization message and removes old capitalization message type/struct.
src/discof/restore/fd_snapwm_tile.c Forwards the new combined message and reduces STEM_BURST.
src/discof/restore/fd_snaplv_tile_private.h Adjusts FD_SNAPLV_STEM_BURST definition and commentary.
src/discof/restore/fd_snaplv_tile.c Consumes the combined message, updates capitalization types/formatting, and removes old expected-hash handling for snapwm->snaplv.
src/discof/restore/fd_snapin_tile.c Emits the combined message in vinyl mode, adds capitalization range check, and reduces STEM_BURST.
src/app/firedancer/topology.c Marks snapin_txn as FD_TOPOB_UNRELIABLE.
src/app/firedancer-dev/commands/snapshot_load.c Marks snapin_txn as FD_TOPOB_UNRELIABLE in the dev snapshot-load topology.
src/app/firedancer-dev/commands/backtest.c Marks snapin_txn as FD_TOPOB_UNRELIABLE in the backtest topology.

You can also share your feedback on Copilot code review. Take the survey.

@jvarela-jump jvarela-jump force-pushed the jvarela/snapin-stem-burst branch from eac0e61 to 5bf6c5f Compare March 15, 2026 07:25
@github-actions
Copy link

Performance Measurements ⏳

Suite Baseline New Change
backtest mainnet-368528500-perf per slot 0.088884 s 0.088387 s -0.559%
backtest mainnet-368528500-perf snapshot load 5.699 s 4.458 s -21.776%
backtest mainnet-368528500-perf total elapsed 88.884115 s 88.386979 s -0.559%
firedancer mem usage with mainnet.toml 985.41 GiB 985.41 GiB 0.000%

@github-actions
Copy link

Performance Measurements ⏳

Suite Baseline New Change
backtest mainnet-368528500-perf per slot 0.06043 s 0.060165 s -0.439%
backtest mainnet-368528500-perf snapshot load 3.099 s 2.418 s -21.975%
backtest mainnet-368528500-perf total elapsed 60.430267 s 60.164644 s -0.440%
firedancer mem usage with mainnet.toml 985.41 GiB 985.41 GiB 0.000%

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adjusts the snapshot restore pipeline messaging and topology to reduce output-link credit pressure (notably by lowering STEM_BURST in several tiles), while also simplifying the expected-hash/expected-capitalization signaling in the vinyl path.

Changes:

  • Reduce STEM_BURST for snapin, snapwm, and snaplv to better match per-cycle publish expectations and lower cr_avail pressure.
  • Combine “expected hash” and “expected capitalization” into a single control message for the snapin -> snapwm -> snaplv path (reusing fd_ssctrl_hash_result_t).
  • Mark snapin_txn as an unreliable topology link (since it is used as a dcache placeholder/scratch channel).

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/discof/restore/utils/fd_ssctrl.h Introduces combined expected-hash+capitalization sig; removes standalone capitalization type; updates sig-to-string mapping.
src/discof/restore/fd_snapwm_tile_vinyl.c Adds a FIXME note regarding deprecated duplicate-accounts lthash path usage.
src/discof/restore/fd_snapwm_tile.c Updates snapwm to forward the combined expected-hash+capitalization message; reduces STEM_BURST.
src/discof/restore/fd_snaplv_tile_private.h Re-defines FD_SNAPLV_STEM_BURST based on duplicate-batch worst-case behavior.
src/discof/restore/fd_snaplv_tile.c Consumes the combined expected-hash+capitalization message; switches manifest capitalization handling to long.
src/discof/restore/fd_snapin_tile.c Sends combined expected-hash+capitalization message in vinyl mode; adds LONG_MAX guard for manifest capitalization; reduces STEM_BURST.
src/app/firedancer/topology.c Marks snapin_txn input to snapwm as FD_TOPOB_UNRELIABLE.
src/app/firedancer-dev/commands/snapshot_load.c Mirrors snapin_txn unreliability in the snapshot-load dev topology.
src/app/firedancer-dev/commands/backtest.c Mirrors snapin_txn unreliability in the backtest dev topology.

You can also share your feedback on Copilot code review. Take the survey.

@jvarela-jump jvarela-jump force-pushed the jvarela/snapin-stem-burst branch from 8f20994 to c66e969 Compare March 16, 2026 18:19
@github-actions
Copy link

Performance Measurements ⏳

Suite Baseline New Change
backtest mainnet-368528500-perf per slot 0.070649 s 0.070345 s -0.430%
backtest mainnet-368528500-perf snapshot load 3.222 s 2.814 s -12.663%
backtest mainnet-368528500-perf total elapsed 70.649353 s 70.344583 s -0.431%
firedancer mem usage with mainnet.toml 985.41 GiB 985.41 GiB 0.000%

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.

2 participants