Repository navigation
Conversation
Every frontier advance appends an empty batch to each arrangement, and it lands at layer 0. When a worker's smallest batch holds a single update, it also sits at layer 0, so each tick starts a merge there. The exertion policy grants effort for any layer with two batches, and the spine re-activates the arrange operator to apply it. The merged batch is then moved back to layer 0, so this repeats on every tick for as long as the arrangement is idle. On a 16-worker replica this roughly doubles the schedules of small arrangements and their reduce operators, and of every scope above them. Layer 0 merges hold at most two updates and complete with the fuel of the next insertion, so the policy now stops before layer 0. The policy moves into a function so it can be unit tested. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`compute_arrangement_exert_skip_layer0`, on by default, controls whether the exertion policy skips spine layer 0. The policy is installed into each timely runtime before configuration arrives, so compute stores the flag in a process-wide atomic on every configuration update, and the policy reads it on each evaluation. Turning the flag off restores the previous policy without a replica restart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every frontier advance appends an empty batch to each arrangement at spine layer 0. When a worker's smallest batch holds a single update, it sits at layer 0 too, so every tick starts a merge there. The exertion policy grants effort for any layer with two batches, which re-activates the arrange operator, and the merged batch moves back to layer 0, so the cycle repeats for as long as the arrangement is idle.
Measured on a 2-worker replica with a small join and reduce, the affected
ArrangeAccumulableandReduceAccumulableoperators drop from 2.07 to 1.02 schedules per tick, their enclosingBuildRegionfrom 4.10 to 1.52, and merge grants from 54 to 15 per second. A plain differential reproduction shows the same pattern, and TimelyDataflow/differential-dataflow#1063 fixes the spine side. Turning exertion off entirely did not change replica CPU measurably on a 426-dataflow workload, so this removes wasted wakeups rather than a large CPU cost.Layer 0 merges hold at most two updates and complete with the next insertion's fuel, so the policy now stops before layer 0. The new dyncfg
compute_arrangement_exert_skip_layer0(on by default) controls this. The policy is installed into each timely runtime before configuration arrives, so compute stores the flag in a process-wide atomic on each configuration update and the policy reads it per evaluation, which lets the flag be turned off without a replica restart. The policy moves intoexert_effortwith unit tests for both flag settings.🤖 Generated with Claude Code