Flood inspired fluid optimization for load reduction while flooding happens - #503
Open
mattiapearl wants to merge 1 commit into
Open
Flood inspired fluid optimization for load reduction while flooding happens#503mattiapearl wants to merge 1 commit into
mattiapearl wants to merge 1 commit into
Conversation
Folia applies the existing fluid tick limit independently to each ticking region, so aggregate work can grow with the number of active regions. Add an opt-in process-wide allocation with regional floors, equal sharing, bounded age weighting, rotating tie order, configuration validation, profiler counters, and allocator tests. Scheduled work is delayed rather than discarded.
mattiapearl
force-pushed
the
research/folia-fluid-process-budget
branch
from
August 23, 2026 16:21
ab8351f to
af9ef42
Compare
7 tasks
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.
With the inspiration of the flooding of DonutSMP I figured that Folia’s regional fluid limits multiply across separated floods. What we can do is place an optional fair ceiling on total process execution and schedule to delay rather than fully deleting it. Protects all resources impacted by flooding (CPU, allocation, heap and network loads).
Benchmarks
8675309, fresh worldsPublic Folia scaling baseline
Fifteen-second one-flood versus four-flood runs:
Region files, records, and stored bytes also scaled approximately fourfold while regions remained near 20 TPS.
Five stock/five controller four-region trials
These paired results measured the v7 precursor allocator at a process maximum of 2,000 fluid ticks per 50 ms:
Final implementation smoke
With
process-maximum: 2000per 50 ms over four regions:Non-binding controller test
Five stock/candidate pairs with a 65,536-per-50-ms process maximum:
Real-client network campaign
Four floods with four protocol clients:
The protocol bot advertised 26.2 protocol 776 using available 26.1 packet definitions. TCP counters are exact; parser-level packet classifications carry that limitation.
AI assistance disclosure
gpt-5.6-sol, maximum reasoning.gpt-5.6-terra:mediumresearch agents.gpt-5.6-luna:lowread-only scouts.