Closed eirrgang closed 1 year ago
Patch coverage: 71.31
% and project coverage change: -2.08
:warning:
Comparison is base (
ded7fef
) 80.60% compared to head (35cdae0
) 78.53%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
Introduce
scalems.radical.executor.RPExecutor
, a SCALEMS concurrent.futures.Executor, and some context manager utilities. Prepare to use RuntimeManager to coordinate potentially competing Raptor sessions. Reorganize resource management scoping.RuntimeSession.raptor
.Split get_scheduler into an asyncio version and a threaded version. The coroutine version will go away as we migrate to the new RP management protocol.
Minor updates to the worker description. Needs further revision to allow expression of multiple workers and to be completely removed from the Master configuration.
Establish a more complete framework for RPExecutor. Use one thread to manage the Raptor session and process the sequence of
submit()
calls and additional control messages.submit()
is not yet fully implemented.Expand the RuntimeManager acquire()/release() machinery. Add timeout support.
We diverge between the abstract
scalems.execution.RuntimeManager.cpi()
and the new CPI servicer based on whether/where the Raptor task lives. Note that only something with access to a Raptor session is able to fully service CPI calls for the foreseeable future.TODO(#335):
TODO(#345):
TODO(#23):
TODO(#277, #299, #338):
TODO(#229, #340):
None
on the queue should only be a last resort. All controlled shut down should use an explicit stop command task, but we either need at least two levels of urgency in the stop command or we need to separately send control messages to cancel unresolved tasks.Ref #335