Skip to content

Implement Scheduling Optimizations and Enhance Dependency Resolution and Benchmarking Mechanisms#59

Merged
gliargovas merged 78 commits intofuturefrom
improve-benchmarks-and-reporting
Sep 26, 2023
Merged

Implement Scheduling Optimizations and Enhance Dependency Resolution and Benchmarking Mechanisms#59
gliargovas merged 78 commits intofuturefrom
improve-benchmarks-and-reporting

Conversation

@gliargovas
Copy link
Copy Markdown
Collaborator

@gliargovas gliargovas commented Sep 6, 2023

In this extensive pull request, major improvements and refinements have been carried out (beyond the initial focus on benchmarks and reporting).

Dependency Resolution

  • Introduced an abstraction over early and late resolution of dependencies, allowing for more accurate tracking of file system and environment changes.
  • Refactored the environment resolution process to improve the code quality and to accommodate the new early resolution mechanism.

Benchmarking Enhancements

  • Added a newscript for running and tracking the performance benchmarks and included additional scripts for expanded benchmarking.
  • Enhanced the benchmark execution reporting with Gantt chart representation and execution statistics including command execution counts and time metrics.

Scheduler Optimizations

  • Updated several operational components within the scheduler to accommodate the new early dependency resolution and to improve the scheduler's overall functionality.
  • Added optional arguments for scheduler optimization and enhanced the logging with timestamped entries for better traceability.

Miscellaneous Refinements:

  • Fixed various minor bugs, typos, and correctness issues.
  • Reimplemented process killing using psutil for better management of process termination.
  • Added support for more complex timestamp logging.

Code and Documentation Quality:

  • Conducted minor refactoring across the codebase to improve the readability and maintainability.
  • Expanded the README documentation for better guideline on tests, benchmarks and the top-level directory.

@gliargovas gliargovas added work in progress priority Try to resolve this issue before others labels Sep 6, 2023
@gliargovas gliargovas linked an issue Sep 6, 2023 that may be closed by this pull request
@gliargovas gliargovas added ready for review This pull request is ready for review and removed work in progress labels Sep 19, 2023
@gliargovas
Copy link
Copy Markdown
Collaborator Author

I manually ran the tests, and everything passed (the error was in comment on PR) - with or without sandbox killing

@gliargovas gliargovas requested a review from angelhof September 25, 2023 11:04
Copy link
Copy Markdown
Member

@angelhof angelhof left a comment

Choose a reason for hiding this comment

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

Please change the title and description to reflect the actual scope of this PR.

Feel free to merge without additional approval after you resolve my comments :)

Comment thread README.md
Comment thread parallel-orch/config.py
Comment thread parallel-orch/config.py
Comment thread parallel-orch/partial_program_order.py
if len(predecessor) == 0:
return None
else:
most_recent_env_node = predecessor[0]
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Add a comment here that this won't work if we move to a full partial order, ideally together with an assertion that len(predecessor) <=1 so that it fails once we move to a proper full partial order

Comment thread parallel-orch/partial_program_order.py
Comment thread parallel-orch/partial_program_order.py
Comment thread parallel-orch/scheduler_server.py
Comment thread parallel-orch/scheduler_server.py
Comment thread report/benchmarks/dgsh/3.sh
@gliargovas gliargovas changed the title Improve benchmarks and reporting Enhance Dependency Resolution, Benchmarking and Reporting Mechanisms Sep 26, 2023
@gliargovas gliargovas changed the title Enhance Dependency Resolution, Benchmarking and Reporting Mechanisms Implement Scheduling Optimizations and Enhance Dependency Resolution and Benchmarking Mechanisms Sep 26, 2023
@gliargovas gliargovas merged commit 509b6aa into future Sep 26, 2023
@gliargovas gliargovas deleted the improve-benchmarks-and-reporting branch September 26, 2023 08:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority Try to resolve this issue before others ready for review This pull request is ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create scheduler performance report infrastracture Run dgsh scripts with hs

2 participants