Two open design problems in the work-stealing algorithm need detailed analysis: (1) no burst-handling data at 8+ carriers with load imbalance, and (2) wakeFirstIdle lowest-ID bias creating an ABA pattern where one carrier absorbs all steal work.
Issue 1: Sequential chain for multi-victim steal (docs/issues/multi-victim-sequential-chain.md)
Explains Go's nmspinning approach: cap searchers at GOMAXPROCS/2, randomized victim start, steal-half semantics — all without per-P utilization measurement
Proposes analogous options: cap at clusterSize / 2, rotating start index, adaptive cap based on idle count
Key tension: with cluster size 4 and 2 carriers slow, the remaining 2 must both be available — soft limits at half-cores may be the ceiling
Issue 2: wakeFirstIdle lowest-ID bias and ABA (docs/issues/wakefirstidle-lowest-id-bias-aba.md)
Long.numberOfTrailingZeros(word) always selects lowest-ID idle carrier → carrier 0 is perpetually hot-pathed while others stay cold
Both bitmap (LIFO-like via scan order) and stack (LIFO by design) suffer the same ABA: carrier parks and immediately becomes next wake target
Argues against dual structures (bitmap + stack) due to atomicity/consistency overhead
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
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.
Two open design problems in the work-stealing algorithm need detailed analysis: (1) no burst-handling data at 8+ carriers with load imbalance, and (2) wakeFirstIdle lowest-ID bias creating an ABA pattern where one carrier absorbs all steal work.
Issue 1: Sequential chain for multi-victim steal (docs/issues/multi-victim-sequential-chain.md)
Issue 2: wakeFirstIdle lowest-ID bias and ABA (docs/issues/wakefirstidle-lowest-id-bias-aba.md)
These are issue drafts committed as docs — sandbox lacked permissions to create GitHub issues directly.