code wiki / (root) / nx_fabric_cc.nx

nx_fabric_cc.nx

buildroot/runtime/nx_fabric_cc.nx

7856 B164 linesdepth 2pulls 2 transitivereach 3 importersview sourcekind tooltopic fabric
docsdependenciesstructsconstsfunctions

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

nx_syscalls.nx nx_fabric_cc.nx nx_fabric_cc_gate.nx nx_room_l4s.nx

imports: nx_syscalls.nx

imported by: nx_fabric_cc_gate.nxnx_room_l4s.nx

structs

27struct CcMetrics

consts

20const CC_MAGIC_4000: i64 = 4000
22const CC_DCTCP: i64 = 0 // R2: ECN-telemetry adaptive window
23const CC_OPEN: i64 = 1 // baseline: fixed (open-loop) window -> bufferbloat
24const CC_NC1: i64 = 2 // NC1: DCTCP machinery but IGNORE marks (reaction disabled) -> bloat
25const CC_SCALE: i64 = 1024 // fixed-point scale for the marked-fraction / alpha

functions

39func cc_run(mode: i64, N: i64, D: i64, RTT: i64, BUFCAP: i64, K: i64, base_cwnd: i64, m: *CcMetrics) -> i64
called by 1: main calls 1: sys_mmap
164func main() -> i64 { return 0 }