Files
VoxelForge/Standalone/Research/WorldAssemblerM3/Linux84/REPORT.md
T
Fr0zkaandClaude Opus 5.5 0a98da6fd0 streaming: passage-heavy tiles first, far parents after LOD0-1 (L84, headless only)
Predicted passage-overlap tiles are scheduled earlier (FI worst tile rank 116 -> 69, dispatch
0.95 -> 0.82 s); LOD0-1 publish from the base shape before far parents, which are built before
LOD2 is queued. Every tile hash identical to L83 (all four whole views). Fast tier PASS.
Cold LOD0-2 W8 / W12: SW 1.02 / 0.99, FI 2.26 / 2.18, TN 2.27 / 2.15, VS 1.13 / 1.09 s.
Heaviest tiles (FI/TN junction band, z=-93) still take 0.5-0.7 s each, mostly full-grid fill;
idealized floor ~0.92 s. Unreal scheduler not yet updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
2026-10-28 01:02:59 +01:00

5.8 KiB
Raw Blame History

Linux 84 — lower the serial floor

Verdict

Passage-overlap scheduling moves predicted heavy tiles earlier without changing density or mesh output. In the W16 profiles, the repeated FI tile (0,1,-93,lod0) moved from priority rank 116 to 69 and its median dispatch time fell from 0.945 s to 0.822 s. The same TN tile moved from rank 366 to 91 and dispatch fell from 1.294 s to 0.959 s. Its intrinsic service time did not fall: the heaviest full-grid tiles still take 0.5–0.7 s in the noisy W16 profiles.

LOD0–1 now publish from the base shape before far parents are built. The first attempt also released LOD2 early, but changed its pinned hash. The final schedule builds far parents before queuing LOD2, which preserves the exact owner hashes. This trims total shape work by about 11 ms for FI and 20 ms for TN; it does not remove the far-parent work.

Slow LOD0 tiles

The repeat outliers sit in the FI/TN junction band: LOD0 tile z=-93 spans -744..-736 m. The L83 FI maximum (2,-2,-93) is 4.1 m from the passage/1-2/0 route, inside its 4.5 m radius; the L83 TN maximum (1,-2,-93) is 3.7 m away. The new maximum (0,1,-93) intersects that route. Each listed tile materialized all 42,875 density samples (a 35³ grid, 32,768 candidate cells); their MC grid-fill stage took 341–510 ms. By comparison, FI LOD0 p50 service was 0.8–2.8 ms across the three profiles, and TN p50 was 0.02–0.024 ms. Uniform sign proofs let most tiles skip the full grid; passage and mouth tiles remain unknown or mixed and cannot use that shortcut.

Slowest observed tile per view across three interleaved W16 profiles:

View L83 before L84 after
FI (2,-2,-93) 561 ms / 399 ms grid; (1,-2,-93) 497 / 419; (1,1,-93) 475 / 341 (0,1,-93) 709 / 475; (2,0,-92) 587 / 499; (2,-1,-92) 585 / 502
TN (1,-2,-93) 556 ms / 443 ms grid; (2,0,-93) 463 / 348; (3,-2,-93) 448 / 407 (0,1,-93) 605 / 510; (1,1,-93) 600 / 444; (2,-1,-92) 527 / 436

Entries show service ms / MC grid-fill ms; all are LOD0 with 42,875 samples. The observed maximum rose in this small W16 sample, so the scheduler is a queue-position fix, not a demonstrated reduction in per-tile compute. W8/W12 readiness improved, and whole-view hashes remained exact.

Shape compile

Interleaved W16 medians (milliseconds):

View/version Local shapes Intervals/signs Surface band Far parents Total shape work
FI L83 52 65 65 112 344
FI L84 48 64 69 114 333
TN L83 49 70 87 114 372
TN L84 51 69 88 111 352

For L84, far parents are reported separately from the base compile. Tiles LOD0–1 run after the base compile; far parents are built after those tiles finish and before LOD2 is queued. The shape object adds far primitives and rebuilds spatial bins in place, so building it concurrently with density reads is unsafe. The controlled L83 shape totals were stable at 338–347 ms FI and 365–378 ms TN; the earlier ~1 s noisy outlier was not reproduced, and these runs do not identify its cause.

Cold readiness

Each W8/W12 cell is the median of three measured interleaved pairs per stratum after one warmup per worker count. Values are seconds, LOD0–2 / whole view.

Stratum L83 W8 L83 W12 L84 W8 L84 W12
SW 1.455 / 3.023 1.210 / 2.427 1.021 / 2.209 0.990 / 2.081
FI 2.478 / 3.791 2.328 / 3.566 2.264 / 3.429 2.180 / 3.341
TN 2.475 / 3.631 2.327 / 3.384 2.269 / 3.377 2.146 / 3.153
VS 1.205 / 2.242 1.274 / 2.254 1.127 / 2.080 1.086 / 2.023

FI/TN improve by 0.15–0.21 s at W8 and 0.15–0.18 s at W12, but still miss the approximately 1 s target. W12 helps over W8. L83 W12-to-W16 medians were flat: FI near/whole changed 2.328/3.566 to 2.342/3.608 s; TN changed 2.327/3.384 to 2.295/3.368 s.

CPUs 0–11 map to six physical cores with two logical threads each. The W16 traces reached 15 active workers while the queue remained over 1,500 tiles deep, so queue starvation is not the limit and W16 oversubscribes the pinned logical CPUs. No bandwidth counters were collected; these results cannot separate SMT contention from memory bandwidth.

Updated floor and hashes

Adding total shape work to the median per-run slowest-tile service gives an idealized floor of about 0.92 s FI / 0.91 s TN, with W16 noisy-run maxima near 1.04 s / 0.96 s. This is essentially the L83 ~1 s floor: far-parent deferral trims a few milliseconds of total work, while full-grid tile service remains the larger serial term.

Every L84 tile hash and whole-view aggregate matched L83 (zero mismatches):

Stratum Tiles Density Mesh Payload Topology
SW 2,850 40b76d0072a2adcd 8559df0850d4d7f1 7700965ff31ac702 0e7f2a16b4cc71a9
FI 2,249 99ca213b21ce86e4 2977525405b79fff 3d7d2efb581710bd af1916c949224871
TN 2,233 8d23c26f5c092be1 15c3aad2e29d9ea0 3d48f68d511c21df 5b1584676884edd8
VS 2,329 876b44981d106be3 aaef57cb08bd6845 b19617df9f4acbb1 e8eee991260adff4

Fast tier passed all 274 checks. No Unreal Source/ or Unreal-compiled Core files changed, so no Linux UE build was required.

Failed runs

  • Initial fast-tier launch at Saved/Linux/l84/verify/runner.log stopped before running gates because its round-specific binary was missing. The final fast run passed.
  • The first W16 profile runner rejected a valid L83 FI run because its parser expected the new far_shape summary field. The parser was fixed and all 12 final interleaved profiles completed.
  • Broad far-parent deferral failed the pinned owner LOD2 and whole-view hash gate. Deferring only until LOD0–1 finish, then publishing far parents before LOD2, passed the final fast and full-view hash checks.