libhft · host scan · bench/load

The Load Bench Handbook

What the load benchmark measures, its 84 declared catalogue cells, how cores are assigned, which scripts do what, and every gate a number must pass before it reaches the published matrix.

standards v3 established flavours 5 transports 5 acceptor models 4 catalogue cells 84 isolated cores 10–19

01Objective

what question the load bench exists to answer

libhft ships one FIX engine through five bindings. The load bench answers a single question: at a realistic session count, does the binding you choose change the latency you get — and by how much?

That question decomposes into three that the matrix separates deliberately, because conflating any two of them has already produced a wrong published conclusion:

  • Binding cost. What does the language runtime add over the C++ engine on identical wire and identical hardware?
  • Transport cost. What does kernel bypass buy, per vendor, for the same binding?
  • Acceptor architecture cost. How does one acceptor serving 32 sessions compare to a thread pool or to sharded acceptors — for the same binding and transport?

The two main views are Maximum throughput and Target throughput. The first asks how much completed work the configured system can sustain; the second asks what latency it delivers at a specified offered rate. Both use open load, independent of replies. Historical reply-gated tests remain diagnostics, not substitutes for either experiment. Definitions and run instructions.

For every measured round trip, a client sends a NewOrderSingle, the server parses it and replies with an ExecutionReport, and the client folds the required reply fields before it stamps completion. The target-throughput headline is resp_*_us — completion minus the scheduled start, so a client that falls behind reports that delay. end_to_end is the separate service RTT from actual task start.

Why the field-folding matters

An arm that stops the clock on "bytes arrived" measures less work than one that projects the ExecutionReport's fields. Every client folds ClOrdID, OrderID, ExecID, Symbol, Side, quantities and prices into a sink before t1, and reports that sink. A sink of zero fails the run: it means the arm parsed nothing and its numbers are not comparable.

02The measurement space

5 flavours × 5 transports × 4 acceptor models

Rust. The catalogue carries one Rust flavour, rust-pure, the FIX engine written in Rust, on every transport. rust-native, the Rust client over the C++ engine's hftnet C ABI, was parked on 2026-09-11 and is out of the catalogue. Rust is not part of the historical five-flavour, 75-cell canonical OPEN v4 campaign or its 48-cell kernel/VMA/SocketXtreme selection. See the Rust implementation plan.

Flavours

FlavourEngineAcceptor classWhat it isolates
cppnative C++FixAcceptor / FixSessionRunnerAcceptorThe floor. Every other flavour is measured against it.
java-jniC++ via JNIFixSessionRunnerAcceptorJNI boundary cost — the engine is the same C++ code.
java-purepure JavaPureJavaHftSessionA second implementation, not a binding. JIT-sensitive.
dotnet-nativeC++ via hftnet ABIFixSessionRunnerAcceptorP/Invoke boundary cost over the same engine.
dotnet-purepure C#managed acceptorSecond managed implementation; tiered-JIT sensitive.

Transports

Each transport pins the run to a NIC vendor and therefore to a network namespace pair. A transport run in the wrong namespace silently falls back to kernel TCP and produces a row labelled "onload" that measures nothing of the sort, so bench-run refuses it on the driver.

TransportVendorMechanismNamespacesPeer
kerneleitherordinary TCPsfcB → sfcA10.9.0.2
onloadSolarflareLD_PRELOAD interposersfcB → sfcA10.9.0.2
tcpdirectSolarflareseparate stack (FixSocketZf)sfcB → sfcA10.9.0.2
vmaMellanoxLD_PRELOAD interposermlxB → mlxA10.9.1.2
socketxtremeMellanoxVMA zero-copy ring (FixSocketVma)mlxB → mlxA10.9.1.2
VMA startup is a harness cost, not a bench cost

libvma initialises per process and is slow at it. A sharded VMA cell runs five VMA processes for an internally sharded server, or eight for four process shards (plus four clients); at a 25-second server budget a server hit its lifetime cap while clients were still in warmup, and the cell reported no samples at all. That reads as "sharding does not work over VMA". It was the clock — the same cell at 90 seconds returns 4 of 4. VMA-backed cells get a 4× budget.

03Acceptor models

four architectures, and why pool and shard are not the same thing

#ModelSessionsShapeAssignment policy
1single1one acceptor, one sessionn/a — the latency floor per flavour/transport.
2mono32one acceptor, one threadAll sessions multiplexed on a single serve thread.
3pool32one acceptor, 4 worker threadsLeast-loaded at accept. The pool owns the choice.
4shard324 acceptors, one port (SO_REUSEPORT)The kernel chooses. No rebalancing possible.
Pool ≠ shard, at matched parallelism

Sharded acceptors let the kernel's hash decide which acceptor a connection lands on: there is no assignment policy, no way to rebalance, and a shard that draws the long-lived sessions stays loaded. A pool owns the choice and assigns least-loaded. Publishing the two in one column compared architectures while claiming to compare implementations — which is the mistake the four-model split exists to stop.

Support, derived from source

parity-audit.sh regenerates this table by reading the engines, so it cannot drift from what the code does. All five flavours implement all four models.

Flavour1 single2 mono3 pool4 shardMono threading, verified
cppyesyesyesyesone thread (FixAcceptor)
java-jniyesyesyesyesone thread (FixSessionRunnerAcceptor)
java-pureyesyesyesyesthread-per-session unless multiplexed is set
dotnet-nativeyesyesyesyesone thread (FixSessionRunnerAcceptor)
dotnet-pureyesyesyesyesone thread when multiplexed; else thread-per-session

The ordinary pool model supports kernel TCP, Onload and VMA interposition: all three retain the accept-then-hand-off shape. C++ additionally has two explicit native-stack pool designs. TCPDirect uses one listener-owned, non-thread-safe stack and assigns each accepted zocket's session and application to a pinned worker; every access to that shared stack is serialized. It is therefore labelled coordinated shared-stack pool, not independent stack parallelism. SocketXtreme has one pinned listener/ring coordinator that drains and routes completions to pinned per-session workers; workers own parsing and replies, while the coordinator remains the only ring poller.

The ordinary shard model supports kernel and Onload only. VMA interposition is explicitly noshard for every flavour: VMA 9.8.80's unicast dispatcher visits registered sinks in order until one retains a packet; it is not a kernel-style reuse-port flow hash. Four-listener controls across C++, Java and .NET concentrate admission on one owner, so binds and affinity do not establish independent same-port listener ownership. TCPDirect remains explicitly noshard: its descriptor-less listener has no same-port SO_REUSEPORT equivalent. SocketXtreme is also noshard for every flavour: its vendor extra API does not support multi-threaded polling. C++ probes under ring-per-thread and ring-per-core allocation obtained distinct fds but deferred receives until peer close, so resource separation did not create a supported concurrent progress model. C++ retains its coordinator-owned, single-poller SocketXtreme pool. One listener carrying a reuse-port flag is not counted as sharding. NVIDIA documents this limitation in its VMA Extra API.

Native-stack topology status

Seventeen labels remain unsupported: VMA shard for all seven flavours; TCPDirect and SocketXtreme shard for C++, JNI and .NET Native; plus those two pool kinds for JNI and .NET Native. C++ has two implemented native-stack pool routes; all unsupported topologies fail closed rather than appearing as failed benchmarks.

GapOwnership blockerAssessment
C++ TCPDirect poolAccepted zockets remain on one non-thread-safe listener stack.Implemented as a coordinator plus pinned session/application workers; the shared stack is locked around each complete reactor/receive/reply pass. It is a disclosed coordinated pool, not a share-nothing stack pool.
TCPDirect shardA second listening zocket on the same port is explicitly rejected; there is no SO_REUSEPORT equivalent.Not under the current one-address/one-port contract.
VMA shardVMA 9.8.80 assigns a unicast receive to the first registered sink that retains it, not an independently selected reuse-port listener.Explicit noshard; controls concentrate admission on one listener. See the version-matched VMA source review.
C++ SocketXtreme poolA newly accepted child shares the listener completion ring, so fd-only handoff is unsafe.Implemented as one ring coordinator with a synchronized, exact-once completion queue per worker-owned session. The worker never polls the shared ring; the coordinator is the sole drainer.
SocketXtreme shardVMA SocketXtreme does not support multi-threaded polling.Explicit noshard. C++ modes 20 and 30 created distinct ring fds but deferred receive progress until peer close, so they cannot qualify a shard.

The C++ SocketXtreme pool is build-checked and must still prove full client delivery plus actual worker/coordinator placement. JNI and .NET Native need their own equivalent ownership implementations before their pool cells can change.

A C++ probe client that drives several sessions should use --vma-ring-logic=10. Per-socket rings are safe for initiators and stop those sessions draining one another; the bootstrap rejects mode 10 on non-client roles because it makes a SocketXtreme accept completion unreachable. The native VMA and ZF client entry points now route --sessions N through the shared multi-session loop; previously they parsed the flag but silently opened one connection, invalidating connection-count evidence from a nominal multi-session probe.

All C++ native-stack topology requests dispatch to their declared implementation or fail before NIC setup. TCPDirect and SocketXtreme shard remain explicit refusals. The capability table is the single source for that surface, so the harness cannot silently relabel a mono server as pool or shard.

That yields the smoke's cell count: 26 mono + 12 shard + 26 single + 20 pool = 84.

04The bench contract

bench/load/load-bench-standards.conf — parsed, never sourced

Every cell runs the same recipe. The recipe lives in one versioned file so it can be changed once and audited everywhere, and it is parsed, never sourced — these harnesses run under sudo, and sourcing a config would be arbitrary code execution as root.

CommonValuePer scenario1234
warmup20 000sessions1323232
iterations20 000acceptors1114
offered throughput / cell50 000/s · fixed-rate open loopthreads1141
runs3runs3333
JVM heap192 MBmultiplexed—yes——
scenarionos_erserver seconds150150150150

Standards v3 make fixed-rate open mode the publication recipe. The target is shared across the cell, not multiplied by its sessions: 50 000/s for one session; for 32 sessions, the integer-rate clients use floor(50 000 / 32) = 1 562/s each, 49 984/s effective aggregate. Each recipe records both requested and effective aggregate and the per-session target. Response time starts at the intended send slot and includes scheduler lateness; service time starts at actual send. Report response latency for load claims and retain service latency as a diagnostic. Closed-loop and reply-gated paced results remain separately labelled historical baselines.

32-session pacing limitation: mono, pool and shard currently align the eight sessions within each client process to the same deadline. Their average target is correct, but they offer eight-send batches roughly every 640.204 µs, plus catch-up bursts after delays. The four processes have separate post-barrier origins. These results do not establish latency under evenly spaced, cell-wide arrivals; a uniformly staggered schedule needs a shared phase policy and fresh measurements across all flavours. A retained Java shard capture confirms local task-start gaps of median 6.589 µs and p90 586.266 µs, versus 80.026 µs for a uniform 12,496/s client-process stream. This covers one process's first 1,000 slots per session in one measured run, reconstructed from intended slots plus chronological scheduler slips, not a packet capture or a whole-cell clock. See pacing-review-20260908 for the evidence.

Offline replay across all five flavours: bench/load/pacing_audit.py reproduces this pattern in all 15 retained kernel flavour/layout combinations. Each entry below is median / p90 adjacent local task-start gap in µs, for client process 1, run 1, first 1,000 slots per session. Uniform local spacing would be 80.0255 µs.

FlavourMonoPoolShard
C++4.999 / 597.2415.044 / 600.8795.224 / 597.400
Java Pure6.546 / 586.5146.521 / 587.7856.589 / 586.266
Java/JNI6.369 / 588.1956.739 / 588.5476.704 / 588.351
.NET Native6.411 / 593.3036.895 / 585.4926.442 / 587.500
.NET Pure5.977 / 593.8526.085 / 588.0355.878 / 594.540

This assumes the documented aligned-v3 schedule and send-ordered samples; it is not a wire capture, whole-run distribution or global 32-session timing proof. Complete counts and zero shedding are checked; absent C++/.NET stale counters remain unreported. Input/checker hashes and reconstruction details are in the replay record and the review. This replay imports no latency values. A shared-epoch fix must also declare its clock: C++ uses MONOTONIC_RAW on this platform, while the inspected Java/.NET runtimes use MONOTONIC. Empty barrier release files do not supply that epoch. The three managed captures remain useful for this scheduler-shape replay only; their isolated-core latency claims have since been withdrawn for missing client affinity enforcement.

.NET reply-integrity correction: both open clients now validate full request-slot ownership and reply stage before folding or counting; duplicate, malformed and old-generation IDs cannot reuse another request's timestamps. A failed exchange retains valid partial raw samples and a failed footer. The 64 shared-library and 101 client tests pass, as do 147 protocol checks. The first installed kernel smoke configured 3,000 warmup slots and delivered all 3,000 measured replies/session in eight selected cells, with no measured deficits, shedding or correlation failures. This does not establish full warmup delivery. It is not a clean smoke pass: native single and managed pool exceeded the scheduler-delay gate; managed clients did not apply their requested CPU pins; the pool pin auditor also reused the preceding single-session expected client set. The subsequent installed kernel affinity smoke verifies the corrected startup pins in all eight cells; native single still exceeds the scheduler gate. Archived-source review confirms the missing affinity enforcement in all twelve managed OPEN cells; their latency and achieved-rate claims are withdrawn in the retained sitting records, not merely marked partial. Any numeric matrix rows that remain for those cells are invalid pending fresh pinned measurements. Full measured delivery and original values remain diagnostic evidence in the retained sitting records. See the source/installation proof. These short smoke timings are not imported. Evidence: dotnet-open-correlation-smoke-20260908-Ena5b5. Replacement full-size runs are required. This is separate from pacing: rate, aligned deadlines, catch-up, cap and two-second timeout are unchanged. See the correction details.

Fresh installed .NET affinity smoke: 8/8 cells completed. Seven smoke PASS, one SATURATED; all eight startup-affinity checks pass. Kernel, 3,000 warmup slots and 3,000 measured requests/session, one run; multi uses four processes × eight sessions. All completed cells have zero measured shedding and deficits. These are behaviour verdicts, not stable latency measurements.

CellSmoke verdictMeasured repliesStartup affinity
dotnet-native/kernel/singleSATURATED3000/3000pass
dotnet-pure/kernel/singlePASS3000/3000pass
dotnet-native/kernel/monoPASS96000/96000pass
dotnet-pure/kernel/monoPASS96000/96000pass
dotnet-native/kernel/poolPASS96000/96000pass
dotnet-pure/kernel/poolPASS96000/96000pass
dotnet-native/kernel/shardPASS96000/96000pass
dotnet-pure/kernel/shardPASS96000/96000pass

Native single is SATURATED on scheduler slip (p99 199.842 µs versus 20 µs). Its server now preserves rc=-1 / Disconnected; that ABI code conflates EOF and read errors, so it is not proof of a protocol fault or of a clean FIN. Evidence: dotnet-affinity-smoke-20260908-p1vR5e. No smoke latency is imported. Startup read-back is not continuous placement proof.

Historical v3 C++ live-generation smoke: stopped after 2/4 cells. Newly installed C++ binaries include full-width ownership and exact live-generation validation before reading reply timestamps; source-level wraparound and stale-reply regressions pass. Kernel, fixed OPEN 50,000/s aggregate, 3,000 warmup slots and 3,000 measured requests/session, one run. These are behaviour checks of the existing v3 schedule, not replacement latency data.

CellSmoke verdictMeasured repliesStartup affinity
cpp/kernel/singlePASS3000/3000pass
cpp/kernel/monoPASS96000/96000pass
cpp/kernel/poolnot launched in this sitting——
cpp/kernel/shardnot launched in this sitting——

Evidence: cpp-generation-smoke-20260908-khwl6J, built from commit 0e12640d, installed/local binary hashes matched. No smoke timings are imported. Completed cells have zero measured shedding/deficits. The earlier two short probes in cpp-marker-smoke-20260908-sM5Sm5 predate this generation guard and are not counted as its installed verification. Neither set proves that bad replies occurred historically. This sitting stopped at preflight when v4 source work began. All four C++ shapes now have installed v4 functional checks below; those are separate evidence, not completion of this old sitting. The sustained maximum-throughput sweep remains pending.

Shared-epoch OPEN v4: all 20 kernel functional cells completed; 17 PASS, 3 SATURATED. The opt-in schedule uses exact cell-wide slots and a common prepared warmup/measurement epoch. At 32 sessions, 50,000/s means exactly 1,562.5/session/s. Service and response retain their separate meanings; delayed sends still contribute scheduler/response latency.

CellSmoke verdictMeasured repliesStartup affinity
cpp/kernel/singlePASS3000/3000pass
cpp/kernel/monoPASS96000/96000pass
dotnet-pure/kernel/singlePASS3000/3000pass
dotnet-pure/kernel/monoPASS96000/96000pass
java-pure/kernel/singleSATURATED3000/3000pass
java-jni/kernel/singleSATURATED3000/3000pass
java-pure/kernel/monoPASS96000/96000pass
java-jni/kernel/monoPASS96000/96000pass
dotnet-native/kernel/monoPASS96000/96000pass
cpp/kernel/poolPASS96000/96000pass
cpp/kernel/shardPASS96000/96000pass
dotnet-pure/kernel/poolPASS96000/96000pass
dotnet-pure/kernel/shardPASS96000/96000pass
dotnet-native/kernel/singleSATURATED3000/3000pass
dotnet-native/kernel/poolPASS96000/96000pass
dotnet-native/kernel/shardPASS96000/96000pass
java-pure/kernel/poolPASS96000/96000pass
java-pure/kernel/shardPASS96000/96000pass
java-jni/kernel/poolPASS96000/96000pass
java-jni/kernel/shardPASS96000/96000pass

Evidence: open-v4-diagnostic-20260908-ZEC8gV; installed managed/shared DLL hashes matched the build. One run, 3,000 warmup and 3,000 measured iterations/session. These are functional diagnostics, not replacement full-size latencies. The existing matrix remains v3: no v4 value is silently mixed into it. Java Pure single delivered every reply without measured shedding, but achieved only 41,281/s; scheduler p99 was 12,560.210 µs. .NET Native single delivered 3,000/3,000 at 49,976/s, but its scheduler p99 was 302.058 µs versus a 20 µs slot interval. Java/JNI single delivered 3,000/3,000 at 49,979/s, but scheduler p99 was 49.302 µs. These short-run saturation flags remain visible; neither is marked as a usable latency-at-load result. A native-only staging mismatch was caught before launch; rebuilding the staging tree and reinstalling produced matching native-library hashes before the completed native run.

Java Pure raw replay shows gradually accumulating lateness, not a single 12 ms pause: first/last 300-request windows averaged 38,863/46,283 task starts/s. This is consistent with a short warmup but does not prove a JIT or GC cause. The unchanged-source normal-size test below greatly reduced that delay but still failed the strict qualification gates. The differing Java versus C++/.NET extraction checksums exactly match their respective request-ID ranges, which the contract permits; they do not demonstrate a decoding mismatch.

Raw replay of all 96,000 measured requests in each C++ and .NET Pure mono cell verifies the intended 50,000/s aggregate pacing: actual task-start mean rates were 50,000.13/s and 49,999.86/s; median cell gaps were 19.947 µs and 19.980 µs respectively. Every replayed response equals service plus scheduler delay, with no missing/clamped samples or measured shedding. These are client task-start timestamps, not wire timestamps. Hashed replay reports are retained as pacing-cpp-mono.json and pacing-managed-mono.json in the evidence directory. Every kernel shape/flavour has now passed functional delivery and startup placement; the three single-cell saturation qualifications above remain. See the v4 schedule contract.

Independent raw replay also passes for all ten kernel pool/shard cells: 96,000 measured exchanges each, zero measured deficits/shedding/raw drops/clamps, and exact service/scheduler/response decomposition. Mean client task-start gaps are approximately 20 µs. .NET Native pool/shard retain maximum gaps of 447.756/445.100 µs; a correct mean does not erase individual delays. Reports pacing-*-pool.json and pacing-*-shard.json retain the hashes and distributions. Optional .NET warmup completion counters were not emitted in this batch, so warmup shedding is unreported, not assumed zero.

Normal-size v4 diagnostic: Java Pure/kernel/single completed. 20,000 warmup plus 20,000 measured iterations per run, three runs; 60,000/60,000 measured replies, zero shedding, deficits or stale replies. Service p50/p99/p99.9/max: 33.600/36.782/74.808/163.822 µs. Response: 34.543/61.040/147.366/201.289 µs. Achieved 49,996/s, but scheduler p99 27.581 µs exceeds the 20 µs interval and run stability is FAIL. These are qualified diagnostic values, not a passing capacity claim. Raw pacing replay, parameter provenance and startup pinning read-back all pass. The standalone pinning auditor now validates the exact v4 recipe fields without weakening its placement rules. Evidence: java-pure-single-full and pacing-java-pure-single-full.json in the same sitting directory.

The publication audit independently reconstructs all four service and response values from the raw samples, using the original per-run/session aggregation method. It found an existing percentile-rank discrepancy: C++ floating-point p99.9 arithmetic can select one sample above exact nearest rank. The functional captures above retain their original method. The integer-rank correction has passed C++, Java and .NET tests plus all 147 protocol-audit checks. All five flavours have been rebuilt and installed from runtime commit cde1f0cd; local/installed hashes match. New full-size captures will identify the corrected method explicitly, without relabelling old evidence. The new batch and live-watcher evidence are retained under open-v4-full-20260908-XmhZ7z. All five C++ single transports completed the normal-size recipe and passed the load, raw and startup-pinning gates. Kernel achieved 49,997/s, with service p50/p99 22.507/28.322 µs and response 23.532/30.569 µs. These are GCC 11 measurements. An incoming GCC 14 build-default change triggered the source-freeze guard before publishing the next Java attempt. The five-result sitting is archived. The rebuilt GCC 14.2.1 baseline open-v4-gcc14-20260908-9PgBhs stopped at 2026-09-08 14:10:04 UTC after 33 of 72 supported cells completed: 19 OK, 13 partial and one saturated. Those audited observations are retained in the separate v4 matrix and this handbook. The next cell, Java/JNI + SocketXtreme + mono, aborted during warmup: two clients each sent 4,096 requests across eight logged-on sessions without a reply and hit the stall guard. No measured latency was imported for that attempt. Its transcripts and failed phase audit are retained; the cause is still under investigation, not classified as a capacity limit.

Compiler and tuning baseline: this GCC 14 batch uses the default C++ kernels, without a local tuning profile. During that baseline, the installed JNI and .NET Native libraries both reported tuned_build=0. Existing local SCAN profiles were generated with GCC 11.5, not GCC 14; the opt-in AVX-512 defaults table does not apply to this Broadwell machine. A fresh full local tune completed on 2026-09-08 with /opt/rh/gcc-toolset-14/root/usr/bin/g++, up to 24 adaptive samples per variant and isolated core 19, separately from load benchmarks. Turbo, governor, isolation and machine-load preflights passed. All 12 probe verdicts pass the current robust tuner gates; any_inconclusive=false and recommend_rerun=false. Its profile and raw evidence are retained under gcc14-local-tune-20260908-7U4n1s; existing profiles are untouched. The selected combination also passes the standalone correctness self-test and eight engine-level primitive tests, including 62,314 field-split corpus cases. The separate tuning record links the preserved candidate profile and explains the variance/reporting limitations. Compared with the tracked GCC 11 SCAN profile, the common primitive picks differ only in decimal formatting: clean_arms becomes current. SSE2 integer formatting, mask8_delim integer parsing and disabled structural parsing remain selected. These are primitive findings, not an end-to-end gain. Thirteen existing whole-FIX correctness suites also pass with this exact profile, including 43 conformance groups and 274 malformed-frame cases under four policies. The tuning record retains commands and qualifications, including compiler warnings in a typed-view boundary test. Runtime commit 9443f6a3 has now been rebuilt consistently and staged: 52 local/installed artifact pairs match, and all three Java/JNI / .NET Native filename routes pass cold profile probes with tuned_build=1. The tuning record qualifies one retained, unreferenced Java adapter jar; this is not a claim of exact runtime-tree equality. Fresh live checks precede the next full sweep; existing rows remain the labelled untuned baseline until remeasured. Pure Java and .NET Pure do not consume the C++ kernel profile. No retuned latency result is claimed here.

SocketXtreme repair validated offline: negative completion-poll returns now remain errors through the C++, JNI and .NET Native callers; ordinary peer disconnects remain per-connection events. Connected initiators elect a drainer per verified RX ring. Failed setup, reconnect and move paths preserve exact packet ownership; missing or multiple RX rings explicitly refuse setup. Nine transport fixture groups and the existing move tests pass optimized and address/undefined-behavior sanitizer builds. Thirty caller cases cover fatal versus ordinary errors, native cached borrows and owning-step cleanup; the portable acceptor regression also passes. These are socket-free tests, not proof that the recorded warmup stall is resolved. That repair was rebuilt and staged.

A subsequent positive-batch ownership repair retains every pending accepted socket, routes existing peers once, releases failed-child/orphan packet claims and preserves terminal events accompanying newly accepted data. Thirty-two new scenarios pass optimized and address/undefined-behavior sanitizer builds; the existing nine poll-error groups and 256-slot move regression also pass. Positive ownership refusals do not fabricate negative-poll evidence. Independent source review found no blocker. The combined repairs were rebuilt from 368b1374 and staged at 2026-09-08 16:12:11 UTC with the same GCC 14 profile: 52 enumerated installed pairs match, and all six named native-library routes pass cold profile probes. The unchanged extra adapter jar remains qualified in the tuning record. Fresh live diagnostic results are still required. This does not change general combined-terminal receive semantics. C++ SocketXtreme now also has explicit coordinator-pool and independent-ring shard routes; their first hardware cells remain pending and are not inferred from the earlier single/mono evidence.

First retuned live check — rejected before import: open-v4-gcc14-tuned-check-20260908-k3jQMn stopped at 2026-09-08 15:20:48 UTC in pure Java/VMA/mono, before reaching the native checks. All four clients completed warmup with shedding, then aborted measured run one with 512 unanswered requests each. Later runs were absent, so the phase audit correctly refused publication. That attempt did not replace any matrix row. The live watcher recorded two busy server threads on core 10 during measurement; source and two startup affinity stamps show the blocking accept loop and sole multiplexer both use that core. VMA's latency preset sets VMA_RX_POLL=-1, causing its blocking accept to poll indefinitely. The Java VMA launcher now uses a finite receive-poll budget of 10 for both roles/providers, matching its former client-only setting. Fifteen launcher regressions pass. Shared-ring traffic can still wake the accept loop. No privileged statistics were collected before these failed JVMs exited; their IPv4 launch option alone is not proof of accelerated socket traffic.

Finite-poll retry — offload confirmed, benchmark failed: open-v4-java-vma-rx10-20260908-1x4K1B completed all six phases at 2026-09-08 15:36:13 UTC, but still shed scheduled requests. The importer correctly publishes fail with blank latency/rate fields; 32/32 records connected sessions, not full delivery. This replaces the old fallback mono observation, leaving 32 numeric v4 observations; original evidence is retained. Prearmed, PID-verified VMA readers matched all 32 IPv4 connection tuples in both directions. All 64 endpoint socket series have increasing transmit and receive offload counters, and final socket error counters are zero. All five collectors exited successfully. Root-owned namespace/FD links remained inaccessible; offload attribution uses the per-process socket tuples and counters, not merely preload, global rings or kernel socket tables. Readers ran on housekeeping cores; no claim of zero diagnostic overhead is made.

The retry still has two active application threads on server core 10 during measurement: watcher sample 19 records +99/+108 CPU ticks, and retained actual task identities name both libhft-pure-jav. Linux name truncation does not independently identify which TID is the acceptor versus multiplexer. The separate VMA maintenance threads remain on reserved core 14. Finite polling did not fix this resource contention. A plaintext mono repair now uses one owner for nonblocking admission and session processing, with one accept attempt per data sweep and no extra core. It keeps accepting/rejecting at the session limit and preserves the separate pool/TLS paths. Seventeen new socket-free tests and 24 existing lifecycle, pool, TLS and reconnect regressions report pass. The repair is now rebuilt/staged as recorded above; a fresh live check is still required. Neither offload nor completed phase files establish clean latency or maximum throughput.

Latest full-size ownership-repair results (2026-09-08): After the ownership controls, the shared-epoch v4 matrix contains 36 numeric cells. The latest four published mono cells are .NET Pure/kernel (OK), .NET Native/SocketXtreme (partial: instability), JNI/SocketXtreme (partial: instability), and pure Java/VMA (partial: instability). open-v4-owner-check-20260908-wWhlDi/sitting-managed-kernel completed at 2026-09-08 16:21:22 UTC. .NET Pure/kernel/mono passes the standard 50,000/s aggregate, 32-session v4 recipe: all four clients complete all six phases with zero shedding, send refusals or outstanding replies. Service p50/p99 is 147.30/191.94 µs; response is 149.609/199.114 µs. The result and startup-affinity audits pass. A prearmed read-only observer retains 65 snapshots of the actual five CLR processes, including named server-GC workers on cores 0–9. The live watcher reports no application collisions in its bounded samples; sleeping socket/signal helper threads still share some application cores. This is target-throughput evidence, not a maximum-rate result.

The same build's .NET Native/SocketXtreme/mono control completed at 2026-09-08 16:24:46 UTC under sitting-native-sx. All 32 sessions completed the scheduled load, with no phase shedding, send refusal or outstanding replies. Response p50/p99 is 13.868/21.287 µs. The matrix retains it as partial for run-to-run latency instability, not as missing-reply loss. The prearmed CLR observer completed 73 snapshots of all five process identities; sampled native owner/client cores are 10 and 11/12/13/15, with VMA helpers on 14. JNI/SocketXtreme/mono also completed all 1,920,000 measured exchanges at 2026-09-08 16:28:09 UTC under sitting-jni-sx, with all 24 cold phase records reporting complete delivery and zero shedding/refusal/outstanding. Response p50/p99 is 13.567/20.983 µs, again qualified partial for latency instability. The earlier warmup stall did not recur in this fresh sitting; one successful control does not prove the original failure's cause.

Earlier Java Pure/VMA ownership control — publication withheld: sitting-java-vma completed all 1,920,000 measured requests with zero measured shedding or outstanding replies, but the startup audit still expected two server affinity stamps and rejected the new one-owner layout. Logged service p50/p99/p99.9/max is 17.642/22.187/25.039/436.218 µs; response is 18.664/23.976/28.051/438.514 µs. These are provisional diagnostic observations with run-to-run instability, not an admitted matrix cell. Its observations were not imported. A new explicit cold topology marker and corresponding strict audit now pass 18 Java startup tests and 30 placement tests. Java/JNI was rebuilt from e72c35d8 and staged at 2026-09-08 17:03:44 UTC: all 52 enumerated installed pairs match and all three JNI library routes pass the cold tuned-profile probe. C++ and .NET Native retain the previous verified build. The independent thread observer retained 19 measured-phase snapshots: exactly one application task on server core 10, with matching identity and approximately one CPU's accounted work. VMA maintenance remains on 14. Initial warmup shed 37,147 scheduled requests; later warmups and all measured phases completed fully.

Per-socket VMA statistics confirm increasing RX/TX offload for all 32 server endpoints and 24 client endpoints, forming 24 fully paired connections with zero observed final socket errors. Client three's reader started before its statistics were available and returned no data, despite exit code zero. Therefore this attempt does not claim all 64 endpoint counters and is not retroactively upgraded.

Pure-Java/VMA ownership retry — published with instability qualification: sitting-java-vma-marker completed at 2026-09-08 17:07:54 UTC. All 32 sessions delivered 1,920,000 measured replies across three runs, with zero measured shedding, deficits, stale replies, send refusals or outstanding requests. The explicit fused-mono marker and actual affinity read-back pass. Service p50/p99/p99.9/max is 17.365/21.888/27.382/450.424 µs; response is 18.477/23.877/29.670/451.971 µs. The row is partial because two clients report run-to-run instability, not because replies are missing. First warmup shed 45,599 scheduled slots but drained every actual send; later warmups and all measured phases completed without shedding.

Readiness-gated, identity-checked VMA readers observed increasing RX/TX offload at all 64 endpoints, covering all 32 reversed connection tuples, with zero observed final socket errors. All five readers completed. This verifies offload, not wire timestamps, observer neutrality or maximum throughput.

Temporary Mellanox-only campaign (2026-09-08): While the Solarflare DAC is removed, KERNEL_NIC=mlx selects ordinary kernel TCP over mlxA/mlxB, alongside VMA and SocketXtreme on the same Mellanox ports. Onload and TCPDirect are excluded. The fresh open-v4-mellanox-20260908-PekVA8/sitting selects 46 original-flavour cells at the unchanged 50,000/s aggregate v4 target (1,562.5/s per session at 32 sessions), publishing after each completed cell. Earlier kernel rows used Solarflare and remain historical until individually remeasured; the campaign's completed-cell list identifies the replacement rows. Its retained machine configuration and recipes record the NIC-path change. These are target-throughput results, not a maximum-throughput sweep.

Initial Mellanox single-session findings: .NET Native/kernel completed all 60,000 measured requests, with no shedding, refusal or outstanding requests at phase end. Its saturated flag comes from scheduler p99 153.189 µs exceeding the 20 µs interval, despite approximately 50,000/s achieved. Exact raw replay confirms per-run scheduler p99 values of 424.817, 15.647 and 19.102 µs; service p99 stays between 44.392 and 44.798 µs. Run 1 drives the scheduling qualification, not a percentile-calculation error. This is a failed offered-load timing gate, not proof of server-capacity exhaustion; the retained logs do not identify the cause of the client scheduling pauses.

Fresh .NET Native/kernel single control (22:40:34 UTC): the corrected installed build completed all 60,000 measured requests at 49,997/s. All six warmup/measured phases drained without shedding, refusal or outstanding requests. Scheduler p99 is now 7.380 µs, below the unchanged 20 µs gate: this run does not reproduce saturation. Service p50/p99/p99.9/max is 22.794/31.102/43.153/250.078 µs; response is 24.767/33.747/175.488/264.483 µs. It remains partial for a service-p50 stability warning: run medians 24.394/21.927/22.060 µs give CV 6.0873%, above the unchanged 5% warning limit. An early scheduling transient remains (65 requests above one interval in run one), but not the earlier 617-request episode. The new archive preserves the separate observation; multiple source corrections separate it from the old row, so this is not a one-factor causal comparison.

Java-pure/VMA single failed: 53,127 of 60,000 measured offers were shed at the client in-flight cap; all 6,873 actual sends completed and every phase drained. That attempt's classic path had a blocking listener and separate reader on core 10, contrary to SINGLE's one-owner contract. Live-watch samples 28 and 29 also report two busy application threads there; exact Java thread roles were not captured. VMA contention is a hypothesis, not a proven transport failure. That failed attempt had blank latency fields; the fresh repair below supersedes it.

Java SINGLE repair, remeasured at the fixed target: commit 2f28abbe adds an explicit pure-Java classic single-owner mode: the listener serves its one connection inline, then resumes acceptance. It does not relabel the multiplexed model or change ordinary maxSessions=1 configurations. The launcher and pinning audit require the matching mode, profile, owner marker and affinity read-back. Focused configuration, lifecycle, TLS and launcher tests pass; the protocol audit passes all 147 checks. Matching GCC 14 Java/JNI artifacts and launcher were built, installed and hash-verified before the fresh open-v4-mellanox-followup-20260908-8JscCC/java-single sitting. Kernel completed at 19:06:22 UTC and VMA at 19:07:22 UTC on 2026-09-08. Each delivered all 60,000 measured replies and all 60,000 warmup replies, with zero shedding, deficits, send refusals, stale replies or outstanding requests.

Kernel service p50/p99/p99.9/max is 31.588/35.790/73.214/154.224 µs; VMA is 9.225/10.701/17.296/113.571 µs. Response is respectively 33.281/46.266/118.401/181.162 µs and 9.506/11.180/39.819/123.223 µs. Achieved rates are 49,996/s and 49,999/s against the unchanged 50,000/s target. Both rows remain partial for run-to-run latency instability, not missing replies. Their one-owner/profile/affinity and parameter audits pass; VMA maintenance threads read back core 14. The live watcher recorded 11 PASS, four INCONCLUSIVE and zero VIOLATION samples. These discrete observations do not prove continuous placement, offloaded packet counters or maximum capacity.

Mellanox sweep stopped after 20 completed cells: the next JNI/SocketXtreme mono attempt, attempt-b1wplnoh, aborted during its first warmup. The first three eight-session clients reported no execution reports; the fourth made progress and drained its actual sends. No measured phase completed. The parameter/provenance audit correctly refused the aborted phase evidence before import; any retained numeric value for this combination is from an earlier attempt, not this failure. Its cause remains under review.

JNI/SocketXtreme localization diagnostic (19:11 UTC): jni-sx-first-split-live-20260908-DQV3oW completed 128,000 warmup and 128,000 measured exchanges across 32 sessions, with zero shedding or outstanding replies. All 32 native server slots advanced inbound and outbound sequences to 8,002 before connection cleanup. The earlier stall did not recur. This shorter, one-run experiment enabled per-read tracing and therefore contributes no latency row and does not establish that the intermittent fault is fixed. The 25 other pending Mellanox cells run independently of this combination.

Mellanox follow-up progress (19:24 UTC): the first five cells in open-v4-mellanox-followup-20260908-8JscCC/remaining completed: .NET Native kernel/VMA/SocketXtreme mono and .NET Pure kernel/VMA mono. Each delivered all 1,920,000 measured replies, with zero measured shedding, deficits or send refusals. Native VMA/SocketXtreme remain qualified partial for variance; the other three are ok. First-run warmup shed 3,777 offers for native VMA and 77,032 for managed VMA; every actual send was answered and every phase drained. Parameter and startup pinning audits passed, including VMA maintenance placement on core 14.

C++ pool live-contention qualification (2026-09-08): the kernel and VMA pool cells completed at 19:27:10 and 19:29:39 UTC, respectively, but their live audit observed the server's own accept coordinator consuming CPU alongside worker 0 on core 10 during all three measured phases. In the VMA run these were main TID 3704243 and worker TID 3704253 in the same process; this was not a stray server or the VMA maintenance thread, which is assigned core 14. The old harness passed --core 10 --shard-cores 10,11,12,13; the C++ pool pins its calling coordinator to the scalar core and separately pins its workers to that list. The coordinator sleeps for 1 ms after an empty accept, but its recurring wakeups still contend with worker 0. Positive CPU ticks establish activity, not an infinite busy-spin or a quantified latency penalty. Both archived rows retain their real measurements and existing partial stability status, with this additional placement qualification; neither is an uncontended baseline. No runtime placement was changed during that frozen sitting. The separate correction and replacement measurements below do not retrospectively certify the old data.

Coordinator correction and C++ rerun: SCAN now declares a pool-only coordinator reservation on isolated core 19, separate from workers 10–13, clients 15–18 and VMA maintenance on 14. C++, Java/JNI and both .NET pool harnesses and actual-role checks have been updated. Java's event drainer and .NET Native's parked control thread have separate, verified housekeeping placement; they are not serving workers. Focused configuration, runtime and affinity tests pass. The C++ binary, launcher and machine configuration are now rebuilt/staged with matching hashes. The replacement kernel pool completed at 20:24:51 UTC: 32/32 sessions, service p50/p99 30.153/39.544 µs, complete samples, and verified coordinator/worker/client separation. It remains partial for stability, not placement or delivery. VMA pool completed at 20:27:20 UTC: 32/32 sessions, service p50/p99 11.137/25.033 µs, complete samples, verified role separation and the same partial stability qualification. The live watcher recorded 28 PASS, 15 INCONCLUSIVE startup/teardown/no-application samples, and zero VIOLATION or INVALID samples. These are bounded observations, not a continuous audit. The two-cell rerun archive preserves both new results and evidence locations. Matching Java/JNI and .NET production builds have now passed at source checkpoint 7610e814 and are staged. Java-pure/VMA pool completed at 21:06:35 UTC: all 32 sessions and all 1,920,000 measured replies, with zero shedding, refused sends or outstanding requests in any phase. The old run shed 858,588 measured offers and had independently observed core-10 contention. The replacement service p50/p99 is 17.512/20.690 µs; it retains its real partial stability qualification. See the Java pool rerun archive. Other corrected provider pool reruns remain pending. Startup identity checks supplement, not replace, the live CPU audit.

Partial/unstable investigation: replaying the retained raw samples for the two old C++ pool cells, Java-pure kernel/VMA single and managed .NET/VMA pool reproduced all 98 session classifications. All samples completed; the qualification reflects latency variation, not missing replies. The old C++ cells have four p99 warnings and two p50 warnings respectively. Both Java single cells have a substantially higher first-run p99.9; its cause remains under investigation. A separate GC diagnostic retained all four logs without changing the matrix. A regression also reproduced Java v4 warmup skipping the sample stores used during measurement. The correction warms and discards those scratch records, preserving measured-only raw data, sinks and counters. The 53-test MultiClient/barrier suite passes. Matching production artifacts are rebuilt, staged and verified. The uninstrumented kernel/VMA single reruns completed at 21:22:46/21:23:46 UTC with all 60,000 measured replies per cell and no deficit; both remain partial for instability. The correction has not eliminated the remaining variance. Their separate result archive preserves the new evidence. See the raw stability review. The fresh coordinator reruns also match all 64 raw-derived session classifications: 30 PASS and two WARN sessions per cell. Kernel's warnings are p99 CV 13.86%/13.61%; VMA's are p50 CV 5.16%/5.89%. This rules out a classification error in those results, not every possible timing defect. Thresholds and measured-run inclusion are unchanged.

Legacy C++ idle-read correction: an in-memory regression reproduced a live session being removed after a ready-but-idle nonblocking read. The legacy acceptor now carries explicit EOF separately from “no data yet”, including its manual benchmark loop; real FIN, errors, buffered fragments and fused dispatch retain their distinct handling. The new normal C++11 correctness target and five related suites pass. This is a confirmed code defect, but its occurrence in the earlier VMA shard failure has not been proven. The corrected C++11 production binary is rebuilt/staged. The fresh VMA shard cell completed at 21:02:31 UTC: 32/32 sessions, service p50/p99 10.136/30.794 µs, with the startup affinity audit passing. It was initially published as partial, but its numeric fields are now withdrawn from the current v4 matrix because the transcript does not prove four active listeners. The rerun archive preserves the replacement result without deleting the original failed evidence.

Native diagnostic-copy correction: hftnet now has an additive pre-Start capture option. Existing library users retain their last-inbound debug snapshot by default; .NET Native and Rust benchmark clients explicitly disable that extra copy without disabling raw replies, parsing or extraction. Native compatibility/sanitizer checks and 56 managed tests pass. Rust was source-reviewed but cannot be compiled on SCAN's current toolchain. Matching native/managed builds are now staged; fresh measurements are still required. This does not remove every inbound event-ring copy.

.NET Pure/kernel mono remains repeatably slower (service p99 180.762 µs, response p99 188.483 µs). Source review found that a successful nonblocking read returns before parsing the new bytes, deferring a complete frame to the next peer sweep. The correction now handles one fresh complete frame during the same visit, preserving one-read/one-frame fairness. The old defect was reproduced before the fix; 132 focused managed tests pass afterward. With the corrected binary, kernel mono completed at 21:12:22 UTC: 32/32 and ok, service p50/p99 103.457/177.984 µs. This does not establish a large latency improvement. The subsequent VMA mono attempt failed before measurement: client indices 0, 1 and 2 each logged on all eight sessions, then each sent 4,096 warmup requests without a reply and hit the unchanged watchdog. Client 3 answered all 99,700 actual sends but shed 60,300 warmup slots before the prepared-phase abort. The provenance audit correctly refused publication; the older VMA matrix row remains historical, not a successful rerun of the correction. Evidence is retained under provider-corrections-rerun-20260908-PNfKFd/managed-mono. The new failure is under investigation, not attributed to the change without a discriminating test. All five processes used VMA_RX_POLL=-1. The launcher's historical reason for leaving .NET unbounded described an older per-session client, whereas v4 multiplexes eight sessions per client process. A validated, managed-VMA-client-only --vma-rx-poll flag now permits a nonpublishing 10-versus-−1 comparison. Both probes completed at 21:42:10/21:49:57 UTC with the same installed binaries and workload: each delivered all 1,920,000 measured replies with no measured shedding, refusals or outstanding requests. First warmups shed 68,192/53,863 offers respectively, but every actual send drained. The stall did not reproduce with either setting; this pair does not establish a polling cause or justify changing the default. Normal defaults, the server poll policy, 50,000/s aggregate rate and watchdog remain unchanged. Diagnostic values do not replace canonical matrix rows; the control record preserves the outcome and its limits.

Managed peer retirement: mono, pool and thread-per-session servers previously kept retired sockets open until all siblings finished. Actual-method regressions reproduce this; the correction closes each retired socket promptly, including when optional dump flushing throws, while letting the healthy sibling finish. Cold per-peer records retain the observed error, cleanup failure and whole-session counters. Retirement/“served” counts are explicitly not proof of measured delivery. Existing fault policies remain, including the legacy thread-per-session cleanup exit policy. All 200 managed MultiClient tests pass, including 12 retirement tests. The matching production build is staged and verified. The fresh canonical managed VMA mono result completed at 22:37:43 UTC: ok, 32/32 sessions, all 1,920,000 measured replies and all 32 service stability checks PASS. Service p50/p99/p99.9/max is 20.658/24.991/25.255/51.551 µs. First warmup shed 64,904 offers; every actual warmup send drained, and no measured offers were shed. All 32 cold peer records confirm socket closure without cleanup errors; their whole-session order counts match actual sends. The watcher retained 14 PASS and seven INCONCLUSIVE samples with no violation. The separate archive preserves the result. This success does not prove the cause of the old missing-ER warmup failure.

SocketXtreme shared-ring progress: HP's drainer correction keeps polling for fed peers even when the drainer has unread completions of its own. Integration tests also reproduced a held-partial-packet regression in that change. The follow-up preserves HP's queue compaction while allowing polling during a borrow: the borrowed payload and ownership descriptor live outside the compacted completion queue. All 14 progress/ownership/error test groups pass in optimized and sanitizer builds; existing move and accept-ownership tests also pass. This is code-level validation, not a new NIC result. Matching C++/JNI/.NET production builds completed at 22:08–22:09 UTC and are installed. Verification matches all 47 in-scope installed files, including transport aliases, against the frozen builds. The first canonical rerun, Java/JNI SocketXtreme mono, completed at 22:15:26 UTC: 32/32 sessions, service p50/p99 12.698/19.516 µs. It remains partial for latency instability; all 1,920,000 measured replies arrived, with no shedding in any phase. The raw replay gives 19 PASS / 12 WARN / one FAIL stability classifications: C3S8's service p50 CV is 10.2631%, above the unchanged 10% failure limit. The other warnings concern service p99 variation. The watcher retained 17 PASS and seven no-application INCONCLUSIVE samples, with no violation; sampled placement is not continuous proof. The separate archive preserves its provenance.

.NET Native/SocketXtreme mono rerun (22:23:33 UTC): all 32 sessions completed all 1,920,000 measured replies; every warmup and measured phase drained without shedding or refused sends. Service p50/p99/p99.9/max is 12.343/19.484/23.277/189.144 µs. Raw replay reproduces 10 PASS / 22 WARN / no FAIL service stability classifications: 21 sessions have p99 variation above the warning limit, and two have p50 warnings (one overlaps). No thresholds were relaxed. The watcher retained 15 PASS and eight INCONCLUSIVE samples, with no violation; this is sampled, not continuous, placement evidence. The cell remains partial for latency variation, not missing replies. Its separate archive retains the result and provenance.

C++/SocketXtreme mono rerun (22:32:41 UTC): all 32 sessions completed all 1,920,000 measured replies, with no shedding, refused sends or outstanding requests in any phase. Service p50/p99/p99.9/max is 13.141/22.480/25.107/71.658 µs. Raw replay gives 31 PASS / no WARN / one FAIL stability classification: CLIENT48's p50 runs 15.061/12.305/12.056 µs produce CV 12.6912%, above the unchanged 10% failure boundary. The watcher retained 15 PASS and seven INCONCLUSIVE samples with no violation. The new result remains partial for latency variation. All three native-backed SocketXtreme mono reruns now have full delivery; that is not proof that all intermittent stalls or latency instability have been eliminated.

V4 warmup-recording parity (2026-09-09): C++ and both .NET manual OPEN clients skipped some sample-storage work during warmup. They now prepare and fill discarded service/response/scheduler buffers in warmup too. Only measured phases contribute to published raw samples, latency, elapsed time, overload counts and in-flight peaks; v3 is unchanged. The 213-test .NET suite, C++ synthetic result/recording checks and all 147 protocol checks pass. Source mutation tests reject warmup skips and scratch leakage. Code generation also caught a non-inlined .NET Native helper; its stores remain directly in the loop, with no added recorder calls. This repairs a workload mismatch, not a proven cause of every early pause. The C++ and C# production rebuild/install from ec56e941 is now verified. The .NET Native library and Java binaries remain unchanged.

Fresh .NET Native/kernel SINGLE (2026-09-09 22:06:57 UTC): the warmup-recording control delivers all 60,000 measured replies at 49,997/s, with no shedding or native errors. Service p50/p99/p99.9/max is 23.349 / 30.595 / 38.144 / 76.555 µs; response is 25.278 / 33.279 / 41.206 / 78.474 µs. It remains partial for service p50 CV 6.1454% (runs 25.000/22.406/22.640 µs), not saturation: scheduler p99 is 7.411 µs, below 20 µs. The previous early late cluster is absent, but the first-run median shift remains unexplained; this different-day comparison does not establish causation. Raw replay validates all nine series and exact service + scheduler = response. The watcher retains two PASS and three INCONCLUSIVE samples, no violation; it is sampled, not continuous proof. Prior observations remain archived.

.NET Native/kernel POOL (2026-09-09 22:12:54 UTC): the fresh qualified result delivers all 1,920,000 measured replies: 27 session stability PASS and five p99 WARN, hence partial. Service p50/p99/p99.9/max is 34.278 / 39.902 / 46.206 / 105.988 µs; response is 37.097 / 46.896 / 53.190 / 112.004 µs. The live audit did not pass: 11 VIOLATION and 10 INCONCLUSIVE samples exposed all four native workers inheriting the coordinator's hft-pool-coord OS name. The retained actual-mask snapshot shows coordinator 19, workers 10–13 and control 0–9, not a shared measurement core. The common C++ worker entry now assigns and verifies hft-pool-worker before serving, with a reproducing Linux regression; duplicate-role audit rejection remains strict. Name ambiguity does not explain the p99 variance, and the historical audit failures remain visible.

Worker-name correction verified (2026-09-09 22:26:51 UTC): C++, JNI and .NET Native were rebuilt and staged from 5e011904. The new native/kernel POOL retains 11 live-audit PASS and 10 INCONCLUSIVE samples, no violation, with one coordinator on 19 and explicitly named workers on 10–13. All 1,920,000 measured replies complete, and all 288 raw series replay without drops or clamps. Service p50/p99/p99.9/max is 32.477 / 48.961 / 53.078 / 91.695 µs; response is 40.844 / 56.999 / 62.777 / 104.814 µs. It remains partial: 29 session PASS, two p99 WARN and one p50 FAIL. CLIENT32's persistent 23/32 µs modes change population across runs: its p50 is 31.786/24.263/31.850 µs, while p99 stays 34.065/34.168/34.112 µs. That explains the 14.8875% median CV, not the modes' cause. No samples or thresholds were changed; placement is sampled proof and latency variation remains under investigation.

.NET Native/VMA POOL warmup failed (2026-09-09 22:33:28 UTC): the next attempt produced no measured samples. Clients 1–3 each sent 4,096 requests without a reply and timed out; client 4 completed 85,333 warmup requests, then could not enter measurement after its peers aborted. The audit rejected the incomplete phase evidence; the previous latency row is unchanged, not a new successful result. The live watcher has two PASS and six INCONCLUSIVE samples, no violation. Correct worker identities did not fix this separate stall. Native LoggedOn/zero-error counters alone did not establish progress; no timeout, cap or polling setting was relaxed.

.NET Native/VMA POOL statistics diagnostic (2026-09-09 22:51:55 UTC): the non-publishing follow-up completed all 1,920,000 warmup and 1,920,000 measured requests without shedding, refusal or outstanding replies. Read-only per-process VMA statistics show no observed socket errors, receive drops, completion-queue drops or buffer exhaustion; the live watcher records 13 PASS and three INCONCLUSIVE samples, no violation. This did not reproduce or explain the earlier stall: observers were attached and a different listening port was used, with the same recipe and installed build. Three sessions still report stability WARN. Diagnostic latency values were not imported into the matrix; the failed attempt remains recorded.

.NET Native/VMA POOL normal control (2026-09-09 23:00:28 UTC): the fresh audited run, without statistics observers and back on the failed attempt's port 45702, completed all 1,920,000 warmup and 1,920,000 measured requests. The matrix now contains its service p50/p99/p99.9/max of 15.686 / 29.092 / 35.011 / 57.268 µs, and response 16.541 / 30.156 / 36.794 / 59.512 µs. All 288 raw series replay without drops or clamps; 192 native phase-health records are clean. The live watcher has ten PASS and 13 INCONCLUSIVE samples, no violation. The row remains partial: 28 session PASS, two p50 WARN and two p50 FAIL. The failing medians are 12.672/12.276/14.847 µs (CLIENT22, CV 10.4356%) and 14.988/12.507/14.985 µs (CLIENT42, CV 10.1098%); both sessions' p99 CV is below 0.31%. This isolates the current stability gate to median variation, not lost replies, but does not explain that variation or eliminate the intermittent warmup stall. Native binaries remain the verified 5e011904 build; the current launcher is staged and hashed. No timeout, cap or stability gate changed.

C++/VMA POOL per-thread rings (2026-09-09 23:09:47 UTC): the new full-recipe run verifies VMA_RING_ALLOCATION_LOGIC_RX=20 in all five processes' VMA startup readbacks. This is the newly committed C++ pool default, not a silent relabel of earlier shared-ring data; other providers do not automatically inherit that setting. All 1,920,000 warmup and 1,920,000 measured requests complete, with 288 exact raw series and no drops or clamps. Service p50/p99/p99.9/max is 14.128 / 37.707 / 48.854 / 70.158 µs; response is 14.923 / 38.763 / 50.140 / 70.491 µs. The live watcher has 15 PASS and eight INCONCLUSIVE samples, no violation. The row remains partial: 31 session PASS and one p50 WARN (client process 3, local session 6; medians 12.805/11.315/12.674 µs, CV 6.727%). This run had no long stall, but does not establish that per-thread rings improve SCAN over its previous configuration or explain the remaining median variation.

C++/VMA ring comparison (2026-09-09 23:18:38 UTC): Two separate, non-publishing controls held the C++ binary, port, 50k aggregate rate and core layout fixed. Ring-per-interface (0) completed all 1,920,000 warmup and 1,920,000 measured requests at logged service p50/p99/p99.9/max 11.096 / 24.672 / 30.289 / 48.362 µs. Returning to ring-per-thread (20) also completed everything, at 13.985 / 37.034 / 47.787 / 67.629 µs, close to the earlier ring-20 run. Exact service/response quantiles and logged aggregation replay correctly. All raw series reconcile; ring 0 has one median WARN and ring 20 has two, with no live-pinning violations. The repeat supports a SCAN latency cost associated with this setting; neither control reproduced HP's long stall, so it does not establish shared-ring reliability. These diagnostics do not replace the current matrix row. Evidence is retained under /tmp/libhft-cpp-vma-rings-20260910-dFEZjl/comparison-ring{0,20}.

Java-pure/kernel SHARD (2026-09-09 23:31:58 UTC): the fresh GCC 14 / Java 17 build and installed runtime have been verified after synchronizing HP's fixes. On the temporary Mellanox kernel path, the full v4 cell completes all 32 sessions and passes the normal stability gates. Service p50/p99/p99.9/max is 46.785 / 62.131 / 67.816 / 1972.220 µs; response is 50.549 / 67.392 / 75.195 / 1979.567 µs. The new row is published in the target matrix. Exact raw replay verifies all four service/response quantiles, all 32 session stability passes, full delivery and zero shedding. The live watcher records 12 PASS and eight INCONCLUSIVE samples, with no violation. A stable percentile result does not explain the approximately 2 ms maximum; tail investigation remains separate from these successful evidence checks. Raw localisation finds 129 service samples above 1 ms out of 1,920,000, spread across all four clients and all three runs; the largest individual sample is 2423.730 µs (the matrix reports the existing run-mean maximum aggregation). No scheduler-delay sample exceeds 200 µs. These outliers are therefore inside the service interval, not solely late scheduled starts; their server, network or runtime cause is not yet established. Evidence: /tmp/libhft-java-shards-20260910-ffC4Df/java-pure-kernel-shard.

Java-pure/VMA SHARD placement failure (2026-09-09 23:39:22 UTC): the first one-JVM run failed during warmup and was not imported. All four fused owners actually pinned to core 10: the bench passed a distinct scalar workerCore to each shard but also passed the full shared workerCores array, whose first entry the fused owner selects. The live audit caught four busy threads sharing that core. Each in-process shard now receives only its own core in both config fields; ordinary pools retain their full worker set and separate coordinator. A config-only regression reproduces the old mismatch without opening sockets or loading JNI. The subsequent rebuild and installed-artifact verification passed; the fresh run is recorded below rather than overwriting this failure. Evidence: /tmp/libhft-java-shards-20260910-ffC4Df/java-pure-vma-shard.

Java-pure/VMA SHARD affinity fix verified (2026-09-09 23:47:53 UTC): the rebuilt f71c740f benchmark now has one fused owner on each of cores 10–13, clients on 15–18 and all five VMA maintenance threads on 14. All 32 sessions finish the v4 recipe, with all 1,920,000 measured requests answered and no measured shedding. The first warmup sheds 714 slots (369 in client process 3 and 345 in process 4); every sent warmup request drains. The contract permits this, but it is not a loss-free warmup. Service p50/p99/p99.9/max is 17.785 / 21.943 / 23.615 / 618.293 µs; response is 18.499 / 23.921 / 24.944 / 620.305 µs. This historical row was initially published as partial, but is now withdrawn from the current v4 matrix because four-listener activity was not recorded. Its original stability remains 31 session PASS and one p50 WARN (client process 3, local session 5; medians 16.857/15.487/16.999 µs, CV 5.077%, with p99 CV only 0.179%). Exact replay and phase totals verify all measured samples and quantiles; the live watcher records 16 PASS, eight INCONCLUSIVE samples and no violation. Correct placement and complete measured delivery do not explain that remaining variation or prove the absence of intermittent VMA stalls. Evidence: /tmp/libhft-java-shards-20260910-ffC4Df/java-pure-vma-shard-fixed.

Java/JNI/kernel SHARD (2026-09-09 23:56:27 UTC): the Mellanox kernel run completes all 32 sessions with verified startup placement. Service p50/p99/p99.9/max is 35.430 / 50.186 / 51.832 / 396.823 µs; response is 40.233 / 54.386 / 58.991 / 402.187 µs. The row is published as partial: 27 session PASS, three p50 FAIL and two p99 WARN. Exact replay verifies all 1,920,000 warmup and 1,920,000 measured replies, no shedding and the logged quantiles. The live watcher has 13 PASS, seven INCONCLUSIVE samples, no violation. Distribution review finds two service-latency groups about 8 µs apart in all three median failures: for client 1/session 2, the fraction below 28 µs changes from 49.325% to 45.425% to 66.010%, moving the median between approximately 32 and 24 µs while p99 stays near 34.5 µs. The data explains the gate mechanically, not the cause of the modes. There are eight individual service samples above 200 µs and one above 1 ms (1024.096 µs), versus 299 and 129 in the pure-Java kernel run. No scheduler sample exceeds 200 µs. NIC coalescing remains an unverified hypothesis: reading its current settings requires an additional sudo credential; no NIC setting was changed. This is not a capacity or stability-pass claim. Evidence: /tmp/libhft-java-shards-20260910-ffC4Df/java-jni-kernel-shard.

Java/JNI/VMA SHARD warmup failure (2026-09-10 00:04:05 UTC): the fresh run verified four distinct worker pins on 10–13, clients on 15–18 and VMA maintenance on 14, but failed before measurement. Clients 1–3 each sent 4,096 warmup requests and received zero replies; client 4 completed 131,024, shedding 28,976 slots. The normal 2-second no-progress guard stopped the stalled clients. No latency value was imported. This resembles the earlier native/VMA pool stall and is not explained by the corrected Java shard affinity. A separate, nonpublishing transport-statistics diagnostic follows below; no timeout or gate in the canonical benchmark has been changed.

Java/JNI/VMA SHARD statistics diagnostic (2026-09-10 00:09:58 UTC): the nonpublishing follow-up reproduced the stall despite a diagnostic-only 60-second no-progress window. Clients 1–4 completed only 10/0/0/20 warmup replies, each retaining 4,096 unanswered requests. All 32 client/server endpoint pairs match in the VMA statistics: 29 server sockets show only their initial logon receive, three show ten additional receives; every client socket reports 32–48 retransmissions. This points below FIX reply processing, but does not identify the failed transport stage. Sampled VMA drop/buffer counters are zero, not proof of no packet loss. Terminal warnings damaged some records; those socket records were excluded, not repaired. Live affinity has 12 PASS, two INCONCLUSIVE samples, no violation. Sources and installed artifacts stayed unchanged; all processes and five statistics collectors exited. No measured phase completed and no diagnostic latency was imported. Canonical runs retain their 2-second guard.

VMA ring ownership control: a diagnostic-only Java/JNI server flag now permits a controlled ring comparison without changing the default. BENCH_DIAGNOSTIC_VMA_RING_LOGIC=20 on an open-mode bench.sh --only '^java-jni/vma$' run selects the server's per-thread RX ring; clients remain unchanged. Use 0 as the shared-ring control. Recipe, launcher invocation and server diagnostic stamp each independently block canonical publication. The launcher rejects other roles/transports/providers and accepts only 0/10/20/30. The installed VMA README and NVIDIA's 9.8.80 manual identify these as interface/socket/thread/core respectively: old comments incorrectly called 10 per-IP and 30 per-socket. Historical numeric settings and results are unchanged. This is a hypothesis test, not an established fix.

Ring20 control outcome (2026-09-10 00:22:14 UTC): the same-port diagnostic failed before Logon, so per-thread RX rings are not a demonstrated fix for this shard setup. VMA's startup log confirmed mode 20, and statistics showed four receiving rings plus a TX-only ring. The live watcher saw five PASS samples and one INCONCLUSIVE, no violation. Client 1 disconnected before Logon; clients 2–4 failed to start their first initiator. No warmup was released or measurement collected. The short-lived client sockets mostly escaped statistics sampling; that absence is not zero traffic. All processes and collectors exited, with source and installed manifests unchanged. The ring0 default remains in place; neither failed diagnostic replaces a latency result.

Shared-ring debug control (2026-09-10 00:31:30 UTC): the same-port follow-up reproduced the warmup stall with the normal 2-second no-progress guard. Each client sent 4,096 requests, received zero replies and stopped with 4,096 outstanding. All 32 connections were accepted by listener fd 35; correct pins on four workers do not establish distributed shard admission. VMA logged 32 successful per-connection flow registrations, which does not prove subsequent payload delivery. The live watcher recorded five PASS samples, one INCONCLUSIVE and no violation. Source and installed manifests stayed unchanged; all clients, the server and five statistics readers exited. Debug logging makes this a nonpublishing diagnostic; no measured phase or replacement latency exists. The original transport stall remains unresolved.

Native pool failure propagation: a rejected C++ worker CPU request now stops the pool before its application callback. JNI checks the pool runner's failure return; .NET Native stops on a fatal readiness/transport poll error and retains it through Step, error counts and teardown. Stopped or failed pools no longer report connected/active from stale worker snapshots. A disappearing peer's queued-command error is not treated as a pool-wide transport failure. Five focused C++/JNI/native test executables and nine launcher/placement checks passed on housekeeping cores; the invalid-pin regression fails against the previous C++ header. The GCC 14 rebuild and staging verification passed for all 48 installed files, from source 3e4de53c; network remeasurement follows. It improves failure detection, not evidence that the intermittent VMA payload stall is fixed.

.NET Native/kernel POOL remeasurement (2026-09-10 01:02:28 UTC): the fresh full-recipe cell completed all 1.92 million warmup and 1.92 million measured requests, with no shedding, refusal or outstanding replies. Exact raw replay verifies all four service/response ranks; the 36 full one-second windows contain 49,999–50,000 task starts, 49,998–50,001 completions and zero generator backlog at their ends. Service p50/p99/p99.9/max is 33.202 / 46.025 / 53.205 / 150.796 µs; response is 38.126 / 54.407 / 59.480 / 155.903 µs. The row remains partial: 30 sessions pass stability and two warn on p99 only, with no stability failure. Those two p99 values move from 36.317/37.870 µs in run 1 to approximately 28.9/30.3 µs in runs 2–3 (CV 13.67%/13.34%), while their p50 CV stays below 0.2%. This localizes the qualification to run-to-run tail variation, not incomplete delivery; its physical cause is not established. The live audit records 11 PASS, ten INCONCLUSIVE samples and no violation; startup readbacks verify workers 10–13, clients 15–18 and coordinator 19. The server exits with zero errors. Sources and installed artifacts stayed unchanged.

.NET Native/VMA POOL remeasurement (2026-09-10 01:08:35 UTC): the fresh full-recipe cell completed all 1.92 million warmup and 1.92 million measured requests, with zero shedding, refusal or outstanding replies. Exact raw replay verifies all four service/response ranks. Service p50/p99/p99.9/max is 14.957 / 29.142 / 35.548 / 48.963 µs; response is 15.907 / 30.590 / 37.520 / 50.992 µs. The 36 full one-second windows contain 49,999–50,000 task starts and 49,999–50,001 completions, with zero generator backlog and at most one outstanding request at their ends. The row remains partial: 31 sessions pass stability, and client process 1, local session 3 (zero-based), fails p50 only. Its per-run medians are 12.689 / 15.242 / 15.207 µs, giving 10.18% CV against the unchanged 10% limit; its p99 and p99.9 pass. This identifies run-to-run median variation, not missing delivery; its physical cause is not established. The live audit records ten PASS, 13 INCONCLUSIVE samples and no violation; startup readbacks verify workers 10–13, clients 15–18, coordinator 19 and all five VMA maintenance threads on 14. The server accepted and completed 32 sessions and exited with zero errors. The canonical shared-ring configuration and latency-profile receive polling were retained. Sources and installed artifacts stayed unchanged. The earlier payload stall did not recur in this attempt; one completion does not establish that the intermittent failure is fixed.

C++/VMA POOL remeasurement (2026-09-10 01:19:58 UTC): the fresh full-recipe cell completed all 1.92 million warmup and 1.92 million measured requests, with zero shedding, refusal or outstanding replies. Exact raw replay verifies service p50/p99/p99.9/max 14.057 / 37.842 / 48.102 / 66.502 µs and response 14.760 / 38.670 / 49.242 / 67.344 µs. The row remains partial: 27 sessions pass and five warn on p50 only (CV 6.09–7.12%); no session fails stability. All p99/p99.9 stability checks pass. The 36 full one-second windows contain 49,999–50,000 task starts and 49,998–50,001 completions, with zero generator backlog and at most one outstanding request at their ends. Startup readbacks confirm workers 10–13, coordinator 19, clients 15–18 and VMA maintenance on 14; the watcher records 15 PASS, eight INCONCLUSIVE samples and no violation. The canonical ring20 configuration was retained. Sources and installed files stayed unchanged. The earlier coordinator/worker collision did not recur; complete delivery and correct placement do not explain the remaining median variation.

VMA explanation correction: version-matched vendor source review shows that TCP MSG_DONTWAIT receives return an empty-CQ EAGAIN before consulting VMA_RX_POLL. The historical claim that -1 makes every empty native TCP receive spin forever was too broad; blocking accept/connect paths differ. Existing settings are unchanged. The shared-ring unicast dispatcher also visits registered sinks in order, not with a kernel-style reuse-port hash selector. Together with all 32 JNI shard connections landing on one listener, this means four bound listeners and four pinned workers are insufficient proof of distributed shard service. The contract now qualifies that topology explicitly. Neither finding alone establishes the cause of the JNI payload stall.

JNI/VMA POOL role-name failure (2026-09-10 01:29:08 UTC): the next attempt was stopped before import after 17 live audit violations. Coordinator TID 592744 was correctly on core 19 and VMA maintenance TID 592749 on core 14, but both were named hft-pool-coord: the library helper inherited its creator's role name during listener initialization. The source correction preserves the pre-bind affinity check, then assigns/verifies the coordinator name after transport initialization and before publishing readiness or starting workers. The socket-free regression fails against the previous source and passes with TLS disabled/enabled; two placement tests and all 23 unchanged live-pinning tests pass. Rebuild, installation and a fresh live run are still required. The bounded old harness exited; its data did not replace the matrix row. At that point the driver gated startup readbacks, not the separate live watcher, so this rejection required explicit interruption. It is a role-identity fix, not proof that the separate VMA stall is resolved.

JNI role fix — installed and live-verified (2026-09-10 01:43:13 UTC): the GCC 14 rebuild and installation passed with all 48 installed artifacts verified; source and compiler configuration stayed unchanged during the build. The fresh full-recipe attempt had one hft-pool-coord on 19, maintenance named java on 14, workers 10–13 and clients 15–18. The live watcher records seven PASS, two INCONCLUSIVE samples and no violation. The role-name defect is corrected, but the separate payload stall recurred: clients 1 and 3 each sent 4,096 warmup requests with zero replies; clients 2 and 4 drained 131,069 / 131,012 actual sends while shedding 28,931 / 28,988 warmup slots. No measured phase started. All clients emitted zero-sample failure rows, and the parameter audit rejected the attempt before import. The matrix retains its older qualified observation, not a successful rerun. Every process exited. No rate, cap, watchdog, stability threshold or VMA setting was relaxed; no statistics/debug observer was attached. Correct role names and pins do not identify the stage losing payload progress.

Live-audit publication gate (2026-09-10): the publishing driver now owns a fresh watcher for each cell, on verified housekeeping CPUs, and validates its complete log before importing any latency. A detected placement violation, auditor error, malformed log, crashed/stuck watcher or absence of positive samples stops publication and preserves the previous row. An INCONCLUSIVE task observation no longer hides a violation elsewhere in the same sample. Graceful shutdown finishes and retains the last sample, so its verdict cannot be discarded at cell completion. Counts, log hash and observer affinity are retained with each accepted result. Startup/teardown INCONCLUSIVE samples stay visible; this is discrete global FIX-process sampling, not continuous or per-phase coverage, and the separate startup role audit remains mandatory. Inert regression tests exercise rejection before import and final sample retention. The full C++/kernel pool below live-verifies the integrated gate; this does not resolve the separate JNI/VMA payload stall. See the run and evidence instructions.

C++/kernel POOL — integrated live gate (2026-09-10 02:04:02 UTC): the fresh Mellanox-path cell completed all 1.92 million warmup and 1.92 million measured requests, with zero shedding, refusal or final outstanding work. The owned watcher retained 14 PASS samples, no INCONCLUSIVE, invalid or violation samples, and stopped cleanly before publication. Its actual role readbacks show coordinator 19, workers 10–13 and clients 15–18. Source/runtime hashes remained frozen; parameter and startup-role audits passed. Service p50/p99/p99.9/max is 28.285 / 38.942 / 45.985 / 154.829 µs; response is 32.467 / 45.894 / 49.520 / 158.812 µs. All raw ranks and logged means replay exactly. The 36 full one-second windows contain 49,999–50,000 task starts and 49,998–50,000 completions, with no generator backlog at their boundaries. This is fixed-target evidence, not maximum throughput.

Why that cell remains partial: 31 sessions pass stability; process 4 / local session 5 has a p99-only warning (CV 13.41%, unchanged warning threshold 10%). Its three p99 values are 22.281 / 28.356 / 28.454 µs, while p50 is 20.977 / 20.596 / 20.643 µs and p99.9 is 29.454 / 29.104 / 29.790 µs. The raw CDF review finds 191 / 226 / 241 of 20,000 samples above 25 µs: the slower group crosses the 1% rank boundary, moving p99 between two latency groups without a comparable median or p99.9 shift. The 25 µs cut is a post-hoc description, not a new gate. The warning is numerically correct and remains visible. NIC, interrupt and scheduling causes of the slower group are not established by this replay.

JNI/kernel POOL control (2026-09-10 02:13:56 UTC): the current JNI binary on the Mellanox kernel path completed all 1.92 million warmup and 1.92 million measured requests, with no shedding, refusal, stale replies or final outstanding work. This is the same JNI build that stalled during VMA warmup, not a replacement binary. The live gate, startup-role audit and parameter audit pass; raw ranks and logged means replay exactly. Service p50/p99/p99.9/max is 34.423 / 48.906 / 50.672 / 256.980 µs; response is 39.678 / 53.191 / 57.730 / 264.114 µs. Delivery is complete, but the result remains partial: 30 sessions pass stability, process 1 / local session 3 has a p50 FAIL (33.436 / 33.968 / 26.557 µs, CV 13.20%), and process 2 / local session 7 has a p99 WARN (37.347 / 29.835 / 36.538 µs, CV 11.93%). No gate was relaxed. This establishes a working kernel control for the pool's payload path; it does not prove the VMA stall's cause or resolve the kernel variability.

JNI/VMA POOL ring20 diagnostic (2026-09-10 02:20:39 UTC): changing only the server to per-thread receive rings did not produce a valid cell. All clients entered warmup, but client 1 aborted after 16,760 sends / 16,759 replies, with one request still outstanding, when the correlation table wrapped onto its live entry. The guard correctly refused to overwrite that request. The other clients drained 156,835 / 156,969 / 157,047 sends while shedding 3,165 / 3,031 / 2,953 warmup slots; no measured phase began. The live watcher retained seven PASS, two INCONCLUSIVE and no violations. This exposed two failure-evidence defects: the rejected new slot was counted consumed before any send or shed, and the collision log omitted old/new IDs and provider drop/sequence telemetry. Those need correction, not removal of the correlation guard. Source/runtime stayed frozen, canonical audits refused the diagnostic, and no latency was imported. Ring defaults, rate, cap and the two-second watchdog remain unchanged; the missing reply's cause is unproven.

Correlation-failure evidence correction: the Java client now rolls back only the never-sent replacement slot and marker when the owned-slot guard fires, records the existing and attempted IDs plus retained timestamps, and captures provider drop/sequence counters before closing the session. V4 names the failure correlation; it still fails, and the old request and its timestamps remain owned. The legacy open loop receives the same cold accounting/diagnostic correction. All 49 socket-free client tests pass; the two affected tests fail against the previous source. Healthy-path tests still observe no diagnostic getter calls. The normal GCC 14 / JDK 17 build from 3e58a95f passed and installed-runtime verification completed at 02:35:39 UTC: only fixbench.jar changed, with all 51 other inventoried artifacts retained byte-for-byte and root-owned paths checked. The JNI library remains the 80d5e7dd build. This is not yet an explanation or fix for the missing reply.

Instrumented JNI/VMA POOL retry (2026-09-10 02:38:09 UTC): the fresh ring20 diagnostic failed before warmup: clients 1, 2 and 3 disconnected before Logon, and client 4 aborted at the shared barrier. There were no measured samples and the new correlation-owner telemetry was not reached. The live watch retained six PASS, two INCONCLUSIVE and no violations; source and installed hashes stayed frozen. This does not verify the collision logging or explain the earlier missing reply. Per-thread rings have not established reliable startup or delivery. The noncanonical run was rejected by the parameter audit and no latency was imported.

JNI false-EOF correction (source regression, 2026-09-10): the acceptor's readiness-driven path could remove a live session after a would-block or interrupted read even though ReadAvailableOrEof returned eof=false. The initiator's polling path made the same inference from readiness. Both now trust the explicit transport EOF result, retaining no-data reads and still disconnecting on real FIN or read error. Actual-loop regressions pass with TLS disabled and enabled, covering pre-Logon/live acceptors and direct/polling initiators; the previous source fails the live-session retention assertion. This is a demonstrated code defect, not yet proof of what caused the retained VMA failures. The normal production rebuild and installation from 228752bc passed at 02:49:34 UTC: all four JNI library paths have the new verified hash; all 48 other inventoried files are unchanged. Fresh network evidence remains required before attributing a benchmark improvement to it.

JNI EOF-fix ring20 follow-up (2026-09-10 02:51:30 UTC): the same-setting diagnostic with the new native library still failed before warmup: clients 1 and 2 timed out waiting for Logon; clients 3 and 4 aborted at the shared barrier. No disconnect-before-Logon or correlation-owner failure was reported, but this one run does not establish causality and does not fix VMA startup. The six PASS / two INCONCLUSIVE live samples contained no violations, and source/runtime hashes remained unchanged. No measured samples or noncanonical latency were imported. The source EOF regression is fixed; the transport startup/payload investigation remains open.

Canonical JNI/VMA POOL after EOF repair (2026-09-10 02:56:35 UTC): the fresh shared-ring run completed all 1,920,000 warmup and 1,920,000 measured requests with no shedding, refused sends, stale replies or final outstanding work. The raw replay confirms every reported percentile and the full one-second windows: 49,999–50,000 starts and completions, with zero boundary backlog. All publication audits passed; the live watcher retained 16 PASS, one INCONCLUSIVE and no violations. Service p50 / p99 / p99.9 / max is 12.790 / 19.703 / 20.270 / 69.650 µs; response is 13.503 / 20.489 / 22.262 / 82.405 µs. The result remains partial: 28 sessions pass stability, three fail p50 and one warns on p50. Complete delivery in this sitting does not establish repeatable VMA reliability.

Why the remaining JNI/VMA medians fail stability: the retained distributions contain lower and upper groups around 10.5 and 12.7 µs, whose proportions cross the 50th-percentile boundary. For example, process 1 / local session 4 has p50 12.654 / 10.558 / 10.535 µs (CV 10.82%), while p99 is nearly unchanged at 14.494 / 14.509 / 14.522 µs. The share below a descriptive 11.5 µs cutoff is 40.425% / 64.185% / 61.765%. The other p50 failures are process 3 / local sessions 3 and 4 (CV 10.51% and 10.63%); process 4 / local session 3 warns at 8.86%. This explains the rank movement, not its physical cause. The cutoff is post-hoc description only: no acceptance gate or partial label changed.

JNI/kernel POOL control after EOF repair (2026-09-10 03:05:49 UTC): the fresh Mellanox control completed all 1,920,000 warmup and 1,920,000 measured requests, with zero sheds, refusals, stale replies or final outstanding work. The exact raw replay confirms service 38.541 / 47.473 / 51.261 / 393.895 µs and response 43.316 / 53.549 / 61.173 / 408.054 µs (p50 / p99 / p99.9 / max). Full one-second windows contain 49,999–50,000 starts and 49,998–50,001 completions, zero generator backlog and one or two in-flight requests at the boundary. Startup, parameter and live audits passed (12 PASS, two INCONCLUSIVE, no violations). Stability remains partial: 26 sessions pass, five warn on p99, and process 3 / local session 2 fails p50, with 24.528 / 31.165 / 31.162 µs across runs (CV 13.23%). Full delivery verifies this control's function, not repeatable latency or the physical cause of the remaining variation.

Trace-publication gate correction (2026-09-10): the diagnostic audit previously accepted --acceptor-diag and --vma-trace DEBUG. It now rejects explicit trace flags/environment, acceptor receive-trace output and verbose VMA records before qualification or import; ordinary VMA INFO startup output remains allowed. This prevents a routing diagnostic from replacing a canonical latency cell. Shard launch and affinity checks still do not prove every listener handled payload, so a routing probe must retain that evidence separately.

JNI/VMA SHARD routing probe (2026-09-10 03:15:51 UTC): the short traced diagnostic completed all 32,000 warmup and 32,000 measured requests with no shedding, refusals, stale replies or outstanding work. However, all 32 connections were accepted by listener fd 35 despite four declared listeners. Complete delivery here is not evidence of four active shards. The live watch retained five PASS, two INCONCLUSIVE and no violations; source and runtime hashes stayed frozen. The parameter audit rejected this deliberately short, traced recipe; no latency was imported. This confirms concentrated admission in this JNI run, not a result for pure Java or proof of long-run VMA reliability.

Pure-Java/VMA SHARD routing attempt (2026-09-10 03:25:36 UTC): the bounded DEBUG probe was inconclusive: its accept-poll logging filled the 128 MiB transcript limit before any accepts were recorded. Four listeners had announced startup, but all four clients failed to start their first session; there were no measured samples. The live watch had five PASS, one INCONCLUSIVE and no violations, with frozen source/runtime hashes and no remaining benchmark processes. This short traced run was rejected by the canonical audit. It neither proves pure-Java listener distribution nor replaces the existing latency observation.

Java/VMA shard participation gate: the Java server now retains whether each in-process listener observed Logon through its existing control-event drain, and prints one record per listener at shutdown. No per-message trace is needed. Parameter and publication checks reject missing, duplicate or idle-listener evidence for Java/VMA SHARD, even with complete client results. This proves listener activity, not per-shard order counts or equal load distribution; the separate full-delivery checks still apply. Older observations are not certified by this new gate. The normal production build and installation from 976f791b passed at 03:36:05 UTC: only fixbench.jar changed; all 51 other runtime files, including JNI, retained their verified hashes. This changes reporting, not VMA's listener routing.

Pure-Java/VMA SHARD cold-report control (2026-09-10 03:38:25 UTC): the fresh short control completed all 32,000 warmup and 32,000 measured requests with no shedding, refusals, stale replies or outstanding work. Only shard 0 observed Logon; shards 1–3 reported false. The new participation check rejected this topology despite complete client delivery. Five live samples passed, two were inconclusive, none violated placement, and source/runtime hashes stayed frozen. There was no per-message DEBUG trace. This establishes the idle-listener problem in this pure-Java run, not just JNI. The short INFO-marked diagnostic was not imported; the older partial latency observation has no equivalent participation proof and must not be treated as a verified four-active-shard comparison.

JNI/VMA SHARD cold-report control (2026-09-10 03:41:15 UTC): the matching short control also reported Logon only on shard 0; shards 1–3 were idle. Unlike the pure-Java sitting, warmup stalled: 16,385 requests were sent, one completed, 15,615 were shed at the unchanged cap, and 16,384 remained outstanding. All four clients hit the unchanged two-second no-progress watchdog. Measurement never began. The live watch retained five PASS, two INCONCLUSIVE and no violations, with frozen source/runtime hashes and complete process cleanup. Participation, phase-provenance and explicit-INFO diagnostic gates rejected publication. The new cold report works for both providers; VMA delivery is still not reliable. This run does not prove that listener concentration caused the stall, and no latency or rate was imported.

Mixed-stack JNI/VMA isolation controls: the harness now offers a nonpublishing BENCH_DIAGNOSTIC_VMA_SIDE=server|client switch for exact Java/JNI/VMA, OPEN v4, 32-session nos_er diagnostics. The named side uses VMA and the other uses kernel TCP on the same Mellanox path, keeping session/core layout, listener topology, rate, cap and watchdog unchanged. Recipe and transcript markers independently block import. This isolates which side is necessary for a stall; it is not a kernel or VMA latency cell. The hardware controls below do not themselves fix transport delivery.

JNI VMA-server / kernel-client control (2026-09-10 03:55:47 UTC): the first mixed-stack diagnostic failed before warmup. Clients 1 and 2 reached the shared preparation barrier; clients 3 and 4 timed out connecting their first session. Only server shard 0 observed Logon. The live watch retained five PASS, two INCONCLUSIVE and no violations; source/runtime hashes stayed frozen and all processes exited. VMA was absent from the clients' selected launch paths. A client-side VMA instance is therefore not required for this startup failure, but this does not establish the cause of the earlier payload stall. No phase was released and no latency was imported.

JNI kernel-server / VMA-client control (2026-09-10 03:59:48 UTC): the reverse mixed-stack diagnostic completed all 32,000 warmup and 32,000 measured requests, with no shedding, refusals, stale replies or outstanding work. All four server listeners observed Logon. The live watch retained five PASS, two INCONCLUSIVE and no violations; source/runtime hashes stayed frozen and all processes exited. Both controls used one server JVM with four independent listeners on the same Mellanox path. This successful short control focuses the next investigation on the VMA server path, but does not establish a specific defect or long-run reliability: changing sides also changes the number of VMA processes and maintenance threads. The diagnostic was rejected by publication checks; no latency was imported.

Canonical JNI/VMA MONO control (2026-09-10 04:07:35 UTC): the fresh full-recipe run with one server owner completed all 1,920,000 warmup and 1,920,000 measured requests, with no shedding, refusals, stale replies or final outstanding work. The exact raw replay verifies service 10.455 / 16.815 / 17.288 / 65.925 µs and response 11.642 / 18.503 / 19.358 / 85.324 µs (p50 / p99 / p99.9 / max). The 36 full one-second windows contain 49,999–50,000 starts and completions, with zero generator backlog or outstanding work at their boundaries. Parameter, startup and live audits passed (15 PASS, two INCONCLUSIVE, no violations); source/runtime hashes remained frozen. The HTML matrix is updated.

MONO remains partial for latency stability, not missing replies: 28 sessions pass, three fail p50 and one warns on p99. Local session 5 in client processes 2–4 has medians around 8.4–8.7 and 10.5–10.7 µs across runs, while all three sessions' p99/p99.9 stability checks pass. For example, process 2 has p50 8.565 / 8.392 / 10.549 µs (CV 13.07%), versus p99 10.921 / 10.943 / 11.066 µs. These are verified rank changes, not proof of their physical cause. This sitting did not reproduce the multi-listener VMA stall; it neither qualifies SHARD nor establishes repeatable transport reliability. No stability gate or partial label was relaxed.

JNI/VMA SHARD per-connection stall (2026-09-10 04:18:50 UTC): the fresh observer diagnostic retained the existing 60-second diagnostic watchdog and one run. Client C4S8 completed all 20,000 warmup requests; the other 31 sessions completed none. Of 640,000 planned requests, 35,872 were sent, 604,128 were shed and 15,872 remained outstanding. No measured phase started. Server VMA statistics show one socket with 20,001 receives and 31 with only their initial receive; those counts are not independent wire captures. Only listener 0 observed Logon. The live audit retained 13 PASS, two INCONCLUSIVE and no violations, with frozen source/runtime and complete process cleanup.

What that rules out—and what it does not: across a 63.35-second CPU-counter interval, every server worker used essentially one full core. All four epoll miss counters advanced by over 129 million during the statistics capture; one epoll also reported successful readiness. This is not a whole-server blocking hang, though contention and per-connection transport faults remain possible. No CQ-drop or buffer-exhaustion counter was observed. The requested native performance profile was denied by host access controls despite perf_event_paranoid=-1, so there is no stack or lock-owner evidence and the exact denying layer is not established. No security settings were changed. The extended-guard diagnostic was rejected by publication checks; no latency or successful SHARD result was imported.

Explicit listener-address correction (source regression, 2026-09-10): all six tested C++ plain-socket server shapes ignored the requested listen address in the installed binary and bound to 0.0.0.0. The source now forwards the address through single poll/direct-read, legacy multi, mono, pool and shard. The shared C++ / Java/JNI / .NET Native pool also now honors SocketAcceptHost, retaining socket policy and bind-error handling. All 24 loopback-only CLI checks pass against the corrected test build, using actual kernel LISTEN readback; wildcard omission, invalid addresses and overlong-address rejection are covered. Run taskset -c 0-9 make -C bench/cpp/fixbench plain-server-bind-test after building the C++ binary on SCAN. The normal GCC 14 production builds passed; installation was verified at 04:46:54 UTC: 14 native runtime files changed, the other 38 remained byte-for-byte identical, and root-owned paths were checked. All 24 CLI cases also pass against the optimized C++ binary. The first post-fix hardware cells are recorded below. Java's launcher still requests its default wildcard, so this fix alone does not change Java's actual bound endpoint. This is not yet an explanation or fix for the JNI/VMA SHARD stall, and no latency or partial label was changed.

C++/VMA POOL after the bind correction (2026-09-10 04:51:12 UTC): the fresh canonical cell completed all 1,920,000 warmup and 1,920,000 measured requests, with no sheds, send refusals or final outstanding work. The exact raw replay verifies service 14.251 / 37.970 / 48.158 / 69.920 µs and response 15.102 / 38.568 / 49.502 / 70.782 µs (p50 / p99 / p99.9 / max). The live audit has 16 PASS and no violations; workers 10–13, clients 15–18, coordinator 19 and VMA maintenance 14 remain distinct. Source/runtime hashes stayed frozen, with the canonical ring20 setting retained. The HTML is updated.

The remaining C++/VMA POOL partial is median stability: 29 sessions pass and three warn on p50 only (CV 6.19–6.72%); none fails, and every p99/p99.9 stability check passes. The 36 full one-second windows contain 49,999–50,000 starts and 49,998–50,001 completions, no generator backlog and at most one outstanding request at their ends. An unreported C++ stale counter remains unknown, not asserted zero. Complete delivery and correct placement do not explain the median variation; the binding repair has not removed it, and no gate was relaxed.

HP sync and VMA pool policy (2026-09-10): 411f1fe0 withdrew the C++ ring20 default after the reported stall improvement did not reproduce on HP. SCAN pulled that change after the 04:51:12 UTC cell above completed. That cell retains its explicit ring20 provenance; it is not evidence for the restored default. The fresh default-policy sitting is recorded below. Neither setting has established reliable stall recovery; the HP investigation and both hosts' results were preserved when merging the generated handbook.

.NET Native/VMA POOL after the bind correction (2026-09-10 04:58:16 UTC): the fresh canonical cell completed all 1,920,000 warmup and 1,920,000 measured requests without sheds, refusals or final outstanding work. Its exact replay verifies service 15.279 / 29.043 / 34.213 / 54.919 µs and response 16.047 / 30.022 / 36.099 / 55.638 µs (p50 / p99 / p99.9 / max). Parameter/startup audits pass; the live watch has 11 PASS, five INCONCLUSIVE and no violations. Source/runtime stayed frozen. The 36 full one-second windows retain 49,999–50,000 starts, 49,998–50,001 completions, no generator backlog and at most one outstanding request at their ends. The HTML is updated.

.NET Native's partial is also median stability: 30 sessions pass, one warns and one fails p50. The failing session (process 2, local index 1) has medians 12.589 / 12.395 / 14.870 µs (CV 10.3605%), while its p99 values are 27.261 / 27.263 / 27.231 µs. Every session passes p99/p99.9 stability. This confirms the reported rank variation and complete delivery, not its physical cause or repeatable stall recovery. The bind fix has not removed that variation; the partial label and all gates remain unchanged.

C++/VMA POOL restored-default sitting (2026-09-10 05:04:14 UTC): the fresh full-recipe cell uses the merged harness with no explicit ring override, not the withdrawn ring20 default. All 1,920,000 warmup and 1,920,000 measured requests complete, with no sheds, refusals or final outstanding work. The exact replay verifies service 10.856 / 25.097 / 31.475 / 46.605 µs and response 11.698 / 25.819 / 32.371 / 47.743 µs (p50 / p99 / p99.9 / max). The live watch has 15 PASS, one INCONCLUSIVE and no violations. All 36 full one-second windows retain 49,999–50,000 starts, 49,999–50,001 completions, no generator backlog and at most one outstanding request at their ends. Source/runtime hashes stayed frozen; the same staged native build was used as in the preceding ring20 sitting. The HTML now shows this fresh result.

Lower observed latency, still partial: 29 sessions pass and three warn on p50 (CV 5.06–6.39%); none fails and all p99/p99.9 stability checks pass. This sitting is lower than the preceding ring20 observation, consistent with SCAN's earlier diagnostic comparison, but does not establish a reliable stall remedy or a maximum-throughput result. Both sittings remain separately retained; neither the recipe nor the stability gates were relaxed.

Partial-session variation also occurs within runs: equal-sample fifths of the raw captures show median shifts in both the .NET Native cell and the preceding C++ ring20 cell. For example, .NET Native process 2 / local session 1, run 1, has service medians 14.916 / 14.988 / 14.958 / 14.979 / 12.340 µs across its fifths, while scheduler-delay medians stay between 1.529 and 1.597 µs. C++ process 1 / local session 5, run 3, moves 12.894 / 14.272 / 14.291 / 14.340 / 12.914 µs with scheduler medians 1.030–1.074 µs. These chunk quantiles are not averaged to obtain the whole-run quantile. The evidence does not support a universal explanation of one fixed slow state for each entire run. Service-loop phase, NIC and scheduling causes remain hypotheses; these paired timestamps neither establish a physical cause nor alter any partial label.

JNI POOL latency groups versus send lateness: an offline paired review checked 300,000 samples from the sessions with median instability: response minus service equals scheduler delay for every checked sample. In VMA process 1 / local session 4, run 1, the lower and upper service groups average 10.393 and 12.869 µs, while their mean scheduler delays are 1.253 and 1.262 µs. Kernel process 3 / local session 2 similarly has service groups averaging 24.270 and 33.124 µs versus scheduler delays of 4.817 and 4.688 µs. The group separation is therefore not simply different pre-send lateness; these timestamps do not distinguish receive-loop, transport or server cost. The cutoffs are descriptive only and all partial/stability labels remain.

Readiness-control errors no longer look idle (source regression, 2026-09-10): the epoll policy discarded failed registrations/removals and returned zero after a failed epoll creation. A real /dev/null registration reproduced that hidden failure. The source now retains the first control error until explicit reset, clears stale ready bits, and reports a negative result from Poll(). ADD/MOD recovery is bounded to one repair instead of recursive alternation. Successful repairs, absent deletions, interrupted waits and ordinary pipe/eventfd readiness remain covered and passing.

The fault suite passes both unoptimized and normal GCC 14 optimized builds. Actual JNI acceptor/initiator regressions pass with TLS disabled and enabled, verifying terminal error reporting before receive or accept. This closes a diagnostic blind spot, not an established cause of the JNI/VMA SHARD stall. The normal GCC 14 production rebuild passed, with staging verified at 05:33:06 UTC: the four JNI runtime library paths changed, the other 48 artifacts remained byte-identical, and root-owned paths were checked. The first fresh hardware control is recorded below; no latency or partial label was changed by the source tests.

JNI/kernel POOL after epoll error handling (2026-09-10 05:37:01 UTC): the full canonical Mellanox control completed all 1,920,000 warmup and 1,920,000 measured requests, with no sheds, send refusals, stale replies or final outstanding work. The exact raw replay verifies service 45.799 / 50.986 / 54.374 / 123.966 µs and response 50.191 / 56.377 / 60.585 / 154.276 µs (p50 / p99 / p99.9 / max). The live audit retained 12 PASS, two INCONCLUSIVE and no violations; source/runtime hashes stayed frozen. All 36 full one-second windows have 49,999–50,000 starts and 49,997–50,001 completions, no generator backlog, and one or two outstanding requests at their ends. The HTML is updated.

The kernel control remains partial: 29 sessions pass, two fail p50 and one warns on p99. Process 1 / local session 3 has medians 32.063 / 31.592 / 24.678 µs (CV 14.04%), while its p99 values remain 34.576 / 34.556 / 34.504 µs. Process 2 / local session 3 shows the opposite run ordering, 24.058 / 31.112 / 30.892 µs. Complete delivery verifies this control path, not a latency improvement or a fix for the VMA stall. The new headline p50 is higher than the earlier 38.541 µs sitting; these separate unstable sittings are not an isolated causal A/B of the epoll change. The headline p50 belongs to a different, stable session (process 1 / local session 5: 45.404 / 45.918 / 46.076 µs, CV 0.77%). The cell takes the worst session's stability verdict independently of which session sets its headline quantile. No stability threshold was relaxed.

Kernel within-run shifts, not just different run epochs: the paired fifths replay checks every response = service + scheduler sample in the three unstable sessions. Process 1 / local session 3 / run 1 has fifth medians 32.174 / 32.109 / 24.568 / 32.115 / 32.156 µs, while scheduler medians stay between 5.267 and 5.621 µs. Process 2 / local session 3 / run 2 also switches within the run, 24.310 / 31.215 / 31.129 / 24.074 / 31.229 µs, with scheduler medians 4.507–4.650 µs. These observations rule out a universally fixed whole-run slow state, not all phase effects; they do not identify the physical receive-side cost. All warnings remain visible.

JNI/VMA SHARD after epoll error handling (2026-09-10 05:41:33 UTC): the fresh canonical attempt still failed during its first warmup under the normal 2,000 ms watchdog. The failure review retains 16,385 sends, one completion, 100,007 shed slots and 16,384 outstanding requests. Another 523,608 future slots were never consumed; they are not counted as sheds. No measured phase started. All four listeners reported their pins, but only listener 0 observed Logon. The participation and aborted-phase checks correctly rejected publication; no latency was imported.

Independent startup-affinity replay passed; the live watch retained five PASS, two INCONCLUSIVE and no violations. Source/runtime hashes stayed frozen and all benchmark processes exited. The retained server log contains no reported acceptor error event; that is not proof that every internal operation succeeded. This sitting demonstrates that the epoll-control correction has not resolved the VMA stall or the missing listener participation. Failure archive bytes remain explicitly unvalidated phase evidence.

.NET Native/kernel SHARD gap filled (2026-09-10 05:47:43 UTC): the full canonical Mellanox sitting completed all 1,920,000 warmup and 1,920,000 measured requests without sheds, refusals or final outstanding work. Its exact raw replay verifies service 33.236 / 40.177 / 49.193 / 126.020 µs and response 42.323 / 49.382 / 55.165 / 134.208 µs (p50 / p99 / p99.9 / max). All four server shards handled connections (8 / 9 / 8 / 7); each exited with rc=0 and matching accepted/completed connection counts. These are server lifecycle counts, not independent wire-message counters. Parameter and startup audits passed; the live watch retained 11 PASS, three INCONCLUSIVE and no violations. Source/runtime hashes stayed frozen.

This partial is p99 variation, not p50 or delivery: 27 sessions pass and five warn on p99 (CV 11.09–12.30%); no session fails, and every p50/p99.9 stability check passes. For example, process 1 / local session 5 has p99 38.085 / 31.061 / 30.905 µs, but medians 28.652 / 28.695 / 28.717 µs. All 36 full one-second windows contain 49,999–50,000 starts and 49,998–50,001 completions, zero generator backlog and one or two outstanding requests at their ends. An unreported .NET Native stale counter remains unknown, not asserted zero. The v4 matrix now contains 55 measured combinations (23 ok, 32 partial); no warning was removed.

The within-run replay shows that this example's higher p99 persists across all five equal blocks of run 1 (37.818–38.341 µs), versus 30.794–30.935 µs throughout run 3. Scheduler p99 remains around 9.8 µs in both runs, and service medians stay near 28.7 µs. The effect is not confined to the first few measured samples; this descriptive comparison does not identify its transport, server or receive-loop cause and is not a reason to discard run 1.

.NET Native/VMA SHARD admission defect (2026-09-10 06:01:53 UTC): a short nonpublishing control completed all 32,000 warmup and 32,000 measured requests, with no sheds, refusals or final outstanding work. The raw delivery replay verifies the complete four-client surface. However, listener 0 accepted and retired all 32 connections; listeners 1–3 accepted none and reported zero live sessions. Four live affinity samples passed, one was inconclusive and none violated placement; source/runtime stayed frozen and all processes exited. Complete delivery here is not evidence of four active shards.

Native VMA publication gate corrected: the old native shard auditor accepted those idle listeners. It now requires positive admission on every .NET Native/VMA shard, sharing the check between parameter audit and publication. Unequal nonzero counts remain valid; kernel/Onload behavior is unchanged. Seven new regression cases fail against the old code, including every headline verdict and exit-anomaly recovery; all 18 shard-audit tests, 87 importer tests and 11 parameter tests pass after the fix. Replaying the actual control now rejects listeners 1–3. Admission counters do not independently prove Logon or order counts; complete client delivery is still required. This repairs the audit, not VMA routing, and does not certify older observations.

Diagnostic limits are not transport faults: an earlier attempt failed before FIX startup because its wrapper imposed a 128 MiB process-wide file-size cap. Even unpreloaded dotnet --info reproduces the failure: memfd_create("doublemapper") is followed by a 2 TiB sparse-size ftruncate, returning EFBIG and SIGXFSZ. The successful control above restored ordinary runtime file-size limits without changing the benchmark rate, cap or watchdog. Its one-run, 1,000-iteration recipe passes the old parity checker but is independently rejected by the full-v4 publication check. Neither attempt's diagnostic latency was imported; the v4 SHARD gap remains unqualified.

Full .NET Native/VMA SHARD confirmation: the fresh full-recipe attempt completed all 1,920,000 warmup and 1,920,000 measured requests, with no sheds, refusals or final outstanding work. Its raw delivery and admission review again finds accepted/completed connections 32 / 0 / 0 / 0 across the four listeners. The full canonical recipe and independent startup-affinity checks pass; the live audit has 15 PASS, one INCONCLUSIVE and no violations. Source/runtime hashes stayed frozen and all benchmark processes exited.

The corrected admission gate rejects listeners 1–3 despite complete clients. This is no longer merely a short-probe observation: the single-listener behavior persists through the complete workload. The reported session stability also includes five warnings and two failures, but latency ranks were not independently replayed for this disqualified topology. No latency was imported, and the .NET Native/VMA SHARD v4 gap remains unqualified.

C++/Rust-native VMA SHARD audit extension: these flavours share the plain C++ shard server, whose older logs showed four startup lines but no per-listener participation. The server now emits a once-per-owner Logon stamp, outside the measured order loop. The parameter/publication gate requires all four owners to report it; full clients and exit-anomaly recovery cannot override an idle owner. Fourteen negative regression cases fail against the old auditor; all 120 shard, importer and parameter tests pass after the fix. This is an evidence correction, not a claim that C++ admission is concentrated. The GCC 14 production rebuild and staging passed: all five C++ artifacts refreshed, the other 47 runtime files unchanged, root-owned paths verified. All 25 actual-binary loopback cases pass, including no participation at bind and one report per active owner after Logon. Fresh full-recipe controls are recorded below.

Full C++ SHARD controls (2026-09-10): the kernel/VMA sitting completed the unchanged three-run 50,000/s aggregate recipe on both transports. Each completed all 1,920,000 warmup and 1,920,000 measured requests, with zero sheds, refusals and final outstanding work. Source/runtime hashes remained frozen, startup affinity passed and all benchmark processes exited.

The kernel control proves Logon on all four owners: service p50/p99/p99.9/max is 32.505 / 39.106 / 44.426 / 113.050 µs; response is 36.323 / 46.163 / 50.924 / 119.436 µs. The HTML was updated at completion. Live affinity has 13 PASS and one INCONCLUSIVE, with no violations. Exact rank replay confirms 29 session PASS, three p99 WARN and no FAIL; every p50 and p99.9 passes. For example, client 2/local session 6 has nearly identical medians (21.548 / 21.552 / 21.565 µs), but p99 moves 29.409 / 27.588 / 22.971 µs across the three runs (CV 12.45%). This explains the warning, not its physical cause; the row stays partial.

The VMA control records Logon only on owner 3; owners 0–2 are idle despite complete delivery. All 15 live affinity samples pass. The repaired gate correctly rejects this topology, so no new VMA latency is imported. The reported nine stability warnings are separate from the four-shard qualification failure. This confirms that concentrated VMA admission is not limited to the Java/.NET Native servers; it does not establish the JNI payload-stall cause or fix vendor routing.

Current v4 comparison corrected: the older C++/VMA SHARD and Java-pure/VMA SHARD transcripts also lack the required Logon evidence. Their exact previous rows, source reports and transcript hashes are retained, but their numeric fields are withdrawn from the current v4 matrix. Missing old evidence does not prove which owners handled those old runs; new concentration observations are not assigned retrospectively. Historical v3/closed tables remain unchanged. The withdrawal checkpoint therefore retained 53 numeric observations: 23 passing and 30 partial, plus two explicitly failed topology qualifications.

Rust-native readiness check (2026-09-10): SCAN currently has no installed rust_fix, no Rust compiler found in the host path, and its installed fixed artifact helper predates the Rust targets. These cells have not been run or counted as qualified v4 observations; the documented v4 warmup-recording parity work also remains outstanding. The sweep manifest now includes rust_fix when present, so replacing or removing that executable cannot escape the frozen-runtime check. A separate installer typo passed rust_fix as the wire tool's file mode; the repository helper now uses the intended 0755. Unprivileged fixtures reproduce both defects; no host privileged-helper or authorization changes were made.

.NET Pure/kernel SHARD gap filled (2026-09-10 06:57:54 UTC): the full canonical run completed all 32 sessions, with 1,920,000 warmup and 1,920,000 measured requests, zero sheds, refusals or final outstanding work. Service p50/p99/p99.9/max is 53.495 / 79.367 / 94.396 / 265.471 µs; response is 59.588 / 87.251 / 99.309 / 270.522 µs. All 32 session stability checks pass. The phase and lifecycle review confirms successful Logon distribution 2 / 14 / 8 / 8; all four owners participated, though load was uneven. Eleven live affinity samples pass, one is inconclusive, and none violate placement. Source/runtime stayed frozen and all processes exited. The HTML updated at completion; current v4 coverage is 54 numeric observations, 24 passing and 30 partial.

Managed VMA SHARD publication gate: the existing shutdown counters now qualify listener participation before publication. Every declared owner must have a nonzero successful-Logon count, with consistent session totals and no reported failures. Unequal counts remain valid. Seven negative cases reproduce the old auditor's false acceptance; all 124 shard, importer and parameter tests pass after the fix. No binary or order-loop changes are involved. The full VMA attempt below is rejected; kernel success is not VMA qualification.

.NET Pure/VMA SHARD full attempt (2026-09-10 07:08:55 UTC): the canonical sitting completed all 1,920,000 measured requests without shedding, refusal or final outstanding work. However, successful Logon distribution was 32 / 0 / 0 / 0. The corrected gate rejects three idle listeners despite all 32 reported session stability checks passing. No latency was imported. The delivery and lifecycle review also records 66,649 cap-shed requests in the first warmup; 1,853,351 of the 1,920,000 planned warmup requests were sent and completed. Later warmups had no shedding. The physical cause of that warmup deficit is not established. Raw measured delivery and response = service + scheduler are verified; percentile ranks were not independently replayed for the rejected topology. Startup affinity passed; live sampling had 13 PASS, two INCONCLUSIVE and no violations. Source/runtime stayed frozen and all benchmark processes exited.

Why .NET Pure/VMA SHARD is failed: this is a four-listener topology rejection, not missing measured replies or failed session stability. The focused fix review confirms that the harness sets reuse-port and starts four pinned owners; version-matched VMA source is consistent with first-listener admission. No flag-only remedy is qualified. A bench-private VMA routing fix is proposed for separate approval and testing; the system library and failed row remain unchanged. A pool, separate ports or kernel fallback would be a different cell.

Current Mellanox coverage: across the original five flavours, 41 of 48 supported kernel/VMA/SocketXtreme combinations have numeric v4 results. Five are VMA SHARD qualification failures; the two newly enabled C++ SocketXtreme pool/shard routes are still TODO pending their first audited runs. JNI, .NET Native and .NET Pure now have explicit failed status-only rows, linked in the source TSV to their retained attempts; no numeric values were added. Together with the two earlier withdrawals, current overall v4 coverage is 54 numeric observations (24 passing, 30 partial) and five failures. These counts do not qualify the remaining partial observations or the unrun Rust-native cells.

Java JIT diagnostic preparation (2026-09-10): the kernel, Onload and VMA Java launcher arms now accept the opt-in flag --jit-log for either provider and role. It enables fixed compilation-event logging to existing stdout, with nanosecond monotonic/uptime stamps and process/thread IDs; it accepts no output path or arbitrary JVM flags. Normal launches are unchanged. The parameter auditor and importer reject JIT-logged observations, including retained runtime output without an invocation line. They now also explicitly reject the older opt-in GC-logged observations. All 144 launcher, diagnostic, importer and parameter tests pass. This prepares a separate first-run-tail investigation; it is not yet JIT-cause evidence or a new matrix measurement.

Java JIT kernel collection (2026-09-10 07:32:12 UTC): the instrumented single-session control completed all 60,000 warmup and 60,000 measured requests at the unchanged 50,000/s target. No phase shed, refusal or outstanding work was reported; all measured raw triplets reconcile and stale replies are zero. The existing single-session cap is 1,024 (the 32-session/four-client layout uses 512 per session). Startup affinity passed, with three live PASS, two INCONCLUSIVE and no violations. Source/runtime stayed frozen and all benchmark processes exited. The publication gate rejects the logged run as intended; matrix numbers remain unchanged pending event analysis.

Java JIT correlation, kernel/VMA (2026-09-10): the VMA control also finished at 07:34:28 UTC with 60,000 warmup and 60,000 measured replies, no shedding/refusal/outstanding work and zero stale replies. Startup affinity passed; live sampling had six PASS, two INCONCLUSIVE and no violations. The retained raw/event review places each transport's first-run maximum inside log timestamps for the same client methods: dispatchParsed, isApplicationMessage and isPossResendGapReplayApplication. The zero-based reply ordinals are 990 and 991. There are 39/41 application JIT records during first-run measurement, versus zero in runs two and three on both transports. Raw service p99.9 remains unstable: kernel 150.171 / 37.012 / 36.587 µs; VMA 55.693 / 10.135 / 10.471 µs. These are diagnostic values only. Log timestamps describe events, not compilation durations or proof of a causative pause; logging itself can perturb execution. A separate compilation policy control is needed before treating this correlation as a remedy.

The opt-in --jit-c2-only control requires --jit-log and adds only -XX:-TieredCompilation to those diagnostic JVMs. It emits a second noncanonical stamp and cannot be published, even if the logging invocation is absent from retained evidence. It does not increase warmup, discard samples or change the default JVM policy.

Non-tiered kernel control (2026-09-10 07:42:55 UTC): complete warmup/measured delivery and valid raw samples again, but not a stable result: service p99.9 is 57.169 / 37.192 / 34.896 µs, CV 28.43% (WARN). Application JIT records during first-run measurement fall from 39 to three; the first-run maximum moves to zero-based ordinal 63. This one diagnostic pair supports investigating compilation policy, not adopting it as a complete fix. All canonical matrix values and labels remain unchanged.

Non-tiered VMA control (2026-09-10 07:44:55 UTC): all 60,000 warmup and 60,000 measured requests complete without shedding, refusal, outstanding work or stale replies. Service p99.9 is 14.402 / 9.609 / 9.856 µs (CV 23.91%, PASS); p50/p99 also pass. The two policy controls each record only three application JIT events in first-run measurement, versus 39/41 in the logged default-policy controls. Startup and sampled live affinity pass; source/runtime stayed frozen and all processes exited. This is an encouraging diagnostic comparison, not repeatability proof or a canonical result. The JVM default and matrix rows remain unchanged.

Remaining early spike: a newly exercised cache path. The client intentionally resets order IDs at each phase, while the server's bounded duplicate-order cache survives. A replay against the installed Java class finds zero duplicate hits in the initial 20,000 unique-ID warmup and 174 in the following measured sequence; the first retained ID is order 61. On both non-tiered controls, order 61's raw service interval contains the SeenNewOrderSingleClOrdIds::remember made-not-entrant event, followed by recompilation. That order's service time is 115.536 µs on kernel and 91.852 µs on VMA; later overlapping requests contain the run maxima. This narrows a warmup branch-profile gap, but the exact JVM trap reason/bytecode is not captured. The reflection probe validates cache state only, not timing. No duplicate-suppression semantics, marker resets, warmup counts or stability gates were changed to hide the transition.

Cache trap identified in a CPU-only replay (2026-09-10): compilation XML from the installed class records unstable_if at bytecode 89, the cached-hash equality check, when reused IDs arrive. An earlier warmup trap at bytecode 119 covers the empty-slot-to-eviction transition. This matches the OpenJDK branch parser's treatment of previously untaken paths, but it is not an exact trap capture from the earlier network runs. A separate CPU control with PerMethodTrapLimit=0 records no runtime cache traps. The fixture uses MethodHandles and a verified no-inlining directive; its timings are not network measurements. The initial invalid directive and corrected XML-reader mistake are retained with the evidence.

The fixed opt-in flag --jit-trap-limit-zero requires --jit-log, adds only -XX:PerMethodTrapLimit=0 and emits an independently rejected noncanonical policy stamp. It accepts no arbitrary JVM option. This prepares the full network comparison; it does not change the default policy, protocol checks, marker resets or canonical warmup.

Full kernel speculation control (2026-09-10 08:14:36 UTC): logged non-tiered compilation plus PerMethodTrapLimit=0 completes all 60,000 warmup and 60,000 measured requests, with no shedding, refusal, outstanding work or stale replies. Raw service p99.9 is 38.376 / 38.026 / 37.199 µs (CV 1.60%, PASS); p50 and p99 also pass. No application compilation/invalidation event is logged inside any measured interval, and no cache made-not-entrant record occurs. Startup affinity passes; live sampling has three PASS, two INCONCLUSIVE and no violations. Source/runtime stay frozen and cleanup completes. The earlier non-tiered-only control warned at p99.9 CV 28.43%. This remains a separate diagnostic comparison, not an imported value or justification for silently changing canonical JVM policy.

Full VMA speculation control (2026-09-10 08:18:03 UTC): the matching logged non-tiered, zero-trap-limit control also completes all 60,000 warmup and 60,000 measured requests without shedding, refusal, outstanding work or stale replies. Service p99.9 is 10.674 / 10.393 / 10.731 µs (CV 1.71%, PASS); p50/p99 also pass. No application JIT event occurs inside measurement and no cache invalidation is logged. Startup affinity passes; live sampling has six PASS, two INCONCLUSIVE and no violations. Source/runtime remain frozen and cleanup completes. The paired diagnostic report and launcher-only staging proof retain provenance. All run maxima on both transports are the first measured reply, so the residual phase-start spike is not explained by a measured JIT event. A separate comparison retains default tiering; canonical JVM policy and matrix values remain unchanged.

Default-tiered kernel speculation control (2026-09-10 08:22:26 UTC): retaining tiering with the zero-trap-limit diagnostic gives service p99.9 54.734 / 39.815 / 40.216 µs (CV 18.92%, PASS), with p50/p99 passing too. All 60,000 warmup and 60,000 measured requests complete without shedding, refusal, outstanding work or stale replies. Four application JIT events remain inside first-run measurement, none in runs two/three; the maxima are again each run's first reply. Startup affinity passes, with three live PASS, two INCONCLUSIVE and no violations; source/runtime stay frozen and cleanup completes. This tests whether disabling tiering is necessary, not a new canonical policy or imported result.

Default-tiered VMA speculation control (2026-09-10 08:24:30 UTC): the matching run still warns: service p99.9 is 22.267 / 10.462 / 10.863 µs (CV 46.13%, WARN), although p50/p99 pass. All 60,000 warmup and 60,000 measured requests complete with zero shedding, refusal, outstanding work and stale replies. Eleven application JIT events occur in first-run measurement, none in runs two/three. Every run maximum remains its first reply, not overlapping those JIT events. Startup and sampled live affinity pass with no violations; source/runtime are unchanged and all FIX processes exit. The default-tiered paired report shows why the zero-trap-limit flag alone is not a demonstrated stability fix. The combined non-tiered control is a candidate for further qualification, not an adopted default. These diagnostics do not fill or relabel matrix cells.

JVM policy publication guard: a retained bare -XX:-TieredCompilation argument is now rejected even without launcher stamps or JIT output, matching the existing zero-trap-limit guard. Regression fixtures reproduced the prior acceptance in both successful and failed-result imports. They now require the matrix to remain untouched.

Phase-start qualification: the v4 coordinator's current two-second future-epoch lead leaves a gap without scheduled application sends after warmup. The Java client can poll receives during that gap, but per-run warmup alone does not prove its first application send is hot. This is a source-level reason to investigate phase-start timing separately, not proof of the observed spike's cause. First replies and the shared release policy remain unchanged.

Opt-in first-reply timing probe: --diagnostic-open-phase-timing enables preallocated client-side timeline storage only for single-session OPEN v4 nos_er. Warmup and measurement use identical stores; output happens after each phase and includes its first 64 replies, fixed later samples and maximum. The four intervals cover actual-offer-to-send-return, the wait until the reply's receive step, that receive call, and polling/correlation/extraction through completion. They do not isolate network or server time, and extra clock reads can perturb latency. The full raw series remains unchanged; all trace evidence is rejected from publication independently of JIT logging. The default allocates no trace storage or extra clock reads. Engine instrumentation is not enabled.

Initial phase-trace collection (2026-09-10 08:55:51 UTC): the kernel process completed, but post-collection validation rejected the probe's initial bench_open_phase_timing prefix as a malformed v4 control record. The attempt and its staged-artifact proof remain retained, not imported or relabelled. Diagnostic records now use bench_java_phase_timing; a regression feeds the actual launcher stamp to the strict schedule auditor and separately requires publication rejection. The control grammar was not relaxed. A corrected probe will use a separate source revision and evidence directory.

Corrected kernel phase trace (2026-09-10 09:05:00 UTC): the strict v4 audit and raw timeline replay now pass. All 60,000 warmup and 60,000 measured requests complete with no shedding, refusal, outstanding work or stale replies. Service p99.9 is 39.676 / 38.533 / 38.090 µs (CV 2.11%, PASS), with p50/p99 passing too. No application JIT events occur during measurement. Each run's maximum is still its first reply, with costs spread across several client-side boundaries, not just a wait for the server. The verified trace retains all selected sample checks; the staging proof records the only two replaced artifacts. Startup affinity passes; live sampling has three PASS, two INCONCLUSIVE and no violations. Source/runtime remain frozen and cleanup completes. These extra-clock diagnostics are not matrix values.

First measured reply, kernel — client timeline slices (µs)
RunSend pathUntil reply stepReceive stepPost-step through foldTotal service
138.15235.72646.35020.495140.723
241.45844.13022.4924.031112.111
334.06445.65525.6644.176109.559

Corrected VMA phase trace (2026-09-10 09:08:07 UTC): all 60,000 warmup and 60,000 measured requests complete without shedding, refusal, outstanding work or stale replies. Service p99.9 is 10.725 / 10.879 / 10.887 µs (CV 0.84%, PASS); p50/p99 also pass. All selected measured timelines match the original raw timestamps exactly. No application JIT event occurs during measurement. Every maximum is again the first reply: 56.636 / 57.471 / 57.064 µs. Startup affinity passes; live sampling has six PASS, two INCONCLUSIVE and no violations. Source/runtime stay frozen and cleanup completes. See the VMA trace and 99-test JAR build review. The final verification checks evidence hashes, archived test reports and the exact table values below. The first-reply cost spans send and receive processing on both transports; its exact cold-path cause remains open. These instrumented values do not replace canonical matrix rows or justify dropping the first reply.

First measured reply, VMA — client timeline slices (µs)
RunSend pathUntil reply stepReceive stepPost-step through foldTotal service
112.13414.49119.89810.11356.636
212.34620.12722.6262.37257.471
312.79619.81421.8582.59657.064

Java multi-session readiness correction (2026-09-10): C++ already switches from direct reads to a batched readiness snapshot above four peers; pure Java was still trying every socket each sweep. The candidate Java correction keeps direct reads for at most four plaintext peers per owner and uses one nonblocking selectNow() snapshot above that threshold. Pool ownership stays fixed; TLS and blocking/stream-write modes retain their existing paths. It also restores the missing multiplexed read/parse diagnostics and retires a peer that fills its parser buffer with an incomplete header. Both bugs reproduce on the installed pre-change JAR. The Java-only build review records 234 passing engine tests (including eight new readiness/lifecycle tests) and 99 passing bench tests, with no skips. No native library, pacing recipe, JVM policy or stability gate changed. The staging verification confirms that only the Java engine JAR changed; the other 51 installed artifacts are unchanged. The subsequent normal, uninstrumented kernel/VMA sitting finished at 10:38:47 UTC. Seven cells updated the matrix after completion; VMA SHARD was rejected because only listener 0 observed Logon. The raw qualification review verifies every measured sample and exact logged quantile for the seven published cells, including their existing stability classifications. None is saturated. This is not a qualified general latency/stability fix: MONO medians barely change, kernel MONO's lower p99 comes with a worse max, and VMA POOL's p99.9 and stability worsen. Historical rows are retained in the review, but are not a same-sitting A/B control. No samples or warnings were removed.

Pure Java readiness qualification — service µs; full 50k/s cell-v4 recipe
Cellp50 / p99 / p99.9 / maxSession stability PASS / WARN / FAILMatrix
Kernel SINGLE28.379 / 33.998 / 69.375 / 171.9960 / 0 / 1partial
VMA SINGLE9.550 / 10.658 / 25.186 / 104.1830 / 0 / 1partial
Kernel MONO95.009 / 119.375 / 130.141 / 2182.06625 / 7 / 0partial
VMA MONO17.427 / 21.224 / 21.739 / 593.29126 / 6 / 0partial
Kernel POOL47.233 / 57.745 / 83.070 / 660.28927 / 2 / 3partial
VMA POOL16.844 / 20.154 / 114.673 / 588.6659 / 9 / 14partial
Kernel SHARD47.851 / 60.762 / 75.813 / 1533.16732 / 0 / 0ok

All seven published cells have complete measured delivery, zero measured shedding, zero stale replies and no raw drops/clamps. VMA MONO sheds 53,644 requests during the first warmup; the other six warmups are complete. The separately rejected VMA SHARD attempt also has complete warmup/measured raw delivery, but three idle listeners; its percentile ranks were not independently replayed and no numeric row was imported. Startup and sampled live placement passed for published cells; the rejected cell's live watch also passed. Source and runtime stayed frozen, and all benchmark processes exited. HP's later c3467059 Java busy-poll change is not in these measured binaries. The publication verification checks 273 retained evidence hashes and exact table values; all 157 offline publication and audit tests pass.

Java busy-poll verification correction (2026-09-10, build validated): HP's c3467059 adds socket setup through the JDK bridge, but silently skips an unavailable bridge and logs only the first socket attempt. SCAN reproduced both gaps with unconnected sockets. The local correction reports each socket's requested and effective SO_BUSY_POLL value, role and outcome. Explicit 0 clears and reads back the option; an unset request adds no socket work. The parameter auditor and importer require complete, matching client/server readbacks for an explicit pure-Java request. Missing, failed, duplicate or unbound evidence is rejected; 135 offline audit tests pass. Real-JDK probes also verify explicit zero, unavailable module access and later socket failures. The Java-only build qualification records 242 passing engine tests with no skips and passing benchmark compatibility tests. Source and installed artifacts stayed unchanged throughout validation; the staging readback then verifies that only the engine JAR changed, with all 51 other runtime artifacts unchanged. Both full-recipe Mellanox SINGLE explicit-zero/50 µs controls completed. Every client/server socket read back its requested value, each control delivered all 60,000 measured requests, and raw replay matches all logged quantiles and stability classifications. No measured shedding, stale replies, drops or clamps occurred; startup and sampled live affinity passed. Neither control is imported into the matrix, and no canonical default changes. The lower observed service median at 50 µs comes with higher tails and a slightly higher response median (34.292 vs 33.830 µs). Both fail stability because p99.9's sample CV is above 50%. These two ordered sittings are not a randomized/repeated comparison or a general tuning fix.

Busy-poll SINGLE controls — service µs; full 50k/s cell-v4 recipe; not matrix rows
Requested/read-back µsp50 / p99 / p99.9 / maxStability
0 / 0 (both ends)32.510 / 35.415 / 64.227 / 132.081FAIL; p99.9 CV 73.61%
50 / 50 (both ends)29.227 / 36.019 / 71.674 / 137.416FAIL; p99.9 CV 67.06%

Existing observations keep their original provenance: historical setter-only logs are not proof of the new readback requirement and cannot qualify a fresh import. SCAN's machine file still has no default busy-poll window; HP's single-cell default is 50 µs. This change does not silently copy that tuning to SCAN.

Full32 busy-poll readback check (2026-09-10 11:31:26 UTC): the already-started kernel MONO control finished with 32 server socket records and eight records from each of four clients: all 64 actual values match explicit zero. The retained control completes all 1,920,000 measured requests without shedding, stale replies, raw drops or clamps. Startup and sampled live affinity pass, source/runtime stay frozen, and all processes exit. Its partial latency result remains a separate control, not a matrix import. Work now prioritizes genuinely passing SINGLE cells, including repeat-run stability; no further multi-session sweep is queued.

SINGLE stability qualification: the fixed --jit-latency-control prepares an unlogged repeatability check of non-tiered compilation with PerMethodTrapLimit=0. The earlier logged controls identified compilation/cache-branch effects, but are not canonical results. The new control enables no JIT/GC/phase logging and accepts no arbitrary JVM flags. It remains explicitly noncanonical until qualification and a separate policy decision; all raw samples and existing stability gates remain mandatory.

Unlogged SINGLE controls: three kernel and three VMA sittings pass stability and complete all warmup/measured requests. The raw qualification reproduces every quantile and stability verdict; actual process command lines confirm the fixed policy and absence of JVM logging. The launcher-only stage leaves all 51 other artifacts unchanged. All six independently retained sittings pass; there are no discarded attempts in this qualification. Each completes 60,000 warmup and 60,000 measured requests. This supports an explicit policy adoption followed by fresh canonical runs; the candidate rows themselves remain separate. The trade-off is visible: stable kernel tails come with higher median latency than the default-tiered controls, not a universal latency reduction.

Unlogged Java-pure SINGLE candidate — service µs; each sitting retained separately
Controlp50 / p99 / p99.9 / maxStability
Kernel 134.577 / 36.374 / 40.660 / 124.455PASS
VMA 19.820 / 10.295 / 10.750 / 75.992PASS
Kernel 234.121 / 36.245 / 39.833 / 116.070PASS
VMA 29.836 / 10.383 / 10.895 / 60.990PASS
Kernel 333.305 / 35.171 / 39.374 / 118.072PASS
VMA 310.224 / 10.707 / 11.150 / 58.584PASS

Canonical Java-pure SINGLE policy (2026-09-10): following the six passing unlogged controls, SCAN explicitly selects JAVA_PURE_SINGLE_JVM_POLICY=single-latency-v1. This fixes non-tiered compilation and PerMethodTrapLimit=0 for both SINGLE endpoints, without JIT/GC/phase logging. Both JVMs must report their effective values, bound by the publication audit to the machine fingerprint, recipe, invocation and cell identity. Other flavours, all multi-session shapes and HP retain their defaults. The unchanged 50k/s target, 20k warmup, 20k measured requests per run and three-run stability gates still apply. The audited stage changes only the launcher, bench JAR and SCAN machine file; 49 other artifacts remain unchanged. The passing control rows above are not relabeled as matrix results. Onload remains pending DAC confirmation.

Fresh canonical SINGLE results: kernel completes at 2026-09-10 12:12:13 UTC with status ok, all 60,000 measured requests delivered and stability PASS. Both effective JVM records, startup and sampled live affinity, raw delivery and exact four-quantile replay pass; source/runtime remain frozen and all processes exit. See the kernel evidence. VMA also completes at 2026-09-10 12:14:09 UTC with ok, stability PASS, complete warmup/measured delivery and the same successful audits: VMA evidence. Each result updates the matrix and this handbook immediately. These are fresh observations, separate from all six qualification controls.

Fresh canonical Java-pure SINGLE — service µs, unchanged full 50k/s recipe
Transportp50 / p99 / p99.9 / maxStatus
Kernel34.139 / 35.870 / 39.953 / 123.547ok / PASS
VMA9.802 / 10.367 / 10.888 / 78.201ok / PASS

.NET Native SINGLE refresh (2026-09-10): the current managed driver passes 213 multi-client and 90 schedule tests. The managed-only stage preserves the former staging tree and leaves every installed native library unchanged. Kernel's fresh full-recipe run completes at 12:20:42 UTC with ok / stability PASS, complete warmup/measured delivery, successful startup/live affinity audits and exact raw quantile replay. Service p50/p99/p99.9/max are 21.575 / 29.878 / 37.142 / 85.196 µs: kernel evidence. This supersedes the prior partial observation, which remains in its original sitting. It does not by itself identify the cause of that older median drift. SocketXtreme completes at 12:22:25 UTC with full delivery but remains partial / stability WARN: service 8.432 / 12.608 / 19.592 / 39.701 µs, retained evidence. The warning is p99 sample CV 17.06% (13.738, 13.959, 10.128 µs per run); p50 CV is 0.17% and p99.9 CV 3.46%. Large delays often recur at 256-request intervals while scheduler delay stays low. This is a batching-path lead, not yet a causal finding. No samples or stability thresholds are changed.

SocketXtreme 64-buffer refill control (2026-09-10 12:34:48 UTC): the fixed, explicitly noncanonical launcher control changes only VMA's RX pool refill batch from its 256 default to 64. Both endpoint startup records confirm 64. It completes every warmup/measured request and passes pinning/raw audits, with service 8.358 / 9.891 / 15.740 / 38.867 µs. p99 CV falls to 2.06%, but p99.9 CV is 29.74%: WARN, not a qualified fix. Retained control; no canonical row or default changes. The matching explicit-256 control also completes delivery and remains WARN: 8.286 / 12.467 / 17.664 / 41.673 µs, p99 CV 16.92%. Its per-run p99 values (13.730, 13.640, 10.032 µs) reproduce the canonical default's high/high/low pattern. The smaller RX refill addresses p99 variability in this comparison but does not qualify overall stability.

SocketXtreme TX-batch control: at fixed RX refill 64, TX completion batching 4 is confirmed by both VMA startup readbacks. All requests complete, but service 8.379 / 9.753 / 15.812 / 41.036 µs still warns on p99.9 CV 25.92%: retained control. This does not qualify a TX tuning fix, and defaults remain unchanged. Source review also finds a per-request id.ToString(...) allocation in the .NET Native sender. Its causal relationship to the periodic stalls remains to be tested; removing it must preserve in-measurement ID formatting.

.NET Native numeric-ID correction: the sender now formats the decimal NOS correlation ID into a stack buffer during the measured send, instead of allocating a managed string for each offer. It calls the unchanged native composition entry point; no native library or VMA default is changed. Seventeen focused tests pass with no skips, including real kernel FIX replies, signed decimal boundary values, unchanged schedule/error handling, and zero managed allocation over 120,000 numeric native calls. The 213 multi-client and 90 schedule regressions also pass. The managed-only stage is verified. The first fresh canonical SocketXtreme SINGLE sitting finishes at 13:05:36 UTC with ok / stability PASS: service 8.741 / 10.446 / 16.575 / 39.672 µs, complete warmup/measured delivery, successful startup/live affinity audits and exact raw replay. Retained evidence. The kernel regression finishes at 13:07:22 UTC with ok / stability PASS, service 21.525 / 28.678 / 31.932 / 67.393 µs, complete delivery and passing affinity/raw audits. The unchanged second SocketXtreme sitting finishes at 13:08:58 UTC: ok / stability PASS, service 8.272 / 10.187 / 14.662 / 37.247 µs, full delivery and successful affinity/raw audits. The third sitting finishes at 13:10:31 UTC with ok / stability PASS, service 8.241 / 9.841 / 16.147 / 35.946 µs, again with full delivery and passing affinity/raw audits. All three consecutive sittings pass: nine measured runs, 180,000 measured replies and 180,000 warmup replies, no shedding or deficits. The repeatability review revalidates every retained evidence hash and reports each run's quantiles and sample CV. VMA settings, native libraries, workload and stability gates remain unchanged. This supports the correction's repeatability, but does not establish that GC caused the former 256-request periodic stalls.

Current Single status (OPEN v4, 2026-09-10 13:53 UTC): 20 of the original 21 supported Single combinations are ok, with no failed Single cells. Java-pure/Onload now passes after the corrected JVM policy is verified on the restored Solarflare link. C++/SocketXtreme is the remaining partial observation: full delivery, but p99.9 variability above the unchanged warning threshold (details below). Historical matrices and unsuccessful diagnostic controls retain their original verdicts; new Rust capability cells are separate coverage.

.NET Native/VMA Single regression (13:16:31 UTC): the same staged numeric-ID driver also passes its full VMA Single cell: 8.467 / 9.173 / 9.661 / 38.092 µs service, ok / stability PASS. All 60,000 warmup and 60,000 measured requests complete; startup/live affinity and raw delivery/quantile audits pass. The native libraries and VMA defaults remain unchanged. See the retained VMA evidence. This completes the new sender's kernel/VMA/SocketXtreme Single regression; Solarflare tests remain paused pending DAC confirmation.

Native SocketXtreme MONO failure (13:19:03 UTC): the 32-session rerun logs on all clients but aborts in the first warmup; three client processes receive no payload replies. No measured samples exist. The failure report retains all phase counts, the prior numeric row and the successful startup/live pinning audits. The matrix now shows a status-only failure, not old latencies presented as a new measurement. The investigation found a separate defect in the direct runner's cached-readiness loop: an always-ready snapshot can survive empty reads and prevent further listener/shared-ring pump calls. A socket-free regression reproduces that starvation before the fix. Empty-read refresh and bounded listener checks pass the regression, EOF checks, fake TCPDirect lifecycle, VMA ownership/poll failure, pool, real-loopback pollless and failure-caller tests. Attribution correction: .NET Native uses hftNetStepAcceptorImpl, not that cached-readiness loop; JNI likewise has its own serve iteration. Both poll readiness on each pass. Therefore the direct-runner correction does not establish the cause of this .NET Native failure. The production rebuild confirms that libhftnet.so is byte-for-byte unchanged. The Mono failure remains unresolved; Single results are unaffected by it.

Post-rebuild Single checks (2026-09-10): the verified production stage replaces five C++ binaries and four JNI library copies; all 43 other runtime files, including .NET Native, remain identical. No vendor libraries, compiler settings or benchmark gates change. The C++/kernel Single regression passes at 13:42:22 UTC with service 19.426 / 27.179 / 29.882 / 56.987 µs, complete measured delivery and passing affinity, raw replay and stability checks. The C++/VMA Single regression also passes at 13:43:57 UTC: service 6.777 / 7.705 / 7.865 / 25.857 µs, with complete measured delivery and the same successful audits. The C++/SocketXtreme Single regression finishes at 13:45:23 UTC with partial / stability WARN, service 5.904 / 7.411 / 13.567 / 28.712 µs. Every warmup and measured request completes, and affinity/raw audits pass. Its three service p99.9 values are 11.564, 11.578 and 17.560 µs: sample CV 25.486% exceeds the existing 25% warning gate, while p50/p99 CVs pass. In run 3, 60 of 62 samples at or above 15 µs cluster on two modulo-256 offsets; scheduler delay for those tail samples stays below 0.554 µs. This resembles the earlier .NET Native SocketXtreme periodicity but does not identify its cause. All samples and the new partial verdict remain published. The JNI/kernel Single regression passes at 13:50:57 UTC: service 25.569 / 31.562 / 37.573 / 104.890 µs, complete measured delivery and successful affinity/raw/stability audits. JNI VMA/SocketXtreme regressions remain pending. These are regression measurements, not evidence that the separate native Mono failure is repaired.

Java-pure/Onload Single repaired (13:53:43 UTC): both Solarflare ports report live carrier, and the physical-port TX counter advances during the link check. The full canonical cell with the qualified single-latency-v1 JVM policy is ok / stability PASS: service 9.967 / 10.736 / 11.235 / 61.055 µs. All 60,000 warmup and 60,000 measured requests complete without shedding; both JVMs read back the required compilation settings, and startup/live affinity and exact raw replay pass. No samples or stability gates change. See the retained Onload evidence.

C++/SocketXtreme Single TX recycling investigation: version-matched VMA source has a 2048-entry TX queue and 256-buffer ring-pool refills; its SocketXtreme RX poll does not drain TX completions. The new fixed --diagnostic-sx-tx-wre 128|2048 C++ launcher control tests whether earlier TX recycling avoids the periodic tail. It changes no vendor binary or canonical setting. Both choices are noncanonical, and invocation, recipe, environment, diagnostic marker and effective nondefault queue readback independently prevent publication. The first 128-entry control completes all warmup/measured requests and passes affinity/raw audits. Its service is 5.929 / 7.390 / 16.414 / 26.204 µs, with stability PASS, but the modulo-256 tail remains in every run. The stable warning status alone is not a repair: this control is not adopted, and the canonical partial stays in the matrix. The explicit 2048-entry default-depth control also passes, with service 5.930 / 7.470 / 11.715 / 24.828 µs and complete delivery plus successful audits. It has lower p99.9 than the smaller queue. Neither diagnostic replaces the canonical row; queue depth is not an established remedy for the observed variability.

The next C++/SocketXtreme control uses the separate receive-counter binary to record bounded send/receive phase timing and thread page-fault deltas. Storage is prepared before readiness; output follows phase completion, and every normal raw sample remains retained. Additional clocks can perturb this diagnostic, so both its tool name and timeline records reject canonical publication. Normal binaries compile out the new probe. This investigation has not yet established the cause or repaired the canonical partial. The completed client trace (14:28:51 UTC) retains all 60,000 warmup and 60,000 measured replies. Exact raw replay gives service 5.958 / 7.511 / 11.533 / 27.872 µs; all 496 selected measured timelines match their raw samples, with no trace omissions. Each measured run has 79 slow positive receive steps, with median duration about 6.5–6.6 µs, plus a separate periodic waiting-time tail. Sends are generally short, and measured client minor/major page-fault deltas are zero. This narrows the investigation but does not separate peer work from network delay. Live affinity passes; the ordinary offline identity audit correctly rejects the counter tool. Explicit read-only diagnostic identity adapters verify startup placement and raw metrics without changing input logs or permitting canonical publication. The original rejection remains retained. The first probe build also exposed a C++11 compatibility error; it was corrected and regression-tested before the successful GCC 14 build and diagnostic-only staging. No normal or vendor library changed.

C++/SocketXtreme delay localized to the vendor polling call (14:44:09 UTC): the second diagnostic and staging proof separates SocketXtreme polling, held-packet release and remaining receive-step work. In each run's recurring slow positive-receive group, median poll time is 5.913–6.120 µs, packet release is 0.107 µs, and remaining receive work is 0.736–0.739 µs. All 492 selected measured timelines match the full raw series; all warmup/measured requests complete, with zero measured client page faults and successful live and explicit diagnostic startup affinity checks. Instrumented service is 6.155 / 7.805 / 11.873 / 29.579 µs. These clocks identify the API interval, not yet the internal VMA operation or possible interruption. A separate periodic waiting-time tail remains. The counter binary alone changed during staging; the other 51 runtime artifacts, including the normal server/client and vendor libraries, remain identical. The canonical row stays partial. Further private VMA instrumentation requires approval; the installed system library has not been modified.

C++/SocketXtreme no-batching control (15:07:53 UTC): disabling buffer batching at both endpoints completes all 60,000 warmup and 60,000 measured requests with startup/live affinity and stability PASS. Service is 6.040 / 7.576 / 15.234 / 25.340 µs, response 6.324 / 7.889 / 15.541 / 26.057 µs. The recurring tail remains: each measured run has 106–158 samples at or above 10 µs, concentrated at a few positions modulo 256. See the full no-batching evidence and staging proof. Only the allowlisted root launcher changed; benchmark and vendor libraries did not. Both independent publication gates reject the diagnostic. The canonical partial row remains visible.

C++/SocketXtreme default-buffer comparison: the matching default-policy control also completes every warmup/measured request with stability and startup/live affinity PASS. Service is 5.932 / 7.575 / 11.993 / 26.616 µs, response 6.234 / 7.905 / 12.304 / 27.170 µs. The default has lower p99.9 than the no-batching candidate, and the periodic tail persists with either policy. Disabling batching is rejected as a remedy. Both controls remain diagnostic, including the successful default run; neither replaces the canonical partial observation. Private instrumentation inside VMA still awaits approval. No library, sample count or stability threshold changed.

Native SocketXtreme slot-reuse correction (2026-09-10): the native transport move leaked a registered socket allocation, and resetting the vacated slot made the next accept allocate a socket absent from the listener's peer registry. The fix preserves the registered object set through both compaction and reset. An exact pre-fix implementation control fails; corrected tests at capacities 32 and 128 deliver to all 32 clients before and after removal/reacceptance, including owner-thread handoff. Partial-borrow moves and exact-once buffer release pass too. AddressSanitizer and leak checking pass on the host; the sandbox's earlier tracing-related LeakSanitizer refusal is retained. See the ownership regression evidence. These tests seed post-Logon state and use an inert VMA API: they do not prove that the earlier pre-disconnect MONO stall is fixed. The GCC 14 production rebuild and staging completed: only the five native-library copies changed; all 47 other installed artifacts were retained.

Native/kernel SINGLE regression (2026-09-10, 15:33 UTC): all 60,000 warmup and 60,000 measured requests complete, with zero shedding or raw-sample loss, at 49,997/s against the 50,000/s target. Startup and sampled live affinity pass. Service p50/p99/p99.9/max are 23.093/29.084/32.306/67.241 µs; response values are 25.092/33.027/35.137/68.524 µs. The cell remains qualified as partial: service medians of 24.862/22.050/22.368 µs produce 6.67% CV, above the unchanged 5% warning threshold; p99 and p99.9 CV are only 0.60% and 0.21%. This is complete delivery with a median-repeatability warning, not a missing sample or throughput failure. See the raw-derived regression and staging evidence. A raw distribution review finds concentrations near 21 and 26 µs: the share below 23 µs changes from 41.27% to 54.73% and 52.01%, moving the median between them. Mean-latency CV is 1.52%, versus p50's 6.67%. This describes the warning's sensitivity, not the cause of the two concentrations; the mean is not substituted for p50. VMA/SocketXtreme hardware regressions remain separate; no vendor library or stability threshold changed.

Native VMA and SocketXtreme SINGLE regressions (2026-09-10): both pass with the rebuilt native library, unchanged runtime settings and stability thresholds. Each completes all 60,000 warmup and 60,000 measured requests without shedding, refusal or raw-sample loss; startup and sampled live affinity pass. The 15:43 UTC VMA result has service p50/p99/p99.9/max 8.353/8.796/9.194/36.831 µs; response values are 8.660/9.184/9.534/38.138 µs. The 15:44 UTC SocketXtreme result has service 8.511/10.589/18.160/37.400 µs and response 8.775/10.871/18.455/39.545 µs. Both achieve 49,999/s against 50,000/s. These Single controls do not establish that the earlier 32-session SocketXtreme stall is fixed.

Native/SocketXtreme MONO full retry (2026-09-10, 15:48 UTC): the rebuilt native runtime completes all 32 sessions, including all 1,920,000 warmup and 1,920,000 measured requests, with no shedding, refusal or raw loss. The canonical v4 cell moves from failed to partial. Service p50/p99/p99.9/max are 12.382/18.308/21.526/39.534 µs; response values are 13.476/19.703/23.212/41.872 µs. Each session targets exactly 1,562.5/s (50,000/s aggregate), with 1,562/s reported after integer formatting. Startup and sampled live affinity pass; raw quantiles independently replay. Stability is 17 PASS / 15 WARN / 0 FAIL: all warnings are p99 CV above 10%, with the largest 18.84%, not missing replies or failed pacing. The previous pre-disconnect stall did not recur, but this run alone does not isolate its cause from the native rebuild. No failed historical evidence is discarded. See the complete regression evidence.

C++/TCPDirect SINGLE confirmation (2026-09-10, 15:41 UTC): the unchanged canonical v4 run passes again: service p50/p99/p99.9/max are 4.771/5.024/5.151/15.886 µs, response values are 5.088/5.401/5.498/16.837 µs, and throughput is 49,999/s against 50,000/s. All 60,000 measured replies are present, raw quantiles independently replay, and startup/sampled live affinity pass. Service CV is 0.30%/0.38%/2.29%: all unchanged stability gates pass. The current v4 matrix is ok; the historical v3 partial observation belongs to a different schedule and is not overwritten. See the confirmation evidence.

C++/Onload POOL backfill (2026-09-10, 15:53 UTC): the previously unmeasured v4 cell passes with all 32 sessions stable and all 1,920,000 warmup plus 1,920,000 measured requests delivered. No shedding, refusal or raw loss occurs. Service p50/p99/p99.9/max are 8.847/10.137/10.485/26.181 µs; response values are 9.646/11.300/11.545/27.817 µs. The target is 1,562.5/session/s, with 1,562/s reported after integer formatting. The coordinator reads back core 19 and workers 10/11/12/13; startup and sampled live pinning pass. Raw-derived quantiles and all 32 service stability verdicts independently agree with the logs. See the full backfill evidence.

C++/Onload SHARD backfill rejected (2026-09-10, 15:58 UTC): all 1,920,000 warmup and 1,920,000 measured requests complete, and all 32 sessions pass stability, but only shard 3 reports successful Logon. Shards 0/1/2 start on their requested cores without participation evidence. This is not a qualified four-active-listener measurement. The old auditor skipped C++/Onload admission and briefly imported an ok row; its numeric fields are now withdrawn, with the entire observation retained in the rejected backfill report. Both the parameter auditor and importer now require all C++/Onload owners to report Logon, just as for VMA. The cold check does not independently count each shard's application messages. The Onload listener-distribution cause remains under investigation; no transport setting or vendor library has been changed to hide this failure.

Onload shard launch correction (2026-09-10): the installed Onload build defaults EF_CLUSTER_SIZE to zero, disabling reuse-port clustering. The C++ FIX launcher did not override it. The launcher now derives the exact cluster size from --shards for a sharded server, keeps it zero for clients and non-sharded servers, and clears inherited cluster overrides. C++ and pure Rust share this bounded launch rule. The parameter auditor and importer require the matching server launch stamp as well as successful Logon on every listener; configuring a cluster alone cannot qualify the cell. No vendor library changes are involved.

Full-size C++/Onload SHARD validation completed (17:03 UTC): all four listeners now report successful Logon. All 32 sessions complete at the exact 50k/s aggregate target, with service p50/p99/p99.9/max 7.898 / 8.382 / 9.084 / 28.186 µs and response 8.639 / 9.543 / 10.027 / 29.486 µs. The matrix is populated. Service CV is 0.30% / 2.31% / 1.59%; startup affinity verifies server cores 10–13 and clients 15–18. The live watcher has 13 PASS, one INCONCLUSIVE, and no violations. Source and runtime remain frozen, and no FIX processes remain. This cold participation evidence is not a per-shard application-message counter. The parameter checker also notes that this C++ shard path lacks a bench_profile stamp, leaving that functional-profile readback unverified. The observation is therefore explicitly complete · audit warning, not a full parity pass. The stamp and the checker's all-profiles-absent bypass still need correction. The retained validation report preserves the original imported verdict and the reason for this qualification.

Kernel TCP: Mellanox versus Solarflare (2026-09-10): matched C++ Single controls use the same installed binary, server/client cores 10/15, 50k/s shared-epoch open schedule, and 20,000 warmup plus 20,000 measured requests per run, three runs per sitting. Neither NIC uses Onload, TCPDirect or VMA. Order is Mellanox → Solarflare → Mellanox to check time drift. These are separate NIC-path observations, not replacements for the primary Mellanox kernel row.

NIC / legService p50 / p99 / p99.9 / max (µs)Response p50 / p99 / p99.9 / max (µs)Achieved / target (/s)
Mellanox, before19.142 / 27.507 / 29.796 / 82.40619.899 / 29.039 / 30.419 / 83.39449,998 / 50,000
Solarflare28.241 / 29.943 / 36.305 / 77.53029.377 / 31.531 / 37.879 / 82.14049,997 / 50,000
Mellanox, after19.222 / 27.589 / 29.925 / 81.93520.059 / 29.125 / 30.491 / 82.69949,997 / 50,000

Mellanox's first control delivers all 60,000 warmup and 60,000 measured requests, with service CV 0.78% / 1.16% / 0.66%. Parameter, placement and raw-data checks pass. Solarflare also delivers all requests and passes those checks, with service CV 0.21% / 0.13% / 9.55%. Mellanox's final control likewise passes, with service CV 0.19% / 0.86% / 0.34%. The two Mellanox medians differ by only 0.4%; Solarflare's median is about 47% higher than their average. This test does not support Solarflare being faster for kernel TCP under the current settings. It compares the existing NIC/driver configurations, not the cards' best achievable performance; interrupt moderation and IRQ routing have not been equalized or diagnosed.

Configuration-timing caveat: after this comparison was collected, the operator reported setting net.core.busy_read=50 and net.core.busy_poll=50. Both read back as 50 at 17:11:42 UTC, but their change time relative to the three sittings is not yet established. The comparison is therefore provisional: source/artifact hashes do not capture mutable kernel settings. The values are retained, not silently reclassified as a matched sysctl control. In the current C++ code, SetBusyPoll(0) skips setsockopt: a printed busy_poll_usecs=0 does not prove the socket default is zero. A fresh unconnected host TCP socket reads back 50 µs after the change; an explicit zero on that temporary socket reads back zero, with the global settings untouched. See the NIC comparison evidence and limitations. Effective socket readback and kernel-setting snapshots are required before a further matched comparison.

32-session Java MONO policy qualification (2026-09-10): the logged non-tiered / zero-method-trap-limit candidate now has a full kernel MONO control, without client phase tracing. All 1,920,000 measured requests complete at the unchanged 50k/s aggregate target (1,562.5/session); all 32 sessions pass the existing service stability thresholds, independently replayed from raw samples. This is not yet a qualified policy: the initial warmup sheds 8,685 requests, and one server application JIT event still occurs during measured run 1. Runs 2 and 3 have none. The original warmup evidence and all measured samples are retained. Startup placement and sampled live affinity pass: MONO server 10, clients 11/12/13/15, as configured (the 15–18 client set belongs to POOL). Source/runtime remain frozen and cleanup completes. See the kernel candidate review. The matching logged default-policy kernel control also passes all 32 sessions, with all 1,920,000 warmup and 1,920,000 measured requests delivered and no shedding. Its measured application JIT event counts are 12/0/0, all on the server. Default-policy service p50/p99/p99.9/max are 95.277/152.878/160.770/370.724 µs, versus the candidate's 100.037/162.563/173.951/389.466 µs. These cell summaries are maxima of the per-session three-run means, not pooled percentiles or absolute maxima. This pair does not demonstrate a kernel MONO improvement from the candidate, nor attribute the roughly 95–100 µs median to JIT activity.

The VMA candidate control completes all 1,920,000 measured requests, but still warns on two sessions (30 PASS / 2 WARN). It sheds 96,269 warmup requests; measured shedding, missing samples, stale replies, raw drops and clamps are zero. Its measured application JIT event counts are 1/0/0. Thus the passing SINGLE pair does not generalize to a fully stable MONO policy. Startup and sampled live affinity pass, with VMA maintenance on 14, and source/runtime remain frozen through cleanup. The matching logged default-policy VMA control also completes every measured request but warns on three sessions (29 PASS / 3 WARN), with 34,646 warmup requests shed. Its measured application JIT event counts are 46/0/0. Both policies retain median-variance warnings; the candidate does not cure them and has more warmup shedding in this pair. These are individual controls, not an estimate of warning probability. None of these logged diagnostic values replace canonical matrix rows or clear their partial status. The verification report retains the analysis scripts and checks raw evidence hashes, frozen source and runtime, diagnostic rejection and the generated comparison below.

Java-pure MONO diagnostics — 32 sessions, 50k/s aggregate; not canonical matrix values
TransportJVM policy (both logged)Sessions PASS / WARNWarmup shedService p50 / p99 / p99.9 / max (µs)
kerneldefault32 / 0095.277 / 152.878 / 160.770 / 370.724
kernelnon-tiered + zero trap limit32 / 08,685100.037 / 162.563 / 173.951 / 389.466
VMAdefault29 / 334,64617.320 / 21.191 / 21.857 / 448.888
VMAnon-tiered + zero trap limit30 / 296,26918.742 / 23.137 / 23.733 / 515.762

What the original MONO partials mean: raw replay of the retained September 8 captures confirms complete measured delivery and the original warning classifications. Kernel has one warning session: its three service medians are 86.752/75.912/87.444 µs (sample CV 7.76%, above the 5% warning threshold), while its p99/p99.9 are stable. VMA has three median-variance warnings (CV 5.36–6.17%) and one p99.9 warning (31.541/20.949/20.747 µs, CV 25.29%, above 25%). These are different stability failures, not missing replies or evidence that every warning is a compiler pause. Those older runs have no JIT chronology and are not same-binary controls for the current policy experiment. Original samples, rows and warnings remain unchanged.

JNI optional-TLS build correction: the ordinary TCP proxy-aware dial helper was accidentally hidden inside an OpenSSL-only block. It is now available in both builds; the actual JNI acceptor/pool regression compiles and passes with TLS disabled and enabled. The normal benchmark build keeps TLS enabled; no benchmark transport or proxy policy was changed.

Java/VMA shard topology audit correction: the startup auditor now expects one server JVM for both Java providers, matching the harness's four-listener VMA topology. It also requires the explicit shard count, one acceptor thread per shard, exact worker-core list, multiplexing and reuse-port flags. Previously it rejected valid pure-Java launches and could accept JNI transcripts with no declared shard count. Actual worker and VMA-maintenance readbacks remain mandatory; this correction does not relax placement checks.

Kernel busy-poll isolation correction: mixed-transport harness runs now clear the kernel-only busy-poll flags before selecting each cell. Previously a kernel window could leak into subsequent native-backed VMA or Onload launches. The canonical OPEN sweep also clears ambient BUSY_POLL_USECS and LIBHFT_BUSY_POLL_USECS, retaining the committed machine-file default (including HP's single-session window). Direct bench.sh diagnostics may still set an explicit override. This was reproduced in inert routing/environment tests, not attributed as the cause of SCAN's earlier VMA stall, which had no window configured.

Earlier live-watcher qualification: sample 104 in open-v4-gcc14-20260908-9PgBhs/pinning-watch.log reports a violation for .NET threads pinned on housekeeping cores 0–9 during managed/kernel/single startup. The next sample accepts the same cores once each has two idle threads. Review found an inconsistent singleton/shared-thread placement check in the watcher. The retained log records the process name, not each thread's role, so those historical threads cannot be conclusively identified as GC workers. The corrected watcher reads each actual task name and allows only identified CLR server-GC workers on explicitly declared housekeeping cores; unknown off-isolated pins fail whether alone or shared. Positive CPU-delta collision checks remain in force. Its 19 inert regression tests pass, but the correction does not retroactively certify those historical thread identities. Startup measurement-core read-back passes remain separate evidence; this sitting does not claim an all-PASS live audit.

GCC 14 C++/kernel/mono window replay: all 1,920,000 measured exchanges reconcile across three 12.8-second intended phases. Full one-second windows contain 49,999–50,000 actual task starts and 49,997–50,001 completions. At the sampled window boundaries, generator backlog is zero and outstanding replies fluctuate between one and two; these boundary samples do not rule out shorter intra-window delays. Final drain takes 32.679–37.124 µs. The exact final scheduled slot lies at phase end and is included in the separate drain accounting. This supports sustained delivery of this 50,000/s workload, not a maximum-rate claim. The matrix row remains partial for run-to-run latency variance.

Pure Java/VMA fallback confirmed in the GCC 14 baseline: at 2026-09-08 13:58:07 UTC, the active mono cell's exclusive port 45758 had all 32 established connections in both namespaces' kernel tcp6 tables, using IPv4-mapped IPv6 addresses. The server was PID 3029780 and the first client PID 3031396. Java's default channel family is IPv6 on this host, while VMA 9.8.80's socket-offload path accepts only AF_INET. These are kernel-fallback measurements with VMA loaded, not accelerated VMA latency. The same launcher/channel configuration is used by the earlier pure-Java VMA single result; its historical socket table was not captured. JNI opens IPv4 sockets explicitly. The benchmark launcher now requests the IPv4 stack in each Java path, without changing production Java APIs. The correction is staged and local/installed launcher SHA-256 hashes match. The latest readiness-gated mono retry above confirms offload at all 64 endpoints and complete measured delivery; its timings remain partial for run-to-run instability. The original baseline was not changed mid-sweep. Direct access to root-owned FD links was unavailable; live attribution uses the exclusive cell port, namespace, endpoint addresses and exact launcher command lines. The first client's VMA statistics also showed no socket or ring blocks while the kernel flows were present. That one diagnostic reader ran on housekeeping cores during the cell; no latency effect is assumed absent. Retained observations and their limitations: java-pure-vma-family-20260908-JDgrEn under the external benchmark evidence root.

The contract also fixes what must not happen. Any deviation invalidates the cell:

ExpectationValueMeaning
store / auditnone / offNo persistence on the hot path.
schedule / TLSoff / offNo session-window gate, no encryption.
resends0A gap-fill means the run measured recovery, not steady state.
reconnects0A reconnect means sessions dropped mid-measurement.
rejects / disconnects0 / 0Any rejected message or dropped session voids the cell.

Every run stamps bench_standards (version, recipe, source path, fingerprint) and bench_params (tool, host, epoch, full argv) into its own log, and the server prints a bench_profile line declaring the acceptor shape it actually used. Those three lines are what makes a result auditable after the fact rather than trusted.

05Core pinning

the rules are the method's; the core numbers are each machine's, from bench/load/load-bench-machine-<host>.conf

Every measuring thread runs on an isolated core (isolcpus), never on a housekeeping core, which carries the box's interrupts. isolcpus only removes cores from the default affinity mask: a thread that is not explicitly pinned still lands on housekeeping, so every server and client pins itself and reports where it landed.

The rules the machine files encode, scenario by scenario: one core per serving thread on the server side (one for mono, M for a pool or M shards); client processes on cores disjoint from the server's; the VMA maintenance thread on a reserved core that no application thread uses; and nothing measured ever placed on housekeeping. Placement is stated per scenario, not derived at run time, and the smoke audit compares what each process reported against what the file demanded.

Client model

One client process per client core, each driving N/procs sessions from one thread. The alternative -- a process per session -- oversubscribes the client cores 3-5x and moves the client's own cost whenever the server's core count changes, which is how a thread pool once "lost" for reasons that had nothing to do with acceptors.

How placement is proven

Each process prints its affinity after pinning; the smoke runner reads those lines back and fails a cell whose server or client threads sit anywhere other than the cores its scenario names. An idle listener with no serving thread has no affinity to read, so a run is only trusted when every requested core reported.

The live watcher identifies actual FIX executables, .NET payloads and Java main classes from process arguments, including repository/scratch launches. Build/compiler processes and parent shells that merely mention a benchmark are not measurement threads. An empty scan remains inconclusive, never a placement pass.

hp

isolated 8-17 · VMA maintenance thread 13 · housekeeping 0-7 · Pool coordinator (separate from workers) 8

scenarioserver coresclient cores
1 · single914
2 · mono910-12,14-17
3 · pool9-1214-17
4 · shard9-1214-17

scan

isolated 10-19 · VMA maintenance thread 14 · housekeeping 0-9 · Pool coordinator (separate from workers) 19

scenarioserver coresclient cores
1 · single1015
2 · mono1011-13,15-19
3 · pool10-1315-18
4 · shard10-1315-19

06The scripts

who does what, and what runs as root

The launcher

ops/scripts/bench-run is the single root-owned entry point. Every harness invokes it through sudo ip netns exec <ns>. It resolves the tool, guards the NIC driver, applies the accelerator, and execs a fixed, root-owned binary path. Callers pass validated flags only — never environment variables, because sudo env LD_PRELOAD=… <binary> is arbitrary root code execution. An unknown tool name is refused rather than exec'd as a path.

Tool names follow one rule: <flavour>_fix[_<transport>], with transports onload | vma | zf | sx — so a cell's tool is predictable from the two matrix axes.

ScriptScenarioResponsibility
bench.sh1–4The one harness for every scenario and flavour: launches cells, applies the core map, uses the shared result gate, and emits canonical CSV rows.
smoke-matrix.shallBehaviour check over all 84 supported cells with the pinning audit. Tiny iteration counts; its latencies are meaningless by design.
load-bench-common.sh—Shared result schema, verdict, barrier, output safety, provenance, standards, capability and machine-file access.
import-smoke-results.py—Imports only sustained, positively pin-audited smoke rows and records per-cell provenance.
gen-matrix.py · gen-handbook.py—Render the published pages from results and capability data. Generated, never hand-edited.
check-bench-params.sh—Compares each result's stamped parameters against the standards.
parity-audit.sh—Regenerates scenario support from engine source.
pinning-audit.sh—Static, live and watch modes for core placement.
Nothing under bench/ executes from the repo

Cells run from /usr/local/libexec/libhft-bench/. A build without the matching libhft-bench-install <artifact> measures old code. The artifact names do not map one to one onto directories: dotnet-native installs only the managed tree — the native libhftnet.so is a separate libhftnet target; the jars are java-jar / fixbench-jar and are built by build-java-bench.sh, not by make -C engine/java. This has silently produced stale-binary measurements more than once, which is why the preflight exists.

07Running a bench

the order that keeps a run honest

1

Build every stack

C++ (bench_roundtrip, plus zf_session and vma_session for the bypass arms — not make zf, which builds a different binary), the JNI native, the jars, and both .NET stacks.

2

Install every artifact

libhft-bench-install for each: bench-run, bench-standards, bench-capabilities, bench-machine, the three C++ binaries, libhftnet, libhftjava, the jars, dotnet-native, dotnet-pure.

3

Smoke the full matrix

smoke-matrix.sh — 84 supported cells, tiny iteration counts, behaviour and placement only. Four harness defects were once found inside full runs at 15–30 minutes each; none needed 20 000 iterations to expose.

4

Measure

Run the scenario harnesses at the standard recipe. Numbers from a smoke recipe are not comparable across flavours — under-warming penalises exactly the JIT-dependent arms.

5

Record and publish

run-open-matrix.py --out <new-sitting-directory> runs the supported cells sequentially, imports each completed cell that passes the evidence audits into results-<host>-open.tsv and regenerates the latency matrix and this handbook immediately. Audit failures stop the sitting before import. Interrupted sittings can resume; raw samples, logs and failed attempts stay in their original directories.

Two throughput benches

Target throughput: offer a fixed aggregate request rate, independently of replies, and report response latency, achieved rate, late sends and incomplete work. The standard target is 50 000 requests/s for the whole cell, not for every session.

Maximum throughput: sweep open-load rates to find the highest repeatable, sustained completed request/reply rate for the same topology and resources. Report the last passing / first failing rate bracket and response latency at the passing rate. The current closed-loop test is limited to one outstanding request per session; it does not establish this maximum.

The maximum-throughput view is not measured yet. Candidate rates can be run today, but an automated sustained-rate search, backlog validation and dedicated publication path remain to be implemented. Do not copy closed or fixed-target results into it.

Run Target throughput

From the repository root on scan, after the build, installation and smoke gates above: first inspect the read-only plan, then use a new evidence directory for the actual sweep.

taskset -c 0-9 python3 bench/load/run-open-matrix.py --host scan --schedule-version 4 --list

bench_target_root=$(mktemp -d /home/yann/libhft-bench-runs/target-throughput.XXXXXX)
taskset -c 0-9 python3 bench/load/run-open-matrix.py --host scan --schedule-version 4 \
  --out "$bench_target_root/sitting"

Add --only '^cpp/kernel/(single|mono|pool|shard)$' to select cells. The driver enforces open / nos_er / 50 000 aggregate, captures raw samples, audits each cell and updates both HTML pages after import. It ignores inherited rate and iteration overrides. V4 uses exactly 1 562.5/s per session at 32 sessions, with a shared epoch and rational cell-wide slots. It writes a separate v4 matrix; missing cells never borrow old values. Omitting the version flag retains historical v3 (49 984/s effective aggregate and its batch-pacing limitation). Check the latest v4 smoke verdicts and outstanding qualifications before starting a new full sweep; these instructions do not certify that every flavour/transport is ready.

Run Maximum throughput candidates

Use bench.sh directly for experimental rates; the target sweep driver always resets the rate to 50 000. This example is one C++/kernel/single candidate at 100 000 aggregate requests/s, with 30 seconds of intended offered work per measured pass:

bench_max_root=$(mktemp -d /home/yann/libhft-bench-runs/maximum-throughput.XXXXXX)
env -i HOME="$HOME" USER="$USER" LC_ALL=C \
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
  BENCH_MACHINE=scan BENCH_STANDARDS="$PWD/bench/load/load-bench-standards.conf" \
  OPEN_SCHEDULE=cell-v4 LOOP_MODE=open WIRE=nos_er TPUT=100000 \
  WARMUP=20000 ITERS=3000000 RUNS=3 BENCH_RAW_SAMPLES=1 \
  taskset -c 0-9 bash bench/load/bench.sh --scenario single \
  --only '^cpp/kernel$' --out "$bench_max_root/rate-100000"

TPUT is aggregate; ITERS is per session. For each candidate rate and session count, use ITERS = ceil(TPUT × duration_seconds / sessions) to avoid shortening the offered window as the rate rises. This is not a duration-driven steady-state validator: shedding can finish slots without completing the work, and draining can extend elapsed time. Require full validated delivery, no shedding or growing backlog, compliant scheduling and repeatability before accepting a rate. Keep resources, in-flight cap and arrival policy fixed; distinguish a generator limit from a server limit. A latency-bounded maximum additionally needs a declared latency budget.

Increase candidate rates until one fails, refine the bracket and repeat the boundary runs. Keep every attempt in a separate directory. Do not import candidate rows into either target-throughput TSV. The v4 importer enforces its canonical workload; the historical importer must not be used to bypass it. Preflight raw-storage and JVM heap requirements before duration-scaled candidates; an audit or memory limit is not an engine-capacity result. Detailed commands for all four layouts, validation requirements and remaining work: Throughput bench runbook.

Recipe discipline

The default smoke runs 200 warmup / 200 measured / one run, with one session for single and four for multi-session shapes. Its latencies are printed as temporary smoke values, not steady-state performance: compilation and cold-path allocation can enter measurement, and p99.9 over 200 samples resolves to the maximum. Cross-flavour comparison requires the standard recipe and passing stability/parity gates.

Raw FIX capture is not latency sample capture. The Java-pure and JNI remote nos_er clients and servers disable unused inbound/outbound raw FIX publication by default. Leaving outbound capture on fills an undrained ring, so short and full warmups measure different capture work. Explicit diagnostic overrides remain available; market-data scenarios retain inbound frames for full-depth extraction. Raw latency sample capture remains controlled independently by BENCH_RAW_SAMPLES; these FIX-frame settings do not change it.

The .NET Native multi/open client likewise disables unused outbound FIX publication, while retaining inbound frames for extraction. A 50 000/s kernel replay identified 744 publication drops and 205 missing warmup replies with outbound copies enabled. With those copies disabled, all 60 000 measured replies arrived at 49 996/s, with zero publication drops in all six warmup/measured phases. That replay remains partial / unstable because its run-to-run latency stability gate failed; full delivery is not a stability pass. Cold phase logs retain drop counts, and any publication drop invalidates the phase. The rate, in-flight window and native queue capacity are unchanged.

Kernel send-buffer diagnostic

ping_pong --mode open --rate 50000 --window 64 --payload-bytes 256 tests a fixed send schedule without the FIX session layer. Use matching warmup, measured count, payload and rate on both endpoints. --sndbuf and --rcvbuf default to zero (keep OS settings); the diagnostic reports requested and effective sizes, short writes, would-block retries, outstanding requests, dropped slots and completion deficits.

A scan kernel probe on 2026-09-07 UTC, cores 10/15, 5 000 warmup + 50 000 measured, QuickACK at connect, completed 49 999.98/s with 0 send-would-block events, 0 short writes, 0 shedding and 0 deficits. Effective send/receive buffers were 87 040 / 131 072 bytes on both ends; maximum outstanding was 2. Service p50/p99 was 20.021 / 28.507 µs; response p50/p99 was 21.344 / 30.431 µs. This short wire-only diagnostic is not a FIX matrix row or a general buffer-capacity claim.

For the C++ FIX path, --socket-diagnostics reports effective buffers and the existing process-wide send-retry counter by phase, while --sndbuf / --rcvbuf let a separate diagnostic vary buffer sizes. These options are off in the publication sweep and rejected for unsupported native-stack paths.

08Verification gates

five independent checks; a number that skips one is not published

GateWhenRefuses
Staleness preflightbefore any cellInstalled artefact differing from the tree, or a build output older than its source. Compares content, then build freshness.
Capability probebefore any cellA binary that predates a flag it will be given. File equality passes when both copies are equally old; the probe asks the binary instead.
Completed-session gateper cellFewer completed sessions than offered. The completed column is resolved by header name — it sits at position 4 in three harnesses and 5 in the other three.
Parameter stampper cellA run with no bench_params line, or stamped parameters that disagree with the standards.
Pinning auditper cellA server core that also carries a client, a failed pin, or an unpinned thread. Missing evidence is reported as missing, never as a pass.
Absence of evidence is not a pass

An empty server core-set cannot collide with anything, so calling it "disjoint" would be a green earned by silence. The audit reports INCOMPLETE evidence, not checked and counts it separately. The generated smoke section below carries the current counts.

09Latest smoke

generated from the smoke console — behaviour and placement, not latency

0temporary cells populated
0smoke failures
0supported cells pending
72cells with persisted pinning provenance
4audited smoke sittings

Matrix-derived progress: 0 of 84 supported cells have a smoke outcome. Historical smoke values without a provenance row remain explicitly temporary; they are not retroactively presented as audited evidence.

10Results and the matrix

one row per measured cell, one generated page

Each experiment has its own source TSV: results-scan.tsv contains historical reply-gated results, results-scan-open.tsv retains historical v3 target results, and results-scan-open-v4.tsv holds shared-epoch v4 target results. There is one row per cell in each table. The nine base fields are shown below; OPEN also retains throughput and all four response-latency fields.

flavour  transport  scenario  p50_us  p99_us  p999_us  max_us  sessions  status
cpp      kernel     single    22.18   23.85   27.33    37.30              ok

Status is a closed vocabulary, and the renderer keys on it:

StatusMeaningRendered
okMeasured and passing every gate.the numbers
partialQualified results: delivery may be incomplete in historical cells, or full delivery may fail the run-to-run stability gate. Read the session count separately. Current open-load partial cells have full delivery but are not stable-latency passes.partial
saturatedThe offered-rate or scheduler-delay gate failed, even if every request completed. This qualifies the configured client/server experiment; it does not by itself identify a server-capacity limit. V4 may retain complete, raw-verified diagnostic values, not a passing capacity result.partial / saturated
failNo valid complete measurement was established. Do not fill missing metrics from another attempt.failed
smokeTemporary four-session behaviour value; not a benchmark result.smoke
smoke-failThe temporary behaviour probe failed.smoke failed
nopoolNo implementation for this combination — genuinely absent, not untested.no pool
noshardNo verified independent-listener implementation exists on one port.no shard
todoCapable but unmeasured.todo

gen-matrix.py scan selects the newest available schedule. With a v4 TSV, both latency-matrix-scan.html and latency-matrix-scan-open-v4.html show the current shared-epoch results and refresh after every published cell. gen-matrix.py scan --schedule-version 3 renders the separate latency-matrix-scan-legacy-v3.html archive; it cannot overwrite the current page. Hosts without v4 data keep their historical main page. Generation never borrows v3 values for missing v4 cells.

The current matrix distinguishes incomplete, target missed, complete · variation (complete—with latency variation), and failed/other audit qualifications. Each measured cell shows p50/p99/p99.9 CV percentages: sample standard deviation divided by the mean across three per-run quantiles, computed per session and displayed as the worst session for each percentile. Service/response selection switches both the latencies and their CVs; Response is the default. The current v4 publication rule (2026-09-11) is complete when response p50 and p99 CV are both strictly below 10%; either CV at or above 10% gives complete · variation. Response p99.9 has no CV threshold, and service CVs are descriptive only in either view. Delivery, target and audit qualifications remain separate and cannot be cleared by this rule. Missing CV evidence is “—” and complete · CV unavailable, not a stability pass. Best-result highlighting follows the published qualification. Original TSV statuses, run-time verdicts and historical matrices retain their original thresholds; earlier sitting notes describe those recorded verdicts, not this new publication policy.

The 10 September CV recovery adds both service and response CVs to all 55 current measured SCAN v4 cells, using their exact retained raw samples and matching all eight published latency values and rates. It changes no measurement, recorded status, threshold or sample selection, and performs no benchmark rerun. C++/TCPDirect Single now appears on the main page as complete, with service CVs of 0.30% / 0.38% / 2.29%.

The page is generated because hand-editing drifted it

The matrix used to be edited by hand. Its rows drifted from what had actually been measured — a column claiming mono-thread while two flavours ran thread-per-session, and a column mixing pooling with sharding. Numbers live in the TSV; the page renders them. When a defect invalidates measured cells, those cells are reset to todo rather than left standing: a number for code that no longer exists is worse than a gap.

11Matrices by machine

one generated page per machine and mode — the handbook is the method, the numbers live with the machine that produced them

Maximum throughput is pending a validated open-load rate sweep. Target throughput contains the fixed-rate observations, with their existing qualifications. How to run both benches. Closed and reply-gated paced rows in the index are historical diagnostics.

The separate shared-epoch OPEN v4 matrix contains fresh full-size evidence at exactly 50,000/s aggregate (1,562.5/session/s with 32 sessions). It does not borrow older values. See v4 run and publication commands; installed smoke progress remains separately documented above.

The scan matrix keeps Single, Mono, Pool and Shard side by side, one column per model. The Latency dropdown switches between Service (the default display: actual client start to completed reply) and Response (scheduled start to completed reply, including scheduler delay). Every measured cell shows p50, p99, p99.9 and max on one horizontal row for the selected metric, with throughput and its partial/unstable qualification together on the next line. Missing historical response values are shown as —; they are never copied from service or treated as zero. This changes the display, not the benchmark mode or its qualification rules.

All 59 retained measured OPEN cells now also carry response p99.9 and max, restored from the same original client logs after validation. The original 13 result fields and verdicts are unchanged, and the archived sitting records remain intact. Per-cell recovery evidence and hashes.

Use the matrix's Transport filter to compare all Kernel, VMA or other transport rows, and Flavour to narrow to one implementation. The filters apply to the target and historical tables together; Reset filters restores every row without changing the selected latency. Highlighting is recalculated for the selected metric among visible, qualified results.

Publication reconciled: older scratch experiments had overwritten the scan OPEN file, including C++ results with explicit unmatched-reply warnings and incorrect per-session throughput sums. The original overlap is preserved; the table is restored from retained v3 evidence: 59 full-delivery observations (10 ok, 49 partial), one genuine JNI/VMA pool failure, and twelve managed affinity withdrawals. This is restoration, not remeasurement. See the exact source mapping and backups.

machineexperimentmeasuredrows by statuslatest evidence
beelink2Historical RTT · reply-gated206 nopool, 14 noshard, 20 ok, 64 todo—
hpTarget throughput · current shared-epoch OPEN v4845 noshard, 48 ok, 36 partial2026-09-13T01:01:42Z · open cell completion
hpHistorical target throughput · OPEN v3845 noshard, 20 ok, 64 partial2026-09-12T18:16:17Z · open cell completion
hpHistorical RTT · reply-gated846 nopool, 14 noshard, 53 ok, 31 partial—
scanTarget throughput · current shared-epoch OPEN v4845 noshard, 49 ok, 35 partial2026-10-14T00:22:56Z · open cell completion
scanHistorical target throughput · OPEN v35314 fail, 4 nopool, 11 noshard, 11 ok, 42 partial, 2 todo2026-09-08T04:35:48Z · open cell completion
scanHistorical pacing · reply-gated606 nopool, 14 noshard, 17 ok, 43 partial, 9 saturated, 15 todo2026-09-06T13:48:16Z · baseline provenance
scanHistorical RTT · reply-gated846 nopool, 14 noshard, 61 ok, 23 partial2026-09-06T13:48:16Z · baseline provenance

Each machine's page is generated from its own results file by bench/load/gen-matrix.py; this index is generated from the same files and never hand-edited.

Pinning-audit coverage limitation (R7 review): the earlier continuous watcher discarded an audit-script error caused by a same-statement shell variable initialisation. Empty watch logs therefore do not establish clean runtime placement. Launcher affinity settings and VMA requested/actual core records remain available, but the earlier watcher coverage is inconclusive. A separately recorded corrected sampler started at 02:58:01 UTC during R7 Java/JNI/Onload/pool and retains every sample's exit status and output in open-v3-20260908-r7/pinning-watch-verified.log. It cannot retrospectively validate older samples. It has flagged low-duty accept-thread activity on the core intentionally shared with pool worker 0; flagged samples remain recorded, not silently treated as clean. R10's corrected watcher ran from before the first cell: 143 samples recorded 106 PASS, 24 VIOLATION and 13 INCONCLUSIVE verdicts. The violations include low-duty activity on that shared accept/worker core; they are not clean-placement passes. Treat these as evidence limitations when comparing results.

OPEN v3 and shared-epoch v4 sittings are labelled separately below. Their workload schedules and results are not interchangeable. Missing v4 cells never borrow v3 measurements. Separate artifact revisions are not one identical-binary sitting; inspect each source and installed manifest.

Fixed-rate open sweep · hp · shared-epoch schedule v4

79 / 79 cells completed · complete · updated 2026-09-13T01:01:43Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: rust-pure/onload/shard · status: complete · 32/32 sessions. Service p50 / p99: 5.967 / 6.721 µs; response p50 / p99: 6.274 / 7.130 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/kernel/singlecomplete1/124.73135.44620.01731.2135000050000
java-pure/onload/singlecomplete1/17.5878.0217.4077.7935000050000
java-pure/vma/singlecomplete1/17.7498.0507.5467.7895000050000
java-jni/kernel/singlecomplete1/118.61922.36017.47420.7655000050000
java-jni/onload/singlecomplete1/16.1206.5435.9676.3415000050000
java-jni/vma/singlecomplete1/16.5997.0566.4196.8285000050000
java-jni/tcpdirect/singlecomplete1/15.5056.4845.3656.3165000050000
java-jni/socketxtreme/singlecomplete1/16.4187.3396.2697.1855000050000
dotnet-native/kernel/singlecomplete1/118.92021.70018.05418.8065000050000
dotnet-native/onload/singlecomplete1/16.8127.2906.6117.0795000050000
dotnet-native/vma/singlecomplete1/17.4997.7467.3167.5135000050000
dotnet-native/tcpdirect/singlecomplete1/16.6016.7936.4376.5945000050000
dotnet-native/socketxtreme/singlecomplete1/17.2607.8397.0977.6615000050000
dotnet-pure/kernel/singlecomplete1/128.81442.51025.13440.3095000050000
dotnet-pure/onload/singlecomplete1/111.92712.33511.75612.1265000050000
dotnet-pure/vma/singlecomplete1/112.14112.45311.94412.2205000050000
rust-pure/kernel/singlecomplete1/116.31718.58015.05717.1255000050000
rust-pure/onload/singlecomplete1/15.1325.5105.0185.3875000050000
rust-pure/vma/singlecomplete1/15.7135.9235.5945.7805000050000
rust-pure/tcpdirect/singlecomplete1/14.5124.6454.4184.5315000050000
rust-pure/socketxtreme/singlecomplete1/15.5516.3055.4646.2115000050000
cpp/kernel/monocomplete32/3246.62265.70742.10255.5651562.51562
cpp/onload/monocomplete32/327.3798.5336.8367.6991562.51562
cpp/vma/monocomplete32/327.6539.8637.0039.4661562.51562
cpp/tcpdirect/monocomplete32/326.7827.7676.3637.2801562.51562
cpp/socketxtreme/monocomplete32/3212.38417.56111.89517.0211562.51562
java-pure/kernel/monocomplete · variation32/3250.56276.96344.12467.7961562.51562
java-pure/onload/monocomplete32/3213.89316.98613.38815.4721562.51562
java-pure/vma/monocomplete32/3215.04016.97014.58715.9541562.51562
java-jni/kernel/monocomplete · variation32/3297.834119.64289.047111.6401562.51562
java-jni/onload/monocomplete32/329.49710.7398.7919.6081562.51562
java-jni/vma/monocomplete32/328.85410.5277.9719.2401562.51562
java-jni/tcpdirect/monocomplete32/329.50811.7898.75710.7761562.51562
java-jni/socketxtreme/monocomplete32/3210.50713.1439.76412.3391562.51562
dotnet-native/kernel/monocomplete32/3252.50370.55647.96461.8841562.51562
dotnet-native/onload/monocomplete32/329.93511.3189.15710.0481562.51562
dotnet-native/vma/monocomplete32/329.98613.0919.24212.0511562.51562
dotnet-native/tcpdirect/monocomplete32/329.67911.2119.19210.2881562.51562
dotnet-native/socketxtreme/monocomplete32/329.93412.9899.40612.4481562.51562
dotnet-pure/kernel/monocomplete32/3280.780130.51575.567121.1651562.51562
dotnet-pure/onload/monocomplete32/3215.84619.07015.33518.0881562.51562
dotnet-pure/vma/monocomplete32/3216.72120.49416.34619.3631562.51562
rust-pure/kernel/monocomplete32/3246.91766.78844.38957.2961562.51562
rust-pure/onload/monocomplete32/327.3588.8506.9728.4671562.51562
rust-pure/vma/monocomplete32/327.8959.3497.5219.0761562.51562
rust-pure/tcpdirect/monocomplete32/327.3198.6567.0098.3201562.51562
rust-pure/socketxtreme/monocomplete · variation32/326.4268.4256.2518.2481562.51562
cpp/kernel/poolcomplete32/3237.16652.63533.46240.9611562.51562
cpp/onload/poolcomplete32/328.74510.1958.1869.5761562.51562
cpp/vma/poolcomplete32/329.92521.7519.39221.1021562.51562
cpp/tcpdirect/poolcomplete32/3218.55678.71418.12078.3161562.51562
cpp/socketxtreme/poolcomplete · variation32/3252.844161.75952.351161.3291562.51562
java-pure/kernel/poolcomplete · variation32/3270.508114.46160.818100.4151562.51562
java-pure/onload/poolcomplete32/3214.16316.80013.41015.5361562.51562
java-pure/vma/poolcomplete32/3213.84716.92713.13215.3841562.51562
java-jni/kernel/poolcomplete · variation32/3289.081101.79483.33190.7781562.51562
java-jni/onload/poolcomplete32/3210.16312.1099.52211.0921562.51562
java-jni/vma/poolcomplete32/3210.42212.3989.56711.2671562.51562
dotnet-native/kernel/poolcomplete32/3241.13259.09535.85448.6051562.51562
dotnet-native/onload/poolcomplete32/3211.00713.79710.58712.8411562.51562
dotnet-native/vma/poolcomplete32/3212.49324.77211.78724.0011562.51562
dotnet-pure/kernel/poolcomplete32/3245.73264.75443.05352.6081562.51562
dotnet-pure/onload/poolcomplete32/3215.55017.42715.11216.5681562.51562
dotnet-pure/vma/poolcomplete32/3216.35219.97915.84219.3771562.51562
rust-pure/kernel/poolcomplete32/3237.36453.22531.92840.8891562.51562
rust-pure/onload/poolcomplete32/328.1089.3247.7878.8981562.51562
rust-pure/vma/poolcomplete32/329.51821.6219.24921.2021562.51562
cpp/kernel/shardcomplete32/3238.52954.56134.22544.3951562.51562
cpp/onload/shardcomplete32/326.5677.3996.0276.6571562.51562
java-pure/kernel/shardcomplete32/32120.627136.905111.256125.5841562.51562
java-pure/onload/shardcomplete32/3213.42116.41012.82315.1731562.51562
java-jni/kernel/shardcomplete32/32114.534132.269105.064125.3901562.51562
java-jni/onload/shardcomplete32/329.55710.8968.8299.7151562.51562
dotnet-native/kernel/shardcomplete32/3241.12558.44438.21347.2121562.51562
dotnet-native/onload/shardcomplete32/3211.36313.10510.63712.2301562.51562
dotnet-pure/kernel/shardcomplete32/3248.00866.59143.44755.8861562.51562
dotnet-pure/onload/shardcomplete32/3216.43120.01215.94118.9621562.51562
rust-pure/kernel/shardcomplete32/3238.50157.98934.47848.3311562.51562
rust-pure/onload/shardcomplete32/326.2747.1305.9676.7211562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v4-all-v4timed-v4timed-1-hp-20260912-213223. Sitting: hp-open-v4-open-v4-all-v4timed-v4timed-1-hp-20260912-213223; source commit: a19e64a1a33cbbcf18d221820baf6e715488922b.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v4-all-v4timed-v4timed-1-hp-20260912-213223/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · hp

15 / 15 cells completed · complete · updated 2026-09-12T18:16:17Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Latest result: rust-pure/onload/shard · status: ok · 32/32 sessions. Service p50 / p99: 8.01 / 13.19 µs; response p50 / p99: 12.473 / 17.785 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
rust-pure/kernel/singlepartial1/117.19625.43616.5423.945000049998
rust-pure/onload/singleok1/15.1585.6725.065.575000049999
rust-pure/vma/singleok1/15.7506.1915.656.075000049999
rust-pure/tcpdirect/singleok1/14.4714.6914.394.615000049999
rust-pure/socketxtreme/singleok1/15.4886.5425.426.475000049999
rust-pure/kernel/monopartial32/32110.621136.20381.69113.3215621562
rust-pure/onload/monook32/3217.43620.46912.3918.1015621562
rust-pure/vma/monopartial32/3222.26430.73717.8626.8715621562
rust-pure/tcpdirect/monopartial32/3222.22230.34820.6526.5715621562
rust-pure/socketxtreme/monopartial32/3227.05632.11523.7630.3415621562
rust-pure/kernel/poolpartial32/3258.45375.16433.2449.8315621562
rust-pure/onload/poolpartial32/3222.72130.99421.9729.9715621562
rust-pure/vma/poolpartial32/3223.63757.88819.2553.8015621562
rust-pure/kernel/shardpartial32/3265.40681.96639.3753.3515621562
rust-pure/onload/shardok32/3212.47317.7858.0113.1915621562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-all-rpw-rpw-1-hp-20260912-185847. Sitting: hp-open-open-v3-all-rpw-rpw-1-hp-20260912-185847; source commit: 211869f308a7498cefbcdfad41ba5f909e539519.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-all-rpw-rpw-1-hp-20260912-185847/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T02:04:02Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/kernel/pool · status: partial · 32/32 sessions. Service p50 / p99: 28.285 / 38.942 µs; response p50 / p99: 32.467 / 45.894 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/kernel/poolpartial32/3232.46745.89428.28538.9421562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-live-gate-20260910-O0YsbX/cpp-kernel-pool. Sitting: scan-open-v4-cpp-kernel-pool; source commit: 187f63366bfc8cd56153239dbf6a67027dabe7a9.
Source and installed-artifact manifest: /tmp/libhft-live-gate-20260910-O0YsbX/cpp-kernel-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 2 cells completed · interrupted · updated 2026-09-10T06:39:35Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: cpp/vma/shard.

Interrupted: RuntimeError: cpp/vma/shard: parameter audit failed (1); see /tmp/libhft-cpp-shard-20260910-q4subF/full-cpp/shard/cpp/vma/attempt-id0aj3pj/params-audit.log

Latest result: cpp/kernel/shard · status: partial · 32/32 sessions. Service p50 / p99: 32.505 / 39.106 µs; response p50 / p99: 36.323 / 46.163 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/kernel/shardpartial32/3236.32346.16332.50539.1061562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-cpp-shard-20260910-q4subF/full-cpp. Sitting: scan-open-v4-full-cpp; source commit: af1f0b9e3aa8866a5fad0ccb550ac85b0f3654bc.
Source and installed-artifact manifest: /tmp/libhft-cpp-shard-20260910-q4subF/full-cpp/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T01:19:58Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 14.057 / 37.842 µs; response p50 / p99: 14.760 / 38.670 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/vma/poolpartial32/3214.76038.67014.05737.8421562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-pool-cells-20260910-lE99Tb/cpp-vma-pool. Sitting: scan-open-v4-cpp-vma-pool; source commit: 1dcf769c9813c77da1b22b146a32d0a535663a33.
Source and installed-artifact manifest: /tmp/libhft-pool-cells-20260910-lE99Tb/cpp-vma-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T04:51:12Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 14.251 / 37.970 µs; response p50 / p99: 15.102 / 38.568 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/vma/poolpartial32/3215.10238.56814.25137.9701562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-listener-bind-build-20260910-FcJ2ZB/cpp-vma-pool. Sitting: scan-open-v4-cpp-vma-pool; source commit: 6e08b12fea94a51c0940e21d47a5d20a6c3ee4f3.
Source and installed-artifact manifest: /tmp/libhft-listener-bind-build-20260910-FcJ2ZB/cpp-vma-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T05:04:14Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 10.856 / 25.097 µs; response p50 / p99: 11.698 / 25.819 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/vma/poolpartial32/3211.69825.81910.85625.0971562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-listener-bind-build-20260910-FcJ2ZB/cpp-vma-pool-restored-default. Sitting: scan-open-v4-cpp-vma-pool-restored-default; source commit: ea85338b277a92ace363bacf4a2768de33f7cdc4.
Source and installed-artifact manifest: /tmp/libhft-listener-bind-build-20260910-FcJ2ZB/cpp-vma-pool-restored-default/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-09T23:09:48Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 14.128 / 37.707 µs; response p50 / p99: 14.923 / 38.763 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/vma/poolpartial32/3214.92338.76314.12837.7071562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-cpp-vma-rings-20260910-dFEZjl/cpp-vma-pool-ring20. Sitting: scan-open-v4-cpp-vma-pool-ring20; source commit: b898984676ab32512a37209f663d4511fa8b719a.
Source and installed-artifact manifest: /tmp/libhft-cpp-vma-rings-20260910-dFEZjl/cpp-vma-pool-ring20/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T06:57:54Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-pure/kernel/shard · status: ok · 32/32 sessions. Service p50 / p99: 53.495 / 79.367 µs; response p50 / p99: 59.588 / 87.251 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-pure/kernel/shardok32/3259.58887.25153.49579.3671562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-managed-shard-20260910-SgUjh0/kernel. Sitting: scan-open-v4-kernel; source commit: 40680be7ba9435fc632b04ea993d79903e5b8d33.
Source and installed-artifact manifest: /tmp/libhft-managed-shard-20260910-SgUjh0/kernel/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

0 / 1 cells completed · interrupted · updated 2026-09-10T07:08:55Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: dotnet-pure/vma/shard.

Interrupted: RuntimeError: dotnet-pure/vma/shard: parameter audit failed (1); see /tmp/libhft-managed-shard-20260910-SgUjh0/vma/shard/dotnet-managed/vma/attempt-1vizxgg6/params-audit.log

Evidence directory: /tmp/libhft-managed-shard-20260910-SgUjh0/vma. Sitting: scan-open-v4-vma; source commit: 2b1dd6aba7ae47e528062ea305809cb98a5030bb.
Source and installed-artifact manifest: /tmp/libhft-managed-shard-20260910-SgUjh0/vma/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T05:47:43Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/kernel/shard · status: partial · 32/32 sessions. Service p50 / p99: 33.236 / 40.177 µs; response p50 / p99: 42.323 / 49.382 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/kernel/shardpartial32/3242.32349.38233.23640.1771562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-epoll-errors-20260910-hLQ1Ay/dotnet-native-kernel-shard. Sitting: scan-open-v4-dotnet-native-kernel-shard; source commit: 1efda898dd2eb3a1d98c55357c02f88cd2b373d9.
Source and installed-artifact manifest: /tmp/libhft-epoll-errors-20260910-hLQ1Ay/dotnet-native-kernel-shard/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T04:58:16Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 15.279 / 29.043 µs; response p50 / p99: 16.047 / 30.022 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/vma/poolpartial32/3216.04730.02215.27929.0431562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-listener-bind-build-20260910-FcJ2ZB/dotnet-native-vma-pool. Sitting: scan-open-v4-dotnet-native-vma-pool; source commit: be6c7f014ef1397f754e4faf1731ec87712713c8.
Source and installed-artifact manifest: /tmp/libhft-listener-bind-build-20260910-FcJ2ZB/dotnet-native-vma-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

0 / 1 cells completed · interrupted · updated 2026-09-10T06:11:47Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: dotnet-native/vma/shard.

Interrupted: RuntimeError: dotnet-native/vma/shard: parameter audit failed (1); see /tmp/libhft-native-shard-20260910-aKlexO/full-vma/shard/dotnet-native/vma/attempt-_fo4q214/params-audit.log

Evidence directory: /tmp/libhft-native-shard-20260910-aKlexO/full-vma. Sitting: scan-open-v4-full-vma; source commit: aae2e8c685d439732428e6844d6149b26e4bab89.
Source and installed-artifact manifest: /tmp/libhft-native-shard-20260910-aKlexO/full-vma/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-08T22:32:41Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/socketxtreme/mono · status: partial · 32/32 sessions. Service p50 / p99: 13.141 / 22.480 µs; response p50 / p99: 13.780 / 23.199 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/socketxtreme/monopartial32/3213.78023.19913.14122.4801562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/cpp-sx-mono. Sitting: scan-open-v4-cpp-sx-mono; source commit: a384a8638149cc68cb5eaf781063857f9475a386.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/cpp-sx-mono/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-08T22:23:33Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/socketxtreme/mono · status: partial · 32/32 sessions. Service p50 / p99: 12.343 / 19.484 µs; response p50 / p99: 13.712 / 21.076 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/socketxtreme/monopartial32/3213.71221.07612.34319.4841562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/dotnet-native-sx-mono. Sitting: scan-open-v4-dotnet-native-sx-mono; source commit: eff8b778c09e316313887fabbd995a1e37855c90.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/dotnet-native-sx-mono/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-08T22:15:26Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-jni/socketxtreme/mono · status: partial · 32/32 sessions. Service p50 / p99: 12.698 / 19.516 µs; response p50 / p99: 13.567 / 20.558 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-jni/socketxtreme/monopartial32/3213.56720.55812.69819.5161562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/java-jni-sx-mono. Sitting: scan-open-v4-java-jni-sx-mono; source commit: 0de7a00fb7bde2589af2171e6e64ac485a409689.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/java-jni-sx-mono/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-08T21:06:35Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-pure/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 17.512 / 20.690 µs; response p50 / p99: 18.333 / 22.587 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/vma/poolpartial32/3218.33322.58717.51220.6901562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/java-vma-pool. Sitting: scan-open-v4-java-vma-pool; source commit: fec46d42a12474df13f2de46d46163248ce3a0d0.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/java-vma-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · retained Java-pure pool results (r6)

3 / 3 cells completed · complete · updated 2026-09-08T02:01:06Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Latest result: java-pure/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 78.05 / 90.38 µs; response p50 / p99: 127.662 / 138.761 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/kernel/poolpartial32/32103.092125.40960.5780.8815621562
java-pure/onload/poolpartial32/3237.84146.67127.4041.9115621562
java-pure/vma/poolpartial32/32127.662138.76178.0590.3815621562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-20260908-r6. Sitting: scan-open-open-v3-20260908-r6; source commit: fba506060919fd7061bf534476e4d4291749f79f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-20260908-r6/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

0 / 1 cells completed · interrupted · updated 2026-09-09T23:39:22Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: java-pure/vma/shard.

Interrupted: RuntimeError: java-pure/vma/shard: parameter audit failed (1); see /tmp/libhft-java-shards-20260910-ffC4Df/java-pure-vma-shard/shard/java-pure/vma/attempt-4c3z68pb/params-audit.log

Evidence directory: /tmp/libhft-java-shards-20260910-ffC4Df/java-pure-vma-shard. Sitting: scan-open-v4-java-pure-vma-shard; source commit: e5718eba964144c5941c87fbfe14168716aebf7e.
Source and installed-artifact manifest: /tmp/libhft-java-shards-20260910-ffC4Df/java-pure-vma-shard/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

7 / 8 cells completed · interrupted · updated 2026-09-10T10:38:45Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: java-pure/vma/shard.

Interrupted: RuntimeError: java-pure/vma/shard: parameter audit failed (1); see /tmp/libhft-java-readiness-canonical-20260910-U6x6o0/sitting/shard/java-pure/vma/attempt-d4moid8v/params-audit.log

Latest result: java-pure/kernel/shard · status: ok · 32/32 sessions. Service p50 / p99: 47.851 / 60.762 µs; response p50 / p99: 50.516 / 65.824 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/kernel/singlepartial1/132.64837.41128.37933.9985000049996
java-pure/vma/singlepartial1/19.82010.9799.55010.6585000049997
java-pure/kernel/monopartial32/3299.121123.36895.009119.3751562.51562
java-pure/vma/monopartial32/3218.58523.48017.42721.2241562.51562
java-pure/kernel/poolpartial32/3249.90463.07947.23357.7451562.51562
java-pure/vma/poolpartial32/3217.60522.00716.84420.1541562.51562
java-pure/kernel/shardok32/3250.51665.82447.85160.7621562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-java-readiness-canonical-20260910-U6x6o0/sitting. Sitting: scan-open-v4-sitting; source commit: 6947c1cdbd391785b6d0d55a3254b035c3a6a1bd.
Source and installed-artifact manifest: /tmp/libhft-java-readiness-canonical-20260910-U6x6o0/sitting/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4 · Repaired Java classic SINGLE on Mellanox

2 / 2 cells completed · complete · updated 2026-09-08T19:07:22Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-pure/vma/single · status: partial · 1/1 sessions. Service p50 / p99: 9.225 / 10.701 µs; response p50 / p99: 9.506 / 11.180 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/kernel/singlepartial1/133.28146.26631.58835.7905000049996
java-pure/vma/singlepartial1/19.50611.1809.22510.7015000049999

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v4-mellanox-followup-20260908-8JscCC/java-single. Sitting: scan-open-v4-java-single; source commit: 2d1447aa23c429e611a04e1f2770bad3e16c378a.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v4-mellanox-followup-20260908-8JscCC/java-single/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

2 / 2 cells completed · complete · updated 2026-09-08T21:23:46Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-pure/vma/single · status: partial · 1/1 sessions. Service p50 / p99: 9.433 / 10.409 µs; response p50 / p99: 9.702 / 10.718 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/kernel/singlepartial1/132.59136.97428.90033.7605000049996
java-pure/vma/singlepartial1/19.70210.7189.43310.4095000049997

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/java-warmup-single. Sitting: scan-open-v4-java-warmup-single; source commit: 438ab43364102ecf3034afbcdff2c0416e54694c.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/java-warmup-single/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T02:13:56Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-jni/kernel/pool · status: partial · 32/32 sessions. Service p50 / p99: 34.423 / 48.906 µs; response p50 / p99: 39.678 / 53.191 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-jni/kernel/poolpartial32/3239.67853.19134.42348.9061562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-jni-pool-control-20260910-iNtKbT/java-jni-kernel-pool. Sitting: scan-open-v4-java-jni-kernel-pool; source commit: af3993c4c3fe1f279aa32d46ba432eb8085c8ace.
Source and installed-artifact manifest: /tmp/libhft-jni-pool-control-20260910-iNtKbT/java-jni-kernel-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T03:05:49Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-jni/kernel/pool · status: partial · 32/32 sessions. Service p50 / p99: 38.541 / 47.473 µs; response p50 / p99: 43.316 / 53.549 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-jni/kernel/poolpartial32/3243.31653.54938.54147.4731562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-jni-eof-20260910-wGhyJ0/java-jni-kernel-pool. Sitting: scan-open-v4-java-jni-kernel-pool; source commit: 0cfeda699a88eb7ece943743cd4c7510b3224275.
Source and installed-artifact manifest: /tmp/libhft-jni-eof-20260910-wGhyJ0/java-jni-kernel-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T05:37:01Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-jni/kernel/pool · status: partial · 32/32 sessions. Service p50 / p99: 45.799 / 50.986 µs; response p50 / p99: 50.191 / 56.377 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-jni/kernel/poolpartial32/3250.19156.37745.79950.9861562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-epoll-errors-20260910-hLQ1Ay/jni-kernel-pool. Sitting: scan-open-v4-jni-kernel-pool; source commit: 059ceb0ba35f5f3faf2b8fc9a766f6b5d492d544.
Source and installed-artifact manifest: /tmp/libhft-epoll-errors-20260910-hLQ1Ay/jni-kernel-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T04:07:35Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-jni/vma/mono · status: partial · 32/32 sessions. Service p50 / p99: 10.455 / 16.815 µs; response p50 / p99: 11.642 / 18.503 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-jni/vma/monopartial32/3211.64218.50310.45516.8151562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-mixed-vma-20260910-8jnKsI/java-jni-vma-mono. Sitting: scan-open-v4-java-jni-vma-mono; source commit: 68198aba044d278de32b7049cb9409f538e1f6ee.
Source and installed-artifact manifest: /tmp/libhft-mixed-vma-20260910-8jnKsI/java-jni-vma-mono/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T02:56:35Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: java-jni/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 12.790 / 19.703 µs; response p50 / p99: 13.503 / 20.489 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-jni/vma/poolpartial32/3213.50320.48912.79019.7031562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-jni-eof-20260910-wGhyJ0/java-jni-vma-pool. Sitting: scan-open-v4-java-jni-vma-pool; source commit: 5781bfc1963fdba61322a3648ade991e1664c025.
Source and installed-artifact manifest: /tmp/libhft-jni-eof-20260910-wGhyJ0/java-jni-vma-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

0 / 1 cells completed · interrupted · updated 2026-09-10T05:41:33Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: java-jni/vma/shard.

Interrupted: RuntimeError: java-jni/vma/shard: parameter audit failed (1); see /tmp/libhft-epoll-errors-20260910-hLQ1Ay/jni-vma-shard/shard/java-jni/vma/attempt-qlsiv4ue/params-audit.log

Evidence directory: /tmp/libhft-epoll-errors-20260910-hLQ1Ay/jni-vma-shard. Sitting: scan-open-v4-jni-vma-shard; source commit: 2b3b785a012da8aeb8a5334f4689ed894a1c978a.
Source and installed-artifact manifest: /tmp/libhft-epoll-errors-20260910-hLQ1Ay/jni-vma-shard/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

0 / 1 cells completed · interrupted · updated 2026-09-10T00:04:05Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: java-jni/vma/shard.

Interrupted: RuntimeError: java-jni/vma/shard: parameter audit failed (1); see /tmp/libhft-java-shards-20260910-ffC4Df/java-jni-vma-shard/shard/java-jni/vma/attempt-3jpi9245/params-audit.log

Evidence directory: /tmp/libhft-java-shards-20260910-ffC4Df/java-jni-vma-shard. Sitting: scan-open-v4-java-jni-vma-shard; source commit: 3b20fa9e02573b2e199569a224593077ebab64a8.
Source and installed-artifact manifest: /tmp/libhft-java-shards-20260910-ffC4Df/java-jni-vma-shard/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 2 cells completed · interrupted · updated 2026-09-08T21:13:06Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: dotnet-pure/vma/mono.

Interrupted: RuntimeError: dotnet-pure/vma/mono: parameter audit failed (1); see /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/managed-mono/mono/dotnet-managed/vma/attempt-hdx_rx6o/params-audit.log

Latest result: dotnet-pure/kernel/mono · status: ok · 32/32 sessions. Service p50 / p99: 103.457 / 177.984 µs; response p50 / p99: 108.638 / 183.373 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-pure/kernel/monook32/32108.638183.373103.457177.9841562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/managed-mono. Sitting: scan-open-v4-managed-mono; source commit: 94b3dca9ee75a782f0ad7454a2bc8d9cdc74cdc9.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/managed-mono/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-08T22:37:43Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-pure/vma/mono · status: ok · 32/32 sessions. Service p50 / p99: 20.658 / 24.991 µs; response p50 / p99: 21.115 / 26.601 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-pure/vma/monook32/3221.11526.60120.65824.9911562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/dotnet-managed-vma-mono. Sitting: scan-open-v4-dotnet-managed-vma-mono; source commit: ecfd7d798e1a717f2210fd9655d11cf93428e3f6.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/socketxtreme-corrections-rerun-20260908-QpGmMq/dotnet-managed-vma-mono/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

16 / 25 cells completed · interrupted · updated 2026-09-08T19:52:12Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: cpp/vma/shard.

Interrupted: RuntimeError: cpp/vma/shard: parameter audit failed (1); see /home/yann/libhft-bench-runs/open-v4-mellanox-followup-20260908-8JscCC/remaining/shard/cpp/vma/attempt-lwgf4lyb/params-audit.log

Latest result: cpp/kernel/shard · status: partial · 32/32 sessions. Service p50 / p99: 29.623 / 39.202 µs; response p50 / p99: 34.891 / 46.036 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/kernel/monook32/3243.67355.95140.41647.8721562.51562
dotnet-native/vma/monopartial32/3213.55020.04412.55717.8271562.51562
dotnet-native/socketxtreme/monopartial32/3214.15220.92712.82319.2001562.51562
dotnet-pure/kernel/monook32/32143.018188.483136.319180.7621562.51562
dotnet-pure/vma/monook32/3231.31736.70930.71235.1301562.51562
cpp/kernel/poolpartial32/3231.48044.55627.36040.4601562.51562
cpp/vma/poolpartial32/3211.85625.78811.03724.9221562.51562
java-pure/kernel/poolpartial32/3247.93762.79642.69453.0241562.51562
java-pure/vma/poolfail32/32——————
java-jni/kernel/poolpartial32/3241.01653.74538.22046.1321562.51562
java-jni/vma/poolpartial32/3213.60820.41712.66319.1611562.51562
dotnet-native/kernel/poolpartial32/3246.68255.04942.97651.3961562.51562
dotnet-native/vma/poolpartial32/3216.01230.38015.36728.8231562.51562
dotnet-pure/kernel/poolpartial32/3269.70083.03764.56679.2041562.51562
dotnet-pure/vma/poolok32/3224.91229.26824.10927.6141562.51562
cpp/kernel/shardpartial32/3234.89146.03629.62339.2021562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v4-mellanox-followup-20260908-8JscCC/remaining. Sitting: scan-open-v4-remaining; source commit: 9cd27d464d709d5bedf40c2f97d51b00a4a6c899.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v4-mellanox-followup-20260908-8JscCC/remaining/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4 · Initial Mellanox campaign; Java SINGLE rows subsequently superseded

20 / 46 cells completed · interrupted · updated 2026-09-08T18:29:51Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: java-jni/socketxtreme/mono.

Interrupted: RuntimeError: java-jni/socketxtreme/mono: parameter audit failed (1); see /home/yann/libhft-bench-runs/open-v4-mellanox-20260908-PekVA8/sitting/mono/java-jni/socketxtreme/attempt-b1wplnoh/params-audit.log

Latest result: java-jni/vma/mono · status: partial · 32/32 sessions. Service p50 / p99: 10.652 / 16.598 µs; response p50 / p99: 11.944 / 18.201 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/kernel/singleok1/120.14629.20619.32527.2385000049997
cpp/vma/singleok1/17.1198.0706.7687.6965000049999
cpp/socketxtreme/singleok1/16.2537.9205.9567.5905000049999
java-pure/kernel/singlepartial1/133.24848.46529.01435.0885000049997
java-pure/vma/singlefail1/1——————
java-jni/kernel/singleok1/130.44534.15426.10932.1125000049996
java-jni/vma/singleok1/17.8278.6497.5828.2155000049999
java-jni/socketxtreme/singleok1/17.4889.5947.2989.1885000049999
dotnet-native/kernel/singlesaturated1/136.707191.87133.51644.5765000049996
dotnet-native/vma/singleok1/19.45610.0879.1049.7135000049999
dotnet-native/socketxtreme/singlepartial1/18.46213.8338.18613.5585000049999
dotnet-pure/kernel/singleok1/133.98438.55232.90338.1375000049996
dotnet-pure/vma/singleok1/114.29314.66214.05614.3705000049998
cpp/kernel/monopartial32/3235.71248.34831.58441.5601562.51562
cpp/vma/monopartial32/328.85514.3308.08613.2101562.51562
cpp/socketxtreme/monopartial32/3213.97523.68013.40023.0961562.51562
java-pure/kernel/monopartial32/3298.665155.74094.131149.4911562.51562
java-pure/vma/monopartial32/3218.42824.01217.66922.0491562.51562
java-jni/kernel/monopartial32/3239.77154.57934.59248.0881562.51562
java-jni/vma/monopartial32/3211.94418.20110.65216.5981562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v4-mellanox-20260908-PekVA8/sitting. Sitting: scan-open-v4-sitting; source commit: c7e1710da78c7882c68964401b1dc1fd83ae299c.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v4-mellanox-20260908-PekVA8/sitting/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · retained Java mono results (r5; C++/.NET sink scope invalidated)

7 / 7 cells completed · complete · updated 2026-09-08T00:47:04Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Latest result: java-jni/tcpdirect/mono · status: partial · 32/32 sessions. Service p50 / p99: 65.28 / 97.47 µs; response p50 / p99: 77.219 / 115.431 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/kernel/monopartial32/32270.293300.723216.59250.1015621562
java-pure/onload/monopartial32/3254.78568.04941.7058.5715621562
java-pure/vma/monopartial32/32248.291274.402196.35229.1315621562
java-jni/kernel/monopartial32/32143.934173.52494.72120.9015621562
java-jni/onload/monopartial32/3234.56443.26323.8129.5715621562
java-jni/vma/monopartial32/3240.48450.47330.8139.5415621562
java-jni/tcpdirect/monopartial32/3277.219115.43165.2897.4715621562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-20260908-r5-multi. Sitting: scan-open-open-v3-20260908-r5-multi; source commit: fba506060919fd7061bf534476e4d4291749f79f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-20260908-r5-multi/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T01:02:28Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/kernel/pool · status: partial · 32/32 sessions. Service p50 / p99: 33.202 / 46.025 µs; response p50 / p99: 38.126 / 54.407 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/kernel/poolpartial32/3238.12654.40733.20246.0251562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-pool-cells-20260910-lE99Tb/dotnet-native-kernel-pool. Sitting: scan-open-v4-dotnet-native-kernel-pool; source commit: 6c79f8ef2e79359dc430665689568e6a8b1be1bb.
Source and installed-artifact manifest: /tmp/libhft-pool-cells-20260910-lE99Tb/dotnet-native-kernel-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-09T22:12:54Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/kernel/pool · status: partial · 32/32 sessions. Service p50 / p99: 34.278 / 39.902 µs; response p50 / p99: 37.097 / 46.896 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/kernel/poolpartial32/3237.09746.89634.27839.9021562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/provider-pool-coordinator-rerun-20260908-HwCwOk/dotnet-native-kernel-pool. Sitting: scan-open-v4-dotnet-native-kernel-pool; source commit: b4e8a827dc81e0fa1b33fc05f7c7a0e02368dca3.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/provider-pool-coordinator-rerun-20260908-HwCwOk/dotnet-native-kernel-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-09T22:26:51Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/kernel/pool · status: partial · 32/32 sessions. Service p50 / p99: 32.477 / 48.961 µs; response p50 / p99: 40.844 / 56.999 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/kernel/poolpartial32/3240.84456.99932.47748.9611562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-pool-role-rerun-20260909-rxWvMw/dotnet-native-kernel-pool. Sitting: scan-open-v4-dotnet-native-kernel-pool; source commit: 5e011904e55d2e42c7e6544da47a74794815da19.
Source and installed-artifact manifest: /tmp/libhft-pool-role-rerun-20260909-rxWvMw/dotnet-native-kernel-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-08T22:40:34Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/kernel/single · status: partial · 1/1 sessions. Service p50 / p99: 22.794 / 31.102 µs; response p50 / p99: 24.767 / 33.747 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/kernel/singlepartial1/124.76733.74722.79431.1025000049997

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/provider-pool-coordinator-rerun-20260908-HwCwOk/dotnet-native-kernel-single. Sitting: scan-open-v4-dotnet-native-kernel-single; source commit: 9e077ec0370e951aec0244766673eb883655e620.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/provider-pool-coordinator-rerun-20260908-HwCwOk/dotnet-native-kernel-single/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-09T22:06:57Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/kernel/single · status: partial · 1/1 sessions. Service p50 / p99: 23.349 / 30.595 µs; response p50 / p99: 25.278 / 33.279 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/kernel/singlepartial1/125.27833.27923.34930.5955000049997

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-warmup-rerun-20260909-gKFRZk/dotnet-native-kernel-single. Sitting: scan-open-v4-dotnet-native-kernel-single; source commit: ec56e9412ffe8901d9aa7f641c50c7d36c8bcbe2.
Source and installed-artifact manifest: /tmp/libhft-warmup-rerun-20260909-gKFRZk/dotnet-native-kernel-single/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-09T23:00:28Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 15.686 / 29.092 µs; response p50 / p99: 16.541 / 30.156 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/vma/poolpartial32/3216.54130.15615.68629.0921562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-native-vma-control-20260909-lHWlRe/dotnet-native-vma-pool-control. Sitting: scan-open-v4-dotnet-native-vma-pool-control; source commit: 1aeb5cb956a82d43a073cd2fba6db7ff346184e3.
Source and installed-artifact manifest: /tmp/libhft-native-vma-control-20260909-lHWlRe/dotnet-native-vma-pool-control/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-10T01:08:35Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: dotnet-native/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 14.957 / 29.142 µs; response p50 / p99: 15.907 / 30.590 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/vma/poolpartial32/3215.90730.59014.95729.1421562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /tmp/libhft-pool-cells-20260910-lE99Tb/dotnet-native-vma-pool. Sitting: scan-open-v4-dotnet-native-vma-pool; source commit: 749cbc58672d28612777a46d2d881165c845f9b2.
Source and installed-artifact manifest: /tmp/libhft-pool-cells-20260910-lE99Tb/dotnet-native-vma-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

0 / 1 cells completed · interrupted · updated 2026-09-09T22:33:27Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: dotnet-native/vma/pool.

Interrupted: RuntimeError: dotnet-native/vma/pool: parameter audit failed (1); see /tmp/libhft-pool-role-rerun-20260909-rxWvMw/dotnet-native-vma-pool/pool/dotnet-native/vma/attempt-30st0ak9/params-audit.log

Evidence directory: /tmp/libhft-pool-role-rerun-20260909-rxWvMw/dotnet-native-vma-pool. Sitting: scan-open-v4-dotnet-native-vma-pool; source commit: 559e84f986075d45791b02e90392e96532699c51.
Source and installed-artifact manifest: /tmp/libhft-pool-role-rerun-20260909-rxWvMw/dotnet-native-vma-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

2 / 2 cells completed · complete · updated 2026-09-08T20:27:20Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/vma/pool · status: partial · 32/32 sessions. Service p50 / p99: 11.137 / 25.033 µs; response p50 / p99: 12.098 / 25.967 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/kernel/poolpartial32/3235.24445.22930.15339.5441562.51562
cpp/vma/poolpartial32/3212.09825.96711.13725.0331562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/pool-coordinator-rerun-20260908-sIoS51/cpp-pool. Sitting: scan-open-v4-cpp-pool; source commit: 2568c5859d7a3921bc9406b7209cfbc45460fa85.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/pool-coordinator-rerun-20260908-sIoS51/cpp-pool/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-09-08T21:02:31Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: cpp/vma/shard · status: partial · 32/32 sessions. Service p50 / p99: 10.136 / 30.794 µs; response p50 / p99: 11.048 / 31.809 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/vma/shardpartial32/3211.04831.80910.13630.7941562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/cpp-vma-shard. Sitting: scan-open-v4-cpp-vma-shard; source commit: 7610e81486c537de4c9aa43933602db19ab9a08c.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/provider-corrections-rerun-20260908-PNfKFd/cpp-vma-shard/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · retained completed results (r7; failed or invalid-topology cells retried separately)

34 / 43 cells completed · complete · updated 2026-09-08T03:33:59Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Retained subset: the original sitting ended interrupted. Original stop: RuntimeError: dotnet-native/vma/shard: parameter audit failed (1); see /home/yann/libhft-bench-runs/open-v3-20260908-r7/shard/dotnet-native/vma/attempt-4g85p_op/params-audit.log

Collection note: Affinity review withdrew 9 managed OPEN observations; all original metrics and evidence paths remain in withdrawn_results and the immutable sitting.

Withdrawn from this retained subset: dotnet-native/kernel/shard: Extra native .NET shard acceptors were never started; shard0 accepted all 32 sessions and shards1–3 reported rc=-4. This measured mono, not shard topology.; dotnet-native/onload/shard: Extra native .NET shard acceptors were never started; shard0 accepted all 32 sessions and shards1–3 reported rc=-4. This measured mono, not shard topology.; dotnet-pure/kernel/single: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/onload/single: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/vma/single: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/kernel/mono: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/onload/mono: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/vma/mono: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/kernel/pool: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/onload/pool: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/vma/pool: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.. Their original records remain in the sitting evidence.

Latest result: java-jni/onload/shard · status: partial · 32/32 sessions. Service p50 / p99: 25.81 / 31.39 µs; response p50 / p99: 36.579 / 50.180 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/kernel/singleok1/128.19630.21823.0627.665000049997
cpp/onload/singleok1/15.8746.3695.726.215000049999
cpp/vma/singleok1/16.8267.7076.677.535000049999
cpp/tcpdirect/singlepartial1/15.9286.9974.885.075000049999
cpp/socketxtreme/singleok1/16.2687.8536.167.745000049999
dotnet-native/kernel/singlepartial1/131.45538.00726.8933.205000049996
dotnet-native/onload/singleok1/18.1548.9327.848.595000049999
dotnet-native/vma/singleok1/18.6349.3928.389.055000049999
dotnet-native/tcpdirect/singlepartial1/18.2359.4147.097.425000049999
dotnet-native/socketxtreme/singleok1/18.49213.8458.2713.645000049999
cpp/kernel/monopartial32/32137.889147.24497.76108.4815621562
cpp/onload/monopartial32/3226.66530.22720.0323.5515621562
cpp/vma/monopartial32/3226.87737.25221.4334.5515621562
cpp/tcpdirect/monopartial32/3269.04489.58862.5672.2415621562
cpp/socketxtreme/monopartial32/3245.35265.60944.1664.4815621562
dotnet-native/kernel/monopartial32/32187.588199.471134.42157.1315621562
dotnet-native/onload/monopartial32/3241.51050.51530.9441.7715621562
dotnet-native/tcpdirect/monopartial32/3278.894117.80066.0499.5615621562
cpp/kernel/poolpartial32/3269.82389.09949.7857.1615621562
cpp/onload/poolpartial32/3241.49961.35740.6959.9315621562
cpp/vma/poolpartial32/3225.94155.82520.1451.1915621562
java-jni/kernel/poolpartial32/3284.592102.67857.1666.8315621562
java-jni/onload/poolpartial32/3230.14541.23619.7932.5915621562
dotnet-native/kernel/poolpartial32/32112.231125.61868.5678.6315621562
dotnet-native/onload/poolpartial32/3237.88648.88531.0545.0215621562
dotnet-native/vma/poolpartial32/3241.64292.48532.7284.2915621562
cpp/kernel/shardpartial32/3285.455100.64353.9062.2815621562
cpp/onload/shardpartial32/3232.17538.96825.6133.8315621562
cpp/vma/shardpartial32/3247.383127.54841.86122.1015621562
java-pure/kernel/shardpartial32/32111.110122.26172.6286.0915621562
java-pure/onload/shardpartial32/3257.60873.29147.0966.1715621562
java-pure/vma/shardpartial32/32127.073148.66482.9291.4915621562
java-jni/kernel/shardpartial32/3289.821118.49359.9469.6115621562
java-jni/onload/shardpartial32/3236.57950.18025.8131.3915621562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-20260908-r7. Sitting: scan-open-open-v3-20260908-r7; source commit: fba506060919fd7061bf534476e4d4291749f79f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-20260908-r7/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · retained completed result (r8; stopped before native shard repair)

1 / 1 cells completed · complete · updated 2026-09-08T04:01:00Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Retained subset: the original sitting ended interrupted. Original stop: KeyboardInterrupt:

Collection note: The Java-JNI/SocketXtreme mono cell finished before the paused driver was interrupted for a separate native .NET shard-startup repair. Its logs, raw files and CSV were collected explicitly with the parameter auditor and importer; the harness exit code was not reaped and is recorded as unknown.

Latest result: java-jni/socketxtreme/mono · status: partial · 32/32 sessions. Service p50 / p99: 33.42 / 44.49 µs; response p50 / p99: 43.064 / 54.583 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-jni/socketxtreme/monopartial32/3243.06454.58333.4244.4915621562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-20260908-r8. Sitting: scan-open-open-v3-20260908-r8; source commit: fba506060919fd7061bf534476e4d4291749f79f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-20260908-r8/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · retained completed result (r9; stopped at a setup-failure raw audit)

1 / 1 cells completed · complete · updated 2026-09-08T04:12:59Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Retained subset: the original sitting ended interrupted. Original stop: RuntimeError: dotnet-native/socketxtreme/mono: parameter audit failed (1); see /home/yann/libhft-bench-runs/open-v3-20260908-r9/mono/dotnet-native/socketxtreme/attempt-ju5a6qk1/params-audit.log

Latest result: dotnet-native/vma/mono · status: partial · 32/32 sessions. Service p50 / p99: 40.51 / 55.27 µs; response p50 / p99: 49.753 / 60.025 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/vma/monopartial32/3249.75360.02540.5155.2715621562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-20260908-r9. Sitting: scan-open-open-v3-20260908-r9; source commit: fba506060919fd7061bf534476e4d4291749f79f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-20260908-r9/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · retained Java single-session results (r4; C++/.NET sink scope invalidated)

8 / 8 cells completed · complete · updated 2026-09-08T00:02:56Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Latest result: java-jni/socketxtreme/single · status: ok · 1/1 sessions. Service p50 / p99: 7.71 / 9.82 µs; response p50 / p99: 7.922 / 10.295 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
java-pure/kernel/singlepartial1/135.86256.58634.3546.845000049991
java-pure/onload/singlepartial1/19.52611.9329.2711.415000049998
java-pure/vma/singlepartial1/133.11340.91629.5436.305000049993
java-jni/kernel/singlepartial1/131.96735.07431.0233.585000049996
java-jni/onload/singlepartial1/17.5498.2567.327.995000049998
java-jni/vma/singlepartial1/18.0468.7937.838.485000049998
java-jni/tcpdirect/singleok1/19.01213.0687.9511.595000049998
java-jni/socketxtreme/singleok1/17.92210.2957.719.825000049999

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-20260908-r4. Sitting: scan-open-open-v3-20260908-r4; source commit: fba506060919fd7061bf534476e4d4291749f79f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-20260908-r4/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4 · GCC 11 batch before the toolchain update; five completed C++ single cells

5 / 72 cells completed · interrupted · updated 2026-09-08T13:19:03Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Current cell: java-pure/kernel/single.

Interrupted: RuntimeError: java-pure/kernel/single: source files changed after cell, before import: bench/cpp/fixbench/Makefile, bench/cpp/hft-bench/Makefile, bench/java/hft-bench/Makefile, bench/rust/floor-checksum.sh, bench/rust/floor-decimal-format.sh, bench/rust/floor-decimal-parse.sh, bench/rust/floor-field-split.sh, bench/rust/floor-find-byte.sh ...; stopping before publication; review drift and use a fresh sitting or the explicit harness-only resume workflow

Collection note: Deliberate remote merge changed the frozen source manifest after five published cells. The next Java attempt is preserved but was not imported. Fresh GCC 14 builds and a new sitting follow. The discrete live watcher retained 23 PASS and 15 INCONCLUSIVE samples; no VIOLATION or INVALID samples.

Latest result: cpp/socketxtreme/single · status: ok · 1/1 sessions. Service p50 / p99: 5.927 / 7.505 µs; response p50 / p99: 6.240 / 7.807 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
cpp/kernel/singleok1/123.53230.56922.50728.3225000049997
cpp/onload/singleok1/16.3456.8126.0286.4155000049999
cpp/vma/singleok1/17.1898.1246.8697.7615000049999
cpp/tcpdirect/singleok1/16.1817.3114.9625.1695000049999
cpp/socketxtreme/singleok1/16.2407.8075.9277.5055000049999

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v4-full-20260908-XmhZ7z/sitting-XmhZ7z. Sitting: scan-open-v4-sitting-XmhZ7z; source commit: 368a98b73c9b00b12d468610038ea3916140ae4f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v4-full-20260908-XmhZ7z/sitting-XmhZ7z/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan · shared-epoch schedule v4

1 / 1 cells completed · complete · updated 2026-10-14T00:24:03Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 50 000/s (exactly 1 562.5/s each). This is a separate schedule experiment; no earlier v3 cell is borrowed.

OPEN v4 matrix: Service/Response selector, four latency statistics per cell.

Latest result: rust-pure/onload/shard · status: complete · 32/32 sessions. Service p50 / p99: 7.360 / 8.433 µs; response p50 / p99: 7.826 / 9.172 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
rust-pure/onload/shardcomplete32/327.8269.1727.3608.4331562.51562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/claude-rust-pure-native-20261013/open/rust-pure_onload_shard. Sitting: scan-open-v4-rust-pure_onload_shard; source commit: 951ace79a75ffcc4ea803b6cab171874c67fbc51.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/claude-rust-pure-native-20261013/open/rust-pure_onload_shard/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

Fixed-rate open sweep · scan

6 / 9 cells completed · complete · updated 2026-09-08T04:40:30Z UTC.
Requested aggregate 50 000/s; 32-session effective aggregate 49 984/s (1 562/s each). Earlier matrix cells are retained until remeasured.

Collection note: Affinity review withdrew 3 managed OPEN observations; all original metrics and evidence paths remain in withdrawn_results and the immutable sitting.

Withdrawn from this retained subset: dotnet-pure/kernel/shard: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/onload/shard: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.; dotnet-pure/vma/shard: Managed OPEN (including single) bypassed BenchRunner CPU affinity; RunMultiSessionClient never applied --measure-core and the launcher did not taskset. Requested isolated-client placement was not enforced. Historical CPU execution is not inferred; raw full delivery remains diagnostic only. See DOTNET-OPEN-AFFINITY-REVIEW.md.. Their original records remain in the sitting evidence.

Latest result: dotnet-native/vma/shard · status: partial · 32/32 sessions. Service p50 / p99: 70.53 / 177.20 µs; response p50 / p99: 82.810 / 186.142 µs.

cellstatussessionsresponse p50response p99service p50service p99target/session/sachieved/session/s
dotnet-native/socketxtreme/monook32/3246.39858.40237.1147.4815621562
java-jni/vma/poolfail16/32——26.1250.59——
java-jni/vma/shardpartial32/3246.74864.65836.8054.0815621562
dotnet-native/kernel/shardpartial32/32100.010118.03960.6770.1815621562
dotnet-native/onload/shardpartial32/3243.68151.22833.4643.2815621562
dotnet-native/vma/shardpartial32/3282.810186.14270.53177.2015621562

Latencies above are µs. Incomplete, target-missed, or audit-qualified rows are retained as diagnostic observations; complete · variation retains verified delivery and rate with its measured variation visible in the matrix. Missing metrics are not replaced with values from older sittings.

Evidence directory: /home/yann/libhft-bench-runs/open-v3-20260908-r10. Sitting: scan-open-open-v3-20260908-r10; source commit: fba506060919fd7061bf534476e4d4291749f79f.
Source and installed-artifact manifest: /home/yann/libhft-bench-runs/open-v3-20260908-r10/sweep.json. Result records retain each cell's evidence path and source revision. Incomplete, target-missed, or audit-qualified results are not passing latency claims.

R10 .NET Native/VMA shard admission: all four listeners started and exited without errors, but the accepted-connection counts were 32/0/0/0. The topology audit proves listener startup, not balanced admission. This latency result must not be interpreted as four-way traffic distribution or evidence of sharding speedup. The corresponding kernel retry distributed connections 7/10/3/12.

Remaining open-load failure: Java/JNI/VMA pool completed 16/32 sessions in R10. A separate full-recipe diagnostic reproduced the warmup stall in two client JVMs; the other two also had measured deficits under heavy logging. Its harness reported 16/32, not sixteen full-delivery passes, and its timings are excluded from the matrix. Server traces show additional orders parsed and reply sends accepted beyond a failed client's consumed sequence, but that does not prove wire transmission or identify the stalled transport stage. That first diagnostic did not collect VMA statistics. Its evidence remains under java-jni-vma-pool-diagnostic-20260908.

Authorized VMA statistics diagnostic: the subsequent java-jni-vma-pool-stats-20260908 run used the same full recipe and unchanged installed artifacts, INFO logging without per-read acceptor tracing, and five bounded statistics captures. All five collectors exited successfully. Three client JVMs delivered all measured replies (24/32 sessions); the fourth stopped in warmup after 4,115 sends and 19 replies, with 4,096 outstanding. Its socket counters recorded roughly 656 KiB accepted for sending, but the VMA ring recorded only about 88 KiB of successful send submissions. Paired server counters account for the Logons and those same 19 orders/replies; sampled receive queues on both ends were empty. This narrows this attempt to transmit/progress before server consumption, but neither counter proves physical wire transmission or ACKs, and the underlying cause remains unresolved. No diagnostic timings replace canonical matrix values. Its watcher retained 10 PASS, 25 VIOLATION and 32 INCONCLUSIVE samples.

Recovery probe completed at 08:00 UTC: java-jni-vma-pool-grace-20260908 retains the same 32-session open recipe, in-flight cap, INFO logging and bounded statistics collection, but gives the Java client ten seconds without progress instead of two. Only the diagnostic-capable jar and launcher changed among the preceding probe's relevant installed artifacts. This tests recovery patience, not a pacing fix. The normal watchdog remains two seconds; explicit diagnostic stamps and independent publication gates prevent this probe, whether successful or failed, from replacing a canonical matrix cell. All 32 sessions delivered their measured replies; the harness verdict was stability-qualified PARTIAL, and all five statistics collectors exited successfully. No watchdog timeout was reported. This does not show that a two-second stall occurred and the longer grace rescued it. Its watcher retained 2 PASS, 13 VIOLATION and 1 INCONCLUSIVE samples.

Matched control completed at 08:04 UTC: java-jni-vma-pool-control-20260908 used identical installed artifacts and the same observers on a fresh port, with the default two-second watchdog. It also delivered all 1.92 million measured replies across 32 sessions, with zero deficit, measured shedding or stale replies, and no timeout. Three client aggregates had PASS stability and one WARN; the cell remained stability-qualified PARTIAL. All five statistics collectors exited successfully; the watcher retained 6 PASS, 9 VIOLATION and 1 INCONCLUSIVE samples. Both watchdog settings succeeded, so the pair does not show that extending the timeout repairs the original intermittent failure. The default remains two seconds. Neither diagnostic is imported into the canonical matrix, and neither changes the known bursty pacing policy.

12What this caught

each gate exists because something got through

DefectPresented asGate that now catches it
Dropped --acceptor-pool flagA healthy pool cell reporting 8/8 — served by the ordinary acceptor.Profile declares the shape actually used
.NET Native creating but never starting extra shard acceptorsKernel/Onload reported 32/32 delivery, but shard 0 served every connection and shards 1–3 returned rc=-4.Those invalid values were withdrawn. Every acceptor now starts before readiness; the parameter auditor and importer independently require each shard's startup and exit evidence. All three transports have completed full-size retries with 32/32 delivery. Listener startup does not prove balanced admission: see the R10 VMA distribution caveat above.
Stability word filtered out good sessions4 healthy sessions scored 2/4 PARTIAL, flipping run to run.Exclusion is opt-in, per harness
Positional column indexA 0/N failed cell passing the gate.Column resolved by header name
Missing --zerocopy"socketxtreme does not shard."Capability probe + smoke
Stale installed binaryGreen cells measuring last week's code.Staleness preflight
FIX tag passed to a field-index accessorThe C++ runner echoed OrderQty as ClOrdID and hardcoded mutable ER fields. Completion counts looked full, but timestamp correlation and latency were invalid.Actual sender-to-responder tests cover all 12 extracted fields across 32 identities and six payload variants; correlation errors now block client and importer publication.
Warmup leaking into the published extraction sinkThe shared-runner audit missed the separate C++/.NET multi/open clients, which also serve one-session open cells.Affected values were withdrawn and corrected reruns now cover those cells. Each client resets its live sink after the measured barrier and publishes a cold snapshot of its last nonempty measured pass. Later warmup or barrier failures retain that snapshot, or zero if measurement never started.
An idle native pool acceptor spinning beside worker 0Onload/VMA can busy-poll an ordinary poll timeout, so the accept thread did not yield its shared core.The empty-accept branch sleeps for 1 ms. Worker hot loops, placement, load, and reconnect capacity remain unchanged. Full-size retries completed; the separate Java/JNI/VMA pool stall remains unresolved.
Starting another open-load phase with replies outstandingA failed warmup continued into later runs; late replies could cross a timestamp reset.An undrained or failed phase stops the client before the next barrier/reset. C++ also checks phase deadlines while draining and catching up; valid earlier measured samples remain diagnostic evidence. A fully drained warmup may shed scheduled slots, consistently across clients; measured shedding and deficits remain failures, never successful delivery.
.NET Native ignoring a failed ER send or client stepMissing replies with zero reported server errors; disconnected clients continued into all-shed measured passes.An actual ER send error disconnects its session and remains counted after retirement. The client drains already-published replies, aborts the phase, and preserves its raw/FAIL footer. Positive policy refusals remain distinct from transport errors; partial sends are never retried as whole messages.
JNI inline reply callbacks ignoring send errorsA failed or short ER send consumed an outbound sequence number, but buffered orders continued without an error event.Actual reply-send errors disconnect the runner before another buffered frame and retain an error event plus failure-only stderr detail. The saved socket error is labelled an advisory hint, not proof of the cause. Tests cover full, failed and short writes, optional MD-before-ER aborts and unchanged policy outcomes.
Empty raw series in an all-failed .NET runA legitimate 0/32 failure stopped the sweep at the raw audit.The writer omits empty probes and retains nonempty scheduler samples. An entirely empty capture has a genuine zero-series header; missing/truncated raw files still fail the unchanged strict auditor.
.NET Native setup bypassing the failure footer and requested timeoutA failed Logon produced only three of four raw files. The requested 30-second timeout was not passed to native clients, and the outer wait was fixed at 15 seconds.Native options and the monotonic setup wait now use the requested timeout. A setup failure emits the requested session count, zero measured samples, full deficits, and a real zero-series raw file. Diagnostics precede disposal; artifact write errors remain hard failures. Missing artifacts from old attempts are not synthesized.
Stopping a shared-ring logon drainer too earlyOne Java/JNI or .NET Native session logged on while its peers stalled during setup.Already-logged-on sessions keep receiving until every session is ready. This setup repair does not establish that intermittent SocketXtreme data-phase stalls are resolved.
Disposing a .NET Native server while a worker still pollsA SocketXtreme cleanup crash after clients had already failed.Server SIGTERM requests cancellation only; all managed native-polling workers are joined before engine disposal, and signal handling remains active throughout cleanup. Regression tests cover repeated SIGTERM and slow workers.
Unpinned pool workers"The pool is slow."Per-worker affinity read-back
Server budget shorter than VMA init"Sharding does not work over VMA."Per-transport server budget
Under-warmed smoke recipeCold JVM execution mistaken for steady-state latency.Parameter stamp vs standards
Unbounded VMA ring poll on a round-robin client32-session VMA cells stalling in warmup at eight sockets per process.Bounded poll on the cpp and java client role only; the client's five-second stall disclosure
socketxtreme initiators racing the shared ringTwo or more sessions per process log on, then every session stops after about sixteen messages.Initiators register on the ring in the socket itself; the stall disclosure prints each socket's routing state
Fixed 150 s server budget under pacingAn over-capacity paced cell reported FAIL where the honest row is saturated.Budget sized from the work; servers reaped after the clients, never judged
Replies carrying the wrong ClOrdID under open loadA 332 ms p50 with one message in flight and no shedding, on kernel, onload and vma alike.Open-loop marker sanity: replies naming no outstanding send, out of order, or another session's — the pass is declared untrustworthy

Several of these defects produced plausible latency numbers; others stalled or crashed during cleanup. That is why the gates check the conditions of a measurement as well as its result. A failed run remains useful diagnostic evidence, but is not a successful latency-at-load claim.