Workload capsules the DoE births are definitions only; each defines WL-RUN (its old birth-time work plus its entry word twice) and WL-DONE-ARGS. The driver births N workers, SENDs each 'WL-RUN WL-DONE-ARGS SEND', waits in an ordinary loop for N MU-DONE messages, KILLs them (parked idle), and emits the marker. The serialized VM-EXEC round-robin is gone. Kernel: no switch checkpoint after a payload's last word; work heat is the assessed per-beat charge, and a VM gaining work is raised to the busy set's floor (Captain Bob's ruling) -- fixes a live stall where a busy-waiting Hera never yielded, without serializing batch starts. Evidence: cfg-4 rows spread evenly over Hera and all 8 worker slots (44k switches); full cfg-4 trials on amd64/aarch64/riscv64 end fail=0 with 8/8 KILL dead; Stage G interleave byte-identical on all three. Acceptance: dict_hash unchanged, relay 3, idle growth 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
36 lines
584 B
Forth
36 lines
584 B
Forth
Block 2130
|
|
( workload-4.4th - pi series )
|
|
VARIABLE PI-ACC
|
|
VARIABLE PI-SGN
|
|
1000000 CONSTANT PI-SCALE
|
|
: RESET-PI 0 PI-ACC ! 1 PI-SGN ! ;
|
|
: FLIP-SIGN
|
|
PI-SGN @ 0< IF 1 PI-SGN ! ELSE -1 PI-SGN ! THEN
|
|
;
|
|
Block 2131
|
|
: PI-STEP ( n -- )
|
|
2 * 1 +
|
|
PI-SCALE SWAP / PI-SGN @ * PI-ACC @ + PI-ACC !
|
|
FLIP-SIGN
|
|
;
|
|
: PI-CHUNK
|
|
100 0 DO
|
|
I PI-STEP
|
|
LOOP
|
|
;
|
|
Block 2132
|
|
: DO-PI
|
|
RESET-PI
|
|
5 0 DO
|
|
PI-CHUNK
|
|
LOOP
|
|
;
|
|
: RUN-PI
|
|
8 0 DO
|
|
DO-PI
|
|
LOOP
|
|
;
|
|
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
|
: WL-RUN RUN-PI ." 4:dopi-ok" CR RUN-PI RUN-PI ;
|
|
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|