simct / EXTEND-EVAL-SIMCT.md
codemaivanngu's picture
Add verified-journal SimCT queue migration helper d574482
d9bc75d verified
|
Raw History Blame Contribute Delete
1.81 kB

Extend an active company eval with SimCT

Run extend-eval-simct.py using system Python 3.12. Pass --source pointing to the unchanged checkout that generated --plan, --out a new sibling directory, --simct the completed SimCT checkpoint root, and --worker-pids the currently observed two Python worker PIDs.

The tool validates the 17-job plan, fixed new MP run names, source and data hashes, SimCT completion/SFT initialization, and hashes eight SimCT checkpoints before stopping the exact workers via Linux pidfds. It sends TERM to their snapshotted descendants and workers, waits up to 30 seconds, then requires GPU and job locks to be free. It never kills unrelated processes or launches GPUs. An interrupted request may be regenerated. Original journals remain untouched.

A new 25-job plan copies journals; validates request, score and completed-metric hashes; changes only their plan hash bindings; retains an audit receipt and original deadline. Partial trailing writes can be repaired in the copy only. Any validation failure leaves the output marked incomplete; do not launch it. Only status=verified in migration.json permits launching worker --concurrency 16. Use the ORIGINAL source checkout for new workers, because source hashes and server identities must remain unchanged. Do not use recover-startup.

Tests: synthetic one-cell migration verifies 25 jobs, retained deadline, exact response bytes and unchanged original cells; unrelated PID is rejected. These tests do not simulate production SGLang teardown or establish numerical identity across concurrency settings. Per-item seeds/decoding parameters stay fixed, but batch scheduling can affect floating-point execution. Record the concurrency switch in the migration receipt. No guarantee that all jobs fit the remaining original deadline.