Skip to content

XLRON v1.6.0

Latest

Choose a tag to compare

@micdoh micdoh released this 19 Jul 22:17
· 20 commits to main since this release

Major performance release: systematic hot-path optimization delivering 2.7x CPU / 1.9x GPU environment throughput, plus the new literature-heuristic families and correctness fixes merged since v1.5.1.

Performance (PR #60)

Measured on the canonical RMSA NSFNET benchmark (100 FSU, k=5, KSP-FF):

  • Single-env CPU: 16.6K -> 45K steps/s (2.72x)
  • Multi-env CPU plateau: 73K -> 222K steps/s
  • GPU (H100): 1 env 3.4K -> 11.4K; 4,096 envs 6.3M -> 11.8M steps/s (mixed precision)
  • RL training (DeepRMSA, 512 envs): 1.75M -> 2.07M steps/s, compile 27.7s -> 25.4s

Key changes: per-step utilisation/fragmentation moved to per-increment computation; prestate validity check replaces speculative allocate/rescan/undo; fused single-draw request sampling (inverse-CDF; distribution-validated, not bit-identical to prior streams); packed eval info stacking; boolean action-mask dtype tier; integer occupancy tier (int8 under mixed precision); dead observation build skipped in pure-heuristic eval; assorted dtype/trace hygiene. Differentiable paths preserved throughout (soft/straight-through routes verbatim; gradients verified after every change). Full test suite: 2,282 passed.

Heuristics (PRs #46, #59)

  • New literature RMSA heuristic families: ksp_ef, ksp_flf, flf_ksp, ksp_flef, ksp_mscl, mscl_ksp with --mscl_interfering_k (multi-route MSCL interfering sets)
  • MSCL variants cut service blocking 22-73% vs KSP-FF on DeepRMSA-style benchmarks at ~3-5K steps/s

Fixes

  • Episodic load sweeps preserve swept traffic params across auto-resets (#57)
  • Time arrays stay float32 under mixed precision, removing a 2x blocking bias (#58)
  • Off-policy IAM / reward-centering experiment wave outcomes recorded (#49)

Notes

  • Request-stream RNG consumption changed in this release: results are statistically equivalent but not bit-identical to v1.5.x seeds.
  • Per-step utilisation/fragmentation metrics are now end-of-increment snapshots (still reported in summaries/CSV/wandb).

🤖 Generated with Claude Code