DoE: MU-WAIT-ALL waits with 100 WAIT instead of busy-spinning; stopped first relaunch kept
The first amd64 relaunch (stopped by Captain Bob after 1h41m) showed Hera's busy wait taking an equal CPU share and writing 43% of all heartbeat rows. 100 WAIT charges her 100 beats of work heat per iteration while executing almost nothing, so workers get the CPU. cfg-0 check: 115 s vs ~210 s, fail=0, 2/2 dead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
dd23c3aa45
commit
00058e53a7
@@ -1371,3 +1371,21 @@ explicit instruction.
|
||||
|
||||
**FABRIC-3.8's staged plan (A–I) is complete.** What's next is the per-ISA DoE relaunch
|
||||
(seed 12345, 3 reps) on the rebuilt driver, then the merge to master.
|
||||
- [x] **DoE relaunch, first attempt, stopped (2026-09-24).** Launched `12345 3 S" amd64" DOE` at
|
||||
06:31 (`logs/20260924-062703/amd64/`, kept). Captain Bob stopped it at 08:12 (*"STOP and
|
||||
hold"*) after a progress check showed the busy-wait cost.
|
||||
- 173k heartbeat rows at ~31 rows/s, ~100k switches, 0 faults. Trial 1 (cfg 3,
|
||||
heterogeneous) was still running, so no trial had finished.
|
||||
- **Hera had written 75,117 rows against its last worker `mu0`'s 75,114.** `MU-WAIT-ALL`'s
|
||||
busy loop took an equal share of the CPU as workers finished, half of it when one was
|
||||
left. That's 43% of all rows so far, measuring nothing, and it roughly doubles each
|
||||
trial's tail.
|
||||
- **Fix (Captain Bob: "apply the WAIT fix and relaunch amd64"):** `MU-WAIT-ALL`'s loop body
|
||||
is now `100 WAIT`.
|
||||
- `WAIT` is the existing ordinary word that counts n beats (`vm_tick()` n times), so each
|
||||
iteration charges Hera 100 beats of work heat while executing almost nothing, and
|
||||
writes no rows.
|
||||
- The decision then favours the workers at her next checkpoint.
|
||||
- No yield word; capsule-only change.
|
||||
- **Check** (`logs/20260924-081340/amd64/`, own boot, images reset after): a cfg-0 trial ran
|
||||
in **115 s against ~210 s before**, `fail=0`, 2/2 dead.
|
||||
|
||||
Reference in New Issue
Block a user