Note about ssh connections in executors #1123
Closed
kessler-frost
started this conversation in
General
Replies: 1 comment
-
Thanks for the points @kessler-frost, @wjcunningham7 we might need a solution for this. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
As of now, both, the
SSHExecutor
and theSlurmExecutor
, use ssh connections to connect to the remote machines and wait for the result to be obtained before closing the connection and returning the result. They create a new connection for every new electron, which means if there are 20 long running parallelizable electrons then there have to be 20 open ssh connections. But as we've observed, there is usually a limit on the number of open ssh connections one machine can have (both, on the remote side and on the client side), which translates to a limit on the number of electrons one can execute at a time.Since this limit is more or less a limitation of the system itself, the responsibility to handle it falls on the user of those executors. One can utilize the
ct.wait
functionality to batch their electron executions so that they don't exceed their number of open ssh connections. This, of course, come with the cost of reduced parallelizability.Writers of ssh based executors can do little in this matter, but one course of action might be:
poll_time
(user input) variable which means that a query will be made after everypoll_time
seconds to check whether the function has finished executionBeta Was this translation helpful? Give feedback.
All reactions