Currently, CADET-RDM restricts users to running only one case at a time because all results are stored and committed in a single output repository directory. This limitation prevents parallel execution of multiple cases (e.g., parameter sweeps or independent scenarios), which is often desirable for efficiency.
Proposed Solutions:
-
Multiple Repository Clones:
Clone the output repository multiple times to isolate parallel runs.
Downside: Risk of desynchronization (e.g., if push=False), requiring manual conflict resolution.
-
Temporary Directory + Post-Run Commit:
- Let CADET-RDM create temporary directory to store results during execution.
- Copy and commit results to the output repository after completion.
- Challenge: How do we communicate which temp directory is relevant for which "runner"?
-
Configurable Output Directory:
Allow users to specify a custom directory for CADET-RDM to track and commit results.
Question: Are there downsides to this approach (e.g., complexity, edge cases)?
Intuitively, I would go with option 3.
Currently, CADET-RDM restricts users to running only one case at a time because all results are stored and committed in a single output repository directory. This limitation prevents parallel execution of multiple cases (e.g., parameter sweeps or independent scenarios), which is often desirable for efficiency.
Proposed Solutions:
Multiple Repository Clones:
Clone the output repository multiple times to isolate parallel runs.
Downside: Risk of desynchronization (e.g., if
push=False), requiring manual conflict resolution.Temporary Directory + Post-Run Commit:
Configurable Output Directory:
Allow users to specify a custom directory for CADET-RDM to track and commit results.
Question: Are there downsides to this approach (e.g., complexity, edge cases)?
Intuitively, I would go with option 3.