- 0.7–1 Mitems in flight at once over a two-hour window
- 3ways the conductor slices a job; leased claiming is one
- 2NVIDIA Blackwell GPUs fed by the claimed work
Claiming designed against dead tuples
FAFO Core and Function Forge: my probe-generation workload had parallel workers pulling rows of work from PostgreSQL, and two of them collided on the same item. I needed claiming that holds up under tens of millions of items and survives a worker dying mid-batch. I did not want to pay for it with database churn. The obvious pattern, updating a row to claim it and updating it again to release it, leaves dead tuples behind on every cycle, and at that scale the vacuum load becomes its own problem.
I added claiming when two workers collided on real work; nothing about it was speculative. I chose the pattern for what PostgreSQL does with an update under concurrency, and how a claim reads in application code came second. The claiming method itself is one of the parts of FAFO Core I keep private, along with the governed write path and the admission controller.
Claiming in the framework, not the function
In the generic conductor, the framework owns claiming, not the function.
Every function on the substrate is crash-safe without implementing anything.
I design concurrency against the real costs of the database underneath, and I put the hard part in a framework so every function inherits it.
Leases, crashes and late signals
A worker holds a time-bounded lease on the items it claims. A worker on a long batch extends its lease. Claims left behind by a worker that crashed are recovered and become claimable again, so a crash neither loses an item nor lets two workers process it. Each worker signals ready exactly once per dispatched slice, and the conductor ignores stale signals, so a late message from a dead worker cannot confuse the count.
The claiming went in alongside atomic multi-table writes, at the point where the pipeline needed both. The full account is in The workload that shaped the platform, and the database-side diagnosis habit behind it shows in 196 deadlocks to zero.