-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Memory improvements (3/3): Introduce new runner and executor API #1690
Conversation
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## develop #1690 +/- ##
===========================================
+ Coverage 80.17% 84.00% +3.83%
===========================================
Files 232 290 +58
Lines 10239 14120 +3881
Branches 193 193
===========================================
+ Hits 8209 11862 +3653
- Misses 1897 2125 +228
Partials 133 133
|
409c717
to
d3ef226
Compare
0bd0220
to
feedf10
Compare
e299df8
to
ba0a78e
Compare
7c3ce70
to
3d3258e
Compare
This PR completes the series on memory usage improvements and builds on #1729 . It introduces a new runner to submit tasks and retrieve their results without loading the task's assets in memory. The runner also operates on task groups, not just individual tasks. To use the new runner, each executor plugin must implement a new API for running task groups. If a task's executor plugin does not opt into the new API, Covalent will attempt to fall back to the existing in-memory runner. |
459fd89
to
5125bcf
Compare
Converting to draft to add more tests. |
56eb13d
to
6701bb0
Compare
ecd5ee5
to
4f9d12a
Compare
Running `covalent start` causes the config file to be updated from two processes: * the CLI runner, after `_graceful_start()` returns, and * the DaskCluster process, which records the cluster state after the cluster starts up. Unfortunately, the CLI runner previously wrote out the config it loaded into memory before starting the dispatcher process. Its ConfigManager instance was therefore unaware of any config file updates that might have happened before `_graceful_start()` returned. If the Dask cluster were to finish starting up and write out its state before the CLI runner returned from `_graceful_start()`, the CLI's config file update would obliterate the Dask cluster info. This patch refreshes the CLI app's ConfigManager instance from the on-disk config file after `_graceful_start()` and ensures that the Dask cluster finishes starting before `_graceful_start()` returns.
4f9d12a
to
31f0479
Compare
Closes https://github.com/AgnostiqHQ/covalent-staging/issues/709