misc: Keep distributed runs going after missing checkpoints#950
Conversation
Change-Id: Ief4610d2cce75af55c1ceff61e81379e1489064b
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughChangesScheduler failure handling
Estimated code review effort: 3 (Moderate) | ~15 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR updates the distributed simulation scheduler (util/xs_scripts/distributed_sim.py) so that missing checkpoints during the preflight “resolve all checkpoints” phase are treated as per-workload failures rather than hard-stopping the entire distributed run. This keeps weekly/CI-style distributed runs progressing when only a subset of selected checkpoints is missing.
Changes:
- Refactors failure marker/log writing into a reusable helper (
mark_work_dir_failure) and reuses it for launcher failures. - Catches
FileNotFoundErrorfromfind_checkpoint()during preflight, writes failure markers/logs for that workload, increments the failure counter, and continues scheduling remaining workloads. - Adjusts preflight scheduling list construction to only enqueue workloads that are either already completed (to be skipped later) or have a successfully resolved checkpoint.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
🚀 Coremark Smoke Test Results
✅ Difftest smoke test passed! |
Motivation
The weekly SMT SPEC06 1.0c job can fail before launching any GEM5 jobs when the distributed runner pre-resolves every selected checkpoint and one list entry is missing. In run 29038421818, the SMT checkpoint root was missing hmmer_nph3/0 and hmmer_retro/0, while the rest of the workload set was valid.
Approach
Validation
Summary by CodeRabbit