Skip to content

Say how wide the durable sync probe's answer is - #123

Merged
tamnd merged 1 commit into
mainfrom
sync-band
Aug 24, 2026
Merged

Say how wide the durable sync probe's answer is#123
tamnd merged 1 commit into
mainfrom
sync-band

Conversation

@tamnd

@tamnd tamnd commented Aug 24, 2026

Copy link
Copy Markdown
Owner

The rival gate landed in #122 divides a commit by what one durable sync costs on the volume the run wrote to. I went to check that denominator and it does not hold still.

Six medians of fifteen flushes each, taken back to back on one file in one directory on an M4:

probe 0: min 2.955ms  p50 3.909ms  max 10.878ms
probe 1: min 2.520ms  p50 3.008ms  max 3.955ms
probe 2: min 2.896ms  p50 3.013ms  max 3.928ms
probe 3: min 2.624ms  p50 3.184ms  max 5.011ms
probe 4: min 2.916ms  p50 3.970ms  max 5.754ms
probe 5: min 2.900ms  p50 3.049ms  max 3.960ms

The median of fifteen flushes, which is what the stamp carried, is 3.01 in one probe and 3.97 in the next, of the same volume, a second apart. A 7.86ms commit is 2.61 syncs by the first and 1.98 by the last. The ceiling the gate holds a commit to is two. So the gate as it stood was ruling on which end of its own band the probe happened to land on, and it would have said pass or fail on identical engines depending on that.

This makes the probe report the band. Five batches of fifteen, the median of all seventy five, and the lowest and highest of the batch medians. Hardware carries SyncLowNanos and SyncHighNanos beside SyncNanos, so the band travels in the result document and any run recorded from here can be re-read later.

The gate then declines where the ceiling is inside the band:

indeterminate[write]: write p50 7.86ms is between 1.98 and 2.61 durable syncs, because a flush on this volume cost between 3.01ms and 3.97ms while the probe ran, and the 2.00 ceiling is inside that

Indeterminate, not failed, which is the same treatment a regression inside the measured noise floor already gets: the harness saying this run cannot answer the question is a different thing from saying the answer is no. A band that sits entirely over the ceiling still fails, and a band entirely under it still passes.

The rival half of the write gate needs none of this and does not use it. Both engines are divided by the same unit when they ran on one machine, so their ratio is whatever the unit was, and comparing zu's commit against ladybug's in syncs is exactly comparing them in milliseconds. It is only the absolute count that is at the mercy of the denominator.

The printed table gains a line under the sync counts saying what they are worth at each end of the band, so a number quoted out of an issue comment carries its own width.

go build ./... and go test ./... pass, gofmt -l is clean. Three new tests: the probe reports a band with its median inside it, the gate declines a ceiling inside the band and still fails one outside it, and the table prints the band.

The write half of the rival gate divides a commit by what one durable
sync costs. That denominator is a measurement too, and it moves more
than the thing it is dividing. Six medians of fifteen flushes each, back
to back on one file on an M4, came back at 3.91, 3.01, 3.01, 3.18, 3.97
and 3.05 ms. The same probe of the same volume a second apart lands at
three or at four, and a 7.86 ms commit is 2.61 syncs by the first and
1.98 by the last, which is the difference between failing a ceiling of
two and clearing it.

So the probe takes five batches of fifteen and reports the lowest and
the highest of its batch medians alongside the median of the lot, and
the stamp carries all three. Where dividing by the cheapest flush and by
the dearest put a commit on opposite sides of the ceiling, the gate
reports that this host was not asked a question it could answer instead
of ruling on which end its median happened to land on. The rival half
needs none of this: both sides are divided by the same unit, so the
comparison between two engines is immune to what the unit was.

The table prints the band under the count, because a number quoted out
of a report should carry what it is worth.
@tamnd
tamnd merged commit aaed658 into main Aug 24, 2026
2 checks passed
@tamnd
tamnd deleted the sync-band branch August 24, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant