forkrun v3.3.0
Summary of Changes
This pull request introduces v3.3.0 of forkrun, focusing on optimizing startup latency and simplifying the worker claim architecture. By implementing a pre-flight SIMD scan to determine optimal batch sizes before workers begin claiming, the system avoids unnecessary geometric ramp-up phases. The architecture now enforces a strict single-slot claim invariant, which improves predictability and simplifies fault tolerance via an improved escrow recovery mechanism.
Highlights
- Pre-Flight SIMD Popcount: Implemented a Pre-Flight SIMD Popcount that computes the globally optimal batch size during orchestrator fork latency, allowing the scanner to enter PID steady-state immediately and eliminating the geometric ramp-up phase.
- Single-Slot Claim Invariant: Enforced a strict single-slot claim invariant where workers always claim exactly one ring slot per atomic operation, simplifying the worker fast-path and removing speculative multi-slot arithmetic.
- Fault Tolerance & Escrow: Repurposed the escrow pipe as a transaction recovery queue for crashed or failed workers, ensuring fault resilience without requiring complex rollback tracking in the scanner.
- Chunk-End Signaling: Replaced the legacy stride-ring/boundary-flag mechanism with a FLAG_MAJOR_EOF marker in the minor_ring, simplifying chunk boundary detection for the ordering subsystem.
What's Changed
Full Changelog: v3.2.1...v3.3.0