nx_fabric_cc.nx
buildroot/runtime/nx_fabric_cc.nx
about
nx_fabric_cc.nx -- R2 of the SkyHammer fabric exceed ladder: CONGESTION CONTROL +
TELEMETRY over RTT (closes R1's honest zero-RTT-credit caveat, ยง8).
R1 (nx_fabric_flow) proved credit flow control is lossless+bounded with ZERO-RTT
feedback. Real links have RTT: window/credit signals lag by a round trip, so a
fixed (open-loop) window large enough to keep the link FULL builds a STANDING queue
= bufferbloat = high latency. SkyHammer answers this in silicon with "adaptive load
handling" + "real-time telemetry". The honest, grounded software expression is
DCTCP (RFC 8257 / the datacenter-standard ECN controller behind lossless Ethernet +
RoCE -- cited in knowledge/fetched/fab_ecn.raw, fab_roce.raw): the bottleneck MARKS
packets once its queue crosses K (the telemetry), the sender measures the marked
FRACTION each RTT and reduces its window PROPORTIONALLY (alpha EWMA), holding the
queue near the low setpoint K at full utilisation.
This rung MEASURES that exceed vs an open-loop window over the SAME RTT link.
Integer-only fixed-point (no float, ecosystem law). The link/queue model is the
same discrete-event shape as nx_fabric_flow (R1), extended with an RTT ack delay
line + ECN marking + the adaptive window. expect_exit: 0 license_tier: ORIGINAL
dependencies 1 imports · 2 importers
imports: nx_syscalls.nx
imported by: nx_fabric_cc_gate.nxnx_room_l4s.nx
structs
| 27 | struct CcMetrics |
consts
| 20 | const CC_MAGIC_4000: i64 = 4000 |
| 22 | const CC_DCTCP: i64 = 0 // R2: ECN-telemetry adaptive window |
| 23 | const CC_OPEN: i64 = 1 // baseline: fixed (open-loop) window -> bufferbloat |
| 24 | const CC_NC1: i64 = 2 // NC1: DCTCP machinery but IGNORE marks (reaction disabled) -> bloat |
| 25 | const CC_SCALE: i64 = 1024 // fixed-point scale for the marked-fraction / alpha |
functions
| 39 | func cc_run(mode: i64, N: i64, D: i64, RTT: i64, BUFCAP: i64, K: i64, base_cwnd: i64, m: *CcMetrics) -> i64 |
| 164 | func main() -> i64 { return 0 } |