You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Managing a kernel process and communicating with a kernel are two separate tasks.
The KernelManager conflates both of these, and the code gets weird due to the fact that KernelManagers do not always have the right to start/stop/restart the kernel (e.g. --existing cases).
For instance, in the notebook code, only the management parts of the kernel are used, and the communication (channels) should be done differently, in a tornado-appropriate manner.
The shutdown/restart logic is the main place where these two roles collide, because a clean shutdown request goes via the shell channel. One way in which this could be addressed would be to add the Control channel already used in IPython.parallel. That should enable a clean split of the KernelManager from the KernelClient.
Further, KernelClients should also be connected to the KernelManager, which would enable remote signaling/interrupts via the control channel, eliminating the long annoying "Kernel process is either remote or unspecified. Cannot interrupt." messages.
The text was updated successfully, but these errors were encountered:
Managing a kernel process and communicating with a kernel are two separate tasks.
The KernelManager conflates both of these, and the code gets weird due to the fact that KernelManagers do not always have the right to start/stop/restart the kernel (e.g.
--existing
cases).For instance, in the notebook code, only the management parts of the kernel are used, and the communication (channels) should be done differently, in a tornado-appropriate manner.
The shutdown/restart logic is the main place where these two roles collide, because a clean shutdown request goes via the shell channel. One way in which this could be addressed would be to add the Control channel already used in IPython.parallel. That should enable a clean split of the KernelManager from the KernelClient.
Further, KernelClients should also be connected to the KernelManager, which would enable remote signaling/interrupts via the control channel, eliminating the long annoying "Kernel process is either remote or unspecified. Cannot interrupt." messages.
The text was updated successfully, but these errors were encountered: