code wiki / (root) / nx_swarm_pack_measured_gate_t68.nx

nx_swarm_pack_measured_gate_t68.nx source

↩ module page · 61 lines · 8590 B

1// nx_swarm_pack_measured_gate_t68.nx -- Validates and measures node and GPU configurations against expected values using timestamped snapshots. 2import "nx_swarm_pack_measured_t68.nx" 3import "nx_gate_verdict.nx" 4const KG_NOW:i64=1000000000 5const KG_WINDOW:i64=10000000 6func kg_path(stamp:i64,label:*u8,kind:*u8)->*u8{let p:*u8=sys_mmap(256);var n:i64=fa_cat(p,0,"/tmp/packv2_" as *u8);n=fa_catn(p,n,stamp);n=fa_cat(p,n,"_" as *u8);n=fa_cat(p,n,label);n=fa_cat(p,n,kind);p[n]=0 as u8;return p} 7func kg_write(path:*u8,b:*u8,n:i64)->i64{let fd:i64=__syscall(SYS_OPENAT,AT_FDCWD,path as i64,193,420,0,0);if fd<0{return 0};let wr:i64=fa_write_all(fd,b,n);let closed:i64=sys_close(fd);if wr==n&&closed==0{return 1};return 0} 8func kg_case(stamp:i64,label:*u8,nodes:*u8,gpus:*u8,want:i64,gs:i64,vr:i64,ge:i64,ctr:*i64)->i64{ 9 let np:*u8=kg_path(stamp,label,"_n.snap" as *u8);let gp:*u8=kg_path(stamp,label,"_g.snap" as *u8) 10 if kg_write(np,nodes,fa_len(nodes))!=1||kg_write(gp,gpus,fa_len(gpus))!=1{gv_check(label,0==1,ctr);return 0} 11 let pool:*i64=sys_mmap(SK_MAXP*SK2_FIELDS*8) as *i64;let meta:*i64=sys_mmap(32) as *i64 12 let n:i64=sk2_pool(np,gp,KG_NOW,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta) 13 var ok:i64=0;if n==want{ok=1};if n>0{if pool[6]!=gs||pool[4]!=vr||pool[1]!=7000||pool[2]!=8192{ok=0};if ge<0&&meta[2]!=ge{ok=0}} 14 gv_check(label,ok==1,ctr);return ok 15} 16func main(argc:i64,argv:*i64)->i64{ 17 let ctr:*i64=gv_ctr();gv_head("PACK-V2-MEASURED-PRIVATE" as *u8);let stamp:i64=sys_now_us() 18 kg_case(stamp,"fresh" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 16000 4000 1000000000\n" as *u8,2,1,4000,0,ctr) 19 kg_case(stamp,"cpu_only" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"" as *u8,2,0,0,0,ctr) 20 kg_case(stamp,"stale_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 16000 4000 990000000\n" as *u8,2,2,0,0,ctr) 21 kg_case(stamp,"future_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 16000 4000 1000000001\n" as *u8,2,3,0,0,ctr) 22 kg_case(stamp,"duplicate_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 16000 4000 1000000000\nGPU laptop 16000 4000 1000000000\n" as *u8,2,3,0,(0-44),ctr) 23 kg_case(stamp,"range_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 100 101 1000000000\n" as *u8,2,3,0,(0-43),ctr) 24 kg_case(stamp,"negative_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 100 -1 1000000000\n" as *u8,2,3,0,(0-43),ctr) 25 kg_case(stamp,"overflow_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 18446744073709551616 1 1000000000\n" as *u8,2,3,0,(0-43),ctr) 26 kg_case(stamp,"torn_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 16000 4000 1000000000" as *u8,2,3,0,(0-42),ctr) 27 kg_case(stamp,"exact_identity" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop2 16000 4000 1000000000\n" as *u8,2,0,0,0,ctr) 28 kg_case(stamp,"zero_free_gpu" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"GPU laptop 16000 0 1000000000\n" as *u8,2,1,0,0,ctr) 29 kg_case(stamp,"duplicate_node" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\nNODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"" as *u8,(0-44),0,0,0,ctr) 30 kg_case(stamp,"negative_node" as *u8,"NODE laptop 100 100 -8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"" as *u8,(0-43),0,0,0,ctr) 31 kg_case(stamp,"invalid_ram" as *u8,"NODE laptop 100 100 8 125 4096 20000 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"" as *u8,(0-43),0,0,0,ctr) 32 kg_case(stamp,"overflow_node" as *u8,"NODE laptop 100 100 18446744073709551616 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1\n" as *u8,"" as *u8,(0-43),0,0,0,ctr) 33 kg_case(stamp,"torn_node" as *u8,"NODE laptop 100 100 8 125 4096 8192 16384 0 1000000000 -1 -1\nNODE nas 100 100 4 250 4096 4096 8192 0 1000000000 -1 -1" as *u8,"" as *u8,(0-42),0,0,0,ctr) 34 let np:*u8=kg_path(stamp,"fresh" as *u8,"_n.snap" as *u8);let gp:*u8=kg_path(stamp,"fresh" as *u8,"_g.snap" as *u8) 35 let absent:*u8=kg_path(stamp,"absent" as *u8,".snap" as *u8) 36 let pool:*i64=sys_mmap(SK_MAXP*SK2_FIELDS*8) as *i64;let meta:*i64=sys_mmap(32) as *i64 37 gv_check("missing GPU retains CPU with unknown GPU" as *u8,sk2_pool(np,absent,KG_NOW,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta)==2&&pool[6]==SK2_UNKNOWN&&pool[4]==0&&pool[1]==7000&&meta[2]==SK2_MISSING,ctr) 38 gv_check("GPU read error refused not unknown" as *u8,sk2_pool(np,"/tmp" as *u8,KG_NOW,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta)==2&&pool[6]==SK2_REFUSED&&meta[2]==SK2_IO,ctr) 39 gv_check("missing NODE refuses pool" as *u8,sk2_pool(absent,gp,KG_NOW,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta)==SK2_MISSING,ctr) 40 gv_check("stale NODE grants no resources" as *u8,sk2_pool(np,gp,KG_NOW+KG_WINDOW,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta)==2&&pool[5]==SK2_STALE&&pool[1]==0&&pool[2]==0&&pool[3]==0&&pool[4]==0,ctr) 41 gv_check("future NODE refuses credit" as *u8,sk2_pool(np,gp,KG_NOW-1,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta)==2&&pool[5]==SK2_REFUSED&&pool[1]==0,ctr) 42 gv_check("explicit future skew boundary admitted" as *u8,sk2_pool(np,gp,KG_NOW-1,KG_WINDOW,KG_WINDOW,1,pool,SK_MAXP,meta)==2&&pool[5]==SK2_FRESH&&pool[4]==4000,ctr) 43 gv_check("capacity refuses partial pool" as *u8,sk2_pool(np,gp,KG_NOW,KG_WINDOW,KG_WINDOW,0,pool,1,meta)==SK2_CAPACITY,ctr) 44 gv_check("invalid freshness policy refuses" as *u8,sk2_pool(np,gp,KG_NOW,0,KG_WINDOW,0,pool,SK_MAXP,meta)==SK2_POLICY,ctr) 45 let large:*u8=sys_mmap(SK_MAGIC_65536+1);var i:i64=0;while i<SK_MAGIC_65536+1{large[i]=10 as u8;i=i+1} 46 let lp:*u8=kg_path(stamp,"overcap" as *u8,".snap" as *u8);gv_check("isolated overcap file created" as *u8,kg_write(lp,large,SK_MAGIC_65536+1)==1,ctr) 47 gv_check("overcap GPU refuses GPU with CPU continuity" as *u8,sk2_pool(np,lp,KG_NOW,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta)==2&&pool[6]==SK2_REFUSED&&pool[1]==7000&&meta[2]==SK2_TRUNCATED,ctr) 48 gv_check("overcap NODE refuses prefix pool" as *u8,sk2_pool(lp,gp,KG_NOW,KG_WINDOW,KG_WINDOW,0,pool,SK_MAXP,meta)==SK2_TRUNCATED,ctr) 49 let jp:*u8=kg_path(stamp,"jobs" as *u8,".log" as *u8);let jobs:*u8="100 100 1 4001\n100 100 0 0\n" as *u8 50 gv_check("isolated demands created" as *u8,kg_write(jp,jobs,fa_len(jobs))==1,ctr) 51 gv_check("workflow queues excess VRAM and assigns CPU" as *u8,sk2_live(np,gp,jp,KG_NOW,KG_WINDOW,KG_WINDOW,0)==3,ctr) 52 let cp:*u8=kg_path(stamp,"cpujobs" as *u8,".log" as *u8);let cj:*u8="100 100 0 0\n" as *u8 53 gv_check("CPU demand created" as *u8,kg_write(cp,cj,fa_len(cj))==1,ctr) 54 gv_check("CPU workflow succeeds without GPU" as *u8,sk2_live(np,absent,cp,KG_NOW,KG_WINDOW,KG_WINDOW,0)==0,ctr) 55 let zp:*u8=kg_path(stamp,"zerojobs" as *u8,".log" as *u8);let zj:*u8="0 0 0 0\n" as *u8;kg_write(zp,zj,fa_len(zj)) 56 gv_check("stale NODE excludes zero-resource task" as *u8,sk2_live(np,gp,zp,KG_NOW+KG_WINDOW,KG_WINDOW,KG_WINDOW,0)==3,ctr) 57 let bp:*u8=kg_path(stamp,"badjobs" as *u8,".log" as *u8);let bad:*u8="-1 0 0 0\n" as *u8;kg_write(bp,bad,fa_len(bad)) 58 gv_check("negative demand cannot mint capacity" as *u8,sk2_live(np,gp,bp,KG_NOW,KG_WINDOW,KG_WINDOW,0)==3,ctr) 59 gv_puts("retained_fixture_prefix=/tmp/packv2_" as *u8);let tag:*u8=sys_mmap(32);let tn:i64=fa_catn(tag,0,stamp);sys_write(1,tag,tn);gv_puts("\n" as *u8) 60 return gv_verdict("PACK-V2-MEASURED" as *u8,ctr,"isolated synthetic observations and actual native scheduling; no hardware discovery or worker reservation proof" as *u8) 61}