Repository navigation
Coordinate measurement batches with a readiness barrier - #401
Merged
Merged
Conversation
added 18 commits
October 7, 2026 09:44
ctfbruce
marked this pull request as ready for review
October 7, 2026 08:49
3 tasks
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Measurement batches can now exchange peer metadata and wait for a shared future start after every admitted run is ready. Guests use
debuglet.Readyanddebuglet.WaitStart; the dispatcher persists a bounded, one-shot barrier under the existing batch and run identities. The executor uses its authenticated control connection, and existing network policies still govern peer traffic.The client helper and manifest runner preserve each participant's program hash, arguments, policy and run ID, with grouped result export and cancellation. A five-executor UDP example exchanges traffic directly between peers and records requested and observed timing. Readiness is limited to 30 seconds and 4 KiB of metadata per participant; simultaneous execution, clock synchronization, NAT traversal and packet retries are outside this slice. Dispatcher schema 28 adds the persisted barrier and readiness records; guests require the optional
debuglet_experiment_v1.readyextension.Validation: final CI passed all 16 jobs, including the full test/race suites and installed compatibility. The earlier installed five-executor rehearsal passed in 4.10 seconds: each participant sent and received four datagrams, shared one experiment/start value, and exported grouped results successfully. Observed starts were 0.77–3.20 ms after the requested time on one Linux runner; this is local evidence, not a cross-host synchronization guarantee.
Refs #7 (extends the existing structured rendezvous support to fixed batches).