Skip to content

v3.3.0

Latest

Choose a tag to compare

@jkool702 jkool702 released this 08 Jun 05:11
· 5 commits to main since this release
44aedf0

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