Skip to content

Run ACI benchmarks in parallel#206

Merged
jathavaan merged 3 commits intomainfrom
feature/205-run-aci-benchmarks-in-parallel
Apr 8, 2026
Merged

Run ACI benchmarks in parallel#206
jathavaan merged 3 commits intomainfrom
feature/205-run-aci-benchmarks-in-parallel

Conversation

@jathavaan
Copy link
Copy Markdown
Collaborator

This pull request refactors the benchmark orchestration logic to support running related experiments in parallel, reduces resource allocation for all experiments, and improves logging and code organization. The main changes are grouped below:

Benchmark orchestration and parallelization:

  • Refactored the main benchmark loop to run each experiment together with its related experiments in parallel using ThreadPoolExecutor, ensuring that related experiments are executed simultaneously and only once per run. Added helper functions _run_container_benchmark, _get_experiment_from_id, and _clear_all_container_instances to support this logic. [1] [2] [3] [4]

Benchmark configuration and resource usage:

  • Reduced the CPU and memory requirements for all experiments in benchmarks.yml from 4 CPUs and 16GB RAM to 3 CPUs and 8GB RAM, and added a related_script_ids field to each experiment to specify related experiments for parallel execution.

Logging and code improvements:

  • Improved logging messages for clarity, including more informative messages when starting and completing benchmark runs, and when creating or deleting container groups. Changed some log levels from info to debug for less important messages. [1] [2] [3] [4]

These changes make the benchmark execution more efficient, maintainable, and resource-conscious.

@jathavaan jathavaan self-assigned this Apr 8, 2026
@jathavaan jathavaan linked an issue Apr 8, 2026 that may be closed by this pull request
Copilot AI review requested due to automatic review settings April 8, 2026 09:48
@jathavaan jathavaan enabled auto-merge April 8, 2026 09:48
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors the benchmark orchestrator to run “related” ACI experiments concurrently (per benchmark run), while also reducing per-experiment CPU/RAM allocations and adjusting logging to better reflect run progress.

Changes:

  • Added related-experiment parallel execution in main.py using ThreadPoolExecutor, plus helper functions for experiment lookup and cleanup.
  • Updated benchmark configuration (benchmarks.yml) to reduce resources and introduce related_script_ids for grouping.
  • Tweaked log messages/levels to better reflect run lifecycle and container creation/deletion events.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
main.py Runs related experiments in parallel, adds helpers (_run_container_benchmark, _get_experiment_from_id, _clear_all_container_instances), and updates logging.
benchmarks.yml Lowers CPU/RAM defaults and adds related_script_ids to define parallel groups.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jathavaan jathavaan disabled auto-merge April 8, 2026 10:08
@jathavaan jathavaan enabled auto-merge April 8, 2026 10:10
@jathavaan jathavaan merged commit 04c7ad5 into main Apr 8, 2026
28 checks passed
@jathavaan jathavaan deleted the feature/205-run-aci-benchmarks-in-parallel branch April 8, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run ACI benchmarks in parallel

2 participants