I have use remote kernel almost every day, but I guess I never understand how it works. I have basically two questions:
- How do we manually setup and use one kernel as a remote kernel to the other?
Suppose we have a two machines and for each machine I have a terminal opened.
Machine 1:
[user@001 ~]$
Machine 2:
[user@002 ~]$
Now I launch a math kernel on each machine
Machine 1:
[user@001 ~]$math
In[1]:=
Machine 2:
[user@002 ~]$math
In[1]:=
Is it possible to use the kernel on machine 2 as a remote kernel for machine 1, without close the kernel and restart again? Assuming the communication between the two machines are good, and the ip address for the two machines are 1.1.1.1 and 1.1.1.2. From the documentation I know that one kernel will create mathlink and be listening, and the other kernel will try to connect to the created link. But how does this work in detail, for instance, could you show me the steps to connect the two in the above example?
- In the documentation here, it shows the steps to mannully connect to the remote kernel. Could you example how does that work? I can use the remote kernel by following the steps there, but I don't quiet understand how it works.
For example, what does the "Arguments for MLOpen" used for? For instance, my default value is
-LinkMode Launch -LinkProtocol SharedMemory -LinkName "'/Applications/Mathematica.app/Contents/MacOS/MathKernel' -mathlink" -LinkOptions 3
Could you explain what each option and the argument mean? And sometimes I see option like "LinkHost" which seems to not well documented. What does LinkHost
mean, does it mean the host the local kernel is at or the host of the remote kernel?