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>
72 lines
1.4 KiB
Forth
72 lines
1.4 KiB
Forth
|
|
Block 4706
|
|
|
|
( TRIANGLE WAVE WORKLOAD - Linear ramp up/down )
|
|
( Randomized amplitude and frequency )
|
|
|
|
: COMPUTE ( n -- )
|
|
0 SWAP 0 DO I 7 * + LOOP DROP ;
|
|
|
|
: RAMP-STEP ( intensity -- )
|
|
50 * COMPUTE ;
|
|
|
|
Block 4715
|
|
( Rising edge with random perturbation )
|
|
: RISING-EDGE ( steps -- )
|
|
0 DO
|
|
I 1+
|
|
90 110 RANDOM 100 */ RAMP-STEP
|
|
10 80 120 RANDOM 100 */ WAIT
|
|
LOOP ;
|
|
: FALLING-EDGE ( steps -- )
|
|
DUP 0 DO
|
|
OVER I -
|
|
90 110 RANDOM 100 */ RAMP-STEP
|
|
10 80 120 RANDOM 100 */ WAIT
|
|
LOOP DROP ;
|
|
|
|
Block 4725
|
|
|
|
( Triangle wave cycles with random amplitude/frequency )
|
|
|
|
: TRIANGLE-CYCLE ( peak-steps -- )
|
|
DUP RISING-EDGE
|
|
FALLING-EDGE ;
|
|
|
|
: TRIANGLE-WAVE ( cycles peak -- )
|
|
SWAP 0 DO
|
|
DUP
|
|
70 130 RANDOM 100 */
|
|
TRIANGLE-CYCLE
|
|
LOOP DROP ;
|
|
|
|
Block 4735
|
|
( Asymmetric triangles - fast rise, slow fall )
|
|
: ASYM-TRIANGLE ( -- )
|
|
8 0 DO
|
|
I 1+ 80 120 RANDOM 100 */ RAMP-STEP
|
|
20 WAIT
|
|
LOOP
|
|
8 0 DO
|
|
8 I - 80 120 RANDOM 100 */ RAMP-STEP
|
|
80 120 RANDOM WAIT
|
|
LOOP ;
|
|
: RUN-ASYM 4 0 DO ASYM-TRIANGLE LOOP ;
|
|
|
|
Block 4745
|
|
|
|
( Sawtooth variant - all rise, sharp drop )
|
|
|
|
: SAWTOOTH ( steps -- )
|
|
0 DO
|
|
I 1+ 85 115 RANDOM 100 */ RAMP-STEP
|
|
15 60 140 RANDOM 100 */ WAIT
|
|
LOOP
|
|
50 WAIT ;
|
|
|
|
: RUN-SAW 3 0 DO 12 SAWTOOTH LOOP ;
|
|
( FABRIC-3.8 3.9: defs only; the DoE SENDs WL-RUN )
|
|
: WL-RUN 42 SEED 3 10 TRIANGLE-WAVE 7777 SEED RUN-ASYM
|
|
54321 SEED RUN-SAW RUN-SAW RUN-SAW ;
|
|
: WL-DONE-ARGS S" MU-DONE" S" Hera" ;
|