Re: remote Kernel
- To: mathgroup at smc.vnet.net
- Subject: [mg90444] Re: remote Kernel
- From: Bob F <deepyogurt at gmail.com>
- Date: Wed, 9 Jul 2008 04:56:22 -0400 (EDT)
- References: <g0jkdc$13l$1@smc.vnet.net>
On May 16, 3:33 am, Jan Schmedes <ja... at crustal.ucsb.edu> wrote: > Dear Group, > > i want to run theMathKernel(Mathematica 6) on another faster > computer remotely in the frontend of my laptop (Mac Pro and MacBook= > Pro). I Configured the Kernel and the box 'Arguments to MLOpen' > contains the following (by default): > -LinkMode Listen -LinkProtocol TCPIP -LinkOptions MLDontInteract > then the Launch command box shows (by default): > `java` -jar "`mathssh`" jasch@crush /Applications/Mathematica-6.0.app/ > Contents/MacOS/MathKernel-mathlink -LinkMode Connect -LinkProtocol > TCPIP -LinkName "`linkname`" -LinkHost `ipaddress` > > now, if i now run a notebook with that kernel, a window asking for > the password appears and after that i can see that a kernel on the > remote machine (i specified 'launch on remote machine') is started. > But then nothing happens and finally i get the error message: > 'The kernel Crush failed to connect to the front end. (Error = > MLECONNECT). You should try running the kernel connection outside the > front end' > > Could someone provide some help on how to make this work, that is run > the kernel of a remote machine within the frontend of my local machine? > > Thank you > > Jan Have you checked out the example at http://support.wolfram.com/mathematica/kernel/configure/general/manualc.htm= l ?? By the way on a Mac the instructions in step 9 are not quite correct, as no dialog box appears to announce the ports that Mathematica just created to "listen" for remote connection attempts. So you can do a "netstat -a" in a terminal window on the Mac, and you will notice two processes in a "Listen" state right at the top of the list (after running the $Version command and the local notebook shows "Running"). The format is something like TCP_port_number:system_name_or_IP_address, with the port numbers two sequential numbers and the system_name or IP_address depends on how/if DNS is set up on the local system. These numbers are the ports that the remote system will be told to connect to on the Mac. So in my case I had a Mac running the notebook that is assigned to the remote kernel FEConnect. The remote system was a Windows XP system on the same network (no intervening firewalls or other obstacles to prevent network connections between the two systems). On the Windows computer I ran the command (need to be in the directory that Mathematica is installed on the Windows system or have your path include this directory): math -mathlink -linkmode connect -linkname "51827@macpro, 51828@macpro" -linkprotocol TCPIP I think on a Mac the command would be (in a terminal window from the directory with the MathKernel and Mathematica programs) MathKernel -mathlink -linkmode connect -linkname "51827@macpro, 51828@macpro" -linkprotocol TCPIP The 51827... are the ports that were on the Mac system found via the "netstat -a" command, and as soon as this command was run the "Running" disappeared on the Mac system so you could tell that this notebook was now talking to and using the remote kernel on the Windows system, and to verify this try a "$Version" command and it should show the version info from the Windows system, so from that point on the notebook window on the Mac was really running Mathematica on the remote Windows system. To stop this remote notebook from running, on the Mac I just did a "Evaluation/Quit Kernel/FEConnect" and then you are back where you started. Another connection could be initiated by just typing a command in the Notebook that has the FEConnect kernel assigned to it, but the port numbers will be different, and you will also have to restart the command on the remote computer (it should have terminated as soon as the FEConnect kernel was quit on the Mac. Hope this helps. If you need more info let me know and I could try and help more -Bob