Enable multi-policy experiments on OSMO - #991
Conversation
Greptile SummaryThe PR generalizes Arena Experiment OSMO submissions to derive and co-schedule a policy server for each Run.
Confidence Score: 4/5The PR should not merge until active evaluations cannot be mistaken for stalls and effective OSMO resources are checked against the derived server requirements. Newline-only watchdog activity tracking can repeatedly kill healthy runs, while post-derivation pool and platform overrides can silently schedule policy servers outside their declared resources. Files Needing Attention: isaaclab_arena/evaluation/experiment_runner_watchdog.py, osmo/workflows/arena_experiment_workflow.py, osmo/submit_arena_experiment.py Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
CLI[submit_arena_experiment] --> LOAD[Load typed Experiment]
LOAD --> DERIVE[Derive required ServerBindings]
DERIVE --> HYDRA[Apply submission overrides]
HYDRA --> WF[ArenaExperimentWorkflow]
WF --> RUNS{For each Run}
RUNS -->|Local policy| RUNNER[ExperimentRunnerTask]
RUNS -->|Remote policy| PAIR[Runner and dedicated policy server]
RUNNER --> WATCHDOG[Watchdog launches runner]
PAIR --> WATCHDOG
WATCHDOG --> OUTPUT[Per-Run output]
OUTPUT --> COLLECT[Collect Experiment outputs]
Reviews (1): Last reviewed commit: "Derive per-Run policy servers in the OSM..." | Re-trigger Greptile |
🤖 Isaac Lab-Arena Review BotSummaryThis PR generalizes the OSMO Arena-experiment workflow from a single pi0-only path to a policy-agnostic one: a Findings🟡 Test CoverageGood — the workflow changes are covered (mixed pi0+GR00T fan-out, all-local no-server path, different-pool rejection, GR00T dry-run through the real CLI, VerdictMinor fixes needed |
alexmillane
left a comment
There was a problem hiding this comment.
Self review 1
alexmillane
left a comment
There was a problem hiding this comment.
moar self review.
alexmillane
left a comment
There was a problem hiding this comment.
self review.
alexmillane
left a comment
There was a problem hiding this comment.
Self review.
alexmillane
left a comment
There was a problem hiding this comment.
Self review.
d293820 to
af2f175
Compare
af2f175 to
cede5b3
Compare
- Add a ServerTaskRegistry mapping client policy types to their PolicyServerTask. - Co-schedule the derived server per Run in ArenaExperimentWorkflow, wiring host and port. - Drop --policy_server from submit_arena_experiment.py and derive the pool/platform instead. - Add --dry_run/--list_overrides, an ActionSchedulerType enum, and an invert_dict util. Signed-off-by: alex <amillane@nvidia.com>
7fa8395 to
1b3cdf0
Compare
Summary
Enable multi-policy experiments on OSMO
Detailed description
--policy_server,`--policy_serverand automatically determine which policy server task should be launched from the experiment config.