nx_fabric_flow.nx
buildroot/runtime/nx_fabric_flow.nx
about
nx_fabric_flow.nx -- R1 of the SkyHammer scale-up-fabric exceed ladder
(knowledge/research/2026-06-23-skyhammer-fabric-sclass-exceed-benchmark.md ยง7).
SkyHammer sells "deterministic flow control ... lossless behavior" IN SILICON. At
Nishi's altitude (software, commodity HW) the honest, measurable expression is a
CREDIT-BASED deterministic flow controller over a bounded-buffer link: the sender
may only inject what the receiver has buffer for, so the queue NEVER overflows
(lossless) and latency stays BOUNDED (deterministic). An uncontrolled sender, by
contrast, overruns the buffer -> drops -> (for reliable delivery) retransmits ->
a long latency tail.
FOUNDED ON (composes, does not reinvent -- rule #15 / anti-orphan):
nx_h2_flow.nx -- the PROVEN credit-window primitive (RFC 9113 6.9: init_to /
consume[overdraw->FLOW_CONTROL_ERROR] / apply_window_update). The receiver's
free buffer IS the flow-control window; sending CONSUMES it, draining REPLENISHES
it (WINDOW_UPDATE). No new flow-control math is authored here -- only the link
model + the discrete-event simulation that measures the exceed. Importing
nx_h2_flow transitively splices nx_h2_frame->nx_hpack->nx_str->syscalls (single
import; importing nx_syscalls too would be the RC6 double-import landmine).
Integer-only (no float, ecosystem law). expect_exit: 0 license_tier: ORIGINAL
dependencies 1 imports · 1 importers
imports: nx_h2_flow.nx
imported by: nx_fabric_flow_gate.nx
structs
| 30 | struct FfMetrics |
consts
| 23 | const FF_MAGIC_20000: i64 = 20000 |
| 26 | const FF_UNCTL: i64 = 0 // baseline: sender ignores credit -> overflow drops |
| 27 | const FF_CREDIT: i64 = 1 // R1: credit-controlled via nx_h2_flow (lossless by construction) |
| 28 | const FF_NC1: i64 = 2 // NC1: credit BOOKKEEPING runs but the backpressure GATE is removed |
functions
| 41 | func ff_run_sim(mode: i64, N: i64, B: i64, D: i64, R: i64, m: *FfMetrics) -> i64 |
| 147 | func main() -> i64 { return 0 } |